2.16 通过简单的漏洞渗透某公司内外部网络
在渗透过程中,一些简单漏洞的发现和利用往往会起到意想不到的效果,本次渗透就是这种情况。开始仅发现有目录信息泄露,随着渗透的深入,慢慢地渗透了整个内网及域控。从一个普通的漏洞开始,从WebShell权限,到服务器权限,再到内网权限,很有代表意义,值得网站管理人员重视。
2.16.1 测试页面漏洞的检测
测试页面泄露在外网漏洞中主要是指站点在整个产品开发、测试、部署及交付使用过程中的测试信息出现在公网上。这些信息一旦出现在公网上,就会被认为存在“漏洞”或者被黑客入侵了,常见的文件有phpinfo.php、test.php、test.asp、test.aspx、test.cgi、test.jsp、test.html、test.htm、.svn/entries、info.php、info.asp、info.aspx、info.jsp等。可以使用扫描软件对目标站点进行检测,也可以手工进行检测。如果是无目标地寻找这种漏洞,可以通过普通搜索引擎及专用搜索引擎进行搜索,查看是否有测试页面存在。
通过搜索引擎查找test.php,如图2-154所示,可以看到该目标站点还有漏洞,并存在baidu.zip备份及mszw.sql数据库文件泄露的情况。
图2-154 检测test.php页面漏洞
2.16.2 测试页面漏洞的利用思路
测试页面漏洞的利用要根据实际情况来进行,一般来说,存在测试页面的网站中会存在压缩文件、列目录漏洞、数据库文件备份等。对测试页面漏洞的主要利用思路如下。
1.扫描端口
对站点的IP地址进行扫描。如图2-155所示,使用“Intense scan, no ping”方式进行扫描,可以看到目标IP地址开放了25个端口。开放的端口越多,获取和发现漏洞的几率越大。
图2-155 扫描端口
2.反查IP地址所在域名
在http://www.yougetsignal.com/tools/web-sites-on-web-server/站点对IP地址进行域名反查,获取IP地址所在的域名列表,如图2-156所示。
图2-156 反查域名
3.对端口进行测试
使用IP地址或者网站地址(带端口)进行逐一测试。例如,发现有8181端口,则利用方法为“http://www.antian365.com:8181”,查看该端口所使用的服务,判断是否提供了Web服务,进而通过服务寻找漏洞。如图2-157所示,该服务器使用WampServer架构,该架构存在目录信息泄露,会直接将所有的项目列出。
图2-157 查看端口服务信息
4.对存在的漏洞进行利用
如果存在phpmyadmin,则查看数据库用户是否为root。如果能够获取密码,则可以通过导出一句话后门获取服务器权限。
5.获取WebShell
该网站的phpMyAdmin直接保存了用户名和密码,原因应该是在phpMyAdmin目录中默认设置了config.inc.php。在其中直接导出一句话后门,如图2-158所示。使用“中国菜刀”后门管理工具添加一条记录,并测试是否可以连接,如图2-159所示,成功获取该网站的WebShell。
图2-158 查询导出一句话后门
图2-159 获取WebShell
6.获取服务器密码
通过“中国菜刀”上传wce32.exe密码获取软件到服务器,运行“wce32-w”命令获取当前登录管理员的密码“ruentexo”,如图2-160所示。
图2-160 获取管理员密码
2.16.3 登录服务器并进行口令扫描
使用lcx进行内网渗透。在外网独立服务器上尝试连接和登录,如图2-161所示,成功登录该服务器。
图2-161 登录内网服务器
将获取的口令放入NTscan的扫描字典中,对192.168.1.1-192.168.1.254进行扫描。如图2-162所示,获取内网口令为“ruentexo”的IP地址下的其他服务器。
图2-162 获取内网其他服务器权限
2.16.4 获取域控密码
使用gsecdump程序直接获取该域控服务器所有密码的列表,如图2-163所示。
图2-163 获取域控密码
2.16.5 测试页面漏洞的修复
该漏洞的修复方法就是删除测试页面,包括无用的phpinfo.php、test.php、test.asp、test.aspx、test.cgi、test.jsp、test.html、test.htm、.svn/entries、info.php、info.asp、info.aspx及info.jsp等测试页面和无用的信息。