自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

基于API調(diào)用的惡意軟件分析技術

安全
根據(jù)上一個季度的統(tǒng)計數(shù)據(jù)發(fā)現(xiàn),使用加殼器、加密器和保護器(這些都是用于對惡意軟件進行混淆處理,以防止被系統(tǒng)或安全軟件識別出來的方法)的惡意軟件的數(shù)量正在日益增加。

[[208624]]

基于API的分析技術

根據(jù)上一個季度的統(tǒng)計數(shù)據(jù)發(fā)現(xiàn),使用加殼器、加密器和保護器(這些都是用于對惡意軟件進行混淆處理,以防止被系統(tǒng)或安全軟件識別出來的方法)的惡意軟件的數(shù)量正在日益增加。這些加殼器極大的提高了進行靜態(tài)分析的難度,甚至有些時候根本就無法對其進行靜態(tài)分析。隨著越來多的惡意軟越件作者開始采用這些保護性措施,安全分析人員對于惡意軟件分析替代技術的興趣也越來越濃。

其中一種可行的替代方法就是,對代碼中通知系統(tǒng)執(zhí)行某些操作的API調(diào)用或命令進行安全檢測。這種方法的好處是,不必對經(jīng)過加殼處理的軟件進行逆向分析,相反,我們可以通過對API調(diào)用進行動態(tài)分析,從而弄清楚某個文件的具體行為。通過分析相應的API調(diào)用,我們可以確定文件是否是惡意的,因為對于某些類型的惡意軟件來說,它們的API調(diào)用是非常有特點的。例如,典型的下載API是URLDownloadToFile。而GetWindowDC這個API通常用于屏幕抓取,它經(jīng)常出現(xiàn)在間諜軟件和鍵盤記錄器中。

下面,我們通過一個具體的例子來說明其工作原理。

木馬樣本

我們的示例是一個著名木馬程序,名稱為1.exe,其SHA256為0213b36ee85a301b88c26e180f821104d5371410ab4390803eaa39fac1553c4c。

由于該文件(使用VMProtect)進行了加殼處理,所以面對這種情況,反匯編器通常也是狗咬刺猬——無處下口。由于本人并非逆向分析的專家,所以我另辟蹊徑,通過查看該文件在沙箱執(zhí)行期間使用的API調(diào)用來搞清楚該文件的所作所為。

這是我們通過沙箱(Deepviz)獲得的調(diào)用列表:

首先,我們來看看這些函數(shù)分別是做什么的。以下內(nèi)容都是引自Microsoft的相關文檔:

GetModuleHandle函數(shù)

檢索指定模塊的模塊句柄。被檢索的模塊必須是由調(diào)用進程加載的。GetModuleHandleA(ANSI)

GetProcAddress函數(shù)

檢索從指定的動態(tài)鏈接庫(DLL)導出的函數(shù)或變量的地址。

_wtoi

將字符串轉(zhuǎn)換為整數(shù)。

CreateStreamOnHGlobal函數(shù)

該函數(shù)可以用來創(chuàng)建一個使用HGLOBAL內(nèi)存句柄存儲流內(nèi)容的流對象。該對象是IStream接口的OLE實現(xiàn)。

StrStr函數(shù)

查找指定子字符串第一次出現(xiàn)在字符串中的位置。該函數(shù)區(qū)分大小寫。StrStrA(ANSI)

wsprintf函數(shù)

將格式化數(shù)據(jù)寫入指定的緩沖區(qū)。所有的參數(shù),都會根據(jù)格式字符串中的相應的格式規(guī)范進行轉(zhuǎn)換,并復制到輸出緩沖區(qū)。wsprintfA(ANSI)

WinHttpOpen函數(shù)

對于應用程序來說,這個函數(shù)可以初始化WinHTTP函數(shù)并返回WinHTTP會話句柄。

GetModuleFileName函數(shù)

檢索包含指定模塊的文件的標準路徑。該模塊必須是由當前進程加載的。GetModuleFileNameW(Unicode)

