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
stunner — Testez et exploitez les serveurs STUN/TURN pour les mauvaises configurations, permettant le pivotement du réseau interne via un proxy SOCKS, les attaques par fuite de mémoire et le scan de ports internes. | Kitploit
Outils/GitHubGitHub/firefart/stunner
Analyse des VulnérabilitésExploitationSécurité RéseauTests d'IntrusionMauvaise ConfigurationRed Teaming
GitHubfirefart/stunner

stunner

Testez et exploitez les serveurs STUN/TURN pour les mauvaises configurations, permettant le pivotement du réseau interne via un proxy SOCKS, les attaques par fuite de mémoire et le scan de ports internes.

Voir le dépôt
85746125il y a 21 joursVé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

STUNNER

Stunner est un outil pour tester et exploiter les serveurs STUN, TURN et TURN over TCP. TURN est un protocole principalement utilisé dans la visioconférence et les chats audio (WebRTC).

Si vous trouvez un serveur mal configuré, vous pouvez utiliser cet outil pour ouvrir un proxy socks local qui relaye tout le trafic via le protocole TURN dans le réseau interne derrière le serveur.

J'ai développé cet outil lors d'un test de Cisco Expressway qui a révélé plusieurs vulnérabilités : https://firefart.at/post/multiple_vulnerabilities_cisco_expressway/

Pour obtenir le nom d'utilisateur et le mot de passe requis, vous devez les récupérer en utilisant une méthode hors bande comme l'écoute de la requête Connect d'un navigateur web avec Burp. J'ai ajouté un exemple de workflow en bas du readme sur la façon de tester un tel serveur.

LICENCE

Ce travail est sous licence Creative Commons Attribution - Pas d'Utilisation Commerciale - Partage dans les Mêmes Conditions 4.0 International. Pour voir une copie de cette licence, visitez http://creativecommons.org/licenses/by-nc-sa/4.0/ ou envoyez une lettre à Creative Commons, PO Box 1866, Mountain View, CA 94042, États-Unis.

RFC implémentés

STUN : RFC 5389

TURN : RFC 5766

TURN pour TCP : RFC 6062

Extension TURN pour IPv6 : RFC 6156

Commandes disponibles

info

Cette commande affiche des informations sur le serveur stun ou turn, comme les protocoles supportés et les attributs tels que le logiciel utilisé.

Options

--debug, -d                   active la sortie de débogage (défaut : false)
--turnserver value, -s value  serveur turn auquel se connecter au format hôte:port
--tls                         Utiliser TLS/DTLS pour la connexion au serveur STUN ou TURN (défaut : false)
--timeout value               délai d'attente de connexion au serveur turn (défaut : 1s)
--help, -h                    afficher l'aide (défaut : false)

Exemple

./stunner info -s x.x.x.x:443

range-scan

Cette commande essaie plusieurs plages privées et restreintes pour voir si le serveur TURN est configuré pour autoriser les connexions vers les adresses IP spécifiées. Si une plage spécifique n'est pas interdite, vous pouvez énumérer cette plage plus en détail avec les autres commandes fournies. Si une IP est accessible, cela signifie que le serveur TURN transférera le trafic vers cette IP.

Options

--debug, -d                   active la sortie de débogage (défaut : false)
--turnserver value, -s value  serveur turn auquel se connecter au format hôte:port
--tls                         Utiliser TLS/DTLS pour la connexion au serveur STUN ou TURN (défaut : false)
--protocol value              protocole à utiliser pour la connexion au serveur TURN. Valeurs supportées : tcp et udp (défaut : "udp")
--timeout value               délai d'attente de connexion au serveur turn (défaut : 1s)
--username value, -u value    nom d'utilisateur pour le serveur turn
--password value, -p value    mot de passe pour le serveur turn
--help, -h                    afficher l'aide (défaut : false)

Exemple

Connexion TURN basée sur TCP (connexion de vous au serveur TURN) :

./stunner range-scan -s x.x.x.x:3478 -u username -p password --protocol tcp

Connexion TURN basée sur UDP (connexion de vous au serveur TURN) :

