武侠世界里,常常会提到“尸体会说话”,而在网络的攻防世界里,日志是最重要的追踪手段。今天要说的故事是,通过仅仅几行访问请求来还原整个黑客的攻击过程和常见攻击手法。
每天都有大量攻击者在利用已爆出的各种相应插件的漏洞,来攻击WordPress 和 Joomla 站点。
下面主要来介绍利用 Google Dork 的攻击手法。
Google Hacking 是黑客们来寻找攻击目标最常用的一种攻击手法,利用Google 搜素来寻找可能含有漏洞的网站。
例如,使用inurl 操作符来寻找有配置错误的wordpress站点,[ inurl: “wp-content” “index of” ] , 几乎在web 世界,每个被公开的漏洞,都可以利用Google hacking 寻找到攻击目标。攻击者利用Google Hacking技术,仅仅只是在搜素框中输入检索词,然后处理搜素结果这么简单吗?显然不是。下面让我们来一同看看大范围批量检索遇到的障碍和问题。
难点1:由于Google 的限制,即时每次检索可以返回百万级别的站点信息,但你可以获得的最多站点信息不超过1000个。 难点2:并且在这1000个站点中,并不是所有的站点都是含有漏洞的,一般的预期漏洞比例都在20%以下(当然这不是一成不变的,试漏洞的公布日期而定)。 难点3:Google 对于异常频繁的请求,会弹出验证码,组织自动化Google Hacking的。
那么攻击者们,如何来克服上面提到的那些障碍呢?
5.157.84.31 - - [01/Oct/2015:13:07:39 -0600] "GET /includes/freesans.fr.php?____pgfa=https%3A%2F%2Fwww.google.com%2Fsearch%3Fq%3Dwp-content+revslider+site%3Amobi#=100&start=600 HTTP/1.1" 302 2920 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:21.0) Gecko/20130401 Firefox/21.0" 5.157.84.31 - - [01/Oct/2015:13:08:33 -0600] "GET /includes/freesans.fr.php?____pgfa=https%3A%2F%2Fwww.google.com%2Fsearch%3Fq%3Dcom_adsmanager+%2Blogo+site%3Adj#=100&start=300 HTTP/1.1" 302 2916 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:23.0) Gecko/20130406 Firefox/23.0" 5.157.84.31 - - [01/Oct/2015:13:08:33 -0600] "GET /includes/freesans.fr.php?____pgfa=https%3A%2F%2Fwww.google.com%2Fsearch%3Fq%3Dwp-content+%2Brevslider+site%3Amobi#=100&start=500 HTTP/1.1" 302 2928 "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:23.0) Gecko/20131011 Firefox/23.0”
PHP Proxy
所有上述三条请求,都在请求”includes/freesans.fr.php” 这个php文件。检索后发现这是一个开源的web代理程序,利用代理程序,可以不留下自己真实的IP地址,从而突破IP限制,向Google发起请求。
从上面的日志中可见,攻击者通过代理程序来进行Google Hacking :
Docks
从上述请求中,可以提取出Dock的语句为:
1. [wp-content revslider site:mobi] 2. [com_adsmanager +logo site:dj] 3. [wp-content +revslider site:mobi]
从第一个和第三个请求中可见,攻击者在寻找使用Slider Revolution 插件的wordpress 站点。(Slider Revolution 是去年爆出的漏洞,到现在为止还有黑客在寻找含有该漏洞的站点)
第二个请求看起来在寻找使用了AdsManager 插件的 Joomla 站点,因为有些版本有文件上述漏洞。
到目前为止,我们来总结一下攻击者常用的google dock trick 方法:
1. 使用site+顶级域名来 bypass 前文提到的1000个返回结果限制。对于使用site: mobi 或者 site:com 、site:org site:net 等来进行google hacking,则可以得到 1000个mobi后缀域名的可疑站点url、1000个com后缀域名的可疑站点url、1000个org后缀域名的可疑站点url、1000个net后缀域名的可疑站点url。当我们使用不同的site+顶级域名,则会得到远远超过1000个vulnerable url。 2. 突破IP限制。攻击者常用如下 trick 来bypas IP限制 使用#=100 来增加每页响应数量,从而减少请求数目。 分布式代理,使用多个肉鸡来轮番发起请求。 这也就解释了为什么攻击者根本不在乎他们所要攻击的站点是什么,只要是可以利用的CPU和计算资源,他们都想占有。 3. 伪造UA 伪造UA,使请求看起来像来自一个ISP 背后的大量不同真实用户。如下文中所示,每个UA看似相同,但都有微小差别。 Mozilla/5.0 (Windows NT 6.1; WOW64; rv:21.0) Gecko/20130401Firefox/21.0 Mozilla/5.0 (Windows NT 6.1; WOW64; rv:23.0) Gecko/20130406Firefox/23.0 Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:23.0) Gecko/20131011Firefox/23.0
通过对上述三条语句的分析,我们理解了攻击者的如下行为:
1. 为何攻击者们不在聚焦于单一漏洞,而是关注如此多不同的漏洞。(为了更大化的发现可被攻破的站点) 2. 对于每一个网站而言,为何如此重要及时的更新软件和打补丁。(否则你的网站,很可能成为黑客批量攻击的目标) 3. 攻击者是如何在短时间内发现大量的漏洞站点。(利用google Dock技术) 4. 他们怎么利用已经攻陷下的主机来继续扩大攻击成果。(在攻陷的主机上安装web 代理程序,通过代理程序来继续google hacking) 5. 为什么你的IP地址对攻击者而言也是一个非常重要的资源。(可以实现分布式和匿名攻击)
*原文: sucuri liduzhizi 翻译投稿,转载请注明来自FreeBuf黑客与极客(FreeBuf.COM)