DNSpionage:針對中東的攻擊活動
一、前言
思科Talos團隊最近發現了針對黎巴嫩和阿拉伯聯合大公國(阿聯酋,UAE)的新一波攻擊活動,此次攻擊活動波及 .gov
域名以及一傢俬營的黎巴嫩航空公司。 根據我們的研究,這個攻擊組織顯然精心研究了受害者的網路基礎設施,盡力保持隱蔽性,使攻擊過程儘可能不引起他人注意。
根據攻擊者的基礎設施及TTP(戰術、技術和過程)特徵,我們無法將該攻擊組織與最近觀察到的其他攻擊活動或攻擊者關聯在一起。該攻擊組織使用了兩個虛假的惡意網站,其中託管了偽裝成招聘文書的Microsoft Office惡意文件,文件中嵌入用來入侵目標使用者的惡意巨集。我們將攻擊者所使用的惡意軟體標識為DNSpionage,該惡意軟體能夠以HTTP和DNS協議與攻擊者通訊。
在另一次攻擊活動中,攻擊者使用相同的IP來重定向合法的 .gov
域名以及私有公司域名DNS請求。在每次DNS重定向攻擊中,攻擊者都會精心準備,為重定向域名生成Let’s Encrypt證書。這些證書能夠為使用者免費提供X.509 TLS證書。到目前為止,我們尚不清楚之前的DNS重定向攻擊是否已成功實施。
在本文中,我們會詳細介紹攻擊者所使用的方法,分析攻擊者如何使用惡意文件誘導使用者,使使用者開啟偽裝成服務求職者的惡意網站。此外,我們也會介紹惡意DNS重定向攻擊及攻擊事件時間線。
二、攻擊方法
偽裝的求職網站
攻擊者首先使用兩個惡意網站來嘗試攻擊目標使用者,這兩個網站偽裝成提供各種工作職位的合法站點:
hr-wipro[.]com (重定向至wipro.com) hr-suncor[.]com (重定向至suncor.com)
這些網站託管了一個Microsoft Office惡意文件: hxxp://hr-suncor[.]com/Suncor_employment_form[.]doc
。
該文件實際上是Suncor Energy(加拿大一家可持續能源公司)官網上一份合法檔案的拷貝,其中包含惡意巨集元件。
此時我們尚未澄清目標使用者通過何種方式看到這些連結。攻擊者很有可能通過電子郵件釣魚攻擊來發送惡意文件,但也有可能通過社交平臺(如LinkedIn)來傳播惡意連結,使這種求職攻擊更加真實。
惡意Office文件
開啟第一個Office文件後,使用者會看到一個提示訊息,聲稱文件的“內容模式可用”。
惡意樣本中包含的巨集主要執行如下兩個步驟:
1、當文件開啟時,使用base64解碼經過編碼的一個PE檔案,然後將其釋放到當前系統中,具體路徑為 %UserProfile%\.oracleServices\svchost_serv.doc
。
2、當文件關閉時,將 svchost_serv.doc
重新命名為 svchost_serv.exe
,然後建立名為 chromium updater v 37.5.0
的計劃任務,以便執行該程式。計劃任務會立即執行,並且每分鐘都會重複執行。
惡意樣本通過這兩個步驟來規避沙盒檢測。
只有當Microsoft Office被關閉時才會執行攻擊載荷,意味著載荷部署過程中需要使用者互動。樣本中包含的巨集同樣使用密碼保護,避免使用者通過Microsoft Office檢視巨集程式碼。
此外,巨集還用到了經典的字串混淆技術來規避基於字串的檢測機制:
巨集使用拼接方式生成 schedule.service
字串。最終攻擊載荷是一款遠端管理工具,我們將其標識為 DNSpionage
。
三、DNSpionage惡意軟體
惡意軟體分析
惡意文件所釋放的惡意軟體是之前未公開的一款遠端管理工具。由於該工具使用了DNS隧道技術來與攻擊者的基礎設施通訊,因此我們將其標識為 DNSpionage
。
DNSpionage會在當前執行目錄中生成相關資料:
%UserProfile%.oracleServices/ %UserProfile%.oracleServices/Apps/ %UserProfile%.oracleServices/Configure.txt %UserProfile%.oracleServices/Downloads/ %UserProfile%.oracleServices/log.txt %UserProfile%.oracleServices/svshost_serv.exe %UserProfile%.oracleServices/Uploads/
攻擊者使用 Downloads
目錄來儲存從C2伺服器下載的其他指令碼及工具。
將檔案上傳至C2伺服器之前,攻擊者會使用 Uploads
目錄來臨時存放這些檔案。
攻擊者以明文格式將相關日誌儲存到 log.txt
檔案中,所執行的命令及結果也會記錄該檔案中。
Configure.txt
檔案中包含惡意軟體配置資訊。攻擊者可以指定命令及控制(C2)伺服器URL、URI以及充當DNS掩護隧道的域名。此外,攻擊者可以指定混淆過程中使用的自定義base64字元表。我們發現攻擊者會為每個目標定製字母表。
傳輸的所有資料都使用JSON格式,因此惡意軟體的大部分程式碼都與JSON庫有關。
通訊渠道
惡意軟體使用HTTP及DNS協議來與C2伺服器通訊。
HTTP模式
惡意軟體會向 0ffice36o[.]com
發起DNS請求,請求中攜帶使用base64編碼過的隨機資料。惡意軟體利用該請求在伺服器上註冊當前被感染的系統,接收HTTP伺服器的IP地址(分析過程中該IP為 185.20.184.138
)。典型的DNS請求如下:
yyqagfzvwmd4j5ddiscdgjbe6uccgjaq[.]0ffice36o[.]com
惡意軟體也可以構造DNS請求,為攻擊者提供更多資訊。典型的請求如下:
oGjBGFDHSMRQGQ4HY000[.]0ffice36o[.]com
在如上域名中,前4個字元由惡意軟體使用 rand()
隨機生成。剩下的域名使用base32編碼生成,解碼後的值為 1Fy2048
。其中 Fy
為目標ID, 2048
( 0x800
)代表 Config file not found
(“未找到配置檔案”)。如果惡意軟體未能在被感染主機上找到配置檔案,則會發起該請求,將訊息傳送給攻擊者。
隨後,惡意軟體首先會發起一次HTTP請求( hxxp://IP/Client/Login?id=Fy
),接收配置檔案。
該請求可以用來建立配置檔案,設定自定義的base64字母表。
第二個請求會發往 hxxp://IP/index.html?id=XX
(其中 XX
為被感染系統的ID值)。
該請求的目的是接收攻擊者傳送的命令。這是偽裝成維基百科的一個網站:
攻擊者將命令嵌入到網頁的原始碼中:
在這個攻擊案例中,由於我們沒有收到自定義的字母表,因此攻擊者使用的是標準的base64演算法。還有其他案例在配置檔案中使用了自定義的字母表,如下所示:
自動傳送到被感染系統的3條命令如下所示:
{"c": "echo %username%", "i": "-4000", "t": -1, "k": 0} {"c": "hostname", "i": "-5000", "t": -1, "k": 0} {"c": "systeminfo | findstr /B /C:"Domain"", "i": "-6000", "t": -1, "k": 0}
執行這些命令後,惡意軟體會生成如下資訊:
攻擊者請求當前系統的使用者名稱及主機名來獲取受影響的使用者域環境資訊。很明顯這是一個偵察踩點過程,所收集到的資料最終會發往 hxxp://IP/Client/Upload
。
最後,惡意軟體使用 CreateProcess()
來執行這些命令,所生成的結果被重定向到惡意軟體使用 CreatePipe()
建立的一個管道。
DNS模式
惡意軟體也可以只使用DNS模式。在該模式中,命令及響應資料都通過DNS協議來處理。攻擊者可以在被感染主機的 configure.txt
檔案中指定使用該模式。某些情況下,攻擊者可以使用DNS協議來返回收集到的資訊,避免通訊資料被代理或者Web過濾器攔截。
首先,惡意軟體會發起DNS請求獲取命令,如下所示:
RoyNGBDVIAA0[.]0ffice36o[.]com
前4個字元可以直接忽略(如前文所示,這是隨機生成的字元),有價值的資訊為 GBDVIAA0
,解碼(base32)後的值為 0GTx00
,其中 GT
為目標ID, \x00
為請求號。在響應資料中,C2伺服器會返回一個IP地址。雖然這個地址並不總是有效的IP地址(如 0.1.0.3
),但DNS協議支援使用這些地址。我們認為第一個值( 0x0001
)為下一次DNS請求的命令ID,而 0x0003
為命令的大小。
隨後,惡意軟體使用該命令ID來發起DNS查詢請求:
t0qIGBDVIAI0[.]0ffice36o[.]com (GBDVIAI0 => "0GTx01")
C2伺服器會返回一個新的IP地址: 100.105.114.0
。如果我們將該值轉換為ASCII格式,則可以得到 dirx00
結果,也就是待執行的下一條命令。
接下來,惡意軟體會將命令執行結果通過多個DNS請求傳送給伺服器:
gLtAGJDVIAJAKZXWY000.0ffice36o[.]com -> GJDVIAJAKZXWY000 -> "2GTx01 Vol" TwGHGJDVIATVNVSSA000.0ffice36o[.]com -> GJDVIATVNVSSA000 -> "2GTx02ume" 1QMUGJDVIA3JNYQGI000.0ffice36o[.]com -> GJDVIA3JNYQGI000 -> "2GTx03in d" iucCGJDVIBDSNF3GK000.0ffice36o[.]com -> GJDVIBDSNF3GK000 -> "2GTx04rive" viLxGJDVIBJAIMQGQ000.0ffice36o[.]com -> GJDVIBJAIMQGQ000 -> "2GTx05 C h" [...]
受害者分佈情況
在DNS特徵及Cisco Umbrella解決方案的幫助下,我們成功識別出某些受害者被攻擊的時間,以及攻擊者在10月和11月份的攻擊活動。前面提到的 0ffice36o[.]com
域名的活動資料如下圖所示:
這些請求都來自於黎巴嫩及阿聯酋,這也與下文我們介紹的DNS重定向資訊相匹配。
四、DNS重定向
Talos發現有3個IP與DNSpionage所使用的域名有關:
185.20.184.138 185.161.211.72 185.20.187.8
這3個IP都託管在DeltaHost上。
攻擊者在9月到11月之間的DNS重定向攻擊中使用到了最後一個IP。隸屬於黎巴嫩和阿聯酋公共部門的多個域名伺服器以及黎巴嫩境內的一些公司受此次攻擊影響,其名下的主機名被指向攻擊者控制的IP地址。攻擊者在一小段時間視窗內將這些主機名重定向到 185.20.187.8
地址。在重定向IP之前,攻擊者會使用“Let’s Encrypt”服務建立與域名匹配的一個證書。
在這部分內容中,我們將向大家介紹我們識別出的所有DNS重定向攻擊案例以及攻擊者所生成的證書。我們並不清楚先前的攻擊是否已經成功,以及DNS重定向攻擊的真正目的。然而這種攻擊可能影響深遠,因為攻擊者可以在攻擊時間段內攔截訪問這類域名的所有流量。由於攻擊者重點關注的是電子郵件以及VPN流量,因此攻擊者可能通過此次攻擊來竊取其他資訊,如郵箱以及/或者VPN憑據。
由於使用者收到的郵件也會流經攻擊者的IP地址,因此如果使用者使用了多因素認證(MFA),攻擊者也有可能獲取並濫用MFA認證碼。由於攻擊者可以訪問使用者郵箱,因此還可以發起其他攻擊,甚至勒索目標使用者。
我們發現DNS重定向攻擊涉及多個位置,這些基礎設施、員工或者業務流程上沒有直接關聯,攻擊活動也涉及到公共或者私有部門。根據這些情況,我們認為這次行為並非受影響單位中某個管理員的人為失誤或者錯誤所造成,而是由攻擊者發起的DNS重定向攻擊行為。
黎巴嫩政府重定向攻擊事件
Talos發現黎巴嫩財政部的電子郵箱域名是此次DNS重定向攻擊的受害方:
- 攻擊者在11月6日06:19:13 GMT將
webmail.finance.gov.lb
重定向到185.20.187.8
,並在同一天的05:07:25建立了 ofollow,noindex" target="_blank">Let’s Encrypt證書 。
阿聯酋政府重定向攻擊事件
阿聯酋公共域名也是此次攻擊目標。我們從警察部門(VPN及相關學院)和電信監管局中梳理相關域名資訊:
- 攻擊者在9月13日06:39:39 GMT將
adpvpn.adpolice.gov.ae
重定向至185.20.187.8
,並在同一天的05:37:54建立了 Let’s Encrypt證書 。 - 攻擊者在9月15日07:17:51 GMT將
mail.mgov.ae
重定向至185.20.187.8
,並在同一天的06:15:51GMT建立了 Let’s Encrypt證書 。 - 攻擊者在9月24日將
mail.apc.gov.ae
重定向至185.20.187.8
,並在同一天的05:41:49 GMT建立了 Let’s Encrypt證書 。
中東航空公司重定向攻擊事件
Talos發現黎巴嫩航空公司中東航空公司(MEA)也是此次DNS重定向攻擊的受害者。
- 攻擊者在11月14日11:58:36 GMT將
memail.mea.com.lb
重定向至185.20.187.8
,並在同一天的10:35:10 GMT建立了 Let’s Encrypt 證書。
該證書的subject欄位中包含多個備用名稱,這是DNS協議支援的一個功能,可以將多個域名加入SSL通訊中。
memail.mea.com.lb autodiscover.mea.com.lb owa.mea.com.lb www.mea.com.lb autodiscover.mea.aero autodiscover.meacorp.com.lb mea.aero meacorp.com.lb memailfr.meacorp.com.lb meoutlook.meacorp.com.lb tmec.mea.com.lb
這些域名可以幫助我們梳理受害者相關域名,根據這一點,我們認為攻擊者對受害者非常瞭解,才能知道攻擊中需要生成的域名及證書情況。
五、總結
在此次調查中我們發現了兩次攻擊事件:DNSpionage惡意軟體以及DNS重定向攻擊。在惡意軟體活動中,我們不知道具體的攻擊目標,但可知攻擊者針對的是黎巴嫩及阿聯酋使用者。然而,根據前文分析,我們還是能夠澄清重定向攻擊的具體目標。
我們有較大的把握認為這兩次活動都由同一個攻擊組織所主導。然而,我們並不知道攻擊者的具體位置及確切動機。顯然,攻擊者能夠在兩個月時間內通過DNS重定向技術攻擊兩個國家的所屬域名。從作業系統角度來看,攻擊者還能使用Windows惡意軟體,也能利用DNS竊取技術和重定向攻擊來部署攻擊網路。目前我們尚不瞭解這些DNS重定向攻擊是否已成功實施,但攻擊者依然在繼續行動,到目前為止,攻擊者在今年已經發起了5次攻擊,過去兩週內就有1次攻擊活動。
從這些攻擊活動中可知,使用者應當儘可能加強端點防護及網路保護機制。這個攻擊組織較為先進,針對的也是較為重要的一些目標,因此短期內他們應該不會停止行動。
六、IoC
相關攻擊活動中涉及到的惡意軟體IOC/">IOC特徵如下:
偽造的求職網站:
hr-wipro[.]com hr-suncor[.]com
惡意文件:
9ea577a4b3faaf04a3bddbfcb934c9752bed0d0fc579f2152751c5f6923f7e14 (LB submit) 15fe5dbcd31be15f98aa9ba18755ee6264a26f5ea0877730b00ca0646d0f25fa (LB submit)
DNSpionage樣本:
2010f38ef300be4349e7bc287e720b1ecec678cacbf0ea0556bcf765f6e073ec 82285b6743cc5e3545d8e67740a4d04c5aed138d9f31d7c16bd11188a2042969 45a9edb24d4174592c69d9d37a534a518fbe2a88d3817fc0cc739e455883b8ff
C2伺服器IP:
185.20.184.138 185.20.187.8 185.161.211.72
C2伺服器域名:
0ffice36o[.]com
DNS劫持域名(指向 185.20.187.8
):
2018-11-14 : memail.mea.com.lb 2018-11-06 : webmail.finance.gov.lb 2018-09-24 : mail.apc.gov.ae 2018-09-15 : mail.mgov.ae 2018-09-13 : adpvpn.adpolice.gov.ae
MFA證書中包含的域名(指向 185.20.187.8
):
memail.mea.com.lb autodiscover.mea.com.lb owa.mea.com.lb www.mea.com.lb autodiscover.mea.aero autodiscover.meacorp.com.lb mea.aero meacorp.com.lb memailr.meacorp.com.lb meoutlook.meacorp.com.lb tmec.mea.com.lb