標籤:

使用FTP的系統控制後門作為C&C通道

自動運行型木馬可以使用各種方法來建立自己與命令與控制(C&C)伺服器之間的通信線路,然後在被攻擊計算機上任意妄為,如:偷竊數據,利用受攻擊機器攻擊其他計算機,匿名發送垃圾郵件等等。通常,這個通信線路建立的過程都是通過HTTP或其他TCP/IP連接完成的。然而,趨勢科技的研究人員最近遇到了一個殭屍網路,它使用了一個不常見的方法來作為C&C通道,該方法利用了的是FTP伺服器的系統控制後門。

使用FTP伺服器作為C&C通道有一個明顯的優勢,由於該方法不太常見,所以會讓管理員和研究人員忽略對它的監測。不過這麼做也有其缺點,就是使得C&C的流量可以被其他人監測到,包括安全研究人員。此外,由於攻擊者的編碼錯誤,這個系統控制後門並不總是運行正確的命令。

攻擊流程

攻擊是從帶有宏的惡意文檔開始的,隨著Word文檔的打開而自動運行。通過對這些文件進行跟蹤研究,攻擊目標可能與紅十字會和世界衛生組織有關,而且所有的文件都提到了朝鮮。下圖就是研究人員以「w2km_syscona」的勒索軟體為例,來檢測這些被受害目標打開過文件的整個過程。

每個文檔包含兩個長字元串,攻擊者使用Base64編碼來自定義這些字母。這一技術曾在2012年年底所發現的Sanny惡意軟體家族中出現過。如下圖所示,Base64解碼功能可以讓自定義字母突顯出來。

它與早期的Sanny攻擊有著驚人的相似之處。這兩種攻擊都使用了相對罕見的C&C伺服器技術,它們的結構相似,就連某些關鍵編碼也是相同的。除此之外,本次攻擊也使用了與朝鮮有關的文件而該文件同樣被Sanny使用過。所以,根據以上的一些證據,研究人員懷疑Sanny和本次發現的這個新的惡意軟體的幕後開發者是同一個組織。

對每個Base64字元串的解碼,都會產生一個Cabinet文件。其中一個字元串包含一個32位版本的惡意軟體,另一個字元串包含64位版本的惡意軟體。使用expand命令將相應的版本(基於OS版本)提取到%Temp%文件夾中,並執行uacme.exe(cabinet文件中的一個文件)。

BAT_SYSCON.A,BKDR_SYSCON.A和TROJ_SYSCON.A是我在這些cabinet文件中檢測到的3個惡意文件。

提取cabinet文件並執行其內容的命令

cabinet文件中的所有文檔列表

繞過UAC實現惡意安裝

顧名思義,Uacme.exe決定了操作系統的版本。所以基於該信息,惡意軟體可以直接執行install.bat(這主要針對較舊的Windows版本)或將dummy.dll注入到taskhost(ex)進程中,該進程會嘗試在沒有出現UAC提示符的情況下執行install.bat。下圖就是Uacme.exe和繞過UAC的過程。

接下來,Install.bat會將兩個文件:ipnet.dll(主文件)和ipnet.ini(配置文件)複製到%Windows%System32中,然後使用sc命令行實用程序配置新的惡意COMSysApp服務。等服務參數添加到註冊表後,就可以啟動惡意服務,刪除%Temp%目錄中的所有以前創建的文件。經過這兩個步驟,攻擊者就設置好了後門程序的自動啟動常式,並刪除了之前攻擊活動的一些痕迹,這使得該惡意程序很難被檢測出來,下圖就是惡意安裝過程。

服務配置的重要參數是「type=own」,根據MSDN的文檔介紹,它具有自己的svchost.exe進程,其中運行的是ipnet.dll。 參數「start = auto」將在每次重新啟動計算機時啟動svchost.exe進程。

Ipnet.ini文本文件的編碼方式與兩個Cabinet文件相同,下圖就是配置文件。

譯者註:MSDN即《Microsoft Developer Network》,是微軟一個期刊產品,專門介紹各種編程技巧。

如果對配置進行解碼,你就會發現一個免費的FTP服務提供商的URL以及一組登錄憑據。

系統控制後門的獲取

