Smishing僵尸網絡在伊朗瘋狂活動
在過去的幾個月里,多個伊朗媒體和社交網絡都發布了警告,有攻擊者正在假冒伊朗政府實施短信釣魚活動。受害者點擊一個惡意鏈接,輸入他們的信用卡信息,幾個小時內他們的錢就沒了。值得注意的是,這些活動的攻擊規模非常大。
與之前發現的攻擊(例如Flubot木馬通過注入代碼和顯示覆蓋屏幕從設備中竊取敏感數據)不同,本研究中提出的惡意應用程序依靠社會工程來引誘受害者交出他們的信用卡詳細信息。作案手法始終如一。受害者收到一條看似合法的短信,其中就包含一個假冒政府服務的網絡釣魚頁面的鏈接,并誘使他們下載惡意的Android應用程序,然后為該服務支付少量費用。惡意應用程序不僅會收集受害者的信用卡號,還會訪問他們的雙因素身份驗證短信,并將受害者的設備變成能夠將類似網絡釣魚短信傳播給其他潛在受害者的木馬。
本文介紹了有關如何構建這些活動的技術細節、它們的商業模式,以及它們如何在使用簡單工具的情況下屢屢得手。此外,調查顯示,由于攻擊者自身的OPSEC(操作安全)級別較低,受害者的數據不受保護,第三方可以自由訪問。
盡管這些攻擊伊朗網絡警察的注意,但攻擊仍在泛濫,幾乎每天都在繼續更新其惡意應用程序和底層基礎設施。
感染鏈

攻擊從一條釣魚短信開始。在許多情況下,它是來自電子司法通知系統的消息。

發送給伊朗公民的釣魚短信示例
該短信包含伊朗司法機構關于新文件/投訴的虛假通知,并建議點擊鏈接查看完整的投訴。從短信鏈接到一個通常模仿官方政府網站的釣魚網站。用戶將收到針對他們的投訴通知,并要求提供個人信息,以便進入電子系統。

輸入個人信息后,受害者被重定向到一個頁面以下載惡意.apk文件。安裝后,Android應用程序會顯示一個虛假的Sana(伊朗電子司法通知系統)身份驗證服務登錄頁面,要求提供受害者的手機號碼和國民身份號碼。它還通知受害者他們需要支付費用才能繼續。這減少了懷疑并使操作看起來更合法。

偽造認證頁面(左)和收集信用卡信息的網絡釣魚頁面(右)
輸入詳細信息后,受害者將被重定向到付款頁面。與大多數網絡釣魚頁面類似,提交信用卡數據后,網站會顯示“付款錯誤”消息,但錢已經不見了。攻擊者將擁有受害者的信用信息,而Android應用程序仍然安裝在受害者設備上的后門,這可以在需要信用卡公司繞過雙因素或額外驗證時促進額外的盜竊。
這些Android后門功能包括:
1.短信竊取。安裝虛假應用程序后,受害者的所有短信都會立即被上傳到攻擊者的服務器。
隱藏以保持持久性。信用卡信息發送給攻擊者后,應用程序可以隱藏其圖標,使受害者難以控制或卸載該應用程序。
2.繞過雙因素身份驗證。攻擊者可以訪問受害者設備上的信用卡詳細信息和短信,然后從受害者的銀行賬戶中進行未經授權的提款,劫持雙因素身份驗證(一次性密碼)。
3.僵尸網絡。惡意軟件可以通過FCM(FirebaseCloudMessaging)與C&C服務器通信,允許攻擊者在受害者的設備上執行其他命令,例如竊取聯系人和發送短信消息。
4.存在可以被電信公司屏蔽或追溯到攻擊者的“惡意”號碼。該應用程序可以使用自定義消息和從C&C服務器檢索的電話號碼列表向潛在受害者發送短信。這允許攻擊者從典型用戶的電話號碼而不是從一個集中的地方傳播釣魚消息,而且不局限于一組容易被屏蔽的電話號碼。這意味著,從技術上講,不存在可以被電信公司屏蔽或追溯到攻擊者的“惡意”號碼。
下面的技術分析更詳細地解釋了這些后門功能是如何實現的。
Android應用程序
此攻擊活動中典型的惡意Android應用程序是使用BasicforAndroid(b4a)構建的,這是AnywhereSoftware的一個開源項目,可幫助開發原生Android應用程序。
該惡意軟件需要一些權限才能執行其惡意活動,包括訪問短信和聯系人以及互聯網連接。它還需要GoogleFirebase定義的一些權限:RECEIVE用于接收推送通知:
BIND_GET_INSTALL_REFERRER_SERVICE用于Firebase識別應用程序的安裝位置。

