使用的有效载荷
Metasploit有大量为各种场景设计的有效负载。
反向shell的目的很简单:获取shell。这很可能是每个人的第一选择。有许多不同的反向shell可用,最常见和最稳定的是windows/meterpreter/reverse_tcp有效负载。然而,windows/meterpreter/reverse_https实际上是一个更强大的选择,因为它有加密的通道,而且它允许您断开有效负载(并退出msfconsole),而不需要终止它。当你再次设置处理程序时有效载荷会自动返回给你。
现在,让我们稍微谈谈download-exec。关于download-exec的问题是,它给攻击者提供了一个选项,可以在目标机器上安装任何他想要的东西:键盘记录器、rootkit、持久性shell、广告软件等,这是我们在野外看到的很多东西。Metasploit repo中有几个版本的download-exec,其中一个非常流行的版本是windows/download_exec。
单级和分段有效载荷
如果您查看Metasploit的有效负载列表,您还会注意到一些有效负载实际上具有完全相同的名称,但格式不同。例如:windows/shell/reverse_tcp和windows/shell_reverse_tcp。带斜杠的表示这是一个“分段的”有效负载,带下划线的表示它是“单一的”。那么有什么区别呢?
分段有效负载意味着您的有效负载由两个主要组件组成:一个小存根加载器和最后一个阶段有效负载。例如,当您将windows/shell/reverse_tcp传递到目标计算机时,实际上您首先发送的是加载程序。然后当加载器被执行时,它会请求处理程序(在攻击者的一端)发送最后阶段(较大的有效负载),最后你会得到一个shell。
单一有效载荷意味着它是一种发射后就忘记的有效载荷。这可以在目标没有网络访问时使用。
通常,Meterpreter是Metasploit最流行的有效负载类型。如果您正在测试Windows漏洞,最好使用Windows /meterpreter/reverse_tcp。如果您使用的是Linux,请尝试Linux /meterpreter/reverse_tcp。如果可以,您应该始终选择本机Meterpreter,但如果不能,您应该尝试一个跨平台的,如java/ Meterpreter /reverse_tcp。
查看有效载荷
在Metasploit中有大量可用的有效负载,所以要弄清楚哪些有效负载可以用于特定的exploit可能是非常困难的。幸运的是,您可以很容易地查看漏洞所支持的有效负载。
选择一个exploit后,可以运行以下命令查看可用的有效载荷:
1MSF >使用/windows/smb/ms08_067_netapi23.MSF exploit (ms08_067_netapi
手动选择有效负载
要手动选择攻击的有效载荷,可以运行以下命令:
1MSF >使用/windows/smb/ms08_067_netapi23.MSF exploit (ms08_067_netapi) >设置有效负载windows/meterpreter/reverse_tcp
自动选择有效载荷
你不需要为利用设置有效载荷。您可以让Metasploit为您完成这些工作。Metasploit使用一个首选项列表来选择一个有效负载,如果没有为利用设置一个有效负载。
以下是列表,按照它们将被选中的顺序排序:
- windows / meterpreter / reverse_tcp
- java / meterpreter / reverse_tcp
- php / meterpreter / reverse_tcp
- php / meterpreter_reverse_tcp
- ruby / shell_reverse_tcp
- cmd / unix /交互
- cmd / unix /反向
- cmd / unix / reverse_perl
- cmd / unix / reverse_netcat_gaping
- windows / meterpreter / reverse_nonx_tcp
- windows / meterpreter / reverse_ord_tcp
- windows /壳/ reverse_tcp
- 通用/ shell_reverse_tcp