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
Portspoof — Émule des ports ouverts et des signatures de service sur l'ensemble des 65535 ports TCP pour ralentir la reconnaissance, tromper les scanners et gaspiller les ressources des attaquants avec des faux services convaincants et du tarpitting. | Kitploit
Outils/GitHubGitHub/drk1wi/portspoof
Outils DéfensifsReconnaissanceAnalyse des VulnérabilitésÉvasion IDS/IPSSécurité RéseauRed Teaming
GitHubdrk1wi/portspoof

Portspoof

Émule des ports ouverts et des signatures de service sur l'ensemble des 65535 ports TCP pour ralentir la reconnaissance, tromper les scanners et gaspiller les ressources des attaquants avec des faux services convaincants et du tarpitting.

Voir le dépôt
2.4k17917il y a 1 moisVé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 →
Site web
Partager

Portspoof

License Platform Build Status

Portspoof émule des ports ouverts et des signatures de services sur l'ensemble des 65535 ports TCP, transformant la phase de reconnaissance d'un scan rapide en un processus long et gourmand en ressources. Les scanners voient des milliers de services convaincants mais factices, rendant impossible l'identification de la surface d'attaque réelle.

Table des matières

  • Vue d'ensemble
  • Fonctionnalités clés
  • Fonctionnement
  • Approche de conception
  • Installation
  • Configuration
  • Utilisation
  • Durcissement avec iptables
  • Portspoof Pro
  • Auteurs et licence

Vue d'ensemble

L'objectif principal de Portspoof est de rendre la reconnaissance lente, coûteuse et peu fiable pour les attaquants. Au lieu d'un scan Nmap standard de 5 secondes qui cartographie chaque service réel sur un système, un attaquant confronté à Portspoof voit 65535 ports ouverts, chacun exécutant ce qui ressemble à un service légitime différent. Il n'existe aucun moyen rapide de déterminer lesquels sont réels.

Fonctionnalités clés

  • Tous les 65535 ports TCP sont toujours ouverts : Au lieu d'indiquer à un attaquant qu'un port est FERMÉ ou FILTRÉ, Portspoof renvoie SYN+ACK pour chaque tentative de connexion.
  • Émulation de services : Plus de 9000 signatures de services dynamiques générées à partir d'expressions régulières. Chaque port répond aux sondes avec une identité de service différente et convaincante.
  • Modes de diffusion mixtes : Chaque port reçoit un profil comportemental différent au démarrage (bannière immédiate, réponse différée ou attente silencieuse) avec des temps d'attente répartis sur une large plage. La détection de version sur toute la plage (nmap -sV -p-) dépasse largement les limites pratiques.
  • Défense offensive : Peut être utilisé comme 'Frontend de Framework d'Exploitation' pour exploiter les vulnérabilités des outils de scan de l'attaquant.
  • Léger et sécurisé : Fonctionne en espace utilisateur (aucun privilège root requis), se lie à UN SEUL port TCP par instance en cours d'exécution et a une utilisation marginale du CPU/mémoire.

Fonctionnement

1. Déjouer les scanners de ports

Exemple de scan Nmap :

