
A PoC that packages payloads into output containers to evade Mark-of-the-Web flag & demonstrate risks associated with container file formats. Supports: ZIP, 7zip, PDF, ISO, IMG, CAB, VHD, VHDX
PackMyPayload - コンテナ化されたマルウェアの新たな脅威このツールは、入力としてファイルまたはディレクトリを受け取り、それらをアーカイブ/コンテナとして機能する出力ファイルに埋め込みます。これは、埋め込まれたマルウェアを含むコンテナファイルフォーマットの新たなリスクを示す概念実証として機能するだけでなく、プロフェッショナルなレッドチームオペレーターが初期アクセスの操作を磨くための補助としても役立ちます。
現在、脅威アクターはさまざまなコンテナファイルフォーマットでアーカイブされたマルウェアを密輸することが知られています。その一部を挙げると:
7zipzipISOIMG彼らは、ペイロードをファイルコンテンツスキャナーを通過させるためですが、さらに重要なのは、ファイルにMark-Of-The-Webフラグが付与されるのを避けるためです。攻撃者がファイルにMOTWを付与されたくない理由はさまざまですが、Microsoft Officeの保護されたビューは常にその一つです。
彼らが被害者にコンテナファイルを提供すれば、インターネット経由のOfficeドキュメントにおけるVBAマクロの無効化の基盤が回避される可能性があります。
2月7日、マイクロソフトはインターネット経由のVBAマクロをデフォルトでブロックする構成変更を発表しました。これは、ユーザーのワークステーションとその内部にインストールされたクライアントソフトウェアのベースライン構成を強化するための素晴らしい一歩です。議論の余地はありますが、標準的なWindows+Officeのインストール環境に劇的に良い影響を与える重要なステップです。
実装された動作は、MOTW(Mark of the Web)フラグに基づいてマクロ対応のOfficeドキュメントを区別することで機能すると説明されています。このフラグは、ソフトウェアクライアント(ブラウザ、メールクライアント、ファイルアーカイバなど)がインターネットなどの信頼できない領域から来たファイルをマークするための_汚染_ラベルとして機能します。
OutflankはMOTWについて、2020年にMOTWフラグが一様に伝播されない領域を示唆してさらに詳しく説明しました。これらの領域は防御のギャップとして機能し、現在まで何年もの間、脅威アクターによって一般的に悪用されています。
彼らの研究により、一部の_コンテナ_ファイルフォーマット、すなわちISO、VHD/VHDXは、自動マウントまたは自動抽出時に内部ファイルにMOTW汚染フラグを伝播しないことが明らかになりました。さらに、Windows 8以降ではこれらのフォーマットをダブルクリックで自動的に開くことができるため、これらは_悪名高い感染キャリアとなり、MOTWのセキュリティ対策としての価値を低下させる可能性があります_。
実際にMark of the Webフラグがどのように見えるかを示しましょう:

ファイルをダウンロードしたら、右クリックしてプロパティを確認します。
ファイルが信頼できないゾーンから来ているため、ブロックを解除するように促すメッセージが表示されます:

その情報は、次のようなZone.Identifierという名前のNTFS ADS(代替データストリーム)に保存されます:

ZoneId=3はファイルを汚染としてマークする役割を果たします。
PackMyPayload.pyを使用して、以下のコマンドでファイルをISO Jolietディスクに簡単に配置します:
PS> py PackMyPayload.py 7z2107-x64.exe 7z2107-x64.iso

ISOファイルを作成したら、Pythonを使用してHTTPサーバーを模倣します:
PS> py -m http.server 80
そしてブラウザを使用してISOファイルをダウンロードします。

そのISOファイルのプロパティを確認すると、MOTWフラグが付いていることがわかります。

しかし、内部の7zipインストーラEXEファイルにはMOTWマークがありません!

業界の注目がマイクロソフトのVBAマクロブロックの勇気ある決断に集まっている機会を利用して、私たちプロフェッショナルなセキュリティ研究者は、世界のテクノロジーの悪用に対する回復力を高めることを最大限に考慮し、現在の脅威アクターのTTPに以下の洞察を追加したいと思います:
脅威アクターは、MOTWがフィッシングペイロードに与える影響をよく認識しています。彼らはずっと前から適応しており、現在は悪意のあるプログラムをコンテナの中に密輸しています。最も一般的に観察されるものとしては、ISO、IMG、CABが挙げられます。
私は今、マイクロソフトの立場に基づいて構築された勢いを高め、これらの回避手段に関する議論を強化するためにこのツールをリリースします。
上記の拡張子を持つファイルが信頼できないゾーンから発信された場合、該当する場所ではそれらを封じ込め(および/またはブロック)することを推奨します:
リリースされたツールにより、より多くのレッドチームが議論されたリスクをシミュレートし、パートナーの防御における検出のギャップをより容易に特定できるようになることを願っています。
このスクリプトは以下の機能と特典を提供します:
サポートされているフォーマット:
| フォーマット | MOTWを除去? | 標準Windowsサポート? | 権限昇格が必要? | 備考 |
|---|---|---|---|---|
Zip | いいえ/はい* | はい | いいえ | (CVE-2022-41091でMOTW除去) |
7zip | 部分的 | いいえ | いいえ | 手動ファイル抽出時のみMOTW除去 |
ISO | はい | はい | いいえ | |
IMG | はい | はい | いいえ | |
PDF | ? | はい | いいえ | PDFリーダーのJavascriptサポートに依存 |
CAB | いいえ | はい | いいえ | 被害者側でさらに数回のクリックが必要 |
VHD | はい | はい | はい | このスクリプトは現在ディレクトリを作成できません |
VHDX | はい | はい | はい | このスクリプトは現在ディレクトリを作成できません |
--zip-noreadonlyが指定されていない場合)。cmd> pip3 install -r requirements.txt
PS> py PackMyPayload.py C:\my\dir malicious.iso -v
+ o + o + o + o
+ o + + o + +
o + + + o + + o
-_-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-_-_-_-_-_-_-_,------, o
:: PACK MY PAYLOAD (1.2.0) -_-_-_-_-_-_-| /\_/\
for all your container cravings -_-_-_-_-_-~|__( ^ .^) + +
-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-__-_-_-_-_-_-_-'' ''
+ o o + o + o o + o
+ o + o ~ Mariusz Banach / mgeeky o
o ~ + ~ <mb [at] binary-offensive.com>
o + o + +
[.] Packaging input file to output .iso (iso)...
Burning files onto ISO:
Adding file: //malicious.lnk
Adding file: //malicious.docm
[INFO] [+] File packaged into ISO.
[INFO] Successfully packed input file.
[+] Generated file written to (size: 69632): malicious.iso
DISKPARTが物理デバイスオブジェクト/名前空間への管理者アクセスを必要とするためです。最良の体験は、ANSIカラーをサポートするWindows Terminal (wt)またはConEmuでスクリプトを実行することです。出力が見苦しい場合は、-Nフラグでそれらの色を無効にしてください:PS> py PackMyPayload.py .\evil.lnk .\evil.vhd -v -N
+ o + o + o + o
+ o + + o + +
o + + + o + + o
-_-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-_-_-_-_-_-_-_,------, o
:: PACK MY PAYLOAD (1.2.0) -_-_-_-_-_-_-| /\_/\
for all your container cravings -_-_-_-_-_-~|__( ^ .^) + +
-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-__-_-_-_-_-_-_-'' ''
+ o o + o + o o + o
+ o + o ~ Mariusz Banach / mgeeky o
o ~ + ~ <mb [at] binary-offensive.com>
o + o + +