Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

フィードお問い合わせプライバシー© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
Overlord-RAT-Reverse-Engineering-a-Go-Based-RAT-Injection-Keylogging-C2-Exfiltration-Analysis — Overlord RATの完全な静的・メモリ解析: Goエージェントアーキテクチャ、HTTP/2 + WebSocket C2、リフレクティブDLLインジェクション、ブラウザキーロギング、およびIOC。実践的なマルウェアリバースエンジニアリングのウォークスルー。 | Kitploit
ツール/GitHubGitHub/kaandemir993/overlord-rat-reverse-engineering-a-go-based-rat-injection-keylogging-c2-exfiltration-analysis
侵害指標 (IOC) 管理動的分析 (サンドボックス)リバースエンジニアリングデータ流出マルウェア分析デジタルフォレンジックコマンド&コントロール脅威インテリジェンス論文と研究

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有
GitHubkaandemir993/overlord-rat-reverse-engineering-a-go-based-rat-injection-keylogging-c2-exfiltration-analysis

Overlord-RAT-Reverse-Engineering-a-Go-Based-RAT-Injection-Keylogging-C2-Exfiltration-Analysis

Overlord RATの完全な静的・メモリ解析: Goエージェントアーキテクチャ、HTTP/2 + WebSocket C2、リフレクティブDLLインジェクション、ブラウザキーロギング、およびIOC。実践的なマルウェアリバースエンジニアリングのウォークスルー。

リポジトリを見る
91449日前未レビュー

1. HTTP/2 C2 チャネルと暗号化された画面キャプチャ

Process Hacker による Overlord RAT (PID 7488) のメモリ文字列スキャンにより、実行時に解決される多数の Windows API 呼び出しと内部文字列が明らかになった。その中でも、http2dialCall は C2 通信を確立するために使用される HTTP/2 ベースのコールバックルーチンとして際立っている。暗号化、入力キャプチャ、グラフィックス関連の API の存在は、キーロギング、画面キャプチャ、暗号化された C2 機能を備えたフル機能の RAT であることを示している。

主な観察結果:

http2dialCall – HTTP/2 コールバック関数。HTTP/2 (ポート 443) 経由で C2 チャネルを開き、正規の HTTPS トラフィックに紛れ込むために使用される。 http2clientConnPool – HTTP/2 C2 セッション用のコネクションプール。C2 サーバーとの永続的で多重化された通信を可能にする。 maxIdleConnsPerHost / GetEvictionPriority / SetEvictionPriority – コネクションのライフサイクル管理。タイムアウトを回避しながらアイドル状態の C2 チャネルを維持する。 CreateCryptoSession /GetEncryptionBltKey – DirectX/GPU ベースの暗号化セッション作成。暗号化された画面キャプチャまたは GPU アクセラレーション操作に使用される。 capture._Ctype_int / capture.monCapture / capture.scaledPart / capture.mfActivate – 画面キャプチャおよびデスクトップ監視ルーチン。 GetInputCurrentType / GetImmediateContext – 入力およびレンダリングコンテキストの取得。キーロギングと画面スクレイピングをサポートする。 CreateTrueColorCondition – 画面キャプチャ操作用の表示条件設定。

これが重要な理由:

HTTP/2 C2: http2dialCall と http2clientConnPool の使用は、RAT が HTTP/2 経由で通信していることを示しており、プレーン HTTP よりも検出が困難で、現代の Web トラフィックに紛れ込む。 暗号化された持ち出し: CreateCryptoSession と GetEncryptionBltKey は暗号化されたデータ転送を示しており、盗まれたファイルやスクリーンショットの可能性が高い。 完全な RAT 機能: 画面キャプチャ (capture.) + 入力キャプチャ (GetInputCurrentType) = キーロギングとリモート監視。 Living-off-the-Land スタイル: API 文字列の実行時解決 (難読化された保存) は、静的文字列解析を無効化する一般的な回避手法である。 永続性と回避: コネクションプール管理 (maxIdleConnsPerHost、GetEvictionPriority) は、検出を回避しながら C2 チャネルを安定して維持する。

視覚的参照:

OverlordRat Process hacker strings

2.WebSocket C2 フォールバックとキーロギング機能

