近日,安全公司Sucuri发现黑客利用超过16.2万WordPress网站的Pingback功能进行大规模DDoS放大攻击。当然,攻击对象也必须是WordPress站点。
黑客利用了WordPress内容管理系统默认的Pingback(回链)功能,通过网站的XML-RPC(远程过程调用协议)发送请求实现DDoS放大攻击。
在安全牛之前的文章“Cloudflare遭受史上最猛烈DDoS攻击“一文中,我们曾介绍继DNS放大攻击之后,攻击者近来开始流行使用网络时间协议反射(NTP reflection)进行放大攻击。但是利用WordPress的Pingback功能进行放大攻击则更加“便捷”和“别出心裁”。
攻击者假冒受攻击目标网站的IP地址给数以万计WordPress站点发送Pingback请求,打开Pingback功能的站点会向受攻击网站(也是WordPress站点)发送大量流量。
根据Sucuri的官方博客,仅仅数小时内,超过16.2万Wordpress网站开始向受攻击网站发送大量数据,最后Sucuri不得不在边缘防火墙屏蔽了Pingback流量,以避免日志文件被垃圾化。
Sucuri指出通过WordPress站点进行放大攻击的威力超出想象,大量知名合法WordPress站点也加入攻击行列,而幕后黑客则深藏不漏,而这一切仅仅是向XML-RPC文件发送了一个Pingback请求。
与国外技术博客A Programmer’s Blog爆出的Google爬虫可被用于DDoS攻击任意网站类似,在WordPress核心开发团队很早就注意到Pingback功能可能引起的麻烦,但却不认为这是个bug,而且很多第三方Wordpress插件还会调用这个功能,因此Wordpress开发团队也有些骑虎难下。
安全牛建议广大WordPress站点管理员尽快关闭Pingback功能,这个功能对SEO并无多大裨益,反而会招致垃圾评论甚至被黑客利用发起DDoS放大攻击。
新型分布式DDoS攻击:超过16万WordPress站点被利用
安全研究人员们近期发现了一个新型分布式DDoS攻击,这种攻击方式利用了至少162000个WP站点来攻击其它网站使之宕机。
小编发现从技术上来讲这种方式完全可行。攻击者通过某种手段,利用极少的资源来膨胀扩充它的带宽,然后发送一些欺骗性的Web请求,让WP服务器找到目标站点并发送大量的请求,进而导致目标站点瘫痪。这种著名的攻击方式主要是应用于XML-RPC上,它能够让众多受信任的站点同时攻击另一个网站(XML-RPC是WP站点或cms网站用来提供远程过程调用的协议)。
最近Sucuri安全公司的研究员们发现,有超过162000个合法的WP站点攻击了一个普通的网站。若不是他们及时的屏蔽了这些请求,参与攻击的网站可能会更多。这种犀利的攻击手段让他们措手不及。
Sucuri公司的CTODaniel Cid在他周一的博客中写到:“你们见识过这种攻击的威力么?攻击者可以利用成千上万个合法WP站点来达成DDoS目的,而他却可以隐藏在幕后。这一切的攻击,都只是源于一个简单的,对XML-RPC文件的Ping Back请求。”
这样一个简单的请求,造成的结果就是一个网站每秒要遭受成百上千次的洪水攻击。或许这听起来并不多,尤其是和一些达到400G每秒的洪水攻击相比的时候,更显得微不足道。可是重点在于,XML-RPC的流量是直接进入目标网站的第七层(注:OSI模型中,第七层为应用层)。而在这一层,服务器需要处理类似于HTTP, FTP, DNS等各种交流协议。许多DDoS攻击目标是较低的网络层,通常可能在第三层网络层。
Cid的博客包括了许多关于这次攻击的有用信息。它也提供了一个工具,通过它我们可以查看一个网站是否曾被这种新型分布式DDoS攻击。文中还提到WP管理员们应该做一些防止被攻击者利用的事情——将下列代码加入网站的Theme中。
add_filter( ‘xmlrpc_methods’, function( $methods ) { unset( $methods['pingback.ping'] ); return $methods; } );
在如今DDoS盛行的情况下,对WP的利用攻击也仅仅是其中一种比较犀利的手段。其他例如滥用互联网时间同步协议,利用开放域名系统服务攻击等,都可以达到放大带宽流量的目的,攻击者同样可以使用WP僵尸网络发动强大的DDoS攻击。层出不穷的攻击手段会对互联网造成巨大的伤害,网络安全变得越来越重要。