Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
Redcloud — Deploy automatizzato di infrastruttura Red Team utilizzando Docker | Kitploit
Strumenti/GitHubGitHub/khast3x/redcloud
Frameworks per Penetration TestingSicurezza dei ContenitoriFramework di ExploitRed Teaming
GitHubkhast3x/redcloud

Redcloud

Deploy automatizzato di infrastruttura Red Team utilizzando Docker

Vedi Repository
1.3k2043 anni faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

Bollettino meteorologico. Nuvoloso con possibilità di shell!

Versione anticipata. Seguimi su Twitter per rimanere aggiornato sullo sviluppo di Redcloud.
💁☁️🐚🌱


Avvio Rapido - Architettura - Casi d'uso - Screenshot


Introduzione

Redcloud è un toolbox potente e facile da usare per distribuire una Infrastruttura Red Team completa utilizzando Docker. Sfrutta la velocità del cloud per i tuoi strumenti. Si distribuisce in pochi minuti. Usalo e gestiscilo con la sua interfaccia web raffinata.

Ideale per i tuoi test di penetrazione, shooting range, red teaming e bug bounty!

Ospita la tua infrastruttura di attacco senza problemi, distribuisci la tua infrastruttura offensiva live, scalabile e resiliente in pochi minuti.

Demo

La seguente demo mostra la distribuzione di Redcloud tramite SSH, seguita da Metasploit. Osserviamo quindi Traefik e un volume live collegato a Metasploit. Infine, verifichiamo che il database di Metasploit sia funzionante con il terminale web, eliminiamo il contenitore e terminiamo Redcloud.


Funzionalità

  • Distribuisci Redcloud in locale o in remoto utilizzando le funzioni SSH integrate, e anche docker-machine.
  • Distribuisci Metasploit, Empire, GoPhish, target vulnerabili, un Kali completamente equipaggiato e molti altri con pochi clic.
  • Monitora e gestisci la tua infrastruttura con una bella interfaccia web.
  • Distribuisci reindirizzamenti, proxy socks o Tor per tutti i tuoi strumenti.
  • Gestione della rete e condivisione dei volumi senza problemi.
  • Gestione di utenti e password.
  • Terminale web
  • Molto comodo in generale 🐣

Avvio Rapido```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:~
Distribuzione:```bash
> git clone https://github.com/khast3x/redcloud.git
> cd redcloud
> python redcloud.py

