1
0
mirror of https://github.com/nganhkhoa/malware.git synced 2024-06-10 21:32:07 +07:00

Update malware-analysis_ref_and_memo.md

This commit is contained in:
mether049 2020-03-20 05:08:22 +09:00 committed by GitHub
parent 8844c9e4f5
commit 68341bee41
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -271,14 +271,85 @@ Injecition/Hollowingされたプロセスの自動検出<br>
# Docment file Analysis # Docment file Analysis
- VBA マクロの解析についての資料<br> - Filetype
[Advanced VBA Macros Attack&Defence,BHEU2019](https://www.decalage.info/files/eu-19-Lagadec-Advanced-VBA-Macros-Attack-And-Defence.pdf)<br> - .doc, .xls, .ppt
- **[rtfobj](https://github.com/decalage2/oletools/wiki/rtfobj)<br>** - Office 2003までのファイルの形式
RTFファイルからOLEパッケージオブジェクトを検出し、埋め込みファイルを抽出<br> - .docx, .xlsx, .pptx
- Office 2007以降のマクロを含まないファイルの形式
- .docm, .xlsm, .pptm
- Office 2007以降のマクロを含むファイルの形式
- p-code
- マクロコードをコンパイルした中間コード
- ドキュメント内のvbaコードのバージョンとシステム上のvbaのバージョンが同じ場合コンテンツが有効化された際に表示されるソースコードは**p-codeが逆コンパイルされたもの**
- ドキュメント内のvbaコードのバージョンとシステム上のvbaのバージョンが異なる場合コンテンツが有効化された際に表示されるソースコードは**圧縮されたvbaソースコードを解凍したものである**
- VB Editor
- debuggerでstep実行が可能
- 難読化解除の手順
1. olevba等でvbaマクロコードを抽出
2. 悪意のあるファイルを開いてdocx形式で保存し閉じる
- [コンテンツを有効化]は押さない
- [編集を有効にする]は押す
3. olevba等で.docxファイルにマクロが含まれないことを確認する
4. .docxファイルを開く
- ActivXオブジェクトがある場合[コンテンツを有効にする]を押す
5. Alt+F11でVB Editorを開く
6. 1.で抽出したVBAマクロコードのコピー
7. 悪意のあるコード実行部分を出力系の関数等(MsgBox,etc.)で無害化
9. VB Editorのdebuggerで難読化解除
- ref:
- [VBA Macro analysis: Beware of the Shift Key!](https://decalage.info/vbashift)
- vbaData.xmlの削除
- 以下の状況下で有用
- p-codeが利用されている
- マクロのコンテンツを有効化しないと逆コンパイルされたvbaソースコードが表示されない
- p-codeのままではdebuggerを利用できない
- 悪意のあるコードを実行したあとにすぐ終了されるように設計されている
- 方法
- 7-zip等でwordファイルを展開
- wordフォルダ配下のvbaData.xmlを削除
- 再zip
- ref:
- [VBA Stomping — Advanced Maldoc Techniques](https://medium.com/walmartlabs/vba-stomping-advanced-maldoc-techniques-612c484ab278)
- **[pcodedmp](https://github.com/bontchev/pcodedmp)**
- p-codeの逆アセンブラ
- **[pcode2code.py](https://github.com/Big5-sec/pcode2code)**
- p-codeの逆コンパイラ
- **[VBA Seismograph](https://github.com/kirk-sayre-work/VBASeismograph)**
- VBA Stompingの検出ツール
- p-codeで利用される関数名変数名文字列コメント等を出力
- pcodedmpとolevbaを利用している
- **[CMD Watcher]**
- マクロによって実行されるpowershell,cmd,wscript,rundllのコマンドがCMD Watcherに出力される
- コマンドをキャプチャした際に自動的にプロセスを終了させる
- **[ole tools](https://github.com/decalage2/oletools/wiki)**
- [olevba](https://github.com/decalage2/oletools/wiki/olevba)
- VBAマクロソースコードの検出/抽出
- 自動実行可能なマクロの検出
- 疑わしい文字列の抽出
- Anti-Sandbox,Anti-VMの検出
- hex,base64,strreverse,dridexで難読化された文字列の検出/デコード
- IoC(IP,URL,mail addr,file name)の抽出
- etc.
- [oleobj](https://github.com/decalage2/oletools/wiki/oleobj)
- oleファイルから埋め込みオブジェクトを抽出するスクリプト
- [rtfobj](https://github.com/decalage2/oletools/wiki/rtfobj)
- RTFファイルからOLEパッケージオブジェクトを検出し、埋め込みファイルを抽出
- ref:
- [oletools_cheatsheet.pdf](https://github.com/decalage2/oletools/blob/master/cheatsheet/oletools_cheatsheet.pdf)
- [ViperMonkey](https://github.com/decalage2/ViperMonkey)
- VBAマクロの分析や難読化解除を行うためのVBAエミュレーションエンジン
- **[Vba2Graph](https://github.com/MalwareCantFly/Vba2Graph)**
- vbaのコールグラフを生成
- **[msoffcrypto-tool](https://github.com/nolze/msoffcrypto-tool)**
- **[msoffice](https://github.com/herumi/msoffice)**
- 暗号化されたOfficeファイルを暗号化/復号するためのツール
- LinuxでPS,VBの動的解析 - LinuxでPS,VBの動的解析
- [.NET Core](https://docs.microsoft.com/ja-jp/dotnet/core/install/linux-package-manager-ubuntu-1604) - [.NET Core](https://docs.microsoft.com/ja-jp/dotnet/core/install/linux-package-manager-ubuntu-1604)
- [PowerShell Core(PowerShell 7+)](https://docs.microsoft.com/ja-jp/powershell/scripting/install/installing-powershell-core-on-windows?view=powershell-7) - [PowerShell Core(PowerShell 7+)](https://docs.microsoft.com/ja-jp/powershell/scripting/install/installing-powershell-core-on-windows?view=powershell-7)
- LibreOffice - LibreOffice
- ref:
- [vbastomp.com](https://vbastomp.com/)
- [Advanced VBA Macros Attack&Defence,BHEU2019](https://www.decalage.info/files/eu-19-Lagadec-Advanced-VBA-Macros-Attack-And-Defence.pdf)
# JavaScript Analysis # JavaScript Analysis
- **[JS Beautify](https://github.com/beautify-web/js-beautify)** - **[JS Beautify](https://github.com/beautify-web/js-beautify)**