线下赛ASP靶机漏洞利用分析

2017-12-20 21:35:26 Umask 信安之路

继上次发表  记一次线下赛靶机攻击过程  后,看到反响不错,特此再写一篇,关于一台 ASP 靶机漏洞利用过程。

记一次线下赛靶机攻击过程(https://mp.weixin.qq.com/s/11pj2vIDISYJHvXdGMS_VQ

整个漏洞利用过程难度不大,但是个人觉得有些思路大家以后参加线下赛的时候参考,因为很多线下赛,难度整体不大,个人参加了几次,发现很多选手1台靶机都拿不下,其实他们还是具备一定能力,只不过缺少了思路,发现漏洞的“入口”,加之比赛短暂往往就几个小时,导致紧张最终一无所获。

往往有些靶机“入口”并不唯一。这样利用的方式有很多种,对于另外的攻击手法,大家可以再参加线下赛的时候,如果成功拿下靶机,尝试把 web 源代码 + 数据库数据下载下来,赛后自行搭建环境分析,发现另外的攻击手段,这样效果更好。

注:下面的文章内容将比较照顾新“入坑”的未来大佬。

环境靶机 IP :172.16.1.112

1、Web首页 ASP 站点


对于 asp 站点,我们可以推断出 web 站点整体环境,如下:

ASP + ACCESS + IIS    或者   ASP + MSSQL + IIS

至于是 IIS 版本多少,告诉大家一个规律。

IIS 6.0  =  2003

IIS 7.0  = 2008

IIS 7.5  =  2008 r2

IIS 8.0  =  2012

对于如果最快速分析出是 Linux 或者 windows 平台的站点,就是尝试大小写。

Linux 区分大小写,windows 不区分,利用这个规律,例如访问:

http://172.16.1.112/index.html  

尝试把 index.html 中 d , 换成大写 D 访问,如果不报错证明是 windows 平台。

2、网站底部有后台管理入口,访问进入(某些靶机虽然有后台入口,但多半是假的,存在误导性质)



从上图看来是真的入口



既然有了后台入口,现在缺的就是账号密码了。

获取账号密码最常用 web 漏洞就是 sql 注入,接下来可以尝试进行 web 扫描或者手工发现注入点。

3、随便打开一新闻



在打开的新闻页面的 URL 最后添加 ',测试是否存在 SQL 注入,报错证明有 SQL 注入,如下图:



使用 pangolin 注入获得结果,得到结果如下图:



破解获得管理员密码为 987432



进入后台获取到第一个 flag



从图中可以看到采用 access 数据库,从而排除了之前我们分析的使用 mssql 数据库的可能性。

4.寻找后台有哪些功能



在增加新闻中我的 chrome 浏览器无法打开这个编辑器,chrome 不支持,改用 ietest IE6.0 浏览器打开。



想尝试通过上传图片功能上传 webshell,但无奈可能兼容性问题,IETEST 软件崩溃了,故放弃了,寻找别的方法。

看到有首页 JS 生成模块,其中有生成 asp 文件类型选项,个人觉得有可利用价值,但个人没使用过,怕乱点破坏环境,导致网站无法访问,故没有深入操作。



由于网站使用的是 eweb 编辑器,故可能有 eweb 编辑器后台



发现eweb编辑器后台入口



接下来寻找 eweb 数据库的账号密码

账号密码存放在数据库中,熟悉 eweb 都知道 eweb 默认数据库的位置为:

http://127.0.0.1/ewebeditor/db/ewebeditor.mdb

修改 url,却出现 404



既然使用了 eweb 编辑器,肯定存在数据库,只是我输入的路径不对而已。

在首页有篇文章引起了我的注意



这 3 点防数据库下载的措施:

1.修改默认数据库名,修改存放目录

2.把 access 数据库的 .MDB 扩展名修改为 asp、asa ,不影响下载

3.数据库名加 # 防止被下载,但是可以通过 %23 = # 形式下载

既然有这篇文章,我估计肯定采用了其中一种方法进行了加固,那我也顺势接着这些方法去发现。

先尝试修改为 asp 扩展名,果不然出现了内容,那我只要把该 asp 文件下载下来再改名为 mdb 文件,进行读取



成功得到 eweb 后台账号密码

用户名:Admin

密码:29767143



后来发现首页底部其实也存在密码,所以优秀的信息收集能力,其实也能很好的辅助我们



接下来就利用 eweb 漏洞来上传 webshell,至于怎么上传,这边就不提及了,虽然本文比较照顾小白,但照顾的是思路,对于这种“烂大街”的漏洞就不细说了。

真有不清楚,可访问文章:

http://blog.sina.com.cn/s/blog_7fe448c70101e70y.html



5.看到此处可能大家就觉得是不是有点太 low 了。

这边重点要讲的不是上面通过 eweb 的方式。

之前我们发现靶机把 .mdb 加固成了 .asp,理论上防止了被下载,但是忽略掉了如果把 asp 一句话写入进了数据库,保存在数据库文件内,那也就是 asp 文件,那么这个数据库 asp 文件就变成了一句话的木马文件了。

发现首页存在我要留言板块,该板块调用的是 web 跟目录底下的 ebook/index.asp 文件

故知道存在 ebook 目录,关于留言板相关内容也都应该存放在该目录底下,包括写入进去的留言的数据库文件



尝试把一句话木马写入数据库



内容进入,接下来需要做的就是找到该数据库文件



对 ebook 目录进行扫描,发现db目录,猜数据库文件名字,发现为

http://172.16.1.112/ebook/db/ebook.asp



6、提权

权限不够,提权来凑



之前那篇文章提权采用 ms15-077,同样在该靶机上也可以提权成功



但咱也不能老用那 1 个 exp,所以这次咱换一个 1 个 ms15-051 试试。



执行了但是没内容输出

后来找了下 ms15-051 的 exp 相关信息,发现得配合菜刀的自写脚本功能使用



提权成功

但这边再给大家介绍一款工具:wce.exe

1 个不错的 HASH 注入工具可读明文密码我们在不修改密码进入系统的情况下,获取密码进入系统。

获取明文密码方法如下,更多详细的内容可自行百度



桌面 flag.exe 内 flag 一枚

Base64 解码得之



至此 ASP 靶机攻击结束

该靶机整体难度比较小,在线下赛中基本会被打花,但切记务乱操作导致靶机无法正常使用。

小编蹭热点

我感觉本文虽然用的技术不是很高大上,但是整个流程下来是比较完整的,这是作者完成的第三篇文章了,毫无疑问的加入了我们的作者团队大军,距离元旦还有十天,希望已经完成两篇的同学,加把劲,达到三篇就能领取年终奖励了,具体投稿数量统计请点击阅读原文。