分享

Metasploit基础和基本命令详解

 金刚光 2021-08-26
彬彬有礼am_03 2021-01-03 16:02:26  

Metasploit基础

2003年H.D Moore创建了Metasploit,从那之后Metasploit便快速发展起来,如今被公认为最为流行的渗透测试工具之一。Metasploit是一个完全的Ruby驱动项目,提供了大量的漏洞渗透、攻击载荷(payload)、编码技术以及后渗透模块。

Metasploit提供了以下多版本:

Metasploit Pro版这是Metasploit的一个商业化版本,提供了大量的功能,例如Web应用程序扫描工具、渗透模块、自动化渗透工具,十分适合专业渗透测试工程师和IT安全团队使用。Pro版主要用来实现专业的、高级的、大型渗透测试和企业安全项目
Metasploit Express版这是一个为初级渗透测试工程师设计的版本。这个版本的Metasploit包含了智能化渗透、密码的自动化暴力破解等功能,十分适合小型企业的IT安全团队使用
Metasploit Community版这是Metasploit Express精简后的免费版本。对于小企业和学生来说,这是一个不错的选择
Metasploit Framework版这是一个完全在命令行下运行的版本。这个版本的所有任务都在命令行下完成 ,比如说手动渗透、第三方模块导入等。该版本适合开发人员和安全研究人员

Metasploit提供了以下几类用户界面:

GUI(图形用户界面)在图形化工作模式下,往往轻点一下鼠标就能完成所有的任务。此工作方式提供了友好的操作模式和简单快捷的漏洞管理方式
控制台界面最为普遍也最为流行的工作方式。此界面提供了统一的工作方式来管理Metasploit的所有功能。此管理方法通常也被认为是最稳定的控制方法之一。此管理方法是最常用的
命令行界面命令行界面是功能最为强大的界面,它支持对渗透模块的所有操作(例如,攻击载荷的生成)。然而在采用命令行界面时,记住每一条命令是十分困难的
ArmitageArmITage是Raphael Mudge 编写的一个充满了黑客风格的GUI。ArmITage提供轻松的漏洞管理、内置的Nmap扫描、渗透攻击推荐,并通过用Cortana脚本实现自动化功能

有关Metasploit Community版的更多信息,请访问:https://community./community/Metasploit/blog/2011/12/21/Metasploit-tutorial-an-introduction-to-Metasploit-community

Metasploit基础知识

渗透模块(exploit)这是一段程序,运行时会利用目标的安全漏洞进行攻击。
攻击载荷模块(payload)在成功对目标完成一次渗透之后,这段程序开始在目标计算机上运行。它能帮助我们在目标系统上获得需要的访问和行动权限
辅助模块(auxiliary)包含了一系列的辅助支持模块,包括扫描模块、fuzz测试漏洞发掘模块、网络协议欺骗以及其他一些模块
编码器模块(encoder)编码器模块通常用来对攻击模块进行代码混淆,来逃过目标安全保护机制的检测。目标安全保护机制包括杀毒软件和防火墙等
MeterpreterMeterpreter是一类使用内存技术的攻击载荷,可以注入到进程里。它提供了各类可以在目标上执行的功能,从而成为了最受欢迎的的攻击载荷

Metasploit的基本命令:

命令用途示例
use [Auxiliary/Exploit/Payload/Encoder]选择一个指定的模块并启动工作msf>use exploit/unix/ftp/vsftpd_234_backdoor
show [exploits/payloads/encoder/auxiliary/options]显示可用的特定功能的模块msf> show payloads
set [options/payload]给某个特定对象赋值msf>set LHOST 192.168.126.129
setg [options/payload]给某个对象赋值的同时设定作用域为全局,在模块进行切换的时候,该对象的值不改变msf>setg RHOST 192.168.126.129
run在设置一个辅助模块需要的所有选项之后,启动该辅助模块msf>run
exploit启动一个渗透模块msf>exploit
back取消当前选择的模块并且退回到上一级命令窗口msf>back
Info列出相关模块的信息msf>Info
Search搜索符合条件的特定模块msf> search hfs
check检查某个特定目标是否易受攻击msf>check
Sessions列出当前可用的会话msf>Sessions [session number]

Meterpreter的基本命令:

Meterpreter命令用途示例
sysinfo列出被渗透主机的系统信息Meterpreter>sysinfo
ifconfig列出被渗透主机的网络接口Meterpreter>iifconfig
arp列出目标主机ARP缓存地址的IP地址和MAC地址Meterpreter>arp
background将一个处于激活状态的会话发送到后台Meterpreter>background
shell获取目标主机的一个cmdshellMeterpreter>shell
getuid获取当前用户细节Meterpreter>getuid
getsystem提升权限,获取系统级权限Meterpreter>getsystem
ps列出目标主机上运行的所有进程Meterpreter>ps

若第一次接触Metasploit,可访问:http://www./metasploit-unleashed/Msfconsole_Commands获取关于基本命令的更多信息。

在Metasploit使用数据库

命令用途
db_connect用来与默认数据库之外的数据交互
db_export用来将数据库里保存的数据导出,用来生成测试报告或者用来导入到其他安全工具内
db_nmap用来使用Nmap软件对目标进行扫描,并将结果保存到Metasploit数据里内
db_status用来检查是否建立了与数据库的连接
db_discocnnect用来从指定的数据库断开
db_import用来向数据内导入其他扫描工具(例如Nessus,Nmap等)的扫描结果
db_rebuild_cache用来重新建立缓存,主要目的是使用新的配置替代之前缓存文件里错误或者过时的配置

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多