Skip to content
KitploitKITPLOIT
OutilsBlog
Log in
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
pwncat — Plateforme de post-exploitation automatisant l'énumération, l'élévation de privilèges, la persistance et les opérations C2 via des shells inverses/liés avec prise en charge multiplateforme pour Linux et Windows. | Kitploit
Outils/GitHubGitHub/calebstewart/pwncat
Escalade de PrivilègesMécanismes de PersistancePost-ExploitationTests d'IntrusionCommandement et ContrôleRed Teaming
GitHubcalebstewart/pwncat

pwncat

Plateforme de post-exploitation automatisant l'énumération, l'élévation de privilèges, la persistance et les opérations C2 via des shells inverses/liés avec prise en charge multiplateforme pour Linux et Windows.

Voir le dépôt
2.9k29213il y a 4 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 →
Partager
Site web

pwncat

asciicast

pwncat est une plateforme de post-exploitation pour cibles Linux. Il a commencé comme un wrapper autour de shells bind et reverse basiques et a grandi depuis. Il simplifie les opérations courantes d'équipe rouge tout en organisant le code depuis votre machine d'attaque, et non depuis la cible.

pwncat ne supportait auparavant que Linux, mais beaucoup de travail a été fait récemment pour supporter plusieurs plateformes. Actuellement, il existe un support alpha pour les cibles Windows. Veuillez consulter la dernière [documentation] pour les détails sur l'utilisation de pwncat avec une cible Windows.

pwncat intercepte la communication brute avec un shell distant et permet à l'utilisateur d'effectuer des actions automatisées sur l'hôte distant, notamment l'énumération, l'installation d'implant et même l'escalade de privilèges.

Après avoir reçu une connexion, pwncat configurera certains paramètres courants pour travailler avec des shells distants.

  • Désactiver l'historique dans le shell distant
  • Normaliser l'invite du shell
  • Localiser les binaires utiles (en utilisant which)
  • Tenter de générer un pseudo-terminal (pty) pour une session interactive complète

pwncat sait générer des pty avec plusieurs méthodes différentes et croisera les méthodes avec les exécutables précédemment énumérés. Après avoir généré un pty, il configurera le terminal de contrôle en mode brut, afin que vous puissiez interagir de manière similaire à ssh.

