
暗号化されたzipから位置独立シェルコードを実行します
暗号化されたzipから位置独立型シェルコードを実行します。 donut、metasploit、cobaltstrikeのRAW形式を使用して、アセンブリからPICコードを取得します。
.binファイルをzip圧縮し、パスワードで暗号化します。このアセンブリは、zipエントリをメモリ上で復号し、D/InvokesインジェクションAPIを使用して実行します。
実行中のプロセスにインジェクションするか、新しいプロセスを作成してからそのプロセスにインジェクションすることができます。 自身へのインジェクションは理論的には可能ですが、クラッシュを引き起こします。ここで実現したいことは自身へのインジェクションではなかったため、その問題を修正しようとは特に試みていません。
暗号化されたzipをディスクに配置してテストしましたが、若干の修正でメモリ上だけで動作させることもおそらく可能です。 PICペイロードのみに対応しています。runPEバリアントを作成しようと試みましたが惨敗しました:)
___ _ ____ _ ___
/ __>| |_ ___ _ _ ___ |_ /<_> ___ | . \ _ _ ._ _ ._ _ ___ _ _
\__ \| . |<_> || '_>| . \ / / | || . \| /| | || ' || ' |/ ._>| '_>
<___/|_|_|<___||_| | _//___||_|| _/|_\_\`___||_|_||_|_|\___.|_|
|_| |_|
An Encrypted zip on your computer? what could possibly go wrong?
Usage:
-z, --zip-file=VALUE The path on disk to the encrypted zip
-e, --entry=VALUE The specific zip entry to put in mem (optional),
if not provided assumes only one zip entry is
present
-p, --password=VALUE The password of the encrypted zip
-i, --process=VALUE The process to inject into (if not used will
inject into self (not recommended)
-c, --create Create a new process, and injects into that
process (requires the process argument)
-h, --help shows this menu