惡意應用程序示例的Android清單:
(7767659fab29de6412402d9ea38670b3d32b088fa29e7b457a770433845dc550)
首次啟動時,應用程序請求4個權限:應用程序請求4個權限:
PERMISSION_RECEIVE_SMS, PERMISSION_READ_SMS, PERMISSION_SEND_SMS, PERMISSION_READ_CONTACTS。對于每個權限,調用_activity_permissionresult函數:

惡意軟件通知面板有關新安裝的木馬并上傳來自新感染設備的所有短信
首先,該函數創建某種類型的互斥鎖:它檢查文件set.txt是否存在,如果找不到則創建它。然后它從文件/assets/port.txt中讀取端口(活動名稱)。這個活動的面板URL在以后的整個應用程序中使用:
https://hardcoded_panel_domain/ + port + /panel.php.
該應用程序向面板發送受害者設備的Android ID,宣布新設備安裝了該惡意軟件。然后,它從設備收集所有的短信到文件SMS .txt,并將其上傳到相同的面板與Android ID作為參數。為了啟動釣魚流程,惡意軟件從assets/mon.bal文件加載布局,并從文件assets/url.txt中檢索欺詐網站的URL。它在web視圖中加載網絡釣魚URL,并將設備的android_id作為參數傳遞給此URL。這樣,在受害者在網絡釣魚頁面輸入他的信用卡詳細信息后,攻擊者將android_id作為后續步驟的標識符,當他們需要從受害者的設備獲取2FA短信并將其與信用卡號匹配時。
不用說,來自網絡釣魚頁面的信用卡詳細信息由PHP代碼處理并直接發送給攻擊者。
監視新的短信消息并將它們發送到C&C服務器。
除了檢索和上傳短信消息到服務器之外,一旦安裝了應用程序并授予訪問短信的權限,惡意軟件就會監視新的短信消息并將它們發送到C&C服務器。為此,他們使用以下接收器:

描述短信接收器的惡意軟件Android清單的一部分
新收到的短信消息正文和發件人號碼以明文形式作為GET請求的參數發送到C&C服務器:

惡意軟件將新收到的短信發送到面板
在該惡意軟件的一些后續版本中,有一段代碼可以發送一個附加參數:標志是bank,表明短信來自任何銀行。這個簡單的檢查是通過將body與波斯語中與“bank”相關的預定義單詞列表進行匹配來完成的。
僵尸網絡C&C通信
安裝了惡意軟件的設備將所有操作的輸出發送到面板,并使用FCM(Firebase云消息傳遞)從C&C接收要運行的命令。

來自惡意軟件樣本的Firebase配置
該惡意軟件使用FCM主題消息傳遞,允許它向選擇了特定主題的多個設備廣播消息。每個特定示例中使用的主題是端口值。

惡意軟件根據應用程序的“端口”值訂閱FCM主題
釣魚短信傳播
最有趣和最關鍵的功能之一是惡意軟件能夠將網絡釣魚活動傳播給其他潛在受害者。C&C服務器發送“send”命令,應用程序從控制面板請求兩個文件:
Message.oliver,即要發送的短信內容;
Numbers.oliver,發送此消息的號碼列表。
如果惡意短信確實發送成功,受感染的設備會傳播網絡釣魚消息并通知C&C服務器。這是通過將其與設備上的最后一條傳出短信消息進行比較來完成的。

處理發送短信并向服務器報告操作成功(紅色)或失敗(黃色)的惡意軟件代碼
這種僵尸網絡功能可能會引起潛在受害者的懷疑,因為網絡釣魚短信來自某個住戶電話號碼,而不是政府服務通常使用的短號碼。另一方面,這種方法不需要攻擊者維護特定號碼,可以在電話運營商級別阻止或追溯到攻擊者。
以下是惡意軟件支持的命令摘要:

