Connaître les ports ouverts vers l’extérieur
26 février 2020 09:00 2 messagesTAGS : Proxy Planet Libre
Prérequis : savoir ce qu’est un port réseau. Sinon, on pourra toujours lire la page Wikipedia Port (logiciel) en introduction.
Il y a quelques années (10 ans), j’écrivais un article Proxy automatique : connaître l’adresse dans lequel j’exposais une façon simple de trouver l’adresse et le port d’un proxy transparent se trouvant sur un réseau d’entreprise.
Récemment, connecté depuis un réseau "public" d’entreprise (une machine en BYOD, non référencé, connecté sur le premier câble réseau venu de l’openspace, est de facto sur un réseau public : pas d’accès aux dossiers et répertoires partagés, pas d’accès aux imprimantes, on a une IP attribué dans une plage différente d’une machine enregistrée), j’ai pu constater que les connexions depuis mon PC vers l’extérieur marchait bien pour une connexion SSH vers le port 22 d’un serveur, vers un VPN écoutant sur le port 443, mais que des connexions sur d’autres serveurs écoutant sur des ports non conventionnels ne marchaient pas. De même, mon client Thunderbird refuse toute connexion à mes différents comptes mails.
Un proxy ?
J’ai utilisé la technique évoqué dans mon article Proxy automatique : connaître l’adresse, je constate que ma machine parle bien à différents serveurs (dont des IP que je connais, vu que ce sont mes serveurs), donc pas de proxy transparent en intermédiaire.
Des ports ouverts et des ports fermés ?
Je me suis donc posé la question de savoir quels sont les ports ouverts vers l’extérieur.
Quand on cherche l’inverse, à savoir quels sont les ports ouverts sur une machine (comprendre : quels sont les ports accessibles publiquement sur Internet), on pense de suite à utiliser nmap (ou on trouve des tutoriaux). Mais dans mon cas, je suis à l’intérieur et je veux savoir par où je peux sortir.
La solution est bien d’utiliser nmap et de faire un scan d’une machine dont on connait les ports ouverts. Il existe "portquiz.net", un service qui avait une machine répondant sur l’ensemble des ports.
nmap -p- portquiz.net | grep -i open
Donc si un ou plusieurs ports sont bloqués entre ma machine qui se trouve sur le réseau public au sein d’une entreprise, la machine cible ne répond pas, indiquant ainsi que ce port ou ces ports sont bloqués.
Portquiz.net étant assez lent (car très probablement beaucoup sollicité), j’ai choisi une autre option, celle que de scanner une machine pour laquelle je connais précisément les ports ouverts.
nmap -p-mamachine.net | grep -i open
Et j’obtiens le résultat suivant :
22/tcp open ssh
80/tcp open http
443/tcp open https
Depuis chez moi, derrière une Freebox, même manipulation :
22/tcp open ssh
25/tcp open smtp
53/tcp open domain
80/tcp open http
443/tcp open https
993/tcp open imaps
Quel résultat et conclusion
Le réseau public de l’entreprise permet donc bien un accès au web (port 80, 443) (je n’ai pas étudié la question d’un filtrage de site), un accès sur des serveurs en SSH via le port 22, mais c’est tout. Pas de messagerie possible (pas de IMAPs et de SMTPs), pas de résolution DNS possible (si ce n’est que de passer par les serveurs de résolution de nom fournis avec l’adresse IP, via le DHCP du réseau). Donc ce n’est pas un accès à Internet, mais un accès à un réseau public ouvert sur le web.
On pourra être étonné du fait que le port 22 soit le troisième port ouvert, alors que tout le reste est fermé. Les ports 80 et 443 permettent un accès au web, on comprend la nécessité de les ouvrir. Le port 22, cela veut dire que ce réseau doit être utilisé pour accéder à des machines serveurs dans des clouds publics (supposition avec une forte probabilité), pour des tests et autres usages dans le cadre de projets pour des clients.
J’ai beaucoup plus de ports visibles et accessibles (tous ceux qui sont bien ouverts sur ma machine).
Dans la même rubrique
11 octobre 2022 – Dans la jungle des dongles Logitech : unifying, USB Bolt...
16 novembre 2020 – Mettre à jour le firmware de sa Nitrokey FIDO2
10 septembre 2020 – Keepass et la gestion des conflits
6 juillet 2020 – Nitrokey, clefs USB opensource comme 2nd facteurs d’authentification
29 juin 2020 – Des interfaces graphiques à Borg ?
2 Messages
Connaître les ports ouverts vers l’extérieur, FKtwigg | 26 février 2020 - 11:57 1
Salut, il me semble que tu peux également découvrir cela avec la technique du firewalking.
par exemple avec le script NSE "firewalk" de nmap
pourrai tu essayer cette commande depuis ces 2 mêmes machines pour confirmer ou non tes résultasts et conclusions.
nmap —traceroute —script=firewalk -p 22,25,53,80,443,587,993 —reason mamachine.net
Connaître les ports ouverts vers l’extérieur, Ju_ | 27 février 2020 - 22:34 2
Hello,
Merci pour l’article :-)
Pour ma compréhension, il y a des éléments qui m’échappent :-) Je me permet de te demander des précisions
Tu parles d’un réseau public qui ne te permet pas de sortir par tous les ports que tu souhaites (pour moi un réseau public est ouvert "aux 4 vents") sur lequel tu veux savoir, justement, quels ports sont ouverts.
Si ton PC est "enfermé" derrière quel type d’équipement est-ce ? Une sorte de DMZ ? (puisque ce n’est pas un proxy transparent)
Du coup ces ports sont ouverts sur un Firewall positionné en sortie ?
Serait-il possible de trouver l’ip de cet équipement ?
Dernière question (promis :-), pourquoi scanner les ports d’une machine sur internet depuis une machine dans ce réseau public d’entreprise permet de déterminer les ports ouverts ? Nmap utilises le port 25 en local pour scanner le port 25 de la machine distante ? etc ?