Référence des ports
Port 8000 (TCP) – HTTP alternatif / Serveur de dev
HTTP alternatif — souvent un serveur web de développement (Django runserver, Python http.server), pas de service fixe.
État par défaut
Ouvert lorsqu'un serveur de dev ou d'applications tourne. Souvent en HTTP simple et lié à toutes les interfaces par erreur.
Attaques courantes
- Serveurs de débogage/développement exposés par accident avec traces complètes
- Interception en clair (généralement du HTTP simple, pas du TLS)
- Listing de répertoires et divulgation de source via http.server
- RCE en mode débogage du framework et fuite d'informations
Durcissement
- Ne jamais exécuter un serveur de dev sur le 8000 en production ou sur une interface publique
- Lier à 127.0.0.1 et accéder via un proxy inverse TLS avec authentification
- Désactiver le mode débogage du framework (ex. Django DEBUG=False) si joignable
- Restreindre par liste d'IP / VPN et ajouter une authentification
- Journaliser les accès et corriger le serveur d'applications
Commande nmap
nmap -p8000 --script http-title,http-headers,http-enum <target>Remplacez <target> par l’hôte ou la plage que vous êtes autorisé à scanner.
Qu'est-ce qui tourne sur le port 8000 ?
Le port 8000 est un port HTTP alternatif très utilisé, surtout associé aux
serveurs web de développement. C'est le port par défaut de runserver de
Django, de python -m http.server et de nombreux autres frameworks et outils. Il
n'y a aucun service fixe unique ici : le 8000 peut aller d'un partage de
fichiers rapide à un serveur d'applications complet. Il sert presque toujours du
HTTP simple sans TLS.
Pourquoi c'est important pour la sécurité
Les serveurs de dev sont conçus pour la commodité, pas pour l'exposition. Un
service sur le 8000 est souvent lié à toutes les interfaces et exposé à
Internet par accident. Avec le mode débogage du framework activé, les
erreurs renvoient des traces complètes, la configuration et parfois une console
interactive — un chemin direct vers l'exécution de code. http.server peut aussi
révéler des listings de répertoires et du code source.
Comment il est attaqué
Les attaquants recherchent les serveurs de dev exposés, déclenchent des
erreurs pour récolter traces et secrets, et abusent des consoles de débogage
pour du RCE. Les instances http.server ouvertes sont parcourues pour leurs
fichiers source et de config. Comme le trafic est en clair, identifiants et
jetons sont interceptés, et le serveur non durci est une cible de déni de
service facile.
Liste de durcissement
N'exécutez jamais un serveur de développement sur une interface publique.
Liez-le à 127.0.0.1 et accédez-y via un proxy inverse terminant le TLS et
exigeant une authentification. Désactivez le mode débogage (ex.
DEBUG=False dans Django) partout où il est joignable, restreignez l'accès par
liste d'IP ou VPN, et maintenez l'application à jour. La commande nmap
vérifie titres, en-têtes et chemins courants sur les systèmes que vous êtes
autorisé à tester.
Ports liés
Questions fréquentes
- À quoi sert le port 8000 ?
- C'est un port HTTP alternatif courant, le plus souvent un serveur web de développement comme runserver de Django ou http.server de Python. Il n'y a pas de service fixe unique, donc identifiez toujours ce qui écoute réellement.
- Est-il sûr d'exposer le port 8000 à Internet ?
- Non. Les serveurs de dev sur le 8000 sont mono-thread, non durcis, et tournent souvent en mode débogage, exposant des traces et parfois permettant l'exécution de code. Liez-le à localhost et placez-le derrière un proxy TLS authentifié.