DNS隧道和DHL聊天機器人釣魚攻擊
寫在前面:介紹了DNS隧道技術,以前也大致明白,但細節不清楚。看到整個攻擊過程的設計及實現,我只有四個字,工匠精神。
為了更好地達到釣魚的效果,黑客開始模擬聊天機器人,雖然還不是很完美,但已經初具模型。
Saitama后門如何使用DNS隧道技術
Mark Stockley
感謝Malwarebytes威脅情報團隊為本文提供的信息。
可以理解,很多網絡安全的研究和評論都側重于在不被發現的情況下侵入計算機。但攻擊者通常也同樣關心這點。
帶有監視或間諜目的的惡意軟件需要在不被發現的情況下運行,但它也可能需要竊取數據或與其C2服務器交換消息,這兩者都會暴露其存在。
惡意軟件避免檢測所采用的隱秘通信技術之一是DNS隧道,它將消息隱藏在普通的DNS請求中。
Malwarebytes威脅情報團隊最近公布了一項關于伊朗威脅組織APT34對約旦政府攻擊的研究,該組織使用了這種方法,并有自己的創新。
攻擊的有效載荷是名為Saitama的后門,它是一個使用DNS進行通信的有限狀態機(finite state machine)。我們早期文章對Saitama的運行做了深入介紹,值得一讀。
下面,我們將擴展Saitama 使用DNS 隧道的技巧。
Saitama DNS 隧道
DNS是互聯網的“地址簿”,它允許計算機查找人類可讀的域名,如malwarebytes.com,并找到它們的IP地址,如54.192.137.126。
DNS信息不是保存在單個數據庫中。相反,它是分布式的,每個域名都有名稱服務器,負責回答有關它們的問題。攻擊者可以使用DNS進行通信,通過讓他們的惡意軟件進行DNS查找,由他們控制的名稱服務器進行響應。
DNS如此重要,幾乎從未被企業防火墻阻止過,而企業網絡上龐大的DNS流量為惡意通信提供了充分的掩護。
Saitama的消息取決于兩個重要的事實:DNS流量在很大程度上仍然是未加密的,所以消息必須很模糊,看不出他們的目的;和DNS記錄經常被大量緩存,因此相同的消息必須看起來不同才能到達APT控制的名稱服務器。
Saitama 消息
在對約旦外交部的攻擊中,Saitama的域查找使用了以下語法:
Domain = message, counter '.' root domain
根域(root domain)為uber-asia.com、asiaworldremit.com或joexpediagroup.com,這三個域名可以互換使用。
每次查找的子域部分由消息和計數器組成。計數器用于對消息進行編碼,并在每次查找時發送到命令和控制(C2)服務器,以便C2服務器可以對消息進行解碼。
可以發送四種類型的消息:
1. 服務器通訊
在第一次執行時,Saitama通過選擇0到46655之間的一個隨機數來啟動計數器。在本例中,我們隨機生成的計數器是7805。
從該計數器派生的DNS查找是:nbn4vxanrj.joexpediagroup.com
計數器本身使用硬編碼base36字母進行編碼,并和名稱服務器共享。在base36中,每個數字都由0-9和A-Z這36個字符中的一個表示。在標準base36中,字母7805被寫成60t (6 x 1296 + 0 x 36 + 30 x 1)。然而,在Saitama的自定義字母7805是nrj。
該計數器還用于生成一個自定義字母表,該字母表將用于使用簡單的替換對消息進行編碼。發送回家的第一個消息是命令0,base36編碼為a,它告訴服務器它有一個新的受害者,前綴為字符串haruto,生成aharuto。
使用計數器生成的字母進行簡單替換,生成消息nbn4vxa。
b e c d f g h i j k l m n o p q r s t u v w x y z 0 1 2 3 4 5 6 7 8 9↓↓↓↓↓↓n j 1 6 9 k p b h d 0 7 yia2 g 4 u x v 3 e s w f 5 8 r o c q t l z m
C2名稱服務器使用共享的硬編碼字母表解碼計數器,然后使用計數器派生用于編碼aharuto的字母表。
它用一個IP地址響應聯系人請求,該IP地址包含Saitama在未來通信中使用的ID。前三個八位元可以是任何東西,Saitama忽略它們。最后一個八位包含ID。在我們的例子中,我們將使用ID 203:
地址是75.99.87.203。
2. 請求命令
現在它有了一個來自C2服務器的ID, Saitama將其計數器增加到7806,并表示它準備接收如下命令:該計數器用于生成一個新的自定義字母表,它將ID 203編碼為ao。使用惡意軟件的硬編碼base36字母,把計數器本身編碼為nrc,Saitama的三個根域之一是隨機選擇的,生成:
aonrc.uber-asia.com
C2服務器以Saitama應該期望的載荷大小響應請求。Saitama將使用這個來確定它需要做出多少請求來取回全部有效載荷。
C2響應的IP地址的第一個八位是129到255之間的任何數字,而第二個、第三個和第四個八位表示載荷大小的第一個、第二個和第三個字節。在本例中,有效載荷為4個字節。
129.0.0.4
3. 收到命令
現在它知道了它將接收的有效載荷的大小,Saitama向服務器發出一個或多個receive請求以獲取它的指令。它從7807開始,每次增加一個計數器。在這個步驟中可能需要多個請求,因為有些命令名需要超過一個IP地址所能攜帶的四個字節的信息。在本例中,它被告知收到四個字節的信息,因此它只需要發出一個請求。
來自Saitama的消息由三部分組成:數字2,表示RECEIVE命令;ID 203;還有一個偏移指示哪一部分的有效載荷是必需的。它們分別以base36編碼并連接在一起。產生的字符串使用從計數器7807派生的自定義base36字母進行編碼,給我們消息k7myyy。
計數器使用硬編碼的字母表編碼nr6,并隨機選擇Saitama的三個根域之一,給我們:
k7myyynr6.asiaworldremit.com
C2使用兩位數整數表示要運行哪個函數。它可以要求Saitama運行五種不同的功能:
C2服務器 Saitama
43 static
7 cmd
71 compressedcmd
95 File
96 compressedfile
Saitama的功能
在本例中,C2服務器希望使用Saitama的Cmd函數運行命令ver。(在前面的請求中,C2表示它將向Saitama發送一個4字節的負載:一個字節表示70,三個字節表示ver。)
在它的響應中,C2使用IP地址的第一個字節來表示它想運行的函數70,然后剩下的三個字節用小寫字母“v”、“e”和“r”的ASCII碼點拼出命令名ver:
70.118.101.114
4. 運行命令
Saitama運行給它的命令,并在一個或多個DNS請求中向C2服務器發送結果輸出。計數器每次遞增1,在我們的示例中從7808開始。在這個步驟中可能需要多個請求,因為有些命令名需要超過一個IP地址所能攜帶的四個字節。
p6yqqqqp0b67gcj5c2r3gn3l9epztnrb.asiaworldremit.com
計數器使用硬編碼的字母表編碼nrb,并隨機選擇Saitama的三個根域之一。
在這種情況下,消息由五部分組成:數字2,表示RECEIVE命令;ID 203;以及表示發送響應的哪一部分的偏移量;緩沖區的大小;以及一個12字節的輸出塊。它們分別以base36編碼并連接在一起。結果字符串使用從計數器7808派生的自定義base36字母進行編碼,給我們提供消息
p6yqqqqp0b67gcj5c2r3gn3l9epzt。
摘自:
https://blog.malwarebytes.com/threat-intelligence/2022/05/how-the-saitama-backdoor-uses-dns-tunnelling/amp/
(完)
交互式網絡釣魚:使用類似聊天機器人的Web應用程序來獲取信息
2022年5月19日 Adrian Perez
釣魚網站的鏈接通常是透過電郵傳送給有關的目標。一旦點擊,這些網站通常會顯示一個單獨的網頁,直接要求提供敏感信息,如賬戶登錄憑證、信用卡詳情和其他個人身份信息(PII)。
最近,我們遇到了一個有趣的釣魚網站,其中包含一個交互組件:聊天機器人。與許多釣魚網站不同,這個網站首先建立一個對話,然后一點一點地引導受害者到實際的釣魚頁面。
雖然網絡釣魚的方式相當獨特,但它仍然使用電子郵件作為投送方式。對電子郵件頭的深入檢查表明,“From”頭缺少電子郵件地址部分,這已經是一個危險的信號。

