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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
Redcloud — 自動化されたRed TeamインフラストラクチャのDockerを使用した展開 | Kitploit
ツール/GitHubGitHub/khast3x/redcloud
ペネトレーションテストフレームワークコンテナセキュリティエクスプロイトフレームワークレッドチーミング
GitHubkhast3x/redcloud

Redcloud

自動化されたRed TeamインフラストラクチャのDockerを使用した展開

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

人気

すべて見る →

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

すべてのツールを探索

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

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

天気予報。シェルが降る確率あり!

早期リリースです。Redcloudの開発状況をフォローするには、Twitterをフォローしてください。
💁☁️🐚🌱


クイックスタート - アーキテクチャ - ユースケース - スクリーンショット


はじめに

Redcloudは、Dockerを使用して本格的なレッドチームインフラを展開するための、パワフルでユーザーフレンドリーなツールボックスです。ツールのためにクラウドの速度を活用しましょう。数分でデプロイできます。洗練されたWebインターフェースで使用・管理できます。

ペネトレーションテスト、シューティングレンジ、レッドチーミング、バグバウンティに最適です!

攻撃インフラを苦労なくセルフホストし、数分で自前のライブでスケーラブルかつ回復力のある攻撃インフラを展開できます。

デモ

次のデモでは、SSHを介したRedcloudのデプロイと、その後のMetasploitを示しています。次にTraefikとMetasploitにアタッチされたライブボリュームを確認します。最後に、WebターミナルでMetasploitのデータベースが機能していることを確認し、コンテナを削除してRedcloudを終了します。


機能

  • 内蔵のSSH機能やdocker-machineを使用して、ローカルまたはリモートにRedcloudをデプロイ。
  • Metasploit、Empire、GoPhish、脆弱なターゲット、フルスタックのKaliなどを数クリックでデプロイ。
  • 美しいWebインターフェースでインフラを監視・管理。
  • すべてのツールにリダイレクション、SOCKS、またはTorプロキシをデプロイ。
  • 手間のかからないネットワーク管理とボリューム共有。
  • ユーザーとパスワードの管理。
  • Webターミナル
  • 全体的にとても快適 🐣

クイックスタート

セットアップ:```bash

If deploying using ssh

cat ~/.ssh/id_rsa.pub | ssh root@your-deploy-target-ip 'cat >> .ssh/authorized_keys'

If deploying using docker-machine, and using a machine named "default"

eval (docker-machine env default)

Check your Python version

Use python3 if default python version is 2.x

python --version

root@kitploit:~
デプロイ:```bash
> git clone https://github.com/khast3x/redcloud.git
> cd redcloud
> python redcloud.py