pwncat synchronisera également les paramètres du pty distant (tels que les lignes, les colonnes, la variable d'environnement TERM) avec vos paramètres locaux pour garantir que le shell se comporte correctement avec les applications interactives telles que vim ou nano.

John Hammond et moi avons présenté pwncat à GRIMMCon. Notre présentation, que vous pouvez trouver sur YouTube ici. Cette vidéo montre une version précoce de l'API et de l'interface. Veuillez vous référer à la documentation pour une utilisation à jour et la documentation de l'API !

La [documentation] de pwncat est en cours de construction sur Read the Docs. Rendez-vous là-bas pour la documentation d'utilisation et de développement la plus récente !

pwncat nécessite Python 3.9+ sur Linux

Installation

pwncat dépend uniquement d'un environnement de développement Python fonctionnel sous Linux. Afin d'installer certains des paquets requis avec pip, vous aurez probablement besoin du paquet "Python Development" de votre distribution. Sur les systèmes basés sur Debian, c'est python-dev. Pour Arch, les fichiers de développement sont livrés avec le dépôt principal Python. Pour Enterprise Linux, le paquet s'appelle python-devel.

pwncat est poussé sur PyPI sous le nom pwncat-cs, et peut être installé avec pip comme ceci :

pip install pwncat-cs

Cependant, il est recommandé d'installer pwncat dans un environnement virtuel.

python3 -m venv pwncat-env
source pwncat-env/bin/activate
pip install pwncat-cs

Pour un environnement de développement, pwncat utilise Python Poetry. Vous pouvez cloner le dépôt localement et utiliser poetry pour configurer un environnement de développement.

# Setup pwncat inside a poetry-managed virtual environment
git clone [email protected]:calebstewart/pwncat.git
cd pwncat
poetry install

# Enter the virtual environment
poetry shell

Changements de nom

En raison du conflit de nom avec le pwncat de Cytopia, j'ai décidé de renommer le paquet en pwncat-cs. Cela inclut le renommage du point d'entrée afin qu'il n'y ait pas de conflits directs avec le projet de Cytopia. Si vous effectuez une mise à jour depuis v0.4.*, le nom de la commande aura changé, et les variantes pcat et pc ont été supprimées. Consultez les notes de version les plus récentes pour plus de détails.

L'avantage supplémentaire de cette décision est que le projet est désormais poussé sur PyPI pour une installation/mise à jour plus facile à l'avenir.

Support Windows

pwncat supporte désormais les connexions depuis des cibles Windows à partir de v0.4.0a1. La plateforme Windows utilise une bibliothèque C2 basée sur .Net qui est chargée automatiquement. Les cibles Windows doivent se connecter avec un shell cmd.exe ou powershell.exe, et pwncat se chargera du reste.

Les bibliothèques implémentant le C2 sont réalisées sur [pwncat-windows-c2]. Les DLL pour le C2 seront automatiquement téléchargées depuis la version ciblée pour vous. Si vous n'avez pas de connectivité Internet sur votre machine cible, vous pouvez demander à pwncat de pré-stocker les DLL en utilisant l'argument --download-plugins. Si vous utilisez une version publiée de pwncat, vous pouvez également télécharger une archive tar de tous les plugins intégrés depuis la page des versions.

Les plugins sont stockés par défaut dans ~/.local/share/pwncat, mais cela est configurable avec la configuration plugin_path. Si vous téléchargez l'ensemble de plugins packagé depuis la page des versions, vous devez l'extraire vers le chemin indiqué par plugin_path.

En dehors des DLL principales du C2, d'autres plugins peuvent également être disponibles. Actuellement, les seuls plugins par défaut fournis sont le C2 et une implémentation de [BadPotato]. pwncat peut charger de manière réflexive des binaires .Net pour être utilisés comme plugins pour le C2. Pour plus d'informations sur les plugins Windows C2, veuillez consulter la [documentation].

Modules

Récemment, l'architecture du framework pwncat a été repensée pour incorporer une structure générique de "module". Toutes les fonctionnalités sont désormais implémentées sous forme de modules. Cela inclut l'énumération, la persistance et l'escalade de privilèges. L'interaction avec les modules est similaire à celle de la plupart des autres plateformes de post-exploitation. Vous pouvez utiliser les commandes familières run, search et info et entrer dans les contextes de module avec la commande use. Reportez-vous à la documentation pour plus d'informations.

Paquet BlackArch

Packaging status

L'installation sur BlackArch est aussi simple que :

pacman -Syu pwncat-caleb

Connexion à une victime

Les paramètres de ligne de commande pour pwncat tentent d'être flexibles et acceptent une variété de syntaxes de connexion courantes. Plus précisément, il essaiera d'accepter les syntaxes courantes de netcat et ssh. Les éléments suivants sont tous valides :

# Connect to a bind shell
pwncat-cs connect://10.10.10.10:4444
pwncat-cs 10.10.10.10:4444
pwncat-cs 10.10.10.10 4444
# Listen for reverse shell
pwncat-cs bind://0.0.0.0:4444
pwncat-cs 0.0.0.0:4444
pwncat-cs :4444
pwncat-cs -lp 4444
# Connect via ssh
pwncat-cs ssh://user:[email protected]
pwncat-cs [email protected]
pwncat-cs user:[email protected]
pwncat-cs -i id_rsa [email protected]
# SSH w/ non-standard port
pwncat-cs -p 2222 [email protected]
pwncat-cs [email protected]:2222
# Reconnect utilizing installed persistence
#   If reconnection fails and no protocol is specified,
#   SSH is used as a fallback.
pwncat-cs reconnect://[email protected]
pwncat-cs reconnect://user@c228fc49e515628a0c13bdc4759a12bf
pwncat-cs [email protected]
pwncat-cs c228fc49e515628a0c13bdc4759a12bf
pwncat-cs 10.10.10.10

Par défaut, pwncat suppose que la plateforme cible est Linux. Afin de se connecter à un shell reverse ou bind Windows, vous devez passer l'argument --platform/-m :

pwncat-cs -m windows 10.10.10.10 4444
pwncat-cs -m windows -lp 4444

Pour plus d'informations sur la syntaxe et la gestion des arguments, consultez l'aide avec pwncat-cs --help ou visitez la [documentation].

Image Docker

Télécharger l’outil