LoadLibrary函數(shù)

將指定的模塊加載到調(diào)用進程的地址空間中。這個指定的模塊可能會導致其他模塊被加載。LoadLibraryA(ANSI)

LocalAlloc函數(shù)

從堆中分配指定的字節(jié)數(shù)。

LocalFree函數(shù)

釋放指定的本地內(nèi)存對象并使其句柄無效。

GetModuleFileName函數(shù)

檢索包含指定模塊的文件的標準路徑。該模塊必須是由當前進程加載的。GetModuleFileNameA(ANSI)

ExitProcess函數(shù)

結束調(diào)用進程及其所有線程。

關鍵惡意指標

并不是上面顯示的所有函數(shù)都能表明可執(zhí)行文件的性質(zhì)。但是API WinHttpOpen卻能告訴我們,我們可以向特定的方面考慮。

對于這個函數(shù),我們使用Kahu Security的URL Revealer來檢查流量的目的地,并發(fā)現(xiàn)兩個經(jīng)常出現(xiàn)的URL。

  1. GET http://twitter.com/pidoras6 
  2. POST http://www.virustotal.com/vtapi/v2/file/scan 

這個POST是當您要提交掃描文件時,VirusTotal API接受的內(nèi)容。

這個指向被廢棄的Twitter句柄的鏈接讓人非常迷惑,我決定在Twitter中使用高級搜索,確定這是個早已被刪除的Tweet的鏈接。

這個Tweet的內(nèi)容是一個base64編碼的鏈接:https://w0rm.in/join/join.php。不幸的是,該網(wǎng)站已經(jīng)無法解析,但它曾經(jīng)是一個地下黑市,同時提供網(wǎng)站exploit與黑客服務,上面提到的Twitter個人資料在當時還未被刪。

看來上面這條路是走不通了。因此,我們嘗試了另一種方法,弄清楚它想要在VirusTotal上掃描的東西,并使用Wireshark來檢測數(shù)據(jù)包。

在數(shù)據(jù)包中,您可以看到用于在VirusTotal站點掃描文件的API key和文件名。根據(jù)這個API調(diào)用和數(shù)據(jù)包進行重建后,我們發(fā)現(xiàn)惡意軟件將其自身的副本提交給VirusTotal,這是Vflooder系列木馬的典型行為。Vflooder是一種特殊的Flooder木馬程序。Flooder木馬旨在向特定目標發(fā)送大量信息,以破壞目標的正常運行。但是,我懷疑它甚至用于對VirusTotal發(fā)動攻擊?;蛘吲cTwitter上的那個鏈接有關。

Vflooder木馬只是分析API調(diào)用的一個簡單的小例子。但是事情并非總是這么輕松:我們甚至看到某些惡意軟件已經(jīng)開始故意增加冗余/無用的API調(diào)用了,目的就是為了對執(zhí)行流程進行混淆處理。不過,分析API調(diào)用確實是一種檢測惡意軟件隱藏自身行為的有效方法。但是別忘了,攻擊者對這些也是心知肚明的。

責任編輯:武曉燕 來源: blog.malwarebytes.com
相關推薦

2017-11-06 12:10:35

SSnatchLoad惡意軟件

2019-01-09 08:16:31

2017-12-14 21:17:24

2017-07-17 06:46:06

2017-01-17 16:01:13

2013-08-12 15:44:44

Pyew惡意軟件分析工具惡意軟件分析

2015-08-24 11:58:14

2011-03-02 09:44:45

2022-11-03 12:06:41

2021-09-15 18:30:45

UnhookMe惡意軟件安全工具

2015-05-06 11:22:30

2013-10-29 15:17:41

2013-10-22 10:27:59

2014-02-24 09:13:49

2023-12-12 09:00:00

2013-05-22 09:35:17

2009-02-04 10:30:47

2023-08-07 07:44:44

2022-09-27 14:46:03

網(wǎng)絡安全計算機惡意軟件

2017-02-15 20:32:42

點贊
收藏

51CTO技術棧公眾號