Redcloudは、利用可能なテンプレートのリストを表示するために PyYAML を使用します。ほとんどのシステムでデフォルトでインストールされています。
もしインストールされていない場合は、次のコマンドを実行してください:```bash

Use pip3 if default python version is 2.x

pip install -r requirements.txt

root@kitploit:~
Redcloudには3つの異なるデプロイ方法があります:
1. **ローカル**
2. **SSHを使用したリモート**. ターゲットの `authorized_keys` ファイルに公開鍵が必要です。
3. **docker-machineを使用したリモート**. `eval (docker-machine env deploy_target)` を実行して環境を docker-machine で事前ロードし、`redcloud.py` を実行します。Redcloud は自動的に docker-machine を検出し、docker-machine デプロイに関連するメニュー項目を強調表示します。

___

<h4 align="center">
  <b>テンプレート</b> 
  <br>
  <br>

</h4>
<p align="center">
  <img src="https://assets.kitploit.com/production/public/readmes/345/e38f19fa9cc10216030f7856b99170a4ac7c35399c2dd9daf19156a6e9b75e46.png" width="540" title="Redcloud テンプレート">
</p>

___

**簡単に言うと、**

`redcloud.py` は、Dockerで動作する、**攻撃的な活動のための多くのツールテンプレートが事前ロードされた** [Portainer](https://www.portainer.io/) スタックをデプロイします。デプロイ後は、[Webインターフェース](#screenshots)で Redcloud を制御できます。リバースプロキシとして [Traefik](https://traefik.io/) を使用します。システムの `ssh` または `docker-machine` を使用して、ターゲットサーバーに簡単にリモートデプロイできます。
  

* :rocket: 数回のクリックでクラウド上にKaliを起動したいと思ったことはありませんか?  
* :package: ツール、テクニック、ステージ間をクリーンなサイロに分けたいですか?  
* :ambulance: スキャンやC2の健全性を監視したいですか?  
* :fire: フィッシングキャンペーンの設定といったシステム管理タスクをスキップして、より早くpwnしたいですか?  
* :smiling_imp: 理想的な攻撃インフラをどのように構築するか興味がありますか?


Web UIを使用して、各コンテナの監視、管理、**操作**ができます。あなた自身のターミナルと同じように、快適なWebターミナルを使用できます。PortainerのシンプルなUIを使用して、ボリューム、ネットワーク、ポートフォワーディングを作成できます。

データセンター級のインターネットの力で、お気に入りのツールやテクニックをすべてデプロイして管理しましょう :rocket:

___

*次のセクションでは、Redcloudの設計概念についてより詳しく説明します。ただし、内部に踏み込まなくても始めることはできます。*

___

* :book: **目次**
  - [はじめに](#introduction)
  - [機能](#features)
  - [クイックスタート](#quick-start)
  - [詳細](#details)
    - [Redcloudアーキテクチャ](#redcloud-architecture)
    - [デプロイワークフロー](#deployment-workflow)
    - [ネットワーク](#networks)
    - [ボリューム](#volumes)
    - [ターミナルからコンテナにアクセスする](#accessing-containers-from-the-terminal)
    - [ファイルへのアクセス](#accessing-files)
    - [SSL証明書](#ssl-certificates)
    - [Redcloudの停止](#stopping-redcloud)
    - [Portainerアプリテンプレート](#portainer-app-templates)
    - [Traefikリバースプロキシ](#traefik-reverse-proxy)
    - [Redcloudのセキュリティに関する考慮事項](#redcloud-security-considerations)
  - [テスト済みデプロイ候補](#tested-deployment-candidates)
  - [トラブルシューティング](#troubleshooting)
  - [ユースケース](#use-cases)
  - [スクリーンショット](#screenshots)
  - [コントリビューションガイドライン](#contribution-guideline)
  - [Redcloudのホスティング](#hosting-redcloud)
  - [インスピレーションと謝辞](#inspirations--shout-outs)

___

## 詳細

### Redcloudアーキテクチャ

* `redcloud.py`: DockerとPortainerを使用して、Webインターフェースとアプリテンプレートの開始/停止を行います。
* `portainer`: Portainer Webインターフェース。
* `traefik`: Webインターフェース、API、ファイルコンテナへのTraefikリバースプロキシコンテナ。一部のテンプレートは利便性のために事前設定されたルートを持っています。`templates.yml`を参照してください。
* `templates`: App Templatesを提供するpython3 `http.server` コンテナ。「内部」ネットワークに存在します。
* `cert_gen`: 一般的なベストプラクティスを使用してSSL証明書を生成する[omgwtfssl](https://github.com/paulczar/omgwtfssl)コンテナ。
* https://your-server-ip/portainer: デプロイ後のRedcloud Webインターフェース。
* https://your-server-ip/files: Redcloud `redcloud_files` ボリューム。Traefikと同じ `.htpasswd` で保護された `redcloud_log` コンテナのコンテンツにもアクセスできます。デフォルトの認証情報: `admin:Redcloud`
* https://your-server-ip/api: Traefikリバースプロキシのヘルスモニタリングページ。ルート、バックエンド、リターンコードのライブ統計を表示します。Traefikを介して設定されている場合、リバースコールバックインプラントデータも表示します。


### デプロイワークフロー


**Redcloudのデプロイワークフローは以下の通りです:**
1. Redcloudリポジトリをクローン/ダウンロードします。
2. `redcloud.py` を起動します。
3. メニューからデプロイ候補を選択します(ローカル、SSH、docker-machine)。
4. `redcloud.py` は自動的に:
   * ターゲットマシン上の `docker` と `docker-compose` を確認します。
   * 存在しない場合は `docker` と `docker-compose` をインストールします。
   * `docker-compose` を使用してターゲットにWebスタックをデプロイします。
5. デプロイが完了すると、`redcloud.py` がURLを出力します。 https://your-deploy-machine-ip/portainer にアクセスしてください。
6. Webインターフェースからユーザー名/パスワードを設定します。
7. エンドポイントを選択します(リスト内の唯一のもの)。
8. 左側の「App Templates」メニュー項目を使用してテンプレートにアクセスします :rocket:

**アプリテンプレートのデプロイは以下の通りです:**
1. テンプレートを選択します。
2. 追加オプションを追加したい場合は、「+ Show advanced options」を選択します。
3. 必要に応じてポートマッピング、ネットワークオプション、ボリュームマッピングを追加します。
4. 「Deploy the container」を選択します。
5. Portainerがコンテナを起動します。イメージを取得する必要がある場合、数分かかることがあります。サーバーがデータセンターにある場合、この手順は非常に高速です。
6. コンテナが実行中になるはずです :rocket:
7. Portainerは「Containers」ページにリダイレクトします。そこから次のことができます:
   a. ライブコンテナログを表示。
   b. コンテナの詳細を検査(`docker inspect`)。
   c. ライブコンテナ統計(メモリ/CPU/ネットワーク/プロセス)を表示。
   d. Webシェルを使用してコンテナを操作。
   e. アプリテンプレートに応じて、`bash` または `sh` を使用します。ドロップダウンメニューから適切なものを選択します。  


<p align="center">
  <img src="https://assets.kitploit.com/production/public/readmes/345/cf013b73e9bb7dc6f94dafbd31d9d158f7736fc676f94995c64de133ad9bebbe.png" width="540" title="Redcloudメニュー">
</p>

### ネットワーク

Redcloudを使用すると、ネットワークとコンテナを簡単に操作できます。  
異なるドライバーを持つ追加のネットワークを作成し、必要に応じてコンテナを接続できます。Redcloudには2つのネットワーク、`redcloud_default` と `redcloud_inside` が付属しています。

### ボリューム

ボリュームを共有することで、コンテナ間でデータを共有できます。Redcloudには3つのボリュームがあります:

* `certs`: [omgwtfssl](https://github.com/paulczar/omgwtfssl) によって生成された証明書を含むコンテナ。
* `files`: 標準のファイル共有ボリューム。現時点では、https://your-server-ip/files をブラウズするとファイルが利用可能で、Traefikリバースプロキシコンテナが `files` ボリュームから直接提供します。典型的なユースケースは、ボリュームをMetasploitコンテナにアタッチし、ペイロードを直接 `files` ボリュームに生成することです。これで、Traefikを介してファイルサーバールートに直接新しいペイロードを提供できます。
* `logs`: ログ用に利用可能で、ファイルサーバーでも提供されます。アクセスには基本認証が必要です。デフォルトは `admin:Redcloud` です。


### ターミナルからコンテナにアクセスする

デプロイされたコンテナをターミナルで操作したい場合、Dockerを使えば非常に簡単です。以下の点に注意してください:
* ほとんどのコンテナには `bash` がありますが、一部のコンテナは代わりに `sh` を使用します
* Redcloud App Templatesのすべてのコンテナ名は `red_` で始まります(例: `red_msf-postgresql`)
* Dockerでは、`docker exec` または `attach` を使用してコンテナを操作できます
  * `exec` は新しいプロセスを作成するため推奨されます
  * `attach` は実行中のプロセスに直接接続するため、コンテナが停止する可能性があります
* Redcloudを実行している場合:
  * ローカルまたは `docker-machine` を使用している場合、ローカルシェルでこれらのコマンドを入力してください
  * `ssh` を使用している場合、まずデプロイターゲットにSSH接続してから以下のコマンドを実行してください

目的のデプロイ済みコンテナとの操作を開始するには:```bash
> docker exec -it red_container-name /bin/bash
root@70a819ef0e87:/#

