危险漫步博客
新鲜的“黑客思维”就是从全新的角度看待黑客技术,从更高的层面去思考;专注于黑客精神及技术交流分享的独立博客。
文章2289 浏览18791318

入侵渗透之嗅探帮大忙

一直以来,危险漫步都不太欣赏通过嗅探来入侵的,感觉这种方式太过被动,如果管理员不登录管理后台、不登录ftp、不登录数据库,就无法嗅探到数据,更不用说获得权限了。但这一次目标的检测却是嗅探立下的大功,事后感慨,虽然嗅探在某些情况下看似被动,但在对目标主攻不能取得满意的效果时,它也不失为一种曲线救国的理想方法。

本次检测的目标IP为:*.*.t.171,用的脚本程序是Uchome+Discuz,Discuz版本为7.0.0,在网上找了下相关的漏洞进行了测试均告失败,服务器只存在这一个站点,注册用户登录后,发现还有个aspx的简

易考核系统,测试未能找到漏洞。简单的扫描了下端口开放情况,远程桌面连接服务端口3389、Ftp的21和Mysql的3306端口均开放。用工具扫了下mysql和ftp的弱口令,没有成功。

作为Discuz的产品,其安全性也是我们有目共睹的,接下来就只好转为C段旁注了。

先尝试的是+.t.t.151,此服务器也只有一个站点,开放21端口,连接上去显示ftp服务是用FileZillaServer version O.9.27 beta这款软件搭建。不禁窃喜,这款软件利用其默认本地管理端口14147可以用来提权。先用wwwscan扫描了下网站目录,查看了下shell.aspx与test.txt,内容显示为一句话木马,看来此服务器被入侵过。

无意中发现存在列目录漏洞,在doc文件夹下发现了数据库的sql脚本。

立刻下载回来。找到了被md5加密的后台管理员密码,解密成功后登录失败。估计这个sql脚本年代太久远了,管理员已更改密码。看看是否有注入,将网站丢到Jsky里进行检测,一会儿工夫就检测出了个php的注入点,在下载的sql文件中查看到管理员的表名“edu_sysusers”。

构造语句:

/article.php?aid=10andl=2union select1,2,group_concat(username,Ox3f,password),4,5

,6,7,8,9,10 from edu_sysusers%23

将这几个hash在cmd5网站有逐一破解都失败,更惊人的是发现了第2个用户的hash被更改了一位。看来前辈路过后做了如此BT的处理,最后一个用户名nicholas,感觉像个英文单词,特地查询了一下,义为“胜利的人”,如此嚣张,这样的气焰还是不值得我们推崇。到处转了转还是没能找到有价值的信息,估计找到也被前辈处理了,先搁着吧。

e.e.+.152,这是一个虚拟主机商,ftp搭建软件同样是用的FileZilla Server version 0.9.23 beta,在ip866.com上查找了服务器上的站点,挑了一个开工,网站为一个医院站点,用的aspx程序,随手在一动态页面后面加上字母a:http://www.**y y.co m/page s/N ews_Article.aspx?id=2728a显示错误信息“Input string was not in a correct format”,暴出物理路径“Source File: e:Y虚拟主机客户\asp.net2009:.***院\pages\News_Article.aspx.cs  Line: 19",出错行处的代码为:user_newsjnfo._ID—Convert.ToInt32(Request.QueryString[”idTf]);从显错信息可以看到,提交的数据被用函数“Convert.Tolnt320”转义了,无法注入,换其它页面测试。

 测试显示错误信息,并没有用Tolnt320处理,而换成了ToString(),这个函数是用来将变量转换为字符。很显然,这对我们的注入语句没有进行转义,一个注入点出现了。将URL填入啊D中,猜解结果。在网站根目录下加admin就跳出了后台登录页面,解密md5,登录成功。在后台转了转,没能发现有备份数据库的功能。在发表文章处发现网站用到了一个叫CuteEditor的编辑器,网上找了下这个编辑器是否与如ewebeditor-般出现过相关漏洞,还真找出个任意文件下载漏洞来。

