Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
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
pupy — Pupy est un RAT (Outil d'Administration à Distance) open source, multi-plateforme (Windows, Linux, OSX, Android) et multifonction, principalement écrit en python. Il propose un principe d'exécution entièrement en mémoire et laisse une très faible empreinte. Pupy peut communiquer via différents transports, migrer dans des processus (injection réflective), charger du code python distant, des paquets python et des extensions C python depuis la mémoire. | Kitploit
Outils/GitHubGitHub/alessandroz/pupy
Cassage de Mots de PasseEscalade de PrivilègesGénération de PayloadsMécanismes de PersistanceMouvement LatéralExfiltration de DonnéesPost-ExploitationTests d'IntrusionCommandement et ContrôleOutil d'Accès à Distance
GitHub
913469il y a 8 ansVérifié par Kitploit

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 →

À propos

Pupy est un RAT (Outil d'Administration à Distance) open source, multi-plateforme (Windows, Linux, OSX, Android) et multifonction, principalement écrit en python. Il propose un principe d'exécution entièrement en mémoire et laisse une très faible empreinte. Pupy peut communiquer via différents transports, migrer dans des processus (injection réflective), charger du code python distant, des paquets python et des extensions C python depuis la mémoire.

alessandroz/pupy

pupy

Voir le dépôt
Partager

Build Status

Pupy

Pupy est un RAT (outil d'administration à distance) et un outil de post-exploitation opensource, multiplateforme (Windows, Linux, OSX, Android), principalement écrit en python. Il dispose d'un principe d'exécution entièrement en mémoire et laisse une très faible empreinte. Pupy peut communiquer via différents transports, migrer dans des processus (injection réflective), charger du code python distant, des paquets python et des extensions C python depuis la mémoire.
Les modules de Pupy peuvent accéder de manière transparente aux objets python distants en utilisant rpyc pour effectuer diverses tâches interactives.
Pupy peut générer des payloads dans de multiples formats comme des exécutables PE, des DLL réflectives, des fichiers python purs, powershell, apk, ... Lorsque vous empaquetez un payload, vous pouvez choisir un launcher (connect, bind, ...), un transport (ssl, http, rsa, obfs3, scramblesuit, ...) et un certain nombre de "scriptlets". Les scriptlets sont des scripts python destinés à être embarqués pour effectuer diverses tâches hors ligne (sans nécessiter de session), comme démarrer un script en arrière-plan, ajouter de la persistance, démarrer un keylogger, détecter un sandbox, ...

Installation

git clone https://github.com/n1nj4sec/pupy.git pupy
cd pupy
git submodule init
git submodule update
pip install -r pupy/requirements.txt

ou Reportez-vous au wiki

Fonctionnalités

  • Multiplateforme (testé sur windows xp, 7, 8, 10, kali linux, ubuntu, osx, android)
  • Sur windows, le payload Pupy peut être compilé en DLL réflective et l'interpréteur python entier est chargé depuis la mémoire. Pupy ne touche pas au disque :)
  • pupy peut aussi être empaqueté dans un seul fichier .py et exécuté sans aucune dépendance autre que la bibliothèque standard python sur tous les OS
    • pycrypto est remplacé par des implémentations aes && rsa en python pur lorsqu'il n'est pas disponible
  • Pupy peut migrer de manière réflective dans d'autres processus
  • Pupy peut importer à distance, depuis la mémoire, des paquets python purs (.py, .pyc) et des extensions C python compilées (.pyd, .so). Les modules python importés ne touchent pas au disque.
  • Pupy est facilement extensible, les modules sont assez simples à écrire, triés par OS et par catégorie.
  • Beaucoup de modules géniaux sont déjà implémentés !
  • Pupy utilise rpyc et un module peut accéder directement aux objets python sur le client distant
    • Nous pouvons aussi accéder interactivement aux objets distants depuis le shell pupy et vous obtenez même l'auto-complétion des attributs distants !
  • Les transports de communication sont modulaires, empilables et géniaux. Vous pourriez exfiltrer des données en utilisant HTTP sur HTTP sur AES sur XOR. Ou n'importe quelle combinaison des transports disponibles !
  • Pupy peut communiquer en utilisant les transports enfichables d'obfsproxy
  • Tous les modules non interactifs peuvent être envoyés sur plusieurs hôtes en une seule commande
  • Les commandes et scripts exécutés sur les hôtes distants sont interruptibles
  • Auto-complétion pour les commandes et arguments
  • Une configuration personnalisée peut être définie : alias de commandes, modules exécutés automatiquement à la connexion, ...
  • Des shells python interactifs avec auto-complétion sur l'interpréteur python distant entièrement en mémoire peuvent être ouverts
  • Des shells interactifs (cmd.exe, /bin/bash, ...) peuvent être ouverts à distance. Les shells distants sur les clients Unix & windows ont un vrai tty avec tous les signaux clavier fonctionnant correctement, comme un shell ssh
  • Pupy peut exécuter un exe PE à distance et depuis la mémoire (cf. ex avec mimikatz)
  • Pupy peut générer des payloads dans divers formats : apk,lin_x86,lin_x64,so_x86,so_x64,exe_x86,exe_x64,dll_x86,dll_x64,py,pyinst,py_oneliner,ps1,ps1_oneliner,rubber_ducky
  • Pupy peut être déployé en mémoire, à partir d'une seule ligne de commande en utilisant les one-liners python ou powershell de pupygen.py.
  • Des "scriptlets" peuvent être embarqués dans les payloads générés pour effectuer certaines tâches "hors ligne" sans nécessiter de connectivité réseau (ex : démarrer un keylogger, ajouter de la persistance, exécuter un script python personnalisé, check_vm ...)
  • des tonnes d'autres fonctionnalités, consultez les modules implémentés

Transports implémentés

Tous les transports de pupy sont empilables. Cela signifie qu'en créant une conf de transport personnalisée (pupy/network/transport/<transport_name>/conf.py), vous pouvez faire ressembler votre session pupy à n'importe quoi. Par exemple, vous pourriez empiler HTTP sur HTTP sur base64 sur HTTP sur AES sur obfs3 :o)

  • rsa
    • Une couche avec authentification et chiffrement utilisant RSA et AES256, souvent empilée avec d'autres couches
  • aes
    • couche utilisant une clé AES256 statique
  • ssl (le défaut)
    • transport TCP enveloppé avec SSL
  • ssl_rsa
    • identique à ssl mais empilé avec une couche rsa
  • http
    • couche faisant ressembler le trafic à du trafic HTTP. HTTP est empilé avec une couche rsa
  • obfs3
    • Un protocole pour empêcher un tiers de dire quel protocole est utilisé en se basant sur le contenu des messages
    • obfs3 est empilé avec une couche rsa pour une meilleure sécurité
  • scramblesuit
    • Un protocole réseau polymorphe pour contourner la censure
    • scramblesuit est empilé avec une couche rsa pour une meilleure sécurité
  • udp
    • couche rsa mais sur UDP (peut être bugué, elle ne gère pas encore la perte de paquets)
  • other
    • Les autres couches n'ont pas vraiment d'intérêt et sont fournies comme exemples de code : (dummy, base64, XOR, ...)

Launchers implémentés (pas à jour, cf. ./pupygen.py -h)

Les launchers permettent à pupy d'exécuter des actions personnalisées avant de démarrer la connexion inverse

  • connect
    • Se connecte simplement en retour
  • bind
    • Lie le payload au lieu d'une connexion inverse
  • auto_proxy
    • Récupère une liste de proxys SOCKS/HTTP possibles et essaie chacun d'eux. Les méthodes de récupération de proxys sont : registre, requêtes WPAD, paramètres gnome, variable d'environnement HTTP_PROXY

Modules implémentés (pas à jour)

Toutes les plateformes :

  • exécution de commandes
  • download
  • upload
  • shell python interactif avec auto-complétion
  • shell interactif (cmd.exe, powershell.exe, /bin/sh, /bin/bash, ...)
    • l'allocation de tty est bien prise en charge à la fois sur windows et *nix. Cela ressemble simplement à un shell ssh
  • exécution de shellcode
  • persistance
  • proxy socks5
  • redirection de ports locale et distante
  • capture d'écran
  • keylogger
  • exécution depuis la mémoire du génial outil de collecte d'identifiants LaZagne !
  • outils de sniff, netcreds
  • migration de processus (windows & linux, pas encore osx)
  • ...
  • beaucoup d'autres outils (client upnp, divers outils de recon/pivot utilisant impacket à distance, ...)

Spécifique à Windows :

  • migrate
    • l'injection entre architectures de processus fonctionne aussi (x86->x64 et x64->x86)
  • exécution en mémoire d'exe PE à la fois x86 et x64 !
    • fonctionne très bien avec mimitakz :-)
  • capture depuis la webcam
  • enregistreur de microphone
  • mouselogger :
    • prend de petites captures d'écran autour de la souris à chaque clic et les renvoie au serveur
  • manipulation de jetons
  • getsystem
  • creddump
  • des tonnes de scripts powershell utiles
  • ...
Télécharger l’outil