./stunner range-scan -s x.x.x.x:3478 -u username -p password --protocol udp

socks

C'est l'une des commandes les plus utiles pour les serveurs TURN qui supportent les connexions TCP vers les serveurs backend. Elle lancera un serveur socks5 local sans authentification et relayera tout le trafic TCP via le protocole TURN (UDP via SOCKS n'est actuellement pas supporté). Si le serveur est mal configuré, il transférera le trafic vers des adresses internes, ce qui peut être utilisé pour atteindre des systèmes internes et abuser du serveur comme proxy dans le réseau interne. Si vous choisissez également d'effectuer des résolutions DNS via socks, elles seront résolues en utilisant votre serveur de noms local, il est donc préférable de travailler avec des adresses IPv4 et IPv6 privées. Veuillez noter que ce module ne peut relayer que le trafic TCP.

Options

--debug, -d                   active la sortie de débogage (défaut : false)
--turnserver value, -s value  serveur turn auquel se connecter au format hôte:port
--tls                         Utiliser TLS/DTLS pour la connexion au serveur STUN ou TURN (défaut : false)
--protocol value              protocole à utiliser pour la connexion au serveur TURN. Valeurs supportées : tcp et udp (défaut : "udp")
--timeout value               délai d'attente de connexion au serveur turn (défaut : 1s)
--username value, -u value    nom d'utilisateur pour le serveur turn
--password value, -p value    mot de passe pour le serveur turn
--listen value, -l value      Adresse et port d'écoute (défaut : "127.0.0.1:1080")
--drop-public, -x             Ignorer les requêtes vers des IP publiques. Utile si la cible ne peut pas se connecter à Internet et que votre navigateur souhaite vérifier les certificats TLS via la connexion. (défaut : true)
--help, -h                    afficher l'aide (défaut : false)

Exemple

./stunner socks -s x.x.x.x:3478 -u username -p password -x

Après avoir démarré le proxy, ouvrez votre navigateur, pointez le proxy dans vos paramètres vers socks5 avec une IP de 127.0.0.1:1080 (assurez-vous de ne pas activer l'option "ne pas utiliser le proxy pour les adresses locales" car nous voulons atteindre les adresses locales distantes) et appelez l'IP de votre choix dans le navigateur.

Exemple : https://127.0.0.1, https://127.0.0.1:8443 ou https://[::1]:8443 (ces adresses appelleront les ports sur le serveur TURN testé depuis les interfaces locales).

Vous pouvez également configurer proxychains pour utiliser ce proxy (mais ce sera très lent car chaque requête entraîne plusieurs requêtes pour activer le proxy). Modifiez simplement /etc/proxychains.conf et ajoutez la valeur socks5 127.0.0.1 1080 sous ProxyList.

Exemple de nmap via ce proxy socks5 avec un proxychains correctement configuré (notez qu'il s'agit de -sT pour effectuer des SYN TCP, sinon il n'utilisera pas le proxy socks5)

sudo proxychains nmap -sT -p 80,443,8443 -sV 127.0.0.1

brute-transports

Cela ne donnera probablement aucune information exploitable mais peut être utile pour énumérer tous les transports disponibles (= protocoles vers les systèmes internes) supportés par le serveur. Cela peut révéler des implémentations de protocoles personnalisés mais ne renverra généralement que les valeurs par défaut.

Options

--debug, -d                   active la sortie de débogage (défaut : false)
--turnserver value, -s value  serveur turn auquel se connecter au format hôte:port
--tls                         Utiliser TLS/DTLS pour la connexion au serveur STUN ou TURN (défaut : false)
--protocol value              protocole à utiliser pour la connexion au serveur TURN. Valeurs supportées : tcp et udp (défaut : "udp")
--timeout value               délai d'attente de connexion au serveur turn (défaut : 1s)
--username value, -u value    nom d'utilisateur pour le serveur turn
--password value, -p value    mot de passe pour le serveur turn
--help, -h                    afficher l'aide (défaut : false)

Exemple

./stunner brute-transports -s x.x.x.x:3478 -u username -p password

brute-password

Télécharger l’outil