次のメッセージが表示された場合、それは bash がインストールされていないことを意味します。その場合は、/bin/bash を /bin/sh に置き換えてください:```bash

docker exec -it red_container-name /bin/bash OCI runtime exec failed: exec failed: container_linux.go:344: starting container process caused "exec: "/bin/bash": stat /bin/bash: no such file or directory": unknown

docker exec -it red_container-name /bin/sh

root@kitploit:~
`docker attach` を使用するには、次のように実行します:```bash
> docker attach red_container-name

attachを使用する場合、コンテナはinteractive modeで起動する必要があります。そうしないと、対話型シェルにアクセスできません。

ファイルへのアクセス

ブラウザでhttps://your-redcloud-ip/filesにアクセスしてください。
詳細についてはfilesボリュームを参照してください。

SSL証明書

Redcloudはデプロイ時に新しい未署名SSL証明書を生成します。
証明書はomgwtfsslによって生成され、ベストプラクティスのほとんどが実装されています。 生成後:

生成された証明書はデフォルトで/certsにダンプされ、標準的なYAML形式でstdoutにも出力されます。そのため、AnsibleやYAMLを使用する他のツールで簡単に利用できます。

証明書はcertsという共有Dockerボリュームに保存されます。コンテナをデプロイする際に「+ Advanced Settings」でこのボリュームを指定すると、コンテナからアクセスできます。Traefikリバースプロキシコンテナは設定ファイルから直接証明書を取得します。これらの証明書を独自のものと交換したい場合は、このボリューム上のファイルを置き換えてください。

