
Pupyは、オープンソースでクロスプラットフォーム(Windows、Linux、OSX、Android)対応のC2およびポストエクスプロイテーションフレームワークであり、PythonとCで記述されています。
pip3 install pipx
pipx ensurepath
pipx install git+https://github.com/n1nj4sec/pupy@nextgen
pupysh
より詳細な情報が必要な場合は wikiを参照してください
git clone https://github.com/n1nj4sec/pupy
cd pupy
git checkout nextgen
git submodule init
git submodule update
pip install venv
python3 -m venv pupyvenv
source pupyvenv/bin/activate
pip install -r requirements.txt
開発インストールからpupyshを実行するには:
source pupyenv/bin/activate
python3 -m pupy.cli
Pupyは、主にPythonで書かれたクロスプラットフォームの多機能C2およびポストエクスプロイテーションツールです。メモリ内実行ガイドラインを特徴としており、非常に低フットプリントを実現します。Pupyは複数のトランスポートを使用して通信し、リフレクティブインジェクションを使用してプロセスに移行し、リモートのPythonコード、Pythonパッケージ、Python C拡張をメモリからロードできます。
Windowsペイロードは、リフレクティブDLLを使用してメモリからPythonインタプリタ全体をロードできます。
単一の.pyファイルにパッケージ化でき、すべてのOSでPython標準ライブラリ以外の依存関係なしで実行できます。
他のプロセスにリフレクティブに移行します。
メモリから純粋なPythonパッケージ(.py, .pyc)およびコンパイルされたPython C拡張(.pyd, .so)をリモートでインポートします。
簡単に拡張可能で、モジュールは簡単に記述でき、OSとカテゴリで分類されています。
モジュールはrpycを使用してリモートクライアント上のPythonオブジェクトに直接アクセスできます。
pupyシェルからリモートオブジェクトに対話的にアクセスし、リモート属性の自動補完を得られます。
通信トランスポートはモジュール式でスタック可能です。HTTP over HTTP over AES over XOR、または利用可能なトランスポートの任意の組み合わせを使用してデータを流出させることができます。
obfsproxy プラグ可能なトランスポートを使用して通信します。
複数のホストで一度に非対話型コマンドを実行します。
リモートホストで実行中のコマンドとスクリプトは中断可能です。
コマンドと引数の自動補完。
カスタム設定を定義できます:コマンドエイリアス、モジュール、接続時に自動実行など。
メモリ内のリモートPythonインタプリタ上で自動補完付きの対話型Pythonシェルを開きます。
対話型シェル(cmd.exe, /bin/bashなど)をリモートで開くことができます。
PE実行ファイルをリモートかつメモリから実行します。
さまざまな形式のペイロードを生成:
PythonまたはPowershellのワンライナーを使用して、単一のコマンドラインからメモリに展開します。
生成されたペイロードに「スクリプトレット」を埋め込み、ネットワーク接続を必要とせずに「オフライン」でいくつかのタスクを実行できます(例:キーロガーの開始、永続性の追加、カスタムPythonスクリプトの実行、check_vmなど)。
複数のターゲットプラットフォーム:
すべてのドキュメントはwikiにあります。
サーバーはWindowsで動作しますか?
PupyはWindowsではテストされていません。理論的には、DockerとDocker Composeをサポートする任意のプラットフォームで動作するはずです。ただし、Windowsプラットフォーム用にDocker Composeのインストール手順を適応させる必要があります。
Pupyをインストールできません。インストールに失敗します。
これらの手順に従わない場合、あなたのイシューは閉じられます。
Androidおよび/またはMac OSXのペイロードとモジュールが動作しません。
PupyはAndroidとOSXに対して_限定的な_サポートを提供しています。これらのプラットフォームは十分にメンテナンスされておらず、断続的に壊れる可能性があります。一部のモジュール(例:キーロガー)はこれらのプラットフォームでは利用できない場合があります。
もしPupyの開発に参加したい方がいれば、遠慮なく!すべての助けは大いに感謝され、すべてのプルリクエストはレビューされます。
開発に関する小さなノートもあります。コミットを行う前にflake8を実行してください。設定ファイルはこちらにあります。
| プラットフォーム | 連絡先情報 |
|---|---|
| [email protected] | |
| https://twitter.com/n1nj4sec |
このプロジェクトは自己啓発です。その哲学を尊重し、悪意のある目的に使用しないでください!
Pupyを改善し、より良いツールにするために貢献してくださったすべてのコントリビューターとサポーターに感謝します! :)
| フォーマット | アーキテクチャ | 短縮名 |
|---|
| ~~ Androidパッケージ ~~ | x86 & ARMv7 | apk |
| Linuxバイナリ | x86 | lin_x86 |
| Linuxバイナリ | x64 | lin_x64 |
| Linux共有オブジェクト | x86 | so_x86 |
| Linux共有オブジェクト | x64 | so_x64 |
| Windows PE実行ファイル | x86 | exe_x86 |
| Windows PE実行ファイル | x64 | exe_x64 |
| Windows DLL | x86 | dll_x86 |
| Windows DLL | x64 | dll_x64 |
| Pythonスクリプト | x86 & x64 | py |
| Pythonワンライナー | x86 & x64 | py_oneliner |
| Powershell | x86 & x64 | ps1 |
| Powershellワンライナー | x86 & x64 | ps1_oneliner |
| プラットフォーム | サポート状況 |
|---|
| Windows XP | ~~ サポート対象 ~~ Pythonがサポートを終了 |
| Windows 7 | ~~ サポート対象 ~~ Pythonがサポートを終了 |
| Windows 8 | サポート対象 |
| Windows 10 | サポート対象 |
| Linux | サポート対象 |
| Mac OSX | 限定サポート |
| Android | 限定サポート |