同じ Overlord RAT プロセスの 2 回目の文字列スキャンにより、入力キャプチャ、WebSocket C2、メモリ/リフレクション操作に関連する異なる文字列セットが明らかになった。HTTP/2 と画面キャプチャに焦点を当てた最初のセットとは異なり、このセットはキーロギング、永続的な WebSocket 通信、インメモリ実行技術を指し示している。

主な観察結果:

capture.rawWin – 生のウィンドウキャプチャルーチン。アクティブウィンドウのスクリーンショットに使用される。 captureKeyStrokes – 直接的なキーロギング関数。被害者のマシンで入力されたすべてのキーストロークをキャプチャする。 map[uintptr]bool – 実行時マップ構造。フックされた API やキャプチャされたハンドルの追跡に使用される可能性が高い。 websocket.noCopy / websocket.header / websocket.opcode – WebSocket 実装文字列。RAT が (HTTP/2 に加えて) 二次 C2 チャネルとして WebSocket を使用していることを示す。 writeFramePayload/ readCloseFrameErr / setCloseErrLocked – WebSocket フレーム処理。アクティブな WebSocket ベースの C2 通信を確認する。 reflectlite.Type / abi.UncommonType/ abi.PCLnTabMagic – Go ランタイムのリフレクション/ABI 文字列。ペイロードがリフレクションを使用する Go ベースのバイナリであることを示す。 msgpack.isZeroer / msgpack.field – MessagePack シリアライゼーション。C2 メッセージを効率的にパック/アンパックするために使用される。 sync.poolDequeue / poolLocalInternal – Go の sync プール管理。高性能なメモリ再利用に使用される。

これが重要な理由:

デュアル C2 チャネル: HTTP/2 (http2dialCall) + WebSocket (websocket.) = 冗長な C2 で、一方のチャネルがブロックされた場合の自動フェイルオーバーを実現。 キーロギング機能: captureKeyStrokes は RAT がアクティブなキーストロークキャプチャを実行することを確認する — 認証情報、チャット、パスワードが危険にさらされる。 Go ベースのペイロード: reflectlite、abi.PCLnTabMagic、msgpack 文字列は、これが Go でコンパイルされた RAT であることを明らかにしており、リバースエンジニアリングが困難で、しばしば AV シグネチャを回避する。 MessagePack シリアライゼーション: msgpack. はコンパクトなバイナリ C2 メッセージングを示しており、ネットワークフットプリントを削減し DPI を回避する。 インメモリリフレクション: *reflectlite.Type と *abi.UncommonType は動的関数解決に使用される — 静的なインポートを避けるための一般的な回避手法。 ステルスな WebSocket C2: ポート 443 上の WebSocket トラフィックは正規の Web アプリに紛れ込み、ネットワーク監視による検出を困難にする。

視覚的参照:

OverlordRat Process hacker strings

3.Binary Ninja – キーロガーモジュールとエージェントコマンド文字列

ダンプされたバイナリ connectstart.bin (Overlord RAT プロセスの Process Hacker メモリ文字列から抽出) を静的解析のために Binary Ninja にロードした。文字列ビューにより、ペイロードに埋め込まれた完全に構造化されたキーロガーモジュールと、明確なエージェントコマンド名前空間 (overlord-client/cmd/agent/keylogger.*) が明らかになった。これは、Overlord RAT がモジュール式エージェントアーキテクチャを備えており、キーロガーが C2 コマンドで制御される専用サブシステムであることを確認するものである。

主な観察結果:

モジュールパス: overlord-client/cmd/agent/keylogger.* – キーロガーエージェントの明確な Go パッケージ名前空間。 (Keylogger).Start/ .Stop – C2 コマンドでキーロガーを開始/停止する。 (Keylogger).IsRunning – キーロガーが既にアクティブかどうかを確認する。 (Keylogger).captureLoop – キーストロークを継続的にキャプチャするメインループ。 (*Keylogger).logKey – 生のキーストロークキャプチャ関数。 (Keylogger).getWindowTitle – アクティブウィンドウのタイトルを取得する (各キーストロークのコンテキスト)。 (Keylogger).flushBuffer / .flushLoop / .FlushNow – キャプチャしたキーストロークをディスクまたは C2 に定期的にフラッシュする。 (Keylogger).ListFiles / .ReadFile / .DeleteFile / .ClearAll (Keylogger).rotateFile / .cleanupOldLogs – 検出を避けるためのログローテーションとクリーンアップ。

これが重要な理由:

