Japan
サイト内の現在位置
ペネトレーションツールの紹介 ~Ninja C2~
NECセキュリティブログ2021年2月12日
NECサイバーセキュリティ戦略本部セキュリティ技術センターの谷口です。
今回は、ペネトレーションテストツールの「Ninja C2」について紹介いたします。
Ninja C2とは
Ninja C2(https://github.com/ahmedkhlief/Ninja)は、ahmedkhlief氏が作成したツールです。本ツールはオープンソース(※1)のC2サーバであり、レッドチーム演習での使用を想定して作成されました。SIEMやアンチウイルスソフトに検出されることなく、リモートコンピュータとActive Directoryの情報列挙を行うことが可能と説明されています。
標的のマシンにペイロードを送り込んだことを前提として使い方をご紹介いたします。
- (※1)ライセンスはGPLv3です。
Ninja C2 インストール
- ①GitのリポジトリからNinja C2のコピーを行います。

- ②ルート直下のinstall.shに対して実行権限を付与します。

- ③install.shを実行します。

Ninja C2 起動
- ①インストール完了後、pythonでstart_campaign.pyを実行します。
すると次の情報を求められるので入力を行います。- C2サーバ側のIPアドレスとポート番号
- 標的がC2サーバに接続する間隔(秒数)
- いつC2サーバを止めるか
- SSL接続を用いるか

環境の構成図は以下の通りです。

- ②pythonでNinja.pyを実行します。
すると以下のようなスタート画面が出力されます。
左側にCommandの一覧が載っているので状況に応じて使用します。

Ninja C2を用いた攻撃の流れ
- ①Ninjaにはあらかじめ標的をコントロールするための、次のようなペイロードが付属しています。

ルート直下にpayloadsフォルダがありますので、payloadsフォルダ一式を標的のWindowsマシンへ送りこんだと仮定します。
- ②Windowsで/payloads/dropper_cs.exeを実行後、Ninja C2の画面が以下のように切り替わり、標的が無事C2サーバに接続されたことが確認できます。

- ③useコマンドを使用してWindowsマシンのシェルを奪います。dirコマンドを打ったところ、次の通りファイルの一覧が表示されました。

- ④C2サーバに複数台端末が接続されている場合は、次のように制御した端末をuse 2で選択できます。

その他、スクリーンショットや端末情報取得、標的マシンへのファイルアップロードなど様々な操作がNinja C2側のCommandで容易に行えます。
さらに詳しい使い方やCommandについてはこちらのページをご覧ください。
(https://shells.systems/introducing-ninja-c2-the-c2-built-for-stealth-red-team-operations/)
所感
- あらかじめペイロードが用意されていたので、作成する手間が省けた点が使いやすかったです。
- 付属のペイロードを用いる場合、WindowsではWindows Defenderに防がれてしまうため実際のレッドチーム演習で使用する際には工夫が必要だと感じました。
今回は送り込ませたペイロードフォルダに対して、事前にWindows Defenderで検出を除外するように設定を行いました。 - Commandが複数用意されており、任意の操作を簡単に行える点が良かったです。C2サーバに接続されている標的マシンのシェルを1行で奪えるuse Commandは特に便利でした。
- 2台の標的マシンがC2サーバに接続されたうえで、個別にマシンを選択できることは確認できました。しかし、複数の標的マシンに対して同時にコマンド実行はできませんでした。悪用されるのを防止するためにツールの作成者がわざと機能を制限している可能性も考えられます。
参考資料
- GitHub(
https://github.com/ahmedkhlief/Ninja)
- Introducing Ninja C2 : the C2 built for stealth red team Operations(
https://shells.systems/introducing-ninja-c2-the-c2-built-for-stealth-red-team-operations/)
- Ninja C2 V1.1 : New Update with many features(
https://shells.systems/ninja-c2-v1-1-new-update-with-many-features/)
執筆者プロフィール
谷口 太郎(たにぐち たろう)
セキュリティ技術センター リスクハンティングチーム
主にペネトレーションテスト、脆弱性診断などを担当し、
NECグループのセキュア開発・運用を推進。
趣味は創作活動とフィギュア収集。

執筆者の他の記事を読む
アクセスランキング
2025年4月13日~4月19日に読まれた記事のランキング