Metasploit的payloads模块详解

君子藏器于身待时而动,安全不露圭角覆盂之安。

——AnonySec

https://payloads.cn

简介

Payloads模块,叫有效载荷或有效负载,也就是常说的shellcode,就是在漏洞利用成功后所要做的事情。在MSF中为我们提供了大量的实用payloads。

当执行 show payloads命令后,显示3列,分别为:payload名称、等级、描述。

image-20200107103223018

命名规则

平台/类型/规则名称

windows/meterpreter/reverse_tcp

image-20200107103845487

类型

类型主要有以下几种:

  • shell : 得到一个shell
  • Dllinject :上传DLL并注入到进程
  • Patchup:补丁漏洞
  • Upexec : 上传并执行一个文件
  • Meterpreter:高级payload
  • Vncinject:高级payload
  • PassiveX:高级payload

image-20200107104155694

规则名称

  • reverse_tcp : 反向建立tcp连接

  • bind_tcp :反向建立tcp连接

  • shell_find_tag : 在一个已建立的链接上创建一个shell

  • shell_reverse_tcp : 反向连接到攻击者主机并创建一个shell

  • reverse_http: 通过HTTP隧道通信兵创建一个新用户添加到管理组

  • add_user : 创建一个新用户并添加到管理组

  • xxx_ipv6_tcp : 基于IPv6

  • xxx_nonx_tcp :非No eXecute或 win 7(N是应用在CPU的一种可以防止缓冲区溢出的技术)

  • xxx_ord_tcp : 有序payload

  • xxx_tcp_allports : 在所有可能的端口

image-20200107104704465

等级

等级代表好用程度,一般分为以下几个等级:

  • normal:正常
  • excellent :优秀
  • great:极好
  • good:好
  • average:平均,一般
  • manual:手动

image-20200107105009482

描述

描述是对payloads模块的简介

image-20200107105101324

详细信息

info 模块名

image-20200107105243663

使用

先exploit模块,再payloads模块

当选择了一个exploit模块并设置完选项后,我们可以用show payloads来看一下当前exploit可以用哪些payloads?而不是随意选择。

image-20200107105637449

选择和使用payloads下的某个模块,列出payloads下某个模块的具体设置选项(包括exploits使用参数后)

set payload payload_name

show options

image-20200107110154171