rustredops

Rustredopsは、Rustで開発されたRedチーム運営に関連するさまざまなツールやプロジェクトを収容するリポジトリです。このリポジトリは、セキュリティ評価と侵入テストを実行したいセキュリティの専門家と浸透テスターに効果的かつ効率的なツールを提供することに専念しています。
目次
- コンテンツ
- リソース
- 他の錆プロジェクト
- 要件
- コンパイル
- プロジェクトを編集します
- 宛先アーキテクチャの追加
- 特定のアーキテクチャ用のコンパイル
- 始める方法
- Rustredopsに貢献する
- 参照
- ライセンス
コンテンツ
リポジトリはいくつかのプロジェクトに編成されており、それぞれに独自の目的と機能があります。以下に、プロジェクトの例をいくつか紹介します。
APC注入
- このプロジェクトは、非同期コードインジェクション(APC)手法を活用して、ターゲットプロセスで悪意のあるコードを実行します。
APIフック
- Windows API関数への呼び出しを傍受して操作できるプログラミング手法であるAPIフックのデモンストレーション。
抗bug
APIハンマーリング
- APIハンマーは、マルウェアを遅らせるためにさまざまなアクションを実行することで構成されています。
抗分析
バイナリ情報
- これは、Rustバイナリにメタデータを含めたり、関連するアイコンを変更したりする場合に備えて、単純なデモンストレーションです。
DLLポリシーをブロックします
- Microsoftが署名していないDLLの負荷を回避します。
ドライバーを作成します
- Rustを使用してシンプルなドライバーを作成する方法を示すプロジェクトです。
DLLを作成します
- Rustを使用してDLLを作成する方法を示すプロジェクトです。
コールバックコードの実行
- コールバックによるシェルコード実行のデモンストレーション。
uefiを作成します
- Rustを使用してUEFIを作成する方法を示すプロジェクトです。
暗号化文字列をコンパイルします
- コンパイル時に文字列を暗号化し、実行時にそれらを復号化します。
wifiを抽出します
- WinAPISを使用したWiFiパスワードの抽出は、NetSHコマンドのカスタマイズされた形式です。
アーリーバードAPC注入
- APCインジェクションのバリエーションに焦点を当て、メインプロセスが開始される前にコードを実行します。
暗号化(シェルコード)
- AESとRC4を使用してシェルコードを暗号化 /解読します。
列挙プロセス
すべてのトークンを有効にします
コマンドを実行します
Hells / Halos / Tartarus Gate
- Hells / Halos / Tartarus Gate Techniquesを介してSSNの回復
IAT難読化
- GetProcAddressとgetModuleHandleを交換することにより、IAT難読化。
IATカモフラージュ
- IATをカモフラージュし、悪意のある外観を避けるために、APIを(実行せずに)エクスポートするための手法。
ldradydll unhook
- EDRフックをバイパスし、LDRLOADDLLを使用するためにスプリングボードを注入するための概念の証明。
ローカルペイロード実行
- このプロジェクトは、システムのローカル環境での悪意のあるペイロードの直接的な実行に対処します。
ローカルマッピングインジェクション
- ローカルプロセスへのメモリマッピングを介して悪意のあるコードインジェクションを実行します。
局所機能踏み込み注入
- ローカルで実行されている関数を悪意のあるコードに置き換えることに焦点を当て、デフォルトの動作を変更します。
ローカルスレッドハイジャック
- このプロジェクトでは、ローカルシステムで実行されているプロセスのスレッドをハイジャックして、悪意のあるコードを実行します。
局所PE注入
minidump-rs
モジュールストンプ
- モジュールの踏み台は、マッピングまたはロードされたDLLのエントリポイントにシェルコードを注入することに焦点を当てています。
ntdllが表示されません
- 中断されたプロセスを介してNTDLLを外すことを実行します。
名前付きパイプサーバー /クライアント
- 名前付きパイプを使用してプロセス間で通信する方法を示す簡単なプロジェクト。
モジュールのオーバーロード
- モジュールオーバーロードは、ターゲットDLLをマップし、その内容をEXE / DLLファイルに置き換えて実行する手法です。
難読化シェルコード
- IPv4、IPv6、Mac、およびUUIDを使用したシェルコード難読化。
PPIDスプーフィング
PEヘッダーを解析します
- このコードは、Windows実行可能ファイルのPEヘッダーを解析することに焦点を当てています。
パッチETW
パッチAMSI
ペイロード実行制御
- ミューテックス、イベント、およびセマフォを介したペイロード実行の制御。
引数のスプーフィングを処理します
- 悪意のある活動を隠すためにプロセスの議論をマスキングまたは変更する手法を活用します。
プロセスインジェクション(DLL)
- 動的リンクライブラリ(DLL)を実行中のプロセスに注入して、悪意のあるコードを実行することに焦点を当てています。
プロセスインジェクション(シェルコード)
- シェルコードインジェクションを実行中のプロセスに直接活用して、悪意のあるタスクを制御または実行します。
ペイロード配置
- .textセクションにシェルコードを保存してから実行します。
催眠を処理します
- この手法は、デバッグされているプログラムの実行フローの制御に焦点を当て、新しいスレッド、ロードされたモジュール、例外などの作成など、そこから関連情報を取得します。または、シェルコードを実行します。
ペイロード実行ファイバー
ペイロードステージング
- このプロジェクトは、HTTPリクエストとレジストリキーを使用してシェルコード検索を実行する方法の実証に焦点を当てています
ゴーストを処理します
- プロセスゴーストテクニックを使用してPEファイルをロードします。
ハーパーピングを処理します
- 画像がマッピングされた後にディスクの内容を変更することにより、プロセスの意図を不明瞭にします。
リモートスレッドハイジャック
- 悪意のあるアクションを実行するために、リモートシステムプロセスのスレッドのハイジャックに対応します。
リモート関数踏み込み噴射
- 悪意のあるアクティビティを実行するために、リモートシステムの機能の代替を活用します。
リモートマッピングインジェクション
- リモートプロセスへのメモリマッピングを介して悪意のあるコードインジェクションを実行します。
CRTを削除します
- ランタイム中のCRT(Cランタイムライブラリ)の使用を最小限に抑え、追加のフラグを適用してバイナリから不要な情報を取り除くことに焦点を当てています。
自己削除
文字列ハッシュ
syscalls
スレッドレスインジェクション
- 錆を使用したスレッドレスインジェクションを実行します。
WMI
- WMI(Windows Management Instrumentation)クエリの実行。
WebAssemblyシェルコード
- WebAssemblyを介してシェルコードを実行します。
他の錆プロジェクト
錆を使用して行ったプロジェクトの他の例をいくつか紹介します。
- Windowsカーネルルートキット
- コフィーローダー
- ランニング.NET
リソース
- 個々のプロジェクトには、プロジェクトの主な機能と機能を詳述する機能セクションを含めることができます。
- それぞれのディレクトリの各プロジェクトのインストール手順、使用法、および例を表示できます。
要件
- Rust:Rustは、このリポジトリのツールを開発するために使用される最新の安全なプログラミング言語です。
- 貨物:貨物はRustのパッケージマネージャーおよびコンパイラであり、プロジェクトをコンパイルして実行するために不可欠です。
コンパイル
プロジェクトを編集します
コンパイルを開始するには、次のコマンドを使用します。
宛先アーキテクチャの追加
別のオペレーティングシステムを使用している場合、または特定のアーキテクチャにコンパイルする必要がある場合は、次のコマンドで利用可能なすべてのターゲットアーキテクチャをリストできます。
目的のターゲットアーキテクチャを特定したら、Rustupを使用して追加します。
rustup target add < arch >
x86_64-pc-windows-gnuなどの目的のアーキテクチャに置き換えます。
特定のアーキテクチャ用のコンパイル
次に、特定のアーキテクチャのプロジェクトをコンパイルします。
cargo build --release --target < arch >
始める方法
次の手順に従って、このリポジトリのプロジェクトの使用を開始します。
- このリポジトリをローカルマシンにクローンします。
git clone https://github.com/joaoviictorti/RustRedOps.git
- 興味のあるプロジェクトのディレクトリに移動します。
cd RustRedOps/ < name-project >
- このディレクトリ内のREADMEで説明されているように、プロジェクト固有のインストールおよび使用手順に従ってください。
Rustredopsに貢献する
Rustredopsに貢献するには、次の手順に従ってください。
- このリポジトリをフォークします。
- ブランチを作成:
git checkout -b <branch_name> 。 - 変更を加えてコミットします:
git commit -m '<commit_message>' 。 - 変更をブランチに押します:
git push origin <branch_name> 。 - プルリクエストを作成します。
または、プルリクエストの作成方法については、GitHubドキュメントを参照してください。
参照
この並外れたリポジトリを作成するために必要なツールとインスピレーションを提供してくれた、注目すべきプロジェクトと魅力的なテクニックの作成者に心から感謝します。
- https://github.com/memn0ps
- https://github.com/hasherezade
- https://github.com/vxunderground
- https://github.com/nul0x4c
- https://github.com/mrd0x
- https://github.com/cracked5pider
- https://github.com/trickster0
- https://github.com/blwasp
- https://balwurk.com/shellcode-evasion-using-webassembly-rust
- https://github.com/janoglezcampos/rust_syscalls
- https://github.com/microsoft
- https://ired.team
- https://github.com/rust-osdev/uefi-rs
- https://github.com/stephanvanschaik/windows-kernel-rs
- https://discord.gg/rust-lang-community(多くのことを助けたディスコードコミュニティ)
- https://github.com/ccob
- https://github.com/anvie/litcrypt.rs
ライセンス
このプロジェクトは、 MITライセンスの下でライセンスされています