
Automatisierte Bereitstellung von Red-Team-Infrastruktur mit Docker
Frühe Veröffentlichung. Folge mir auf Twitter, um über die Entwicklung von Redcloud auf dem Laufenden zu bleiben.
💁☁️🐚🌱
Schnellstart - Architektur - Anwendungsfälle - Screenshots
Redcloud ist eine leistungsstarke und benutzerfreundliche Toolbox zur Bereitstellung einer voll ausgestatteten Red Team Infrastruktur mittels Docker. Nutze die Geschwindigkeit der Cloud für deine Werkzeuge. Bereitstellung in Minuten. Verwende und verwalte sie mit ihrer ansprechenden Weboberfläche.
Ideal für Penetrationstests, Schießstände, Red Teaming und Bug Bounties!
Hoste deine Angriffsinfrastruktur mühelos selbst und setze deine eigene live, skalierbare und resiliente offensive Infrastruktur in wenigen Minuten auf.
Die folgende Demo zeigt die Bereitstellung von Redcloud via SSH, gefolgt von Metasploit. Wir betrachten dann Traefik und ein live an Metasploit angehängtes Volume. Abschließend überprüfen wir, ob die Metasploit-Datenbank mit dem Webterminal funktioniert, löschen den Container und beenden Redcloud.
Einrichtung:```bash
cat ~/.ssh/id_rsa.pub | ssh root@your-deploy-target-ip 'cat >> .ssh/authorized_keys'
eval (docker-machine env default)
python --version
Bereitstellen:```bash
> git clone https://github.com/khast3x/redcloud.git
> cd redcloud
> python redcloud.py
Redcloud verwendet PyYAML, um die Liste der verfügbaren Vorlagen auszugeben. Es ist auf den meisten Systemen standardmäßig installiert.
Falls nicht, führen Sie einfach aus:```bash
pip install -r requirements.txt
Redcloud hat 3 verschiedene Bereitstellungsmethoden:
1. **Lokal**
2. **Remote per SSH**. Erfordert, dass sich Ihr öffentlicher Schlüssel in der `authorized_keys`-Datei Ihres Ziels befindet.
3. **Remote per docker-machine**. Führen Sie die Zeile `eval (docker-machine env deploy_target)` aus, um Ihre Umgebung mit Ihrer docker-machine vorzuladen, und führen Sie `redcloud.py` aus. Redcloud sollte Ihre docker-machine automatisch erkennen und Menüpunkte hervorheben, die für eine docker-machine-Bereitstellung relevant sind.
___
<h4 align="center">
<b>Vorlagen</b>
<br>
<br>
</h4>
<p align="center">
<img src="https://assets.kitploit.com/production/public/readmes/345/e38f19fa9cc10216030f7856b99170a4ac7c35399c2dd9daf19156a6e9b75e46.png" width="540" title="Redcloud Vorlagen">
</p>
___
**Kurz gesagt,**
`redcloud.py` stellt einen [Portainer](https://www.portainer.io/) Stack bereit, **der mit vielen Tool-Vorlagen für Ihre Offensiv-Einsätze vorinstalliert ist**, basierend auf Docker. Nach der Bereitstellung steuern Sie Redcloud mit der [Weboberfläche](#screenshots). Verwendet [Traefik](https://traefik.io/) als Reverse-Proxy. Einfacher Remote-Einsatz auf Ihrem Zielserver mit systemeigenem `ssh` oder `docker-machine`.
* :rocket: Wollten Sie schon immer mit nur wenigen Klicks ein Kali in der Cloud starten?
* :package: Saubere Silos zwischen Ihren Tools, Techniken und Phasen haben?
* :ambulance: Überwachen Sie die Gesundheit Ihrer Scans und C2?
* :fire: Überspringen Sie die Sysadmin-Aufgaben für die Einrichtung einer Phishing-Kampagne und pwnen Sie schneller?
* :smiling_imp: Neugierig, wie Sie *die* ideale Angriffsinfrastruktur aufbauen würden?
Verwenden Sie die Weboberfläche, um jeden Container zu überwachen, zu verwalten und **mit ihm zu interagieren**. Nutzen Sie das flinke Web-Terminal genau wie Ihr eigenes. Erstellen Sie Volumes, Netzwerke und Portweiterleitungen mit Portainers einfacher Benutzeroberfläche.
Stellen Sie alle Ihre Lieblingswerkzeuge und -techniken mit der Leistung von Rechenzentrums-Internet bereit und verwalten Sie sie :rocket:
___
*Im folgenden Abschnitt gehen wir näher auf die Designkonzepte von Redcloud ein. Sie können jedoch auch loslegen, ohne sich eingehend damit befassen zu müssen.*
___
* :book: **Inhaltsverzeichnis**
- [Einleitung](#introduction)
- [Funktionen](#features)
- [Schnellstart](#quick-start)
- [Details](#details)
- [Redcloud-Architektur](#redcloud-architecture)
- [Bereitstellungsworkflow](#deployment-workflow)
- [Netzwerke](#networks)
- [Volumes](#volumes)
- [Zugriff auf Container vom Terminal aus](#accessing-containers-from-the-terminal)
- [Zugriff auf Dateien](#accessing-files)
- [SSL-Zertifikate](#ssl-certificates)
- [Redcloud stoppen](#stopping-redcloud)
- [Portainer-App-Vorlagen](#portainer-app-templates)
- [Traefik Reverse-Proxy](#traefik-reverse-proxy)
- [Sicherheitsaspekte von Redcloud](#redcloud-security-considerations)
- [Getestete Bereitstellungskandidaten](#tested-deployment-candidates)
- [Fehlerbehebung](#troubleshooting)
- [Anwendungsfälle](#use-cases)
- [Screenshots](#screenshots)
- [Beitragsrichtlinie](#contribution-guideline)
- [Redcloud hosten](#hosting-redcloud)
- [Inspirationen & Danksagungen](#inspirations--shout-outs)
___
## Details
### Redcloud-Architektur
* `redcloud.py`: Startet/Stoppt die Weboberfläche und die App-Vorlagen mithilfe von Docker und Portainer.
* `portainer`: Weboberfläche von Portainer.
* `traefik`: Traefik Reverse-Proxy-Container für die Weboberfläche, API und Datei-Container. Einige Vorlagen haben vorkonfigurierte Routen zur Vereinfachung. Siehe `templates.yml`.
* `templates`: python3 `http.server` Container, der die App-Vorlagen bereitstellt. Befindet sich in einem "inside"-Netzwerk.
* `cert_gen`: Der [omgwtfssl](https://github.com/paulczar/omgwtfssl) Container, der die SSL-Zertifikate nach gängigen Best Practices generiert.
* https://your-server-ip/portainer: Weboberfläche von Redcloud nach der Bereitstellung.
* https://your-server-ip/files: Redcloud `redcloud_files` Volume. Sie können auch auf den Inhalt des `redcloud_log` Containers zugreifen, der durch dasselbe `.htpasswd` wie Traefik geschützt ist. Standard-Anmeldedaten: `admin:Redcloud`
* https://your-server-ip/api: Traefik Reverse-Proxy Health-Monitoring-Seite. Zeigt Live-Statistiken zu Routen, Backends, Rückgabecodes. Zeigt auch Reverse-Callback-Implantat-Daten an, falls über Traefik konfiguriert.
### Bereitstellungsworkflow