Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
GRAT2 — 私たちは学習目的でGRAT2 Command & Control (C2)プロジェクトを開発しました。 | Kitploit
ツール/GitHubGitHub/r3nhat/grat2
特権昇格ポストエクスプロイトコマンド&コントロール学習と教育レッドチーミングペイロード開発
GitHubr3nhat/grat2

GRAT2

私たちは学習目的でGRAT2 Command & Control (C2)プロジェクトを開発しました。

リポジトリを見る
411995年前Kitploit レビュー済み

人気

すべて見る →

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

すべてのツールを探索

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

すべてのツールを見る →
共有

Project Status

GRAT2 C2


root@kitploit:~
                   (c).-.(c)    (c).-.(c)    (c).-.(c)    (c).-.(c)    (c).-.(c)
                    / ._. \      / ._. \      / ._. \      / ._. \      / ._. \
                    \( Y )/__  __\( Y )/__  __\( Y )/__  __\( Y )/__  __\( Y )/
                 (_.-/'-'\-._)(_.-/'-'\-._)(_.-/'-'\-._)(_.-/'-'\-._)(_.-/'-'\-._)
                    || G ||      || R ||      || A ||      || T ||      || 2 ||
                   _.' `-' '._  _.' `-' '._  _.' `-' '._  _.' `-' '._  _.' `-' '._
                 (.-./`-'\.-.)(.-./`-`\.-.)(.-./`-'\.-.)(.-./`-'\.-.)(.-./`-'\.-.)
                  `-'     `-'  `-'     `-'  `-'     `-'  `-'     `-'  `-'     `-'
                                             v1.1 beta!

GRAT2について

GRAT2は、python3で記述されたC2(コマンドアンドコントロール)ツールであり、クライアントは.NET 4.5で記述されています。主なアイデアは、このプロジェクトを開始したGeorgios Koumettou氏から来ています。

なぜGRAT2を開発したのか?

世の中には多数のC2ツールが存在することは認識していますが、私たちはC2やその他の難読化手法がどのように動作するかへの好奇心からこのツールを開発しました。それだけです!;-)

現在の機能:

回避手法:

  • Sandbox(マシンがドメインに参加しているかチェックし、していなければ終了)。
  • ETW(Event Tracing for Windows)ログのパッチ。
  • AMSI(Antimalware Scan Interface)のパッチ。
  • caretrun - explorer.exeを親PIDとして使用し、キャレット形式(^i^p^c^o^n^f^i^g)でcmd.exeを介してコマンドを実行(一部のAV/EDRを回避)。

通信:

  • HTTP and HTTPS
  • DNS - 現在はTXTレコードのみ対応。
  • XORとbase64を使用したエンコード通信。
  • プロキシ対応。

モジュール:

  • startdns - DNSリスナーサーバーを起動。
  • listagents - 現在のエージェントを一覧表示。
  • localip - マシンのローカルIPアドレスを取得。
  • uac - 親PIDスプーフィング手法を使用したサイレントディスククリーンアップによるUACバイパスを試行。
  • maketoken - 現在のトークンを削除し、指定された資格情報(ドメインまたはローカル)を使用して新しいトークンを作成。
  • revtoself - 現在のトークンを削除。
  • stealtoken - 実行中のプロセスからトークンを盗み、ユーザーを偽装する試行(管理者権限が必要)。
  • rportfwd - リバースポートフォワードの作成を試行。
  • whoami - 現在のユーザーを表示。
  • hostname - マシンのホスト名を表示。
  • domain - ドメインのFQDNを表示。
  • screenshot - スクリーンショットを撮影。
  • download - ファイルをダウンロード。
  • upload - ファイルをアップロード。
  • cd - ディレクトリを変更。
  • run - explorer.exeを親PIDとして使用し、cmd.exeを介してコマンドを実行。
  • caretrun - explorer.exeを親PIDとして使用し、キャレット形式(^i^p^c^o^n^f^i^g)でcmd.exeを介してコマンドを実行(一部のAV/EDRを回避)。
  • sleep - 新しいスリープ時間を設定。
  • exit - 終了。
  • shell - cmd.exeを介してコマンドを実行。
  • powershell - アンマネージドPowerShellを使用してPowerShellコマンドを実行。
  • powerscript - アンマネージドPowerShellを使用してPowerShellスクリプトを実行。
  • executeassembly - メモリ内で.NETアセンブリの実行を試行。
  • ps - 現在のプロセスを表示。
  • pwd - 現在のディレクトリを表示。
  • ls - ディレクトリ一覧。
  • pid - 現在のプロセスIDを表示。

プロセスインジェクション手法:

  • dynamic_injectcrt - Dynamic Invokeを使用してシェルコードをプロセスに注入する試行。
  • ppid_processhollow - Process Hollowingと親PIDスプーフィング(explorer.exe)手法を使用してシェルコードをプロセスに注入する試行。
  • processhollow - Process Hollowing手法を使用してシェルコードをプロセスに注入する試行。
  • injectppidapc - QueueUserAPCと親PIDスプーフィング(explorer.exe)手法を使用してシェルコードをプロセスに注入する試行。
  • injectapc - QueueUserAPC手法を使用してシェルコードをプロセスに注入する試行。
  • injectcrt - Create Remote Thread手法を使用してリモートプロセスにシェルコードを注入する試行。

位置非依存シェルコードをDonutを使用して生成するには、GRAT2_Shellcodesを参照してください。

TODO:

  • SMBリスナー。
  • DNSリスナーを改善(Aレコードの追加、DNSからHTTPへの切り替えなど)。
  • ログ機能の追加。
  • SOCKS5の実装。
  • 既知の問題の修正。

クライアントプロファイルの設定:

GRAT2 Config Profile

一般設定とHTTP/sリスナー:

  • c2 - GRAT2サーバーのIPアドレスまたはホスト名(必須)。

  • sandboxEvasion - 有効(1)の場合、GRAT2はドメイン参加コンピューター上でのみ実行され、それ以外では終了します。無効(0)の場合、GRAT2はドメイン非参加コンピューター上でのみ実行され、それ以外では終了します(デフォルト:無効)。

  • patchEtw - 有効(1)の場合、ETWがパッチされます(デフォルト:有効)。

  • patchAmsi - 有効(1)の場合、AMSIがパッチされます(デフォルト:有効)。

  • sleep - スリープ時間を設定(デフォルト:3秒)。

  • UserAgent - UserAgentを設定(デフォルト:"Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; yie11; rv:11.0) like Gecko")。

  • initialUrl - 初期GRAT2 HTTP GETリクエスト(デフォルト:jquery.js)。

  • sendResults - GRAT2 HTTP POST結果リクエスト(デフォルト:login.aspx)。

    注記 initialUrlまたはsendResultsの文字列を変更する場合は、GRAT2_Server/handlers.pyの49行目と84行目の文字列をそれぞれ更新する必要があります。

DNSリスナー:

  • DNSListener - 有効(1)または無効(0)。有効の場合は、GRAT2サーバーを(下記参照)に従って設定してください。
  • DNSServer - GRAT2 DNSサーバー。
  • dnsMaxTXT - TXTレコードの最大長(デフォルト:255)。
  • maxDNSChar - 各DNSサブドメインの最大文字数(デフォルト:63)。

サーバープロファイルの設定:

GRAT2 Config Server Profile

HTTP/sおよびDNSリスナー:

  • HOST_NAME - GRAT2サーバーのIPアドレスまたはホスト名。
  • PORT_NUMBER - リスニングポート(80または443)。
  • server_pem - PEMファイルの場所。
  • dnsDomainName - GRAT2 DNSサーバー。

使用方法:

  • Visual Studioを使用してGRAT2クライアントプロジェクト(GRAT2_Client.sln)を開き、ソリューション構成をDebugからReleaseに変更してから、ソリューションをビルドします。
  • GRAT2サーバーに**2つの依存関係(dnslibとtermcolor)**をインストールします:pip3 install -r requirements.txt
  • GRAT2サーバーを起動: GRAT2 Start Server
  • GRAT2クライアント実行可能ファイル(GRAT2_Client\bin\Release\GRAT2_Client.exe)を実行します。
  • エージェントと対話: GRAT2 Interact

リリースノート:

バージョン1.0 - 2020年9月5日

  • 初回リリース

バージョン1.1 - 2020年12月13日

  • DNSリスナーを追加
  • HTTPSリスナーを追加
  • エージェント一覧機能を追加
  • localipモジュールを追加(マシンのローカルIPアドレスを取得可能)
  • アンマネージドPowerShellを書き直し
  • .NET 4.0から.NET 4.5に変更

クレジット:

  • Donut - @TheRealWover
  • DInvoke - @TheRealWover & @FuzzySec
  • SharpC2 - @_RastaMouse & @xpn
  • SharpSploit - @cobbr_io
  • DNSExfiltrator - @Arno0x0x

また、各作者への謝辞と参照リンクはソースコード内で強調表示されています。

免責事項:

このプロジェクトは、許可されたテストまたは教育目的でのみ使用できます。事前の許可なく対象システムに対してこのソフトウェアを使用することは違法であり、このソフトウェアの誤使用によるいかなる損害についても著者は責任を負いません。

ツールをダウンロード