FCMC&C命令的完整列表
基礎設施
需要維護Web和移動基礎設施的網絡釣魚操作非常罕見。為了執行這種惡意操作,攻擊者需要維護幾個不同的組件:
具有正確誘餌的網頁,用于傳播移動應用程序和具有相同誘餌主題的網絡釣魚頁面,以收集信用卡數據;
存儲被盜數據的面板;
用于C&C通信的Firebase域;
在代碼和配置文件中定義了以上所有的Android應用程序;
釣魚網頁
負責釣魚網站的網絡基礎設施主要利用免費域名注冊服務和.tk、.ml、.cf、xyz、.gqTLD來注冊他們試圖冒充的服務的多個相似域名。這使他們幾乎每天都可以免費更新域和URL,并且短期域減少了惡意URL被阻止的機會。釣魚頁面的源代碼可在多個Telegram頻道和Github上公開獲取。此代碼通常可根據用戶的需要進行定制,并包含輔助操作員的附加功能。例如,它可能會在每次新受害者提交信用卡數據時發出警報。為此,處理被盜信用卡數據的PHP頁面的源代碼包含一個模板,可通過API自動將數據提交給Telegram木馬:

與Telegram集成的釣魚頁面示例:處理所有用戶數據的opt.php腳本的一部分將此數據發送到已配置的Telegram組。
面板
主面板域在移動示例中進行了硬編碼,但它們會隨著時間的推移與應用程序一起發生變化。在某些活動中,該面板停留在同一個IP地址上,該地址也與網絡釣魚頁面域共享,表明整個網絡基礎設施屬于同一個攻擊者:

竊取受害者數據
攻擊者不僅從受害者那里竊取數據和金錢,而且他們完全缺乏OPSEC使得被盜的短信數據被泄露并在攻擊者的面板上免費提供。其中一個小組Oliverdnssop[.]cf向它報告了10多個不同的活動。一個公開特定活動的文件和文件夾結構的opendir足以通過直接訪問其他活動的URL來訪問從任何其他活動的受害者那里竊取的數據,即使是那些未通過opendir直接公開的URL.

攻擊者面板上一個特定端口(活動)上的Opendir
位于每個活動文件夾中的文件包括已經提到的文件:
Contacts.txt:從添加到僵尸網絡的最后一個設備中竊取的所有聯系人的列表;
Sms.txt:從木馬竊取的所有短信;
Message.oliver:由木馬傳播的網絡釣魚消息;
Numbers.oliver:木馬應向其發送此消息的電話號碼列表;
On.oliver:所有在線木馬的列表;
Users.oliver:參與此僵尸網絡的android_id的完整列表。
泄露的數據顯示,在不到10天的時間里,有超過1000名受害者從一個活動中安裝了該應用程序,在同時運行的多個活動中,一個活動每天約有100名受害者。這意味著在這些活動的幾個月內,受害者人數就達到數萬。

商業模式和攻擊者
在跟蹤特定類型的惡意軟件時,研究人員發現了一些其他活動,這些活動不僅冒充伊朗政府,還冒充伊朗社會保障服務、電話被盜或丟失時使用的設備跟蹤系統、伊朗銀行、約會和購物網站等。

假冒Divar購物網站及其翻譯的一個釣魚網站的截圖(左),以及一個經過審查的虛假約會網站(右)
在過去的幾個月中,研究人員總共發現了數百個不同的網絡釣魚Android應用程序。它們使用不同的代碼庫,但都包含相似的功能,并利用僵尸網絡根據從FirebaseCloudMessaging接收到的命令將短信消息傳播到其他設備的相同方法。
這些應用程序的包名如下:
com.psiphone3:研究人員在本文中討論的應用程序,有50多個應用程序上傳到VirusTotal,使用此類應用程序的活動于2021年10月上旬開始。
caco333.ca:最廣泛的應用程序,自7月份開始傳播以來,已有超過250種不同的應用程序在野外使用。
ir.PluTus.pluto包:自9月底以來在野外出現。
從技術角度來看,這兩個應用程序的級別并不比我們前面討論的復雜多少。其中一些應用程序包含更多的功能,可用于逃避和隱蔽,包括那些向C&C發送剪貼板數據,或使應用程序崩潰或靜音通知,這樣受害者就不會注意到傳入的短信。

負責附加功能的惡意軟件代碼片段
參考及來源:
https://research.checkpoint.com/2021/smishing-botnets-going-viral-in-iran/