帶有偽造的“From”頭(DHL express)的釣魚郵件

“From”頭部分,沒有電子郵件組件
點擊“Please follow our instructions”將打開瀏覽器,并將收件人引導至可下載的PDF文件。該文件有兩種方式將收件人重定向到實際的釣魚網站。第一種方法是通過“Fix delivery”按鈕,第二種方法是從文件復制另一個URL。

帶有DHL商標的可下載PDF文件,含有指向釣魚網站的鏈接
任何一種方法都會重定向到同一個網站,也就是真正的釣魚網站。
釣魚鏈
第一站是類似聊天機器人的頁面,試圖與受害者建立信任。我們說“像聊天機器人”,因為它不是一個真正的聊天機器人。應用程序已經根據給定的有限選項預設了響應。

JavaScript 代碼包含聊天機器人預設響應的
溝通的第一部分只是確認預定物品的跟蹤號碼。

點擊“Yes”選項,程序將嘗試與受害者進行更高層次的接觸,通過顯示物品的圖片并詢問首選的送貨地址(即家庭或辦公室地址)。

聊天機器人,受害者更多的細節和指令
為了獲得受害者更多的信任,在受害者點擊“Schedule delivery”按鈕后,驗證碼會立即顯示。然而,這里有些奇怪的地方—除了確認和關閉按鈕之外,沒有其他可點擊的。

