1. 程式人生 > >世界上最流行的程式語言恰恰也是大多數黑客的首選武器

世界上最流行的程式語言恰恰也是大多數黑客的首選武器

Python很快將是世界上最流行的程式語言。這算得上是豪言壯語,但如果你看一下Python的簡單性、靈活性以及相對容易上手的優點,不難看出為什麼《經濟學人》雜誌最近將Python譽為是即將在全球使用量最多的語言。當然,我們的威脅研究小組想看看Python在不法分子當中有多受歡迎。

當然,最好的研究地方是Github。粗略估計,實現攻擊工具/漏洞概念證明(PoC)的GitHub程式碼倉庫中20%以上是用Python編寫的。在GitHub中幾乎所有與安全有關的主題中,大多數程式碼倉庫都是用Python編寫的,包括w3af和Sqlmap之類的工具,甚至臭名昭著的AutoSploit工具。

我們Imperva使用先進的智慧客戶分類機制來區別和分類各種Web客戶軟體。我們查看了自己的資料,尤其是安全事件,結果我們識別的大多數(25%以上)客戶軟體(不包括漏洞掃描器)都基於Python。

與其他客戶軟體不同,我們在Python方面看到了許多不同的攻擊途徑和使用已知漏洞。與開發人員一樣,黑客也在享用Python的優點,因而Python成為一種流行的黑客工具。

圖1:按客戶軟體分類的安全事件,不包括漏洞掃描器。25%以上的客戶軟體是不法分子使用的基於Python的工具,因而Python成為實施漏洞攻擊的最常見途徑。

對針對我們保護的網站發動的攻擊中使用Python的情況分析後發現,結果並不令人驚訝:大部分網站(多達77%)被基於Python的工具攻擊過;在超過三分之一的情況下,大多數日常攻擊是基於Python的工具實施的。這表明,基於Python的工具用於廣度掃描和深度掃描。

圖2:遭到基於Python攻擊的網站的每日百分比。

Python模組

用於Web攻擊的兩個最流行的Python模組是Urllib和Python Requests。下圖顯示了攻擊分佈狀況。新模組Async IO的使用剛開始多起來,如果你考慮到該庫在第7層DDoS方面扮演的角色,也就不難理解了,尤其是在使用“Spray N'Pray”手法時:

圖3

Python和已知漏洞nainaitea.com

Python這種程式語言的優點讓它成為實現已知漏洞的一種流行工具。我們收集了一款基於Python的工具最近利用的十大漏洞方面的資訊。

近2個月中兩次最猖獗的攻擊使用了CVE-2017-9841和CVE-2015-8562,前者是 PHPUnit框架中基於PHP的遠端執行程式碼(RCE)漏洞,後者是針對Joomla!框架的RCE。考慮到RCE對不法分子來說很重要,最常見的攻擊可能利用RCE漏洞也就不足為奇了。

另一個不屬於十大漏洞的例子是CVE-2018-1000207,它在2018年8月的最後一週內有好幾天每天都導致數百次攻擊。更深入地分析後發現,這起攻擊是針對多個受到保護的客戶發動的。

CVE方面的變化

圖4

可以從我們的資料中看出,攻擊者利用CVE的數量在過去幾年有所增加:

圖5

此外,Python用於攻擊特定的應用程式和框架,根據我們的資料,你可以在下面找到十大框架:

圖6

我們查看了Python攻擊的所有框架後,最惹眼的攻擊是針對Struts、WordPress、Joomla和Drupal的那些攻擊,這並不奇怪,因為目前這些是市面上一些最流行的框架。

攻擊途徑

我們看到攻擊中使用的最流行的HTTP引數值(佔使用的所有不同引數值的30%左右)屬於通過Joomla!中的PHP Unserialize漏洞,使用JDatabaseDriverMysqli物件企圖植入後門的攻擊。植入後門的有效載荷託管在ICG-AuthExploiterBot上。

我們還看到一個經常出現的有效載荷,結果證明是企圖感染系統的特洛伊木馬Coinbitminer,更多細節詳見附錄。請注意,附錄僅僅是一個例子。由於Python被黑客廣泛使用,因此許多不同的攻擊途徑需要考慮。Python只需要一點程式設計技能,這使得編寫指令碼、利用漏洞易如反掌。

我們的建議

除非你能夠區分基於Python的工具的請求和任何其他工具的請求,否則我們的建議仍然一樣:確保開發軟體時牢記安全性,給系統打上最新的補丁,儘量避免被認為不安全的任何做法。

附錄:攻擊示例

這是我們觀察到的一個值得關注的、經常出現的有效載荷(最後有個小的差異):

圖7

在base64解碼之後,我們得到了二進位制有效載荷:

圖8

在上述有效負載中,提到了反序列化漏洞工具所用的GitHub程式碼倉庫和jpg檔案中的wget命令下載,這強烈表明存在著惡意活動。從http://45.227.252.250/jre.jpg下載檔案後,我們可以看到它實際上是含有以下內容的指令碼:

圖9

指令碼中的最後兩行試圖獲得http://45.227.252.250/static/font.jpg%7Csh,這被賽門鐵克端點保護系統確認為是特洛伊木馬Coinbitminer。

圖10

原文標題:The World’s Most Popular Coding Language Happens to be Most Hackers’ Weapon of Choice,作者:Johnathan Azaria、Ori Nakar和Edi Kogan