$ nmap -p 1-20 target
Starting Nmap 7.80 ( https://nmap.org )
Nmap scan report for target
Host is up (0.00016s latency).
PORT   STATE SERVICE
1/tcp  open  tcpmux
2/tcp  open  compressnet
3/tcp  open  compressnet
4/tcp  open  unknown
5/tcp  open  rje
6/tcp  open  unknown
7/tcp  open  echo
8/tcp  open  unknown
9/tcp  open  discard
10/tcp open  unknown
11/tcp open  systat
12/tcp open  unknown
13/tcp open  daytime
14/tcp open  unknown
15/tcp open  netstat
16/tcp open  unknown
17/tcp open  qotd
18/tcp open  unknown
19/tcp open  chargen
20/tcp open  ftp-data

2. Confusion de la détection de version

Portspoof répond aux sondes de service avec des signatures valides et générées dynamiquement basées sur une vaste base de données d'expressions régulières. En conséquence, un attaquant ne pourra pas déterminer quels numéros de port votre système utilise réellement.

Exemple de scan de version (ports 1–100) :

$ nmap -sV -p 1-100 target
Nmap scan report for target
Host is up (0.00016s latency).
PORT    STATE SERVICE            VERSION
1/tcp   open  tcpmux?
2/tcp   open  irc                ircu ircd
3/tcp   open  tcpwrapped
5/tcp   open  http               Polycom CMA Global Address Book (GAB) httpd
10/tcp  open  http               PGP Universal httpd
11/tcp  open  http               SnapStream Media Beyond TV PVR http config
12/tcp  open  pop3               Novell GroupWise pop3d
13/tcp  open  http               micro_httpd
15/tcp  open  ssh                OpenSSH r (protocol 8; NCSA GSSAPI authentication patch)
16/tcp  open  ftp                QMS/Minolta Magicolor 2200 DeskLaser printer ftpd
17/tcp  open  smtp               Network Box smtpd
21/tcp  open  ftp?
22/tcp  open  ssh                OpenSSH 8.9p1 Ubuntu 3ubuntu0.13 (Ubuntu Linux; protocol 2.0)
23/tcp  open  tcpwrapped
25/tcp  open  smtp?
27/tcp  open  http               BMC/Marimba Management http config
37/tcp  open  http               Indy httpd qlRKjiF
39/tcp  open  pop3
41/tcp  open  ftp                VSE ftpd WhH
43/tcp  open  imap               Scalix imapd 6
46/tcp  open  telnet             AXIS webcam telnetd 96747 (Linux)
49/tcp  open  smtp               Openwave Email Mx smtpd
50/tcp  open  http               3Ware web interface 3v (RAID storage)
51/tcp  open  ftp                WebStar 4dftp ...
53/tcp  open  tcpwrapped
55/tcp  open  webdav             Tonido WebDAV
56/tcp  open  tor-control        Tor control port (Authentication required)
59/tcp  open  irc                ircu ircd
60/tcp  open  rtsp               GStreamer rtspd
64/tcp  open  http               BaseHTTPServer CAxoE (Mercurial hg serve; Python LDkW)
66/tcp  open  telnet             Slirp PPP/SLIP-on-terminal emulator telnetd
70/tcp  open  smtp               qpsmtpd
71/tcp  open  smtp               Microsoft Exchange smtpd
73/tcp  open  http               Avaya IP Office VoIP PBX httpd
77/tcp  open  smtp               Zeus SMTPS smtpd
79/tcp  open  ftp                Sambar ftpd
80/tcp  open  tcpwrapped
81/tcp  open  imap-proxy         nginx imap proxy
82/tcp  open  ssh                (protocol 811)
83/tcp  open  http               peercast.org
88/tcp  open  csta               Alcatel OmniPCX Enterprise
90/tcp  open  http               WASD httpd
91/tcp  open  http               Fortinet FortiGate 50B firewall http config
93/tcp  open  imap               ModusMail imapd 4
98/tcp  open  ssh                Sysax Multi Server sshd 7 (protocol 940)
99/tcp  open  http               2Wire HomePortal http config 5473
100/tcp open  newacct?

Le résultat

Combinées, ces techniques signifient :

  • Il n'existe aucun moyen rapide de distinguer les services réels des faux. Le timing, le comportement et le contenu des bannières varient tous sur la plage de ports.
  • Un scan de version complet (nmap -sV -p-) avec les paramètres de tarpit par défaut prend plus de 10 heures et génère des centaines de mégaoctets de données factices.
  • Le scanner de l'attaquant brûle du temps et des threads sur des connexions qui ne mènent nulle part.

Approche de conception

Les services réels (SSH, SMTP, FTP, HTTP) envoient une bannière et maintiennent la connexion ouverte, en attendant une entrée du client. Une émulation convaincante signifie faire de même : accepter, envoyer, maintenir. Mais un modèle thread-par-client brûle de la mémoire et du CPU sur les changements de contexte, et à grande échelle, le défenseur manque de ressources avant que l'attaquant ne manque de patience. L'outil de tromperie devient un vecteur d'auto-DOS.

L'approche : une boucle d'événements epoll monothread. Chaque port se voit attribuer un mode de diffusion au démarrage : certains poussent une bannière immédiatement, certains attendent que le client envoie des données avant de répondre, et d'autres restent silencieux. Les temps d'attente sont répartis sur des ordres de grandeur (dizaines de millisecondes à minutes) avec une gigue par connexion, de sorte que des sondes répétées sur le même port ne renvoient pas un timing identique.

Télécharger l’outil