一、获取Webshell信息
1.使用Google再次进行关键字搜索
直接打开Google搜索页面,在其中输入关键字“Copyright (C) 2008 Bin -> WwW.RoOTkIt.NeT.Cn”,然后单击“Google搜索”,如图1所示,出现两个搜索结果。
图1 |
2.增加特征关键词范围进行搜索
在Google搜索框中增加一些关键字,例如“Password:.Copyright (C) 2008 Bin -> WwW.RoOTkIt.NeT.Cn”,如图2所示,出来的结果多了不少,一共有7个搜索记录。
图2 |
3.获取意外的Webshell的管理密码
在入侵者的Webshell中,管理密码就如同房间的钥匙,只要有它也就可以进入房间,在图2中查看真实网站地址中以aspx结尾的地址,然后进行查看,如图3所示,直接打开“http://www.carraigdonn.com/uploadedpics/unpublic.aspx”,获取该webshell的加密值“9e94b15ed312fa42232fd87a55db0d39”。
图3 |
图4 |
#p#
二、安全检测之信息获取
回到本文的正题上来,通过前面的一些方法,已经知道某网站被入侵后还留了一个asp.net的后门Webshell,由于没有该Webshell的密码,因此需要通过其它途径来获取。 1.查询该域名主机下有无其它域名主机打开ip866.com网站,如图5所示,在输入框中输入网站地址www.****.com,然后单击“点这里反查全部相关域名”,获取该域名主机下的所有绑定域名,我大致看了看有40多个。图5 |
2.获取IP地址以及端口开放情况
分别使用“ping www.********.com”以及“sfind -p 219.133.***.***”命令获取端口信息等信息,如图6所示,ping命令无反映,主机开放了80,21以及1433端口。
图6 |
#p#
三、安全检测之漏洞检测
1.使用工具进行漏洞挖掘
打开Jsky,在其中新建立一个任务,然后进行扫描,如图7所示,发现SQL注入点8个,跨站漏洞1个。
图7 |
2.进行注入猜解
在图7中中选中一个SQL注入点,然后选择使用pangolin进行渗透测试,pangolin程序会自动进行猜解,如果存在漏洞,则会显示SQL注入点的类型,数据库,关键字等信息,在图8所示,我们直接单击Tables猜解数据库表,获取了admin和news表。
图8 |
图9 |
4.获取后台地址
在Jsky扫描中发现存在admin目录,因此直接在浏览器中输入“http://www.*********.com/admin/”,打开后台登陆地址,如图10所示,后台非常简洁,没有验证码之类的东东。
图10 |
5.进入管理后台
在图10中分别输入管理员名称和密码“1”,单击“登陆”,成功进入管理后台,如图11所示,在后台中主要有“首页/管理中心/退出”、“用户管理”、“添加信息”和“系统信息”四个主要管理模块。
图11 |
6.寻找上传点
在该网站系统中,新闻动态、友情链接等添加信息接口中,均存在文件上传模块,且未对文件进行过滤,如图12所示,可以上传任何类型的文件,在本次测试中就直接将aspxspy.aspx文件直接上传上去。
图12 |
7.寻找上传的Webshell地址
上面选择是通过添加友情链接将webshell文件上传上去,到网站找到友情链接网页,然后直接查看源代码,如图13所示,获取webshell的地址。
图13 |
8.执行Webshell
成功在网站中输入Webshell的地址:“http://www.xiaobang.com/ads/20081229233452.aspx”,输入管理密码,如图14所示,webshell可以正常运行,单击“Sysinfo”可以查看系统信息。
图14 |
#p#
四、提权之路
1.获取数据库配置文件信息
有Webshell后,获取数据库的配置信息就相对简单多了,到网站目录中去寻找conn.asp、config.asp、inc等,找到后打开该文件查看其源代码即可获取数据库的物理地址或者配置信息,如图15所示。在aspxspy中有一个功能特别好用,那就是iisspy,使用它可以获取该主机下所有的站点目录等信息。
图15 |
2.下载网站数据库
如图16所示找到数据库的物理路径,然后单击“down”即可进行下载,在图16中可以看到系统已经对数据库采取了一些安全措施,比如设置了一个比较难以猜测的名称,但当我们获取Webshell后,设置再复杂的名称也是无用了!
图16 |
3.执行命令
在aspxspy中命令执行不太好用,换一个功能更强大的aspx类型的木马,如图17所示,可以执行“net user”、“net localgroup administrators”、“ipconfig /all”、“netstat-an”等命令来查看用户、管理员组、网络配置、网络连接情况等信息,但不能执行添加用户等提升权限操作,一执行就报错,如图18所示。
图17 |
图18 |
4.读取注册表信息
通过分析,发现该服务器安装了Radmin软件,且管理员修改了radmin的默认管理端口4899,如果能够获取radmin的口令加密值,也可以直接提升权限,单击“Regshell”,在“Key”中输入Radmin2.x版本的口令值保存键值“HKEY_LOCAL_MACHINE\SYSTEM\RAdmin\v2.0\Server\Parameters”,然后单击“Read”读取,如图18所示,未能成功读取,后面使用其它Webshell的注册表读取,还是未成功,说明权限不够。
图19 |
5.使用asp的webshell来提升权限
在有些情况下,aspx的webshell不好使,但asp的webshell执行效果比较好,如图20所示,上传一个asp的webshell,然后分别查看serv-u和PcAnyWhere,系统使用了PcAnyWhere进行远程管理。将其配置文件CIF下载到本地。
图20 |
6.获取PcanyWhere的密码
使用“Symantec PcanyWhere Password Crack”软件直接破解刚才获取的CIF配置文件,如图21所示,顺利的读出PcanyWhere远程连接的用户名和密码,后面我安装了Symantec PcanyWhere,通过它来连接该服务器,连接成功后需要用户名和密码才能进行完全控制。
图21 |
#p#
五、总结与体会
本次安全检测来自于上次上篇文章,本次仅仅为安全检测,安全检测发现了漏洞,验证了上篇文章中的思路,成功获取了Webshell,且在一定几率下还可以完全控制该服务器(等待管理员进入系统后,未锁定屏幕的过程中,通过PcanyWhere来实施远程控制),在本次检测过程中有以下一些收获和体会: 1.在网络安全攻防实战过程中丰富了安全渗透和检测实践经验。本次检测熟悉了aspxspy这个功能强大的asp.net的webshell,该webshell最大的优点是在获取某一个Webshell后可以通过它来下载其它绑定域名站点的数据库。 2.加深对站点安全防护的认识。在本次检测中我可以明显的感觉到该主机系统进行了一些安全防护,除了PcanyWhere程序权限设置不严格外,其它部分的权限设置的还可以。即使入侵者拿到了Webshell也无法控制服务器,虽然以牺牲用户资料为代价。 3.安全重在实践和基础技术的研究。我一直都认为安全技术是一个长期积累的过程,只有不断的进行技术研究,技术积累,才能提高自己,通过这次研究,将促使我们更加注重技术的研究和研发!本文仅仅是笔者的一点鄙见,不到之处请指正,有任何问题,可以到我们的论坛(http://www.antian365.com/bbs)进行讨论,我的论坛昵称是simeon。【51CTO.COM 独家特稿,转载请注明出处及作者!】
【编辑推荐】