久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

實(shí)戰(zhàn)中如何簡單快速分析惡意宏文件,?

 黑犬黑犬_924 2019-05-28
前言

基于文檔的攻擊方式目前仍舊是黑客們比較喜歡使用的攻擊方式。通過文檔軟件的漏洞觸發(fā)惡意代碼或者通過誘使用戶啟用宏執(zhí)行惡意的宏文件來執(zhí)行惡意代碼,,這是比較常用的兩種基于文檔的攻擊方法,。在文檔中嵌入惡意宏的方式雖然比較傳統(tǒng),,但是由于其操作的簡單,并且可以通過流行的代碼混淆技術(shù)繞過典型的殺軟,,因此被攻擊者廣泛使用,。近幾個月發(fā)現(xiàn)的勒索軟件大部分都是基于文檔惡意宏觸發(fā)的。

相信大部分的安全分析人員每天可能會面對很多惡意的宏文件,,因此如何快速的分析這些惡意宏文件顯得很有必要,。試想一下如果可以模擬文檔中宏VBA的執(zhí)行,并且在VBA執(zhí)行的過程中記錄下其行為的話,,那么是不是就能夠快速分析該宏文件了,。而事實(shí)上也存在這么一款開源的VBA模擬器,我們不僅可以很簡單的使用它,,而且可以在該VBA模擬器的基礎(chǔ)上定制我們需要的行為分析,,本文將在實(shí)戰(zhàn)中利用它快速分析惡意宏文件。

VBA模擬器

項(xiàng)目地址:https://github.com/decalage2/ViperMonkey

ViperMonkey是基于python開發(fā)的VBA模擬器,,可以分析并反混淆MS Office中的惡意VBA宏,。其工作原理如下:

1. VBA的源碼是使用olevba從MS Office中提取出來的。
2. 代碼是使用pyparsing定義的VBAgrammar解析的,,VBA grammar來源于官方的說明文檔MS-VBAL,。
3. 解析器將VBA代碼轉(zhuǎn)換成一個結(jié)構(gòu)化的對象模型(python對象)。
4. 自定義VBA解析引擎模擬代碼執(zhí)行,,模擬MS Office功能,,ActiveX對象和DLL等大多數(shù)惡意宏的使用。
5. 如果存在特殊的執(zhí)行動作,,比如調(diào)用DLL,,運(yùn)行代碼,下載或者寫入文件,,那么這些動作將會被捕獲并記錄下來,。
6. 解析的結(jié)果可以幫助快速分析惡意文件,可以更好的了解惡意宏的行為并且可以提取出混淆的字符串或者IOC,。

ViperMonkey下載和安裝

壓縮包下載地址:https://github.com/decalage2/ViperMonkey/archive/master.zip

Linux/Mac安裝完依賴后,,運(yùn)行sudo -H pip install -U -r requirements.txt

Widows下運(yùn)行pip install -U -rrequirements.txt

使用方法

解析文檔中的VBA宏代碼使用vmonkey腳本:

pythonvmonkey.py <file>

如果輸出時間過長或者結(jié)果過于冗長,可以使用-l選項(xiàng)減少日志的級別:

python vmonkey . py -1 warning <file>
實(shí)戰(zhàn)應(yīng)用

下面通過幾個真實(shí)的案例說明如何分析惡意宏文件,。

樣本1

DIAN_caso-5415.doc 是2009年的一個比較老的樣本,。內(nèi)部的VBA宏代碼混淆不明顯,但是這個樣本可以作為一個例子來分析,。

運(yùn)行vmonkey腳本:

python vmonkey.py DIAN_caso-5415.doc.zip-z infected

首先顯示從文件中提取出來的VBA源碼:

實(shí)戰(zhàn)中如何簡單快速分析惡意宏文件,?

隨后,解析VBA代碼,,顯示出代碼流程包括子程序,,函數(shù)以及DLL函數(shù):

實(shí)戰(zhàn)中如何簡單快速分析惡意宏文件,?

接著vmonkey使用VBA引擎模擬宏代碼執(zhí)行,入口點(diǎn)為“Auto_Open”:

實(shí)戰(zhàn)中如何簡單快速分析惡意宏文件,?

在執(zhí)行完成后,,vmonkey顯示出宏運(yùn)行過程的記錄信息:

實(shí)戰(zhàn)中如何簡單快速分析惡意宏文件?

樣本2

下面看一個最近的樣本(2016年9月),。該樣本的混淆程度比較嚴(yán)重,。仔細(xì)看一下會發(fā)現(xiàn),多處調(diào)用一個JTCKC()函數(shù)片段,,這個函數(shù)是用來解碼混淆的字符串的,。

該算法是簡單而有效:它提取兩個字符,忽略第三個字符,。兩個字符形成一個十六進(jìn)制數(shù),。通過“&H”連接,再使用CHR()解碼字符,。例如,,返回“d”。其余字符串同樣使用該算法,。

在官方VBA規(guī)范中未記錄如何使用CHR(“&H 64”),。CHR()函數(shù)的參數(shù)默認(rèn)是一個整數(shù)而不是字符串,。因此,,必須要修改ViperMonkey引擎來匹配MS Office的實(shí)際行為。

實(shí)戰(zhàn)中如何簡單快速分析惡意宏文件,?

現(xiàn)在我們知道解碼算法,,其實(shí)是可以手動進(jìn)行反混淆的。但是,,這里同樣可以使用vmonkey自動做,。最終得到的結(jié)果:

實(shí)戰(zhàn)中如何簡單快速分析惡意宏文件?

可以看到真正的payload是Jscript代碼,,目的是從hXXP://216.170.126.3/wfil/file.exe下載文件并執(zhí)行,。

仔細(xì)看這個VBA代碼還可以發(fā)現(xiàn),Jscript代碼并沒有向磁盤寫文件,,而是使用ActiveX對象調(diào)用”ScriptControl”直接在內(nèi)存中運(yùn)行,。

樣本3

2016年9月份的一個樣本:

scan_092016_9534905854.docm (SHA2569eebae3cce1e63f01eaa6867ae8537cf19162527bb7e7d752282f0e20dc03a66)

同樣是一個經(jīng)過復(fù)雜混淆的樣本,但是使用的確實(shí)另一種方法:代碼中存在非常多級別很小的函數(shù),,看起來像是提供比較小的字符串:

實(shí)戰(zhàn)中如何簡單快速分析惡意宏文件,?

隨后,其他函數(shù)將這些字符串串聯(lián)起來構(gòu)成payload,,接著運(yùn)行:

實(shí)戰(zhàn)中如何簡單快速分析惡意宏文件,?

所以我們可以使用vmonkey記錄代碼執(zhí)行的結(jié)果:

實(shí)戰(zhàn)中如何簡單快速分析惡意宏文件,?

和之前的樣本類似,它采用ScriptControl對象來運(yùn)行JScript代碼,。從hxxp://northsidecollisiona2.com/load5.exe下載payload,,并使用cmd.exe的運(yùn)行。

總結(jié)

可以看出使用ViperMonkey可以快速幫助我們分析惡意宏文件,,但是其解析引擎仍然是不完整的,,還沒有經(jīng)歷過更多的在野樣本檢測,但是這是一個開源的項(xiàng)目還在不斷的完善中,,我們當(dāng)然也可以根據(jù)不同的需要去定制分析的樣本,。

本文為嘶吼編輯整理,如若轉(zhuǎn)載,,請注明來源于嘶吼: https://www./technology/1646.html

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn),。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購買等信息,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請點(diǎn)擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多