黑帽SEO自学网教你从防护角度看Thinkphp历史漏洞

博主:阿柯阿柯 2年前 ( 2020-03-07 ) 933 0条评论

一、前言

19年头,网上公开了2个Thinkphp5的Rce破绽,破绽异常好用,导致有许多攻击者用扫描器举行全网扫描。我们通过ips装备延续观察到大量行使这几个破绽举行批量getshell的攻击流量,本文主要从流量角度简要剖析和行使thinkphp举行攻击的全网扫描和getshell流量痕迹。

二、Thinkphp RCE破绽和扫描流量

2.1破绽原理回首

2.1.15.0.x版本破绽

原理在于Thinkphp处置请求的要害类为Request(thinkphp/library/think/Request.php),该类可以实现对HTTP请求的一些设置

Thinkphp支持设置“表单伪装变量”,默认情况下该变量值为_method,因此在method()中,可以通过“表单伪装变量”举行变量笼罩实现对该类随便函数的挪用,而且$_POST作为函数的参数传入。可以组织请求来实现对Request类属性值的笼罩,例如笼罩filter属性(filter属性保留了用于全局过滤的函数),从而实现代码执行。      

2.1.25.1.x-5.2.x版本破绽

与5.0.x版本破绽相似,破绽点都存在于Request(thinkphp/library/think/Request.php)类中,其中:

黑帽SEO自学网教你从防护角度看Thinkphp历史漏洞  第1张

$method变量是$this->method,其等同于POST的“_method”参数值,可以行使笼罩$filter的属性值(filter属性保留了用于全局过滤的函数),从而实现代码执行。

该破绽触发时会泛起忠言级别的异常导致程序终止,此时需要设置忽略异常提醒,在public/index.php中设置error_reporting(0)忽略异常继续运行代码,如下图:

黑帽SEO自学网教你从防护角度看Thinkphp历史漏洞  第2张

2.2Thinkphp破绽全网扫描

从流量角度来看,行使Thinkphp破绽就是发一个http包。我们发现某黑客的扫描器是先写一个简朴的一句话作为指纹,后续再接见这个文件看是否返回指纹信息,接见乐成说明shell已经乐成,基本就是发两个http包,扫描器记下乐成写入的shell的网站ip和url然后手工用菜刀毗邻,举行后续操作。

从IPS装备日志和人工验证,攻击者的攻击步骤包罗2步:1、全网扫描发送exp,凭证指纹识别是否getshell;2、菜刀毗邻,举行远程控制;

2.2.1全网扫描发送exp

一样平时扫描日志都是遍历B段或C段,时间也对照麋集,某个被纪录的扫描器日志片断如下,

黑帽SEO自学网教你从防护角度看Thinkphp历史漏洞  第3张

具备3个特征:1、目的ip为相同C段或者B段,2、端口对照牢靠,3扫描时间异常麋集

扫描器发送的确认shell已经写入乐成的报文,接纳扫描器专用的指纹,以是ips是没有这种检测规则的。

2.2.2菜刀毗邻

黑帽SEO自学网 友情提醒您:文本摘自于网络!用于研究学习!请勿用于非法用途!在采用学习之前 务必阅读本站 【免责申明

在攻击者手工菜刀毗邻被攻陷的站点时,也会被ips检测到,通过上下文关联溯源到thinkphp破绽作为攻击者的突破口。挑选几个那时纪录的典型案例:

被攻陷的郑州服务器1(122.114.24.216):

黑帽SEO自学网教你从防护角度看Thinkphp历史漏洞  第4张

该网站确实为thinkphp5发开,那时webshell木马还在服务器上未被删除。可以通过服务器接见黑客上传的该木马,指纹信息为baidu,扫描器用这个指纹来自动判断getshell乐成并纪录url。

黑帽SEO自学网教你从防护角度看Thinkphp历史漏洞  第5张

被攻陷的四川服务器(182.151.214.106):

被攻陷的四川服务器(182.151.214.106):

这个案例木马虽然被祛除,然则那时服务器照样可以连通,服务器也是thinkphp框架,用户名疑似chanpei

黑帽SEO自学网教你从防护角度看Thinkphp历史漏洞  第6张

装备纪录了黑客毗邻木马并执行网络查询下令时的报文,获得的信息与以上报错信息一致。而且看得出服务器也所处为内网的一台机械,截图看到至少该网络包罗192.168.9.0和192.168.56.0两个子网,如下图:

黑帽SEO自学网教你从防护角度看Thinkphp历史漏洞  第7张

被攻陷的美国服务器(161.129.41.36):

美国这台服务器上的webshell也被整理掉了,通过装备抓包,发现有黑客使用了相同的webshell木马,即 x.php,怀疑是统一批黑客。

黑帽SEO自学网教你从防护角度看Thinkphp历史漏洞  第8张

黑客在浏览美国服务器上x.php(webshell)文件内容时,装备纪录了x.php的密码为xiao,而且标志位也是baidu。

黑帽SEO自学网教你从防护角度看Thinkphp历史漏洞  第9张

可以看出行使这两个Thinkphp高危RCE破绽,那时是扫到了大量的服务器破绽的。

本文连系Thinkphp的历史破绽原理,分享了发现行使Thinkphp破绽攻击乐成的案例。现在装备天天检测到最多的日志就是weblogic、struts2、thinkphp这类直接getshell的日志或者ssh rdp暴力破解日志。许多攻击者一旦发现最新的exp就装备到自己的扫描器上面全网一阵扫,一天下来可能就是若干个shell。以是泛起高危破绽后建议用户实时打上补丁,设置好平安装备战略,从现实几个案例来看,扫描器的风险一直都在。如果能设置好网站制止ip直接接见,能在某种程度上缓解一下这种威胁。由于水平有限,迎接人人指出文中的错误和交流指教

The End

发布于:2020-03-07,除非注明,否则均为黑帽SEO自学网_黑帽SEO与SEO优化黑帽教程技术学习『阿柯』原创文章,转载请注明出处。