只要请求“/CuteSo ft_Clien t/C ut eE ditoi/Lo ad.a shx?typ e=image&file=../../../web.config”,就能将下载welo.config,但在前面的注入测试中,发现数据库并非用的MSSQL,估计下载回来利用价值也不大。

在测试这个漏洞时,服务器显示404错误,看来邪恶的管理员删掉了这个页面。随后,观察了下利用这个编辑器上传成功的文件,文件名好像并没有更改,试试是否能利用DS 6.O的文件名解析漏洞上传

asp马。将diy小马更名为yzt.asp;l.jpg,上传失败。提示“Image is inthe wrong fo:rmat”。这成非法的文件格式了?带着疑问,将在测试过程中,将diy小马更名为yzt,jpg也无法上传成功,难道要构造gifj(件头来欺骗?但上传却同样提示“Image is inthe wrong format”。将一正常图片更名为yzt.asp;l.jpg却提示上传成功,但将图片用文本编辑器打开后,在末尾处写入一句话木马,还是无法上传。是程序对图片文件的完整性判断很完善还是服务器上安装有强悍的IIS防火墙之类的东东,只要土传含有敏感字符就禁止上传?思索片刻,如果有IIS防火墙一类的防护对予简单的SQL也是会有过滤的,应该是脚本程序对上传的图片文件进行了比较BT的判断过滤。想起了万能的copy大法,试试能不能成功。将一正常图片tm.j pg和一句话shell.txt这两个文件放在C盘根目录,执行命令Copy/btm.jpg+shell.txt tm.asp将生成的新文件tm.asp更名为tm.asp;l.jpg,上传成功。

由于对aspx不是很熟悉,也就不去纠结它的图片文件判断原理了。Webshell终于千辛万苦获得了,支持aspx,立马上传aspxspy,能成功执行命令。先别急着提权,看看是否与目标服务器在同一网关下。先“pjng 4.4.4.171”,再查看“arp -a”。

所示,当前服务器与目标lP在同一网关下。接下来就是提权了,服务器虽然是一台虚拟主机,但在磁盘文件的权限控制方面却与想像中的大相径庭,实在太宽松了,全盘都可浏览。由于考虑到FileZilla提权需要端口转发,而我所在的上网环境又不是外网,太过麻烦,并没有优先考虑。看看是否有其它的提权方法,浏览了几个web.config文件,全是连接的mdb数据库。翻文件翻到了管理员用来管理的FlashFXP。下载回本地,不禁YY,是否有管理员用来管理此服务器的特权用户,一番测试后,发现用户都是其它网站的普通管理用户。

转了转,在D盘下发现了mysql的数据库位置,这可是个好东西呀。

就先试试mysql的提权吧,不仅方便,隐蔽性也高。先破解root的密码,MYSQL数据库用户密码都保存在user.MYD文件中,包括root用户和其他用户的密码。可使用UltraEdit-32编辑器直接打开user.MYD

文件,打开后使用二进制模式进行查看,可以看到在root用户后面是一串字符串,这些字符串即为用户加密值。由于在使用二进制查看时,会有乱码或其它等字符的干扰,这里我用了另外一种方法:

将user.frm、user.MYD、user.MYI这3个文件下载回,本地搭建好mysql服务器,把本地C:\ProgramFiles\MYSQL\MYSQL Server 5.O\data\MYSQL中的所有内容复制到新建立的文件夹mysqL2下,再将刚下载回的3个文件覆盖。本地登录mysql,用“use mysq12”切换到mysq12库,“selecthost,user,password,select_priv from user;”查询出来

的用户就是服务器上的用户了,其中在selecl』riv-栏下显示为Y的即为root级别的用户了。

将密码用彩虹表破解之,用的6位的纯字母,三分钟不到便轻松的破解出来。在当前aspxspy目录中上传php文件,不能成功鳃析,看来php站点与asp、aspx站点目录是独立的。查看了aspx下的IISSPY中各自网站的物理路径,找了个php的站点,上传mysql的提权页面。执行命令提权成功。新建立用户感觉动静太大,先破解管理员的hash再说。由于上面安装有杀毒软件,而我用的gsecdump与pwdump都没有免杀处理。只好将注册表相关键值导出,执行命令:

Reg save hklm\sam C:/RECYCLER\sam.hive

Reg save hklm\system C:\RECYCLER/system.hive

由于在php中,“\”必须转换为“\\”才能正确执行,邃将以上命令保存到批处理中。将导出的sam.hive与system.hive下载回后,载入到cain,得到hash值。

叉子们如果对这个方法有些费解的话,可以翻看下以前的文章或百度下“渗透中另一种抓系统密码Hash的技巧”,文中有详细的说明。将获取到的hash填入到ophcIack进行破解,竟然与mysql的root密码一致,看来社会工程学无处不在。  

登录后发现服务器用了多款杀毒软件,有McAfee和360安全卫士,好不容易将cain上传成功,可一运行,McAfee就将cain主程序删除掉了,连个选择的机会都没有。邪恶的管理员对McAfee设置了锁定密码,无法退出或设置白名单,尝试在“服务”里将McAfee的服务停用却提示“禁止访问”。

这下没辙了,只得找来朋友做了下免杀。

简单配置了下Cain,只嗅探21、1433、3306、3389与80端口,相当多的用户登录论坛,但用户名处却出现了相当多的乱码,估计是个舶来品,不支持中文编码吧。期间出现了N拨黑X在对服务器进行了mysql的弱口令猜解,无奈之下只有将3306端口关闭了。

用嗅探到的用户名随便挑了个登录了论坛,得去收集下管理员用户信息,不然一会嗅到是乱码的管理员都无法确定其用户名。收集方法就很简单了,在首页能看到每个版块的版主,置顶的贴很多是版主发布的,而版主可能就是管理员了。将鼠标放在其头像上就显示其登录信息了,为管理员admin的登录情况。

这个就是体力活了,收集到几个管理员,从其最后登录时间来看,两个用户是处于活跃状态,估计只能从这两个人着手了。嗅探了个多小时后,没发现什么瞅着有感觉的用户或密码登录成功的情况,测试了-Fftp,随意输入一个用户,cain并没有嗅探到,不知是效果不理想还是得登录成功才能嗅探到。这时,时间也不早了,不禁困意袭来,先睡个觉明天再说。

梦里都在挂念着嗅探结果,第二天早上一大早就起来看,愣愣的还是没看出啥有感觉的来,由于中文用户名全显示为乱码无法区分是哪个用户登录,密码又大都设置的比较简单。过了不到10分钟,突然发现嗅探到了admincp.php页面传递的密码。

这个用户名挺怪异的,又是大小写又是数字字母的,密码也相对比较安全,看来必是管理员无疑,立马兴冲冲的登录却提示失败。仔细看了下这用户名,难道前面的这个字符是字母L,而非数字1,修改后也登录失败。直接复制cain的嗅探结果登录也提示失败。心里不禁冷飕飕的,无限迷茫ing。

用了个普通用户登录到论坛,继续寻我管理员用户,突然发现一个管理员处于“在线状态”,当前时间是早晨的七点多,心想管理员肯定是登录不久,不可能一整夜都挂在网上,但相关的乱码用户并不多且密码相当简单,测试了几个都失败。突然又想到了“1LPL4i”这个用户来,莫非是这个?忐忑下输入,竟然没想到登录成功,也挺无奈,为什么此lcain嗅探到的这个“+s格”用户名并没有显示乱码,而是字母+数字呢?要不是RP爆发想着去尝试一下,成功就擦肩而过了。

接下来就是拿webshell了,单击“系统设置”来到后台管理页面,继续输入网岈嗅探到的密码,登录成功。用的D27.0的版本。

接下来的web shell获取就容易了,以下是利用步骤

1.得到discuz!论坛的管理用户和密码登陆王点系统设置-界面-风格管理-编辑-切换到高级编辑

2.最下面新增一个变量

3.变量内容为’,’#999’);eval($ POST[fj]);//替换

内容随便写

4.提交之后用一句话木马连接论坛这个页面:/forumdata/cache/style_l.php

整个测试过程技术的实现上虽然都很简单,但也并非一帆风顺,耗时颇久。在对细节上的把握、各种信息的排除,特别是对社会工程学的体会,值得我们大家不断的深入、理解与体会。

相关推荐