
Xencrypt の改良版。Xencrypt 自体は、AV を回避するために設計された PowerShell ランタイム クリプターです。
______ \ / |/ | \ / / ____ ___________ ../ |
| | // __ \ \ / __ _ __ \ // __ \ / _/ _ __ < | |_ \
| | \ /| | | | \ __/| | / \ /| | \ _| | /_ || |> > |
| /_ >| || _ >| //\ ___ >| /_ >| / ____|| /||
/ / / _/ / / / / ||
# BetterXencrypt
BetterXencryptはXencryptの改良版です。Xencrypt自体は、AVを回避するために設計されたPowerShellランタイムクリプターです。
XencryptはもはやFUDではなく、AMSIに簡単に検出されるようになったため、スタブを書き直して再びFUDにしました。
元のXencryptは、スクリーンショットの証拠を見ればわかるように、Windows 8でテストされており、最新のWindows 10でテストするとFUDではありませんでした。そこで、再びFUDにして皆を幸せにしたいと思いました:D
## このツールはWindows 10 v20H2上でMSFVenom PSHペイロードを使用してテスト済み
# Proof-Of-FUDness (私の言葉を信じない場合)
https://www.virustotal.com/gui/file/427c697e11d476f733aaad9fc2ed9dffd8c8b45d84a772c5179d3134d19ac24d/detection
# 特徴
- AMSI、動作監視、およびMetaDefenderとVirusTotalで使用されている最新のAVすべてをバイパス
- PowerShellスクリプトを圧縮および暗号化
- (圧縮のおかげで) オーバーヘッドが最小限で、しばしばマイナスになることも
- 複数の種類の暗号化と圧縮をサポート
- 変数名をランダム化して、復号スタブをさらに難読化
- 独自のクリプターのバリアントを作成するために非常に簡単に変更可能
- 再帰的なレイヤリングをサポート(暗号化された出力をさらに暗号化)、最大500レイヤーまでテスト済み
- 入力スクリプトがサポートしていれば、Import-Moduleと通常の実行の両方をサポート
- すべての機能が1つのファイルにまとめられているため、どこにでも持ち運べます!
# 注意
スクリプトキディにならないでください。私はこれをGPLv3で公開しているので、各自で変更を加えることができます。しかし、私はこのツールを開発し続けるつもりです。自分で変更を加えたくない場合でも、それは構いません。
# 謝辞
- このツールを作成中に死ななかった私自身
- オリジナルのXencryptを作成したXentropy氏とSecForce氏
- 素晴らしいPowerShellスクリプトのチュートリアルを提供してくれたEd Wilson(別名Microsoft Scripting Guy)
- 最後に、AVの動的解析をバイパスする研究をしてくれたEmeric Nasi氏
# 使用方法
BetterXencryptスクリプトはLinuxのPowerShellで実行することをお勧めします。Windows PowerShellでは試したことがないためです。
(LinuxにPowerShellがあることに驚きましたか?[こちら](https://docs.microsoft.com/en-us/powershell/scripting/install/installing-powershell-core-on-linux?view=powershell-7.1)をご覧ください)
Import-Module ./betterxencrypt.ps1 Invoke-BetterXencrypt -InFile invoke-mimikatz.ps1 -OutFile xenmimi.ps1
これで、現在の作業ディレクトリに暗号化された xenmimi.ps1 ファイルが生成されます。元のスクリプトと同じ方法で使用できます。つまり、次のようにします:
Import-Module ./xenmimi.ps1 Invoke-Mimikatz
また、-Iterations フラグを使用して再帰的なレイヤリングもサポートしています。
Invoke-BetterXencrypt -InFile invoke-mimikatz.ps1 -OutFile xenmimi.ps1 -Iterations 100
ただし、ファイルサイズが大きくなる可能性があり、スクリプトと要求されたイテレーション数によっては、出力ファイルの生成に非常に長い時間がかかる場合がありますので注意してください。
# To-do リスト