
レッドチームエンゲージメントのためのRust武器化
Rust をインプラント開発や一般的な攻撃操作に活用するための実験用リポジトリです。
mingw ツールチェーンをインストールするだけで済む(ただし、一部のライブラリは他の OS では正常にコンパイルできない場合がある)| ファイル | 説明 |
|---|---|
| Allocate_With_Syscalls | ntapi ライブラリを使用して NTDLL 関数を直接呼び出す |
| Create_DLL | DLL を作成してメッセージボックスを表示する。Rust は DLL に main 関数がないため、この機能を完全にはサポートしておらず、動作が不安定になる可能性がある |
| DeviceIoControl | ドライバハンドルを開いて DeviceIoControl を実行する |
| EnableDebugPrivileges | 現在のプロセスで SeDebugPrivilege を有効にする |
| Shellcode_Local_inject | ポインタをキャストして、ローカルプロセス内でシェルコードを直接実行する |
| Execute_With_CMD | Rust を介してコマンドを渡し、cmd を実行する |
| ImportedFunctionCall | dbghelp から minidump をインポートして実行する |
| Kernel_Driver_Exploit | シンプルなバッファオーバーフローを利用したカーネルドライバのエクスプロイト |
| Named_Pipe_Client | 名前付きパイプのクライアント |
| Named_Pipe_Server | 名前付きパイプのサーバー |
| PEB_Walk | Windows API を動的に解決して呼び出す |
| Process_Injection_CreateThread | 実行中のプロセスに CreateThread でプロセスインジェクションを行う |
| Process_Injection_CreateRemoteThread | リモートプロセスに CreateRemoteThread でプロセスインジェクションを行う |
| Process_Injection_Self_EnumSystemGeoID | EnumSystemsGeoID API 呼び出しを使用してシェルコードを実行するセルフインジェクター |
| Unhooking | フックの解除 |
| asm_syscall | アセンブリを使用して PEB アドレスを取得する |
| base64_system_enum | Base64 エンコード/デコード文字列 |
| http-https-requests | 証明書チェックを無視して HTTP/S リクエスト(GET/POST) |
| patch_etw | ETW をパッチする |
| ppid_spoof | 作成したプロセスの親プロセスを偽装する |
| tcp_ssl_client | 証明書チェックを無視する SSL 対応 TCP クライアント(コンパイルには OpenSSL と Perl のインストールが必要) |
| tcp_ssl_server | ポートパラメータ付き TCP サーバー(コンパイルには OpenSSL と Perl のインストールが必要) |