惡意軟體首先會獲取計算機名稱,之所以要獲取計算機名稱,就是要用它來對攻擊目標進行定位識別。然後,惡意軟體使用配置文件中的憑據登錄到FTP伺服器,輸入/htdocs/ directory,並監控現有的.txt文件名。 如果文件名包含「To EVERYONE」,則表示該文件是一個可以被任何人處理的文件。 如果文件名包含「to computer_name」,則代表該文件只能由受匹配的computer_name的受害者計算機處理,而且處理痕迹稍後也會被刪除。

但執行完後門處理命令後,惡意軟體會通過「cmd /c tasklist >%ws」命令調出所有當前運行的進程,然後對這些進程進行封裝,編碼並上傳到FTP。從下圖可以看出,計算機名稱,進程執行的日期和時間都是在「From %s (%02d-%02d %02d-%02d-%02d).txt 」上傳以後發生的。

這表明受害者的計算機和攻擊者之間的通信是通過上傳的文件完成的,不過,這些文件通常都是用相同的自定義Base64編碼進行壓縮和編碼的。

壓縮文件是使用Shell自動化服務完成的,由於Shell自動化服務是Windows自帶的,所以不需要用到外部庫。惡意軟體首先通過執行下圖中的指令創建一個22位元組長的空.zip文件。新創建的十六進位的.zip文件的內容是「504b0506000000000000000000000000000000000000」,它基本上是一個空的.zip文件。

創建空.zip文件的指令

在瀏覽器中打開的空.zip文件

然後惡意軟體使用Folder.CopyHere方法將文件複製到空的.zip文件中,所以這些文件都是由操作系統壓縮的。 根據MSDN文檔的介紹,以下標誌都是在文件複製時要用到的:

0x1000 =僅在本地目錄下運行,不要遞歸地進入子目錄。

0x0400 =如果發生錯誤,請不要顯示用戶界面。

0x0010 =對於顯示的任何對話框,都回復為「Yes to Al」。

0x0004 =不顯示進度對話框。

使用Folder.CopyHere方法的標識

使用了這些標誌之後,就可以確保在惡意運行當中不會出現任何對話框,也不會向受害者顯示錯誤提示。這意味著,所有這些操作都隱藏在後台進行的。

壓縮完成後,壓縮文件會以Base64編碼,並上傳到FTP伺服器。對於從FTP伺服器下載的文件來說,如果要對其進行逆向操作,目前來看只能由其開發者進行。

C&C通信協議

下表列出了自動運行型木馬進行監控和處理的命令:

下圖是處理C&C命令的過程:

下面是研究者所發現的一些使用此方法發出命令的示例:

示例1

命令:

編碼:

IxXDK=NK2KKQK=zK2KXxKB-K0KXTKUKKIxKeKPxKINX8KBNK0xXpKBWKnNX6KUjKIWXZKBNK

結果:

-yT/XXNKKKKKKyD8J6G=UtS6=KKKKXWKKKKzKKKKIVSH0hSjnbz1IFPH-OSi2yR80b8M2=nA0=-WnFYJ2yM-SORi-yTXKZNKPKKKKKKKu4VtdTI2AbzIKKKK=KKKKKxKKKKKKKKKKNKWKKKKKKKKK=P8C=Ypr=S6LF9ZCPXLXNIKKKKKKNKXK/7KKKXUKKKKKKKv

此結果包含了autoexec.bat文件的內容。

示例2

命令:

編碼:

IxXDK=NK2KKQK=zK2KX6K=NK2KKQK=NK2KX/K/7KVKKWKUIK9WKWK=NKwNXJKUKKLxXQKUHKnKKQKBzK2KK5KUjKtWKWK/jKKKKQ

結果:

-yT/XXNKKKK2KyHRLOQ26PNrulo0KPtgJWK2KKKKC=SDoUMA0FczVC81jHAJQpYW4j=VU-LAYKl……..

此結果包含了C:中所有的文件。

示例3

命令:

#…encoded file…#LxX8KBzKnNXJKUKKLxXhK=-oWX3K=OK0xX1KUKKzNKHKUKKLxX3KBNKnNXjKBNKKKKv

解碼:

結果:

這樣,攻擊者就會發送一個編碼版本的Nirsoft的實用程序mailpv.exe,然後使用上面的參數執行。

惡意軟體中的錯誤代碼