モジュール式エージェントアーキテクチャ: overlord-client/cmd/agent/ パスは、クリーンでモジュール式の Go エージェントを示している — 各機能 (キーロガー、画面キャプチャ、シェルなど) は個別のコマンドモジュールである。 アクティブなキーロギング: captureLoop、logKey、getWindowTitle は、ウィンドウコンテキスト (ユーザー名、パスワード、チャット) を伴うリアルタイムのキーストロークキャプチャを確認する。 アンチフォレンジック: rotateFile、cleanupOldLogs、DeleteFile はログの蓄積を防ぎ、フォレンジックトレースを減少させる。 ROT13 による回避: rot13 文字列は、キャプチャしたデータが保存/持ち出し前に難読化され、文字列ベースの検出を無効化することを示している。 権限ゲート: NeedsPermissionGate / RequestPermission は、RAT がキーロガーをアクティブ化する前に環境条件 (UAC、管理者権限) を検証することを示唆している。 コマンド駆動型動作: Start/Stop/IsRunning は、キーロガーが C2 によってリモートで切り替えられることを証明している — 自動実行ではなく、検出フットプリントを削減する。

視覚的参照:

OverlordRat Binary Ninja keylogger

4.Binary Ninja – ブラウザインジェクションとプロセス操作モジュール

Binary Ninja で同じ connectstart.bin ダンプの 2 番目の文字列ビューにより、Overlord RAT のブラウザインジェクションサブシステムが明らかになった。パッケージパス overlord-client/cmd/agent/capture.* には、デバッグ権限の有効化、クラッシュの監視、ブラウザへのインジェクション、ブラウザプロセスの管理のための関数が含まれている。これは、Overlord RAT がキーロギングだけでなく、インストールされたブラウザにコードを積極的にインジェクトして認証情報、セッション、Web トラフィックを傍受することを確認するものである。

主な観察結果:

モジュールパス: overlord-client/cmd/agent/capture.* – 専用のキャプチャ/インジェクションエージェント。 capture.enableDebugPrivilege – 他のプロセスにアクセスしてインジェクトするために SeDebugPrivilege を有効化する。 syscall.(LazyDLL).NewProc – 静的なインポートを回避するために Windows API (LazyDLL) を動的に解決する。 capture.StartbackstageBrowserInjected – RAT をブラウザプロセスにインジェクトするメインルーチン。 StartbackstageBrowserInjected.func1 … func24 – インジェクションチェーンをサポートする複数のヘルパー関数 (24 以上)。 capture.CheckInstalledBrowsers – インストールされているブラウザ (Chrome、Edge、Firefox、Brave など) を列挙する。 capture.findBrowserExe – ブラウザの実行ファイルパスを特定する。

これが重要な理由:

ブラウザ認証情報の窃取: StartbackstageBrowserInjected は、RAT がブラウザにインジェクトして保存されたパスワード、Cookie、アクティブセッションを盗むことを証明している。 SeDebugPrivilege の悪用: enableDebugPrivilege は、インジェクションのために他のプロセスに対する PROCESS_ALL_ACCESS を取得する古典的な手法である。 動的 API 解決: LazyDLL.NewProc は実行時に Windows API 呼び出しを解決し、静的なインポートベースの検出を無効化する。 広範なブラウザ対応: CheckInstalledBrowsers + findBrowserExe は、1 つだけでなく複数のブラウザのサポートを示唆している。 強制再インジェクション: isProcessRunning + killProcess は、ブラウザが再起動した場合に RAT が強制終了して再インジェクトできることを示している。 安定性とクラッシュ対策: monitorProcessCrash と describeExitCode は、インジェクトされたブラウザが頻繁にクラッシュしない (疑惑を招く) ことを保証する。

視覚的参照:

OverlordRat Browserinject

5.Binary Ninja – プロセスインジェクションとリフレクティブ DLL ローディング

Binary Ninja での connectstart.bin のさらなる文字列ビューにより、Overlord RAT のインジェクションエンジンが明らかになった。overlord-client/cmd/agent/capture.* パッケージには、完全なプロセスインジェクションツールキットが含まれている: サスペンド状態のプロセス作成、環境ブロックのスプーフィング、リフレクティブ DLL インジェクション、ブラウザ API のパッチ適用。このセクションは、RAT が単なるキーロガーではなく、完全な機能を持つコードインジェクションフレームワークであることを証明している。

主な観察結果:

ツールをダウンロード