Redcloud usa PyYAML per stampare l'elenco dei template disponibili. È installato di default sulla maggior parte dei sistemi.
In caso contrario, esegui semplicemente:```bash

Use pip3 if default python version is 2.x

pip install -r requirements.txt

root@kitploit:~
Redcloud ha 3 diversi metodi di distribuzione:
1. **Localmente**
2. **Remotamente, usando ssh**. Richiede di avere la propria chiave pubblica nel file `authorized_keys` del target.
3. **Remotamente, usando docker-machine**. Esegui il comando `eval (docker-machine env deploy_target)` per precaricare il tuo ambiente con il tuo docker-machine, e avvia `redcloud.py`. Redcloud dovrebbe rilevare automaticamente il tuo docker-machine e evidenziare gli elementi del menu rilevanti per una distribuzione tramite docker-machine.

___

<h4 align="center">
  <b>Modelli</b> 
  <br>
  <br>

</h4>
<p align="center">
  <img src="https://assets.kitploit.com/production/public/readmes/345/e38f19fa9cc10216030f7856b99170a4ac7c35399c2dd9daf19156a6e9b75e46.png" width="540" title="Modelli Redcloud">
</p>

___

**In breve,**

`redcloud.py` distribuisce uno stack di [Portainer](https://www.portainer.io/), **precaricato con molti modelli di strumenti per le tue operazioni offensive**, basato su Docker. Una volta distribuito, controlla Redcloud tramite l'[interfaccia web](#screenshots). Utilizza [Traefik](https://traefik.io/) come reverse-proxy. Distribuzione remota facile sul tuo server target utilizzando `ssh` di sistema o `docker-machine`. 
  

* :rocket: Hai mai desiderato avviare un Kali nel cloud con pochi clic?  
* :package: Avere silos puliti tra i tuoi strumenti, tecniche e fasi?  
* :ambulance: Monitorare la salute delle tue scansioni e del C2?  
* :fire: Saltare quelle attività di amministrazione di sistema per impostare una campagna di phishing e ottenere pwning più velocemente?  
* :smiling_imp: Curioso di come costruiresti *l'*infrastruttura d'attacco ideale?


Usa l'interfaccia web per monitorare, gestire e **interagire con ogni contenitore**. Usa il terminale web scattante proprio come faresti con il tuo. Crea volumi, reti e inoltri di porta utilizzando la semplice interfaccia di Portainer.

Distribuisci e gestisci tutti i tuoi strumenti e tecniche preferiti con la potenza di Internet di livello data center :rocket:

___

*Nella sezione seguente, approfondiremo i concetti di design di Redcloud. Puoi iniziare senza doverti immergere, comunque.*

___

* :book: **Indice dei contenuti**
  - [Introduzione](#introduction)
  - [Caratteristiche](#features)
  - [Avvio rapido](#quick-start)
  - [Dettagli](#details)
    - [Architettura di Redcloud](#redcloud-architecture)
    - [Flusso di lavoro della distribuzione](#deployment-workflow)
    - [Reti](#networks)
    - [Volumi](#volumes)
    - [Accesso ai contenitori dal terminale](#accessing-containers-from-the-terminal)
    - [Accesso ai file](#accessing-files)
    - [Certificati SSL](#ssl-certificates)
    - [Arresto di Redcloud](#stopping-redcloud)
    - [Modelli di app di Portainer](#portainer-app-templates)
    - [Reverse-proxy Traefik](#traefik-reverse-proxy)
    - [Considerazioni sulla sicurezza di Redcloud](#redcloud-security-considerations)
  - [Candidati di distribuzione testati](#tested-deployment-candidates)
  - [Risoluzione dei problemi](#troubleshooting)
  - [Casi d'uso](#use-cases)
  - [Screenshot](#screenshots)
  - [Linee guida per i contributi](#contribution-guideline)
  - [Hosting di Redcloud](#hosting-redcloud)
  - [Ispirazioni e ringraziamenti](#inspirations--shout-outs)

___

## Dettagli

### Architettura di Redcloud

* `redcloud.py`: Avvia/Arresta l'interfaccia web e i modelli di app, utilizzando Docker e Portainer.
* `portainer`: Interfaccia web di Portainer.
* `traefik`: Container reverse-proxy Traefik per l'interfaccia web, i contenitori api e files. Alcuni modelli hanno rotte preconfigurate per comodità. Vedi il file `templates.yml`. 
* `templates`: Container python3 `http.server` che alimenta i modelli di app. Vive in una rete "interna".
* `cert_gen`: Il container [omgwtfssl](https://github.com/paulczar/omgwtfssl) che genera i certificati SSL utilizzando le migliori pratiche comuni.
* https://your-server-ip/portainer: Interfaccia web di Redcloud dopo la distribuzione.
* https://your-server-ip/files: Volume `redcloud_files` di Redcloud. Puoi anche accedere al contenuto del container `redcloud_log`, protetto dallo stesso `.htpasswd` di Traefik. Credenziali predefinite: `admin:Redcloud`
* https://your-server-ip/api: Pagina di monitoraggio della salute del reverse-proxy Traefik. Mostra statistiche in tempo reale su rotte, backend, codici di ritorno. Mostrerà anche i dati degli implant di callback inverso se configurati tramite Traefik.


### Flusso di lavoro della distribuzione


**Il flusso di lavoro della distribuzione di Redcloud è il seguente:**
1. Clona/Scarica il repository di Redcloud.
2. Avvia `redcloud.py`.
3. Scegli il candidato di distribuzione dal menu (locale, ssh, docker-machine).
4. `redcloud.py` automaticamente:
   *  verifica la presenza di `docker` e `docker-compose` sulla macchina target.
   *  installa `docker` e `docker-compose` se assenti.
   *  distribuisce lo stack web sul target utilizzando `docker-compose`.
5. Una volta completata la distribuzione, `redcloud.py` restituirà l'URL. Vai su https://your-deploy-machine-ip/portainer.
6. Imposta nome utente/password dall'interfaccia web.
7. Seleziona l'endpoint (l'unico nell'elenco).
8. Accedi ai modelli tramite la voce di menu "App Templates" a sinistra :rocket:

**La distribuzione di un modello di app è la seguente:**
1. Scegli un modello.
2. Se desideri aggiungere opzioni aggiuntive, seleziona "+ Show advanced options".
3. Aggiungi mappatura delle porte, opzioni di rete e mappatura dei volumi come preferisci.
4. Seleziona "Deploy the container".
5. Portainer avvierà il container. Potrebbero essere necessari alcuni minuti se deve scaricare l'immagine. Se il tuo server è in un data center, questo passaggio sarà molto veloce.
6. Il container dovrebbe essere in esecuzione :rocket:
7. Portainer ti reindirizzerà alla pagina "Containers". Da lì, puoi:  
   a. Visualizzare i log in tempo reale del container.  
   b. Ispezionare i dettagli del container (`docker inspect`).  
   c. Visualizzare le statistiche in tempo reale del container (memoria/cpu/rete/processi).  
   d. Utilizzare una web shell per interagire con il tuo container.  
   e. A seconda del modello di app, utilizzare `bash` o `sh`. Scegli di conseguenza dal menu a discesa.  


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

### Reti

Redcloud rende facile giocare con reti e contenitori.  
Puoi creare reti aggiuntive con driver diversi e collegare i tuoi contenitori come preferisci. Redcloud viene fornito con 2 reti, `redcloud_default` e `redcloud_inside`.

### Volumi

Puoi condividere dati tra contenitori condividendo volumi. Redcloud viene fornito con 3 volumi:

* `certs`: Container con i certificati generati da [omgwtfssl](https://github.com/paulczar/omgwtfssl).
* `files`: Volume di condivisione file standard. Per ora, i file sono disponibili navigando su https://your-server-ip/files, e vengono serviti dal container reverse-proxy Traefik direttamente dal volume `files`. Un caso d'uso tipico è collegare il volume a un container Metasploit, generare il payload direttamente nel volume `files`. Ora puoi servire il tuo nuovo payload direttamente attraverso Traefik alla route del file server.
* `logs`: Disponibile per i log, servito anche dal file server. L'accesso richiede l'autenticazione di base. Il valore predefinito è `admin:Redcloud`.


### Accesso ai contenitori dal terminale

Se desideri rimanere nel tuo terminale per lavorare con i contenitori distribuiti, è molto facile usando Docker. Tieni presente queste cose:
* La maggior parte dei contenitori ha `bash`, ma alcuni usano `sh` invece
* Tutti i nomi dei contenitori dei modelli di app di Redcloud iniziano con `red_`, come `red_msf-postgresql`
* Con Docker, puoi usare `docker exec` o `attach` per interagire con un contenitore
  * `exec` è preferito perché crea un nuovo processo
  * `attach` ti porta direttamente sul processo in esecuzione, potenzialmente uccidendo il contenitore in esecuzione
* Se esegui Redcloud:
  * Localmente o usando `docker-machine`, digita semplicemente questi comandi nella tua shell locale
  * Usando `ssh`, prima accedi via ssh al tuo target di distribuzione per eseguire i seguenti comandi

Per iniziare a interagire con il contenitore desiderato:```bash
> docker exec -it red_container-name /bin/bash
root@70a819ef0e87:/#

