Python是最強語言?看看俄羅斯Turla黑客開發的Python惡意軟體

零日情報局發表於2020-03-13

大家好,我是零日情報局

本文首發於公眾號 零日情報局,微信ID:lingriqingbaoju



只要開發快,溯源就沒法找到我。——Turla 


Turla,一個圈內人盡皆知的俄羅斯背景APT間諜組織。這次這隻毒蛇開發了一種新型惡意軟體,盯上亞美尼亞開啟了持續性攻擊,領事館網站、能源部無一倖免。 


值得說道的,這次攻擊中,Turla在慣用的Adobe Flash更新誘餌中,一次性增加了兩個從未被記錄的惡意元件NetFlash和PyFlash,甚至還第一次出現了使用Python語言的情況。 


Python是最強語言?看看俄羅斯Turla黑客開發的Python惡意軟體

(Turla水坑攻擊目標)


 你沒看錯,一次性增加了兩個從未被記錄的新惡意元件,還啟用了Turla幾乎未涉及的程式語言。對此,零日不得不猜測,Turla工具庫可能又要擴大了。 



為新惡意元件鋪路的Turla水坑攻擊


甭管安裝執行什麼惡意軟體,入侵都是第一步,所以在聊新增惡意元件前,都得知道Turla是怎麼入侵的。 


首先,Turla在目標網站暗中植入惡意程式碼JavaScript。拿mnp.nkr [.] am來說,Turla就在常見的JavaScript庫 jquery-migrate.min.js 末尾,附加了一段混淆程式碼。


Python是最強語言?看看俄羅斯Turla黑客開發的Python惡意軟體

(混淆JavaScript程式碼注入mnp.nkr [.] am網站)


有了這串不起眼的程式碼,就能在skategirlchina [.] com / wp-includes /data_from_db_top.php 載入外部JavaScript。 


一旦有人訪問受感染網站,skategirlchina.com就會釋放惡意JavaScript,並在訪問者瀏覽器上新增指紋。 


就像這樣


Python是最強語言?看看俄羅斯Turla黑客開發的Python惡意軟體

Python是最強語言?看看俄羅斯Turla黑客開發的Python惡意軟體

(惡意URL被偽裝的指紋指令碼)


接下來上演的就是大家都熟悉的,指紋識別和惡意軟體交付危險行為。有意思的是,Turla會篩選使用者價值,分別處理。


 比如說,你是第一次執行指令碼的低價值目標,就會在瀏覽器上新增一個由伺服器提供的隨機MD5值evercookie。 


這樣這個值在後續的每一次執行指令碼中都不同,進而長期持續的跟蹤使用者,甚至你直接刪除瀏覽器cookie,也無法停止evercookie的執行。


當你是潛在的高價值目標時,Turla的伺服器則會給你展示一個建立iframe的JavaScript程式碼,開始對你下套。 


你看到的介面,就會變成這種誘導更新的畫面。 


Python是最強語言?看看俄羅斯Turla黑客開發的Python惡意軟體

(偽造的Adobe Flash更新iframe)


這時回過頭梳理Turla的整個攻擊過程,會發現從最初訪問受感染網站到惡意負載的傳遞,是這樣一個過程:


Python是最強語言?看看俄羅斯Turla黑客開發的Python惡意軟體


 也是完成了上述流程,Turla才真正開始執行惡意軟體,也就是零日開篇提到新增的兩種惡意軟體。 



新增惡勢力:NetFlash和PyFlash


如果分階段的話,前面說的其實是Turla攻擊的入侵階段,後面的則是Turla部署的新惡意軟體了。 


惡意元件1:NetFlash(.NET下載器) 

這個新發現的有效載荷NetFlash是一個. NET應用程式。


它在%TEMP%\adobe.exe中刪除了一個Adobe Flash v32安裝程式,並在%TEMP%\winhost.exe中刪除了一個. NET下載程式。 


從ESET捕獲的惡意樣本來看,2019年8月底和2019年9月初被編譯後,NetFlash才被上傳到水坑攻擊的C&C伺服器。 


NetFlash會從硬編碼URL下載其第二階段惡意軟體,並使用Windows計劃任務保持新後門的永續性,以便於後續攻擊。

 

Python是最強語言?看看俄羅斯Turla黑客開發的Python惡意軟體


通過NetFlash,可下載名為PyFlash的第二階段惡意軟體。


惡意元件2:PyFlash 


第二個新發現的惡意軟體,其實是一個py2exe可執行檔案。


所謂的py2exe,指的是一個Python擴充套件,主要功能是將Python指令碼轉換為獨立的Windows可執行檔案。 

PyFlash通過HTTP與硬編碼的C&C伺服器通訊,在指令碼的開頭指定了C&C URL以及用於加密所有網路通訊的其他引數(例如AES金鑰和IV)。


Python是最強語言?看看俄羅斯Turla黑客開發的Python惡意軟體

(PyFlash Python指令碼中的全域性變數)


通過指令碼的指定,直接讓這個指令碼能夠把相關計算機資訊反饋給C&C伺服器。 


Python是最強語言?看看俄羅斯Turla黑客開發的Python惡意軟體

(PyFlash的主要功能)


值得一提的是,C&C伺服器還能以JSON格式傳送後門命令,進行特定操作。 在目前新發現的PyFlash中,能進行的命令主要有這幾種:

 

總的來說,Turla雖然一直以自主開發著稱,但這還是零日第一次看到Turla開發人員在後門程式中使用Python語言。 



政府國防注意


Turla組織最早可追溯到90年代“月光迷宮”(Moonlight Maze),在其異常活躍的近十年,也始終以政府、外交和軍事組織的為目標,尤其是北約國家。 


對於這樣一個APT裡異常活躍的麻煩製造機,攻擊武器一般的惡意軟體開始更新,無疑就意味著威脅的擴大,畢竟即使只有一種網路武器,也能不受限制的攻擊所有目標。  


Python是最強語言?看看俄羅斯Turla黑客開發的Python惡意軟體


再聯想到Turla的俄羅斯背景,以及此次新增惡意軟體攻擊的目標亞美尼亞,考慮到雙方微妙的地緣關係,這背後的地緣政治博弈,可能又暗藏著一出大戲。 



零日反思


跳出技術維度,防不勝防的APT,很難用好壞去評判。


就像Turla,對攻擊目標來說,無疑是安全的破壞者,而對Turla背後的政治利益集團來說,Turla則更像一把好用的武器。對Turla或者APT有想法的,我們評論區見。


零日情報局作品

微信公眾號:lingriqingbaoju

如需轉載,請後臺留言

歡迎分享朋友圈


參考資料:

ESET《Tracking Turla:新的後門通過亞美尼亞水坑提供》

Python是最強語言?看看俄羅斯Turla黑客開發的Python惡意軟體



相關文章