偽造驗證碼,要求受害者輸入顯示數字
檢查頁面源代碼,可以證實驗證碼只是嵌入的jpeg 圖片。

通過點擊“Confirm”,受害者現在將被重定向到另一個頁面,在那里“聊天機器人”會要求登錄憑證(即,電子郵件地址和密碼)以及送貨地址。

“聊天機器人”要求輸入郵箱、密碼和快遞地址
到了這里,你可能認為兇手已經得到了他們想要的東西,但你錯了。網絡釣魚不會在本頁停止。點擊“Schedule Delivery and Pay”按鈕,受害者會再次跳轉到另一個釣魚網頁。這次,他試圖竊取信用卡信息。

信用卡頁面有一些輸入驗證方法。一種是卡號驗證,它不僅要檢查卡號的有效性,還要確定受害者輸入的卡號的類型。
一旦受害者填寫了表格,點擊“PAY NOW”按鈕將把受害者重定向到加載頁面,幾秒鐘后,該頁面將重定向到OTP(一次性密碼)頁面。OTP是自動生成的字符(數字或字母數字),通常發送到用戶的注冊移動電話號碼。這是單次交易另一層用戶身份驗證。

事實上,網頁要求OTP是相當令人驚訝的,因為前面的頁面沒有要求任何手機號碼信息。輸入隨機字符只會將您重定向到相同的頁面,說明安全代碼不再有效。然而,在第5次嘗試時,頁面重定向到另一個頁面,表示成功收到了提交。這標志著犯罪者網絡釣魚鏈的結束。

釣魚鏈總結

值得注意的是,url以“dhi”開頭,這是品牌名稱“dhl”或“dhl”的拼寫錯誤版本,這顯然是一種欺騙技術。
該釣魚郵件樣本于2022年3月25日被Trustwave Mailmarshal檢測到。在撰寫本文時,實際的釣魚應用程序仍然處于活動狀態,但現在使用了一個新注冊的域。
結論
一般來說,使用聊天機器人會給網站增加一個交互組件。這通常會帶來更高的轉化率,因為這會讓網站對用戶來說更有趣、更吸引人。這就是這次網絡釣魚活動的肇事者試圖利用的。除了在釣魚郵件和網站上顯示品牌欺騙目標外,這個類似聊天機器人的組件還會慢慢引誘受害者進入真正的釣魚頁面。此外,虛假OTP和驗證碼頁面的加入使釣魚網站看起來更合法。
聊天機器人、OTP和驗證碼(CAPTCHA)技術已經很常見,并被各大品牌廣泛應用于其在線系統中。因此,建議消費者在網上點擊內容時要非常小心,并注意諸如此類復雜的網絡釣魚活動。
摘自:
https://www.trustwave.com/en-us/resources/blogs/spiderlabs-blog/interactive-phishing-using-chatbot-like-web-applications-to-harvest-information/
(完)