Se vedi il seguente messaggio, significa che bash non è installato. In tal caso sostituisci semplicemente /bin/bash con /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:~
Per usare `docker attach`, esegui semplicemente:```bash
> docker attach red_container-name

Se usi attach, il container deve essere avviato in modalità interattiva, in modo da accedere a una shell interattiva.

Accesso ai file

Punta il browser su https://your-redcloud-ip/files.
Fai riferimento al volume files per maggiori informazioni.

Certificati SSL

Redcloud genera un nuovo certificato SSL non firmato durante il deployment.
Il certificato è generato da omgwtfssl, implementando la maggior parte delle best practice. Una volta generato:

Scaricherà i certificati generati in /certs di default e li visualizzerà in stdout in una forma YAML standard, rendendoli facili da consumare in Ansible o altri strumenti che usano YAML.

I certificati sono memorizzati in un volume docker condiviso chiamato certs. I tuoi container possono accedere a questo volume se lo indichi in "+ Impostazioni avanzate" durante il deployment. Il proxy inverso Traefik recupera i certificati direttamente dal suo file di configurazione. Se desideri sostituire questi certificati con i tuoi, è sufficiente sostituirli in questo volume.

Ciò significa anche che puoi condividere i certificati generati in altri container, come Empire o Metasploit per i tuoi callback inversi, o per una campagna di phishing. La maggior parte delle configurazioni relative a SSL si trovano in traefik/traefik.toml o nel file docker-compose.yml.

Arresto di Redcloud

Puoi fermare Redcloud direttamente dal menu.
I modelli di App distribuiti devono essere fermati manualmente prima di fermare Redcloud. Puoi fermarli usando l'interfaccia web di Portainer, o docker rm -f nome-container.
Se desideri forzare l'arresto dei container Portainer che eseguono Redcloud, esegui semplicemente docker-compose kill all'interno della cartella redcloud/. L'opzione di arresto locale e docker-machine è la stessa, quindi sono combinate nella stessa opzione.

Modelli di App Portainer

Redcloud utilizza Portainer per orchestrare e interfacciarsi con il motore Docker. Portainer di per sé è un progetto fantastico per gestire deployment Docker da remoto. Portainer include anche un comodo sistema di template, che è il componente principale per il nostro deployment Redcloud.
I template si trovano in ./templates/templates.yml. Portainer recupera il file dei template da un container dedicato (templates).

Proxy inverso Traefik

Traefik è un meraviglioso "edge router nativo del cloud". Ha sostituito il precedente setup con proxy inverso NGINX.
Un'immagine Traefik viene costruita durante il deployment, utilizzando il Dockerfile situato in traefik/Dockerfile. Aggiunge un .htpasswd con le credenziali admin:Redcloud.

Per impostazione predefinita, il deployment genera le seguenti rotte:

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

Le autenticazioni si basano sui dati di .htaccess.

Dall'interfaccia web di Traefik, puoi visualizzare le tue rotte deployate, monitorare lo stato e le metriche in tempo reale. È molto comodo.

Puoi aggiungere etichette aggiuntive che dicono a Traefik dove instradare il traffico, utilizzando:

  • il file traefik/traefik.toml
  • il file docker-compose.yml
  • il file templates.yml
  • l'interfaccia web di Portainer

Vedi la documentazione ufficiale per maggiori informazioni.

api

Considerazioni sulla sicurezza di Redcloud

Redcloud si deploya con un certificato https autofirmato e proxy tutte le interazioni con la console web attraverso di esso.
Tuttavia, la rete di default espone le porte dei tuoi container al mondo esterno.

Puoi:

  • Rimuovere le porte esposte e accedere alla porta normale da una macchina all'interno della rete docker
  • Aggiungere labels personalizzate per creare rotte con Traefik. Vedi il file docker-compose.yml come ispirazione.
  • Avviare un Ubuntu o Kali con noVNC (VNC via http) dai template, aggiungerlo sia a una rete "interna" che "esterna", e accedere alle interfacce esposte dall'interno.
  • Aggiungere configurazioni .htaccess

Inoltre:

  • Le installazioni di docker e docker-machine richiedono privilegi di root. Puoi ridurre i requisiti di privilegio seguendo la documentazione ufficiale.
  • Lo script di installazione viene scaricato direttamente dai repository ufficiali di docker.
  • redcloud.py recupera l'indirizzo IP pubblico di Redcloud usando icanhazip.com.

Candidate al deployment testati

Target di deploymentStato
Ubuntu Bionic✔️
Ubuntu Xenial✔️
Debian Stretch✔️

Risoluzione dei problemi

  • Controlla la versione di default di Python con python --version. Redcloud necessita di Python 3+.
  • Usa python3 invece di python su sistemi più vecchi.
  • redcloud.py richiede che il candidato al deployment abbia la chiave pubblica in .ssh/authorized_keys e gestisce l'autenticazione senza password usando la chiave pubblica dell'utente. Questa è la configurazione predefinita per la maggior parte dei flussi di lavoro VPS.
  • Il deployment con docker-machine richiede che l'utente abbia già una docker-machine in esecuzione su un'infrastruttura cloud (come AWS, GCP, Linode e molti altri). Una volta deployato, esegui semplicemente il comando eval come illustrato sopra.
  • Le installazioni di docker e docker-machine richiedono privilegi di root. Puoi ridurre i requisiti di privilegio seguendo la documentazione ufficiale.
  • Se non vedi la voce "App Templates" subito dopo il deployment, aggiorna la pagina web e assicurati di non essere nel menu di selezione degli endpoint.
  • Se desideri creare una nuova coppia username/password, rimuovi i dati persistenti di Portainer sul candidato al deployment: rm -rf /opt/portainer/data

Casi d'uso

  • Crea il tuo laboratorio personale di pentest e pratica le tue abilità di hacking con amici e colleghi.
  • Proteggi la tua infrastruttura offensiva usando honeypot.
  • Ricrea un'infrastruttura APT con bilanciamento del carico degli impianti inversi, server distribuiti geograficamente e operazioni multilivello.
  • Automatizza la generazione di payload con Metasploit o Empire, evasione AV con gscript, serviti istantaneamente tramite l'URI /files/.
  • Esegui le tue pipeline di bug-bounty molto più velocemente della concorrenza.
    • Lancia Sniper usando l'API di Portainer quando viene pubblicato un nuovo bug-bounty, recupera i log usando l'URI /files/.
  • Usa il proxy inverso per coprire Metasploit o Empire.
  • Lancia scansioni dietro il tuo proxy socks Tor.
  • Visualizza siti .onion usando Tor socks + Ubuntu VNC.
  • OSINT avanzato con Spiderfoot e un container Tor come proxy.

Screenshot

  • Lista dei Template

  • Deployment di un container

  • Utilizzo di msfconsole di Metasploit attraverso l'interfaccia web

  • Dati in tempo reale di Traefik sulle rotte del proxy inverso

  • Deployment tramite ssh


Linee guida per i contributi

Ogni aiuto è apprezzato. Questo è un progetto parallelo, quindi probabilmente mancano qualche bullone e qualche vite. Soprattutto:

  • Segnalare o risolvere bug e stranezze di Redcloud.
  • Aggiungere template. Si prega di mantenerli puliti e, se possibile, dal repository docker hub del creatore.
  • Aggiungere documentazione.
  • Dettagliare casi d'uso in articoli di blog. Aggiungerò qui i link ai post del blog, quindi assicurati di contattarmi se ne fai uno! ✌️
  • Integrare Traefik con più template. Attualmente ho problemi con il template spiderfoot e ubuntu novnc, per esempio.
  • Refusi come issue. (nessuna pull request per favore)

Ospitare Redcloud

Puoi ospitare Redcloud su qualsiasi server Unix che esegua Docker.
Redcloud è pensato per essere usato in un ambiente cloud, come un semplice VPS con ssh, o anche un AWS EC2, GCP, ecc...

Una vasta gamma di provider cloud offrono crediti gratuiti per familiarizzare con i loro servizi. Molte liste e tutorial coprono come ottenere crediti di hosting gratuiti dai principali fornitori. Questa lista è un buon punto di partenza.

Per quanto riguarda il metodo di deployment, personalmente preferisco lavorare con docker-machine poiché diventa estremamente facile creare nuove macchine e gestirle una volta configurato il driver del tuo provider cloud. Se preferisci usare ssh, dai un'occhiata al progetto shellz di evilsocket per gestire le tue chiavi e profili.


Ispirazioni e ringraziamenti

  • 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 per il logo - Assicurati di dare un'occhiata al suo repo!


Infine, se desideri vedere il tuo strumento integrato, contattami su Twitter. Questo progetto è mantenuto nel mio tempo libero. Tieni d'occhio il branch dev per le prossime funzionalità.
Redcloud è stato originariamente sviluppato per facilitare il deployment di ambienti di formazione per studenti di infosec.


Se desideri rimanere aggiornato su questo progetto:

twitter

Scarica lo strumento
  • Se incontri errori Python, potresti dover installare il pacchetto python3-distutils usando apt-get install python3-distutils su base debian/ubuntu.
  • Se ottieni un errore durante il deployment di un App Template che dice "il nome container esiste già", probabilmente stai cercando di deployare lo stesso App Template senza aver rimosso uno precedentemente deployato. Rimuovi semplicemente il vecchio container con lo stesso nome, o cambia il nome del nuovo container.
  • Se qualcosa sembra non funzionare con il tuo container, la procedura standard è controllare i log del container dall'interfaccia web.
  • Se esegui un deployment locale su OSX, portainer non sarà in grado di usare la sua posizione di volume predefinita /opt/. Per risolvere, apri il file docker-compose.yml, sostituisci /opt/portainer/data:/data con una cartella con permessi di scrittura, ad esempio: /tmp/portainer/:/data e crea la directory /tmp/portainer prima di eseguire Redcloud.
  • Se hai problemi con il terminale web, prova a disabilitare alcuni addon, usa la navigazione privata, o prova con un browser diverso. Se tutto fallisce, connettiti al tuo container tramite il terminale.