不過,研究人員在命令循環處理的過程中發現一處輸入漏洞,即惡意軟體將命令視為寬字元格式的字元串。下圖的代碼段中的第二個wsprintfA函數的第一個格式參數應該是「%ws」,但卻被錯誤地寫成了「%s」。 因此,在實際攻擊中,只有lpExistingFileName的第一個字元被傳播到了&CommandLine(顯示命令行)。

這就意味著,只要其中一個函數的參數文件名稱出現錯誤時,就可成功阻止進程執行。因此,研究人員提醒IT管理員可通過該種方式阻止黑客利用FTP的系統控制後門作為C&C通道。

錯誤的代碼片段

總結

雖然通過FTP進行的C&C通信有其一定的優勢,可能惡意軟體開發者的目的是使用這種方法避免被檢測到,但他們可能沒有意識到該方法將使研究人員很容易地監控他們的行為和受害者的數據。

IT管理員應該知道,連接到外部FTP伺服器不僅可以進行數據提取,還可以顯示C&C的活動。

IOCs

有以下SHA256哈希值的文件均受到了此次攻擊,而且研究人員將此攻擊定義為w2km_syscona:

34e968c067f6a360cc41a48b268c32a68421567f0329d4f9f8e2850fb4e27c8c

63ca182abb276e28aec60b9ef1eab5afc10bfb5df43f10a11438d8c0f7550c5c

a07251485a34dd128d80860737b86edd3eb851f57797f2f8fb6891a3cb7a81b3

cff8d961f3287f9ca75b65303075343bdbe63bb171d8f5b010bbf4fa30450fc4

f4987d127320cb5bfb8f49fc26435e01312bdd35a4e5e60db13546046584bd4e

有以下SHA256哈希值的文件均受到了此次攻擊,而且研究人員將此攻擊定義為bat_syscona:

2c958cd3838fcae410785acb0acf5a542d281524b7820d719bb22ad7d9fcdc7c

e4226645bad95f20df55ef32193d72c9dafcf060c3360fd4e50b5c08a986a353

f01e440764b75b72cab8324ba754d89d50d819a1b2db82ca266f1c307541a2b0

有以下SHA256哈希值的文件均受到了此次攻擊,而且研究人員將此攻擊定義為bkdr_syscona:

1f9afb142827773cefdb29f06ed90e0476c0185d4c8b337439b3be27e61ed982

65e4212507bb52e72e728559df5ad38a4d3673b28104be4b033e42b1c8a264e8

9b62a013b579f01e3c4c3caf3c9bc02eb338ce9859496e02016ba24b8908d59a

9be95f5954202d7b159c5db928851102f23eae88c087892663781cf8edc0753a

bec437d1979d16505ca8fc896fa8ce9794f655abd39145a82330343b59c142c5

cfb2161b5aebf0c674c845e2428e24373edd4c74a2fb15de527d6763a62dd74e

有以下SHA256哈希值的文件均受到了此次攻擊,而且研究人員將此攻擊定義為troj_syscona:

25c08d5e77fada975f31a0e0807b7ea1064aae80f5de43790f6ada16159ae1c2

2d261eb478bafaabd7dc12752b1c0aadba491d045573fe2e24cdac5588e2c96b

2f6df307dbe54b8a62a35ea2941a7d033bfdfbb545a7872cb483aea77ec6a10b

3319a156c84e85a4447fa40b0f09aabb84092b5c3a152ad641ee5692741b9194

3fcda66e87eec4f90b50f360460fa46448249e6e177de7ff8f35848353acfaaa

65380ab72bb6aa6ffcd2ea781fe2fa4f863a1b4a61073da7da382210c163b0f9

7daec65f8fee86227d9f9c81ed00d07c46b44e37968bd2894dc74bf311c63651

b7c970f1f65850fa859549f2cf3c2284b80ec464496b34f09bc53c4456e10d1f

d495295466428a52263c8725070a9cf7c2446c6115bddc2de662949afd39f9a9

本文翻譯自:blog.trendmicro.com/tre ,如若轉載,請註明原文地址: 4hou.com/system/7859.ht 更多內容請關注「嘶吼專業版」——Pro4hou

推薦閱讀:

iPhone 被盜後的經歷讓我覺得有些網路安全意識可以講一講
鎮守最後一道防線:三種逃逸沙盒技術分析
CVE-2017-7494漏洞復現的坑
CISSP現在在國內是什麼情況?
如何在IE/Edge瀏覽器中巧妙地傳輸HTA文件?

TAG:信息安全 |