2.7 对某音乐网站的一次安全检测
在前面的章节中提到了如何通过WebShell的特征关键字来获取WebShell,同时提到了三种真正能够获得该WebShell的方法,本文是对该文的一个补充,也即当我们找到一个需要密码验证的WebShell时,从网络攻防的角度,应该如何来处理问题。由于本次检测未能联系到官方负责人,因此主要从安全检测的角度进行分析。
2.7.1 获取WebShell信息
1.使用Google再次进行关键字搜索
直接打开Google搜索页面,在其中输入关键字“Copyright (C) 2008 Bin -> WwW.RoOTkIt.NeT.Cn”,然后单击“Google搜索”,如图2-65所示,出现两个搜索结果。
图2-65 再次使用Google进行搜索
2.增加特征关键词范围进行搜索
在Google搜索框中增加一些关键字,例如“Password:.Copyright (C) 2008 Bin -> WwW.RoOTkIt.NeT.Cn”,如图2-66所示,出来的结果多了不少,一共有7个搜索记录。
图2-66 扩大搜索关键字范围
3.获取意外的WebShell的管理密码
在入侵者的WebShell中,管理密码就如同房间的钥匙,只要有它也就可以进入房间,在图2-66中查看真实网站地址中以aspx结尾的地址,然后进行查看,如图2-67所示,直接打开“http://www.carraigdonn.com/uploadedpics/unpublic.aspx”,获取该WebShell的加密值“9e94b15ed312fa42232fd87a55db0d39”。
图2-67 获取他人的WebShell
在该加密值后附带有一个“//PASS:007”,可以推测该WebShell的密码为007,但为了真正获取该WebShell的密码,还是到cmd5.com网站进行验证,将“9e94b15ed312fa 42232fd87a55db0d39”值输入解密框中,单击“MD5加密或解密”获取其密码为“007”,如图2-68所示,呵呵,一个好密码!
图2-68 获取WebShell的真正管理密码
前面是对上篇文章的一个复习,不会的朋友可以去尝试,将目前所有的WebShell的关键特征进行收集和整理,通过本方法一定能够有所收获!
2.7.2 安全检测之信息获取
回到本文的正题上来,通过前面的一些方法,已经知道某网站被入侵后还留了一个asp.net的后门WebShell,由于没有该WebShell的密码,因此需要通过其他途径来获取。
1.查询该域名主机下有无其他域名主机
打开ip866.com网站,如图2-69所示,在输入框中输入网站地址www.****.com,然后单击“点这里反查全部相关域名”,获取该域名主机下的所有绑定域名,大致有40多个。
图2-69 获取主机绑定域名信息
2.获取IP地址以及端口开放情况
分别使用“ping www.********.com”以及“sfind -p 219.133.***.***”命令获取端口信息等信息,如图2-70所示,ping命令无反映,主机开放了80、21以及1433端口。
2.7.3 安全检测之漏洞检测
1.使用工具进行漏洞挖掘
打开Jsky,在其中新建立一个任务,然后进行扫描,如图2-71所示,发现SQL注入点8个,跨站漏洞1个。
图2-70 获取端口开放等信息
图2-71 使用Jsky扫描网站漏洞
2.进行注入猜解
在图2-71中选中一个SQL注入点,然后选择使用pangolin进行渗透测试,pangolin程序会自动进行猜解,如果存在漏洞,则会显示SQL注入点的类型、数据库、关键字等信息,如图2-72所示,直接单击Tables猜解数据库表,可获取admin和news表。
图2-72 猜解表
说明:
在pangolin中需要自己进行一些设置,可以设置文字显示模式,有时候需要手工设置SQL注入点的类型(type),以及数据库等信息。
3.猜解管理员表admin中的数据
选择admin表中的id、admin_id、admin_name、admin_pass四个字段,然后单击pangolin主界面右中方中的“Datas”猜解数据,如图2-73所示,在最下方显示整个表中共2条记录,在右边区域显示猜解的结果。管理员密码非常简单,其中一个管理员用户名和密码都是“1”,密码和用户名均为进行加密。
图2-73 获取管理员用户名称和密码
4.获取后台地址
在Jsky扫描中发现存在admin目录,因此直接在浏览器中输入“http://www.*********.com/admin/”,打开后台登录地址,如图2-74所示,后台非常简洁,没有验证码之类的东西。
图2-74 获取管理后台登录地址
5.进入管理后台
在图2-74中分别输入管理员名称和密码“1”,单击“登录”按钮,成功进入管理后台,如图2-75所示,在后台中主要有“首页/管理中心/退出”、“用户管理”、“添加信息”和“系统信息”四个主要管理模块。
图2-75 成功进入后台管理中心
6.寻找上传点
在该网站系统中,新闻动态、友情链接等添加信息接口中,均存在文件上传模块,且未对文件进行过滤,如图2-76所示,可以上传任何类型的文件,在本次测试中就直接将aspxspy.aspx文件上传上去。
图2-76 可上传任何类型的文件
7.寻找上传的WebShell地址
上面选择是通过添加友情链接将WebShell文件上传上去,到网站找到友情链接网页,然后直接查看源代码,获取WebShell的地址,如图2-77所示。
图2-77 获取WebShell的真实地址
8.执行WebShell成功
在网站中输入WebShell的地址:“http://www.xiaobang.com/ads/20081229233452.aspx”,输入管理密码,如图2-78所示,WebShell可以正常运行,单击“Sysinfo”可以查看系统信息。
图2-78 执行WebShell成功
注意:
由于前面已经有人上传了Aspx的WebShell,加上检测时上传了多个Aspx的WebShell,因此抓图中有些地址可能不完全匹配。
2.7.4 提权之路
1.获取数据库配置文件信息
有WebShell后,获取数据库的配置信息就相对简单多了,到网站目录中去寻找conn.asp、config.asp、inc等,找到后打开该文件查看其源代码,即可获取数据库的物理地址或者配置信息,如图2-79所示。在aspxspy中有一个功能特别好用,那就是iisspy,使用它可以获取该主机下所有的站点目录等信息。
2.下载网站数据库
如图2-80所示找到数据库的物理路径,然后单击“down”按钮即可进行下载,在图2-80中可以看到系统已经对数据库采取了一些安全措施,比如设置了一个比较难以猜测的名称,但当我们获取WebShell后,设置再复杂的名称也是无用了!
图2-79 查看数据库连接文件conn.asp
图2-80 下载数据库
3.执行命令
在aspxspy中命令执行不太好用,换一个功能更强大的aspx类型的木马,如图2-81所示,可以执行“net user”、“net localgroup administrators”、“ipconfig /all”、“netstat-an”等命令来查看用户、管理员组、网络配置、网络连接情况等信息,但不能执行添加用户等提升权限操作,一执行就报错,如图2-82所示。
图2-81 执行基本命令
图2-82 执行命令报错
4.读取注册表信息
通过分析,发现该服务器安装了Radmin软件,且管理员修改了Radmin的默认管理端口4899,如果能够获取Radmin的口令加密值,也可以直接提升权限,单击“Regshell”按钮,在“Key”中输入Radmin2.x版本的口令值保存键值“HKEY_LOCAL_MACHINE\ SYSTEM\RAdmin\v2.0\Server\Parameters”,然后单击“Read”按钮读取,如图2-83所示,未能成功读取,后面使用其他WebShell的注册表读取,还是未成功,说明权限不够。
图2-83 读取Radmin2.x的口令值失败
5.使用asp的WebShell来提升权限
在有些情况下,aspx的WebShell不好使,但asp的WebShell执行效果比较好,如图2-84所示,上传一个asp的WebShell,然后分别查看serv-u和PcAnyWhere,系统使用了PcAnyWhere进行远程管理。将其配置文件CIF下载到本地。
图2-84 获取PcanyWhere的配置文件
6.获取PcanyWhere的密码
使用“Symantec PcanyWhere Password Crack”软件直接破解刚才获取的CIF配置文件,如图2-85所示,顺利地读出PcanyWhere远程连接的用户名和密码,后面笔者安装了Symantec PcanyWhere,通过它来连接该服务器,连接成功后需要用户名和密码才能进行完全控制。
图2-85 破解PcAnywhere远程管理密码
2.7.5 总结与探讨
本次安全检测来自于上次上篇文章,本次仅仅为安全检测,安全检测发现了漏洞,验证了上篇文章中的思路,成功获取了WebShell,且在一定几率下还可以完全控制该服务器(等待管理员进入系统后,未锁定屏幕的过程中,通过PcanyWhere来实施远程控制),在本次检测过程中有以下一些收获。
1.在网络安全攻防实战过程中丰富了安全渗透和检测实践经验
本次检测熟悉了aspxspy这个功能强大的asp.net的WebShell,该WebShell最大的优点是在获取某一个WebShell后可以通过它来下载其他绑定域名站点的数据库。
2.加深对站点安全防护的认识
在本次检测中我可以明显地感觉到该主机系统进行了一些安全防护,除了PcanyWhere程序权限设置不严格外,其他部分的权限设置的还可以。即使入侵者拿到了WebShell也无法控制服务器,虽然以牺牲用户资料为代价。
3.安全重在实战、实践和基础技术的研究
我一直都认为安全技术是一个长期积累的过程,只有不断地进行技术研究、技术积累、才能提高自己,通过这次研究,将促使我们更加注重技术的研究和研发!