また、生成された証明書を他のコンテナ(例えば、EmpireやMetasploitのリバースコールバック用、またはフィッシングキャンペーン用)と共有することもできます。 SSL関連の設定のほとんどはtraefik/traefik.tomlまたはdocker-compose.ymlファイルにあります。

Redcloudの停止

メニューから直接Redcloudを停止できます。
デプロイしたAppテンプレートは、Redcloudを停止する前に手動で停止する必要があります。 PortainerのWebインターフェースまたはdocker rm -f container-nameで停止できます。
Redcloudを実行しているPortainerコンテナを強制的に停止する場合は、redcloud/フォルダ内でdocker-compose killを実行してください。 localとdocker-machineの停止オプションは同じなので、同じオプションに統合されています。

Portainer Appテンプレート

RedcloudはPortainerを使用してDockerエンジンをオーケストレーションし、インターフェースを提供します。Portainer自体は、Dockerデプロイメントをリモートで管理するための素晴らしいプロジェクトです。Portainerには非常に便利なテンプレートシステムも含まれており、これがRedcloudデプロイメントの主要コンポーネントです。
テンプレートは./templates/templates.ymlにあります。Portainerは専用のコンテナ(templates)からテンプレートファイルを取得します。

Traefikリバースプロキシ

Traefikは素晴らしい「クラウドネイティブエッジルーター」です。以前のNGINXリバースプロキシセットアップに取って代わりました。
デプロイ時に、traefik/DockerfileにあるDockerfileを使用してTraefikイメージがビルドされます。これにより、admin:Redcloudの認証情報を持つ.htpasswdが追加されます。

デフォルトのデプロイでは、以下のルートが生成されます:

  • https://your-server-ip/portainer
  • https://your-server-ip/files
  • https://your-server-ip/api

認証は.htaccessデータに基づいて行われます。

Traefik API Webインターフェースから、デプロイしたルートの表示、健全性の監視、リアルタイムメトリクスの確認ができます。非常に便利です。

以下のいずれかを使用して、Traefikにトラフィックをルーティングする場所を指示する追加のラベルを追加できます:

  • traefik/traefik.tomlファイル
  • docker-compose.ymlファイル
  • templates.ymlファイル
  • PortainerのWebインターフェース

詳細については、公式ドキュメントを参照してください。

api

Redcloudのセキュリティに関する考慮事項

Redcloudは自己署名のhttps証明書でデプロイされ、Webコンソールとのすべてのやり取りをプロキシ経由で行います。
ただし、デフォルトのネットワークではコンテナのポートが外部に公開されます。

以下のことができます:

  • 公開ポートを削除し、Dockerネットワーク内のマシンから通常のポートにアクセスする
  • カスタムlabelsを追加して、Traefikでルートを作成する。docker-compose.ymlファイルを参考にしてください。
  • テンプレートからnoVNC(HTTP経由のVNC)を使用したUbuntuまたはKaliを起動し、「内部」と「外部」の両方のネットワークに追加して、内部から公開インターフェースにアクセスする。
  • .htaccess設定を追加する

さらに:

  • dockerおよびdocker-machineのインストールにはroot権限が必要です。公式ドキュメントに従って権限を下げることができます。
  • インストールスクリプトは公式のDockerリポジトリから直接取得されます。
  • redcloud.pyはicanhazip.comを使用してRedcloudのパブリックIPアドレスを取得します。

テスト済みデプロイ候補

デプロイターゲットステータス
Ubuntu Bionic✔️
Ubuntu Xenial✔️
Debian Strech✔️

トラブルシューティング

  • python --versionでデフォルトのPythonバージョンを確認してください。RedcloudにはPython 3以上が必要です。
  • 古いシステムの場合はpythonの代わりにpython3を使用してください。
  • redcloud.pyは、デプロイ候補の.ssh/authorized_keysに公開鍵があり、ユーザーの公開鍵を使用してパスワードなしの認証が行われる必要があります。これはほとんどのVPSワークフローのデフォルト設定です。
  • docker-machineデプロイでは、ユーザーがクラウドインフラストラクチャ(AWS、GCP、Linodeなど)上で既に実行中のdocker-machineを持っている必要があります。デプロイ後は、上記のようにevalコマンドを実行するだけです。
  • dockerおよびdocker-machineのインストールにはroot権限が必要です。公式ドキュメントに従って権限を下げることができます。
  • デプロイ直後に「App Templates」メニュー項目が表示されない場合は、Webページを更新し、エンドポイント選択メニューにいないことを確認してください。
  • 新しいユーザー名/パスワードの組み合わせを作成したい場合は、デプロイ候補のPortainer永続データを削除してください:rm -rf /opt/portainer/data
  • Pythonエラーが発生した場合は、debian/ubuntuベースのシステムでapt-get install python3-distutilsを使用してpython3-distutilsパッケージをインストールする必要があるかもしれません。

ユースケース

  • 自分専用のペンテストラボを作成し、友人や同僚とハッキングスキルを練習する。
  • ハニーポットを使用して攻撃インフラを保護する。
  • リバースインプラントのロードバランシング、地理的に分散したサーバー、多層運用を備えたAPTインフラを再現する。
  • MetasploitやEmpireでペイロード生成を自動化し、gscriptでAVバイパスを行い、/files/URIを介して即座に提供する。
  • 競合他社よりもはるかに速くバグバウンティパイプラインを実行する。
    • 新しいバグバウンティが投稿されたときにPortainer APIを使用してSniperを起動し、/files/URIを使用してログを取得する。
  • リバースプロキシを使用してMetasploitやEmpireを隠す。
  • 自分のTorソックスプロキシの背後でスキャンを実行する。
  • TorソックスとUbuntu VNCを使用して.onionサイトを表示する。
  • SpiderfootとTorコンテナをプロキシとして使用した高度なOSINT。

スクリーンショット

  • テンプレートリスト

  • コンテナのデプロイ

  • Webインターフェースを介したMetasploitのmsfconsoleの使用

  • Traefikのリバースプロキシルートに関するリアルタイムデータ

  • sshを使用したデプロイ


コントリビューションガイドライン

あらゆる助けを歓迎します。これはサイドプロジェクトなので、おそらくいくつかのボルトやネジが不足しています。とりわけ:

  • Redcloudのバグや不具合の報告や修正。
  • テンプレートの追加。可能な限り、作成者のDocker Hubリポジトリから、クリーンな状態で追加してください。
  • ドキュメントの追加。
  • ブログ記事でのユースケースの詳細化。ここにブログ投稿へのリンクを追加しますので、作成した場合は必ず連絡してください! ✌️
  • より多くのテンプレートへのTraefikの統合。例えば、spiderfootやubuntu novncでは現在問題が発生しています。
  • タイポのIssue報告。(プルリクエストはご遠慮ください)

Redcloudのホスティング

RedcloudはDockerが動作する任意のUnixサーバーでホストできます。
Redcloudはクラウド環境での使用を想定しており、sshが使えるシンプルなVPSや、AWS EC2、GCPなどでも問題ありません。

多くのクラウドプロバイダーが、自社のサービスに慣れるための無料クレジットを提供しています。主要ベンダーから無料ホスティングクレジットを入手する方法をカバーしたリストやチュートリアルが多数あります。このリストは良い出発点です。

デプロイ方法としては、私は個人的にdocker-machineを使用するのを好みます。クラウドプロバイダーのドライバーセットアップが完了すれば、新しいマシンを生成して管理するのが非常に簡単になるからです。sshを使用する場合は、evilsocketのshellzプロジェクトを見て、キーとプロファイルを管理することをお勧めします。


インスピレーションと謝辞

  • Red Team Infrastructure Wiki - bluscreenofjeff

  • Automated Red Team Infrastructure Guide - rastamouse

  • Safe Red Team Infrastructure - Tim MalcomVetter

  • Red Baron - Coalfire Research

  • Rapid Attack Infrastructure - Obscurity Labs

  • Decker - Steven Aldinger

  • hideNsneak - Mike Hodges

  • @Ullaakut - ロゴの作成。彼のリポジトリもぜひチェックしてください!


最後に、ツールの統合をご希望の場合は、Twitterでご連絡ください。このプロジェクトは私の自由時間に維持されています。今後の機能についてはdevブランチをご確認ください。
Redcloudはもともと、情報セキュリティの学生向けのトレーニング環境のデプロイを容易にするために開発されました。


このプロジェクトの最新情報を受け取りたい場合:

twitter

ツールをダウンロード
  • Appテンプレートをデプロイする際に「container name already exists」というエラーが表示された場合、以前にデプロイしたものを削除せずに同じAppテンプレートをデプロイしようとしている可能性があります。同じ名前の古いコンテナを削除するか、新しいコンテナの名前を変更してください。
  • コンテナに問題があると思われる場合、標準的な手順はWebインターフェースからコンテナのログを確認することです。
  • OSXでローカルデプロイを実行する場合、portainerはデフォルトのボリュームロケーション/opt/を使用できません。これを解決するには、docker-compose.ymlファイルを開き、/opt/portainer/data:/dataを書き込みアクセス可能なフォルダ(例:/tmp/portainer/:/data)に置き換え、Redcloudを実行する前に/tmp/portainerディレクトリを作成してください。
  • Webターミナルに問題がある場合は、一部のアドオンを無効にしたり、プライベートブラウジングを使用したり、別のブラウザを試してみてください。それでも解決しない場合は、ターミナルからコンテナに接続してください。