Test de pénétration, virologie et rétro ingénierie
Reconnaissance : Scanning
Comprendre les attaques pour mieux se défendre
Mohamed Mejri
Mohamed Mejri Test de pénétration, virologie et rétro ingénierie 1 / 71
Plan
1 Machines actives
2 Services actifs
Techniques
Outils
3 Détection de systèmes d’exploitation
Analyse active
Analyse passive
4 Préparation de poxies
Mohamed Mejri Test de pénétration, virologie et rétro ingénierie 2 / 71
Introduction
Objectifs :
û Déterminer les machines actives
û Déterminer les services actifs
û Déterminer les systèmes d’exploitation
Mohamed Mejri Test de pénétration, virologie et rétro ingénierie 3 / 71
Introduction
û Déterminer les @IP des machines actives
û Déterminer les ports TCP/UDP ouverts sur les machines actives
û Déterminer les systèmes d’exploitation des machines actives
Mohamed Mejri Test de pénétration, virologie et rétro ingénierie 4 / 71
Machines actives
Plan
1 Machines actives
2 Services actifs
Techniques
Outils
3 Détection de systèmes d’exploitation
Analyse active
Analyse passive
4 Préparation de poxies
Mohamed Mejri Test de pénétration, virologie et rétro ingénierie 5 / 71
Machines actives
Machines actives
source : Centre de recherche sur les communications Canada
Mohamed Mejri Test de pénétration, virologie et rétro ingénierie 6 / 71
Machines actives
Machines actives
ICMP Echo Request : Ping est la moyen le plus basique pour déterminer si une
machine est active
L’absence de réponse n’implique pas forcément que la machine est inactive
(possibilité de blocage de messages par un pare-feu)
Mohamed Mejri Test de pénétration, virologie et rétro ingénierie 7 / 71
Machines actives
Machines actives
Autres types de messages ICMP (RFC 792) :
Outil : nmap
source : M. Wolfgang : Host Discovery with nmap
source : M. Wolfgang : Host Discovery with nmap
Mohamed Mejri Test de pénétration, virologie et rétro ingénierie 8 / 71
Machines actives
Machines actives
Ping Sweeps : (balayage par ping )
Outil : fping (ping en parallèle) ( Linux et Windows)
I -f : cibles à partir d’un fichier
[root]$ fping -f in.txt
192.168.1.3 is alive
192.168.1.215 is alive
I -g : ciblée à partir d’adresses IP
fping -g 192.168.1.0/24
fping -g 192.168.1.0 192.168.1.255
Mohamed Mejri Test de pénétration, virologie et rétro ingénierie 9 / 71
Machines actives
Machines actives
Ping Sweeps : (balayage par ping )
Outil : nmap -sP
http ://www.linuxsecurity.com/content/view/117695/49/
http ://samsclass.info
Mohamed Mejri Test de pénétration, virologie et rétro ingénierie 10 / 71
Machines actives
Machines actives
TCP ping scan : Mieux traverser les pare-feux
Remarque : Une machine active répond à un ACK par un RST, indépendamment
si le port est ouvert ou fermé.
Outil : nmap -sP -PA80
source : http ://www.linuxsecurity.com/content/view/117695/49/
Mohamed Mejri Test de pénétration, virologie et rétro ingénierie 11 / 71
Machines actives
Machines actives
TCP ping scan : On peut utiliser un SYN à la place d’un ACK
source : M. Wolfgang : Host Discovery with nmap
source : M. Wolfgang : Host Discovery with nmap
Mohamed Mejri Test de pénétration, virologie et rétro ingénierie 12 / 71
Machines actives
Machines actives
Impacte de pare-feux : Exemple nmap -sP -PA80
source : M. Wolfgang : Host Discovery with nmap
Remarque : La commande ”nmap -sP” se comporte comme ”nmap -sP -PA80”
source : M. Wolfgang : Host Discovery with nmap
Mohamed Mejri Test de pénétration, virologie et rétro ingénierie 13 / 71
Machines actives
Machines actives
Impacte de pare-feux : Exemple nmap -sP -PA80
Scénario 1
Mohamed Mejri Test de pénétration, virologie et rétro ingénierie 14 / 71
Machines actives
Machines actives
Impacte de pare-feux : Exemple nmap -sP -PA80
Scénario 2 : Règles de pare-feu pour le trafic entrant
source : M. Wolfgang : Host Discovery with nmap
Mohamed Mejri Test de pénétration, virologie et rétro ingénierie 15 / 71
Machines actives
Machines actives
Impacte de pare-feux : Exemple nmap -sP -PA80
Scénario 3 : pare-feu avec des règles plus strictes
source : M. Wolfgang : Host Discovery with nmap
Mohamed Mejri Test de pénétration, virologie et rétro ingénierie 16 / 71
Machines actives
Machines actives
Impacte de pare-feux : Exemple nmap -sP -PA80
Scénario 4 : pare-feux avec état
source : M. Wolfgang : Host Discovery with nmap
Mohamed Mejri Test de pénétration, virologie et rétro ingénierie 17 / 71
Machines actives
Machines actives
Impacte de pare-feux :
Scénario 5 : pare-feux avec état et trafic provenant d’un seul port 53
source : M. Wolfgang : Host Discovery with nmap
Mohamed Mejri Test de pénétration, virologie et rétro ingénierie 18 / 71
Machines actives
Machines actives
Impacte de pare-feux :
Scénario 6 : Cibler le protocole 25 avec un SYN
source : M. Wolfgang : Host Discovery with nmap
Mohamed Mejri Test de pénétration, virologie et rétro ingénierie 19 / 71
Machines actives
Machines actives
Autres outils :
SuperScan (windows)
û L’un des outils les plus rapide (parallèle)
û Il offre d’autres fonctionnalités telles que ”port scanning”, énumération, whois,
etc.
Mohamed Mejri Test de pénétration, virologie et rétro ingénierie 20 / 71
Machines actives
Machines actives
Autres outils :
icmpenum (Unix)
û Permet de détecter des machines actives via ICMP ECHO, ICMP TIMES-
TAMP REQUEST et ICMP INFO REQUEST
û L’exemple suivant énumère toute la classe C du réseau 192.168.1.0 en utilisant
ICMP TIMESTAMP REQUEST
[root]$ icmpenum -i 2 -c 192.168.1.0
192.168.1.3 is up
192.168.1.25 is up
192.168.1.215 is up
Mohamed Mejri Test de pénétration, virologie et rétro ingénierie 21 / 71
Machines actives
Machines actives
contre mesures
û Détection via des IDSs : Snort, Scanlog, Courtney, Ippl, Protolog
û Prévention via des ACLs (Firewalls) : bloquer tous les messages ICMP
”inutiles”. Exemples de règles :
access-list 101 deny icmp any any 13 ! timestamp request
access-list 101 deny icmp any any 17 ! address mask request
Mohamed Mejri Test de pénétration, virologie et rétro ingénierie 22 / 71
Services actifs
Plan
1 Machines actives
2 Services actifs
Techniques
Outils
3 Détection de systèmes d’exploitation
Analyse active
Analyse passive
4 Préparation de poxies
Mohamed Mejri Test de pénétration, virologie et rétro ingénierie 23 / 71
Services actifs
Services actifs
û Découvrir les ports TCP et UDP ouverts sur une cible.
û Les ports ouverts nous informent sur les services offerts sur la cible
û Ayant les services et le système d’exploitation installés sur la cible, nous regar-
dons par la suite si la combinaison en question est connue par des vulnérabilités
et comment les exploiter.
û Le port scanning pourrait être illégal : c’est comme frapper sur les portes et
les fenêtres d’une maison pour la simple raison de voir s’il y a des personnes
à l’intérieur.
Mohamed Mejri Test de pénétration, virologie et rétro ingénierie 24 / 71
Services actifs Techniques
Services actifs : techniques
Exemples de scan
Scan
UDP
TCP
non furtif
TCP-connect (Full Open Scan)
furtif
Direct
TCP-Syn ((Halp Open Scan))
TCP-FIN
TCP-Xmas
TCP-Null
TCP-Ack
TCP-Window
Indirect (Third Party)
TCP-Idle
FTP-Bounce
Mohamed Mejri Test de pénétration, virologie et rétro ingénierie 25 / 71
Services actifs Techniques
Services actifs : techniques
Scan ”TCP connect” : facile à détecter.
Mohamed Mejri Test de pénétration, virologie et rétro ingénierie 26 / 71
Services actifs Techniques
Services actifs : techniques
Scan ”TCP syn” : plus furtif (stealth mode)
Mohamed Mejri Test de pénétration, virologie et rétro ingénierie 27 / 71
Services actifs Techniques
Services actifs : techniques
TCP FIN :
Mohamed Mejri Test de pénétration, virologie et rétro ingénierie 28 / 71
Services actifs Techniques
Services actifs : techniques
TCP Xmas Tree (arbre de Noël) :
Remarque : Cette technique fonctionne seulement avec Linux. Si elle est utilisée
avec Windows, elle montre que tous les ports sont ouverts.
Mohamed Mejri Test de pénétration, virologie et rétro ingénierie 29 / 71
Services actifs Techniques
Services actifs : techniques
TCP Null :
Remarque : certaines implantations de la pile TCP/IP ne respectent pas
rigoureusement la recommandation ce qui peut fausser les conclusions du scan.
Mohamed Mejri Test de pénétration, virologie et rétro ingénierie 30 / 71
Services actifs Techniques
Services actifs : techniques
TCP ACK : voir s’il y a un pare-feu avec état (SPI : Stateful Packet Inspection)
û Idée : l’attaquant envoie un paquet ACK. La réponse attendue, selon RFC
793, est RST indépendamment si le port est fermé ou il est ouvert.
ACK n’a pas réponse ou un ICMP de type 3 =⇒ port filtré.
Un SYN retourne un SYN/ACK ou un RST et un ACK retourne un RST
=⇒ port non filtré
Un SYN retourne un SYN/ACK, mais un ACK ne retourne pas de réponse
=⇒ port filtré + pare-feu avec états
SYN et ACK ne génèrent pas de réponses =⇒ port bloqué
Mohamed Mejri Test de pénétration, virologie et rétro ingénierie 31 / 71
Services actifs Techniques
Services actifs : techniques
TCP Windows : voir si certain champs dans la réponse changent d’un port
fermé à un autre
û Idée : l’attaquant envoie des ACKs à plusieurs ports et analyse le contenu du
champ Windows dans les réponses. Des valeurs ”anormales” peuvent impliquer
que le port est ouvert. Par exemple, les réponses suivantes peuvent indiquer
que le port 22 est ouvert.
host 132.164.1.2 port 20: F:RST win: 0
host 132.164.1.2 port 21: F:RST win: 0
host 132.164.1.2 port 22: F:RST win: 512
host 132.164.1.2 port 23: F:RST win: 0
û Remarque : Win indique le nombre d’octets qu’on peut envoyer avant de
recevoir un accusé de réception. Ce type de scan fonctionne seulement avec
quelques systèmes comme AIX et FreeBSD.
Mohamed Mejri Test de pénétration, virologie et rétro ingénierie 32 / 71
Services actifs Techniques
Services actifs : techniques
TCP Idle (Zombie) :
I Trouver une machine non active (idle) qui va jouer le rôle de zombie.
Idéalement cette machine est de confiance pour les IDS et les pare-feux de la
cible
I Déterminer le IPID (un champ dans l’entête IP pour gérer la fragmentation)
du Zombie et vérifier qu’il s’incrémente de 1, d’une requête à une autre
Mohamed Mejri Test de pénétration, virologie et rétro ingénierie 33 / 71
Services actifs Techniques
Services actifs : techniques
TCP Idle (Zombie) :
I Envoyer un paquet (spoofed) à la cible
I Tester le IPID du zombie
Mohamed Mejri Test de pénétration, virologie et rétro ingénierie 34 / 71
Services actifs Techniques
Services actifs : techniques
FTP Bounce (rebond FTP) : Un serveur FTP peut jour le rôle d’un proxy
I Demander à un serveur FTP d’envoyer un fichier à une autre destination
I PORT a1,a2,a3,a4,p1,p2 : indique au serveur FTP que les prochaines com-
mandes seront exécutées sur le port p1*256+p2 de la machine a1.a2.a3.a4
I LIST : permet de lister le contenu du répertoire courant de FTP et de l’envoyer
la cible (elle peut être remplacée par d’autres commandes).
Mohamed Mejri Test de pénétration, virologie et rétro ingénierie 35 / 71
Services actifs Techniques
Services actifs : techniques
FTP Bounce (rebond FTP) :
Mohamed Mejri Test de pénétration, virologie et rétro ingénierie 36 / 71
Services actifs Techniques
Services actifs : techniques
UDP scan :
Reponse du stimulus État assigné par nmap
Réponse reçue de la cible (rare) open
Pas de réponses (après plusieurs transmissions) open — filtered
ICMP port non joignable (type 3, code 3) closed
Autres ICMP non joignable (type 3, code 1, 2, 9, 10 et 13) filtered
source : Livre A. Tanenbaum
Remarques :
• C’est la seule technique connue pour déterminer les ports UDP ouverts
• Plusieurs services importants (DHCP, DNS, SNMP, TFTP, etc) fonctionnent
sur UDP
Mohamed Mejri Test de pénétration, virologie et rétro ingénierie 37 / 71
Services actifs Techniques
Services actifs : techniques
UDP scan : Très lent pour les raisons suivantes
I Les ports ouverts ne retournent aucune réponse. Combien doit-on attendre
pour tirer la conclusion ? (durée du time-out)
I S’il n’y a pas de réponses, le même stimulus est envoyé plusieurs fois pour
distinguer entre absence de réponses et paquets perdus (UDP n’est pas fiable)
I Les ports fermés envoient ICMP port unreachable (ICMP de type 3 et code
3), mais certains systèmes comme Linux2.4.20 limitent le nombre de ICMP,
type 3, code 3 à 1 par seconde
I Le scan de 65 535 ports udp d’une machine qui limite les ICMP à 1/seconde
prend 18h
Remarques : Comment accélérer ?
• Augmenter le nombre de machines à scanner en parallèle (−−min−hostgroup)
• Très peu de ports UDP sont utilisés. On peut scanner juste les plus importants
avec l’option -F
• Utiliser l’option −− host − timeout pour ne pas trop attendre les réponses
• Etc.
Mohamed Mejri Test de pénétration, virologie et rétro ingénierie 38 / 71
Services actifs Outils
Plan
1 Machines actives
2 Services actifs
Techniques
Outils
3 Détection de systèmes d’exploitation
Analyse active
Analyse passive
4 Préparation de poxies
Mohamed Mejri Test de pénétration, virologie et rétro ingénierie 39 / 71
Services actifs Outils
Services actifs : outils
Network Mapper (nmap)
û Un excellent outil : c’est une référence (à connaitre !)
û Permet une large variété de scan (TCP, UDP, etc.)
û Licence GPL
û Disponible sur la plupart des systèmes d’exploitation
û Livre de référence :
source : http ://nmap.org/book/
Mohamed Mejri Test de pénétration, virologie et rétro ingénierie 40 / 71
Services actifs Outils
Services actifs : outils
Network Mapper (nmap) : le film Matrix
source : https ://www.reddit.com/r/hacking/comments/9ng73q/real hacking technique was used in the movie/
Mohamed Mejri Test de pénétration, virologie et rétro ingénierie 41 / 71
Services actifs Outils
Services actifs : outils
Network Mapper (nmap)
û Quelques options :
type de scan commande l’utilisateur a Identifie les identifie les
besoin de privilège ports tcp ports udp
TCP syn -sS oui oui non
TCP connect -sT non oui non
TCP FIN -sF oui oui non
TCP Xmas -sX oui oui non
TCP Null -sN oui oui non
TCP ACK -sA oui oui non
TCP Windows -sW oui oui non
TCP RPC -sR non non non
Idle <zombie host [:probport]> oui oui non
Rebond FTP -b<ftp relay host> non oui non
UDP scan -sU oui non oui
Mohamed Mejri Test de pénétration, virologie et rétro ingénierie 42 / 71
Services actifs Outils
Services actifs : outils
Network Mapper (nmap)
source : http ://nmap.org/docs/nmap-mindmap.pdf
Mohamed Mejri Test de pénétration, virologie et rétro ingénierie 43 / 71
Services actifs Outils
Services actifs : outils
Network Mapper (nmap) : Exemple :
û Scan par défaut : Un scan de type -sS sur les ports inférieurs à
1024 plus les ports supérieurs à 1024 qui se trouve dans le fichier
/usr/share/nmap/nmap-services
[root]$ nmap 192.168.1.1
Starting nmap V. 4.68 by
[email protected] (www.insecure.org/nmap)
Interesting ports on (192.168.1.1):
(The 1504 ports scanned but not shown below are in state:closed)
Port State Portocol Service
21 open tcp ftp
23 open tcp telnet
25 open tcp smtp
79 open tcp finger
80 open tcp http
98 open tcp linuxconf
110 open tcp pop-3
111 open tcp sunrpc
113 open tcp auth
135 open tcp lloc-srv
139 open tcp netbios-ssn
443 open tcp https
û scanner les n port les plus populaires (exemple n=20)
nmap --top-ports 20 192.168.1.106
Mohamed Mejri Test de pénétration, virologie et rétro ingénierie 44 / 71
Services actifs Outils
Services actifs : techniques
Network Mapper (nmap) : Encore plus furtif.
û nmap decoys (-D) : demander à nmap d’envoyer la même requête avec plu-
sieurs adresses sources.
- Une seule qui contient la bonne adresse et les autres sont des adresses
spoofées.
- Dans le fichier log de la cible, on trouve plusieurs machines qui ont demandé
la même requête, ce qui complique l’investigation
û nmap -f : fragmentation. Certains pare-feu ne rassemblent pas les fragments
pour analyser le paquet
û nmap -P0 : demander à nmap de ne pas envoyer de message ICMP (ping)
û nmap -T0 : attendre au moins 5 minutes entre deux paquets.
Mohamed Mejri Test de pénétration, virologie et rétro ingénierie 45 / 71
Services actifs Outils
Services actifs : techniques
Network Mapper (nmap) : niveau d’agressivité
û scan-delay : délai entre deux requêtes
û max-retries : nombre d’essais en cas d’absence de réponse. À noter que
plus que 90% des requêtes seront bloquées par le pare-feu, donc ”inutile” de
trop réessayer
û rtt-timeout : combien attendre avant de considérer qu’il n’y a pas eu de
réponses
source : www.professormesser.com
Mohamed Mejri Test de pénétration, virologie et rétro ingénierie 46 / 71
Services actifs Outils
Services actifs : outils
Network Mapper (nmap) : autres remarques
• Un scan UDP retourne souvent "open|filtered" puisque les services UDP
ne répondent pas toujours suite à la réception UDP.
• L’option -sUV permet d’avoir une réponse plus précise sur les ports UDP :
nmap essaye dans ce cas d’envoyer, selon le service, des requêtes UDP qui
produisent des réponses
• Si vous avez un service que vous voulez mettre un peu à l’abri, attribuez-lui
un port qui n’est pas dans nmap-services (sécurité par obscurité)
• Pour spécifier tous les ports, on utilise l’option ”− − allports” ou -p 0-65535
• On peut spécifier un port par un nom ou un numéro :
nmap -sS http, 443
Mohamed Mejri Test de pénétration, virologie et rétro ingénierie 47 / 71
Services actifs Outils
Services actifs : outils
Network Mapper (nmap) : Fonctionnalités avancées (script)
I nmap a un NSE (Nmap Scripting Engine) qui lui donne plusieurs fonc-
tionnalités avancées (scan de vulnérabilités, découverte avancée de réseaux,
détection de portes dérobées et même la réalisation de certains exploits).
I NSE répartit les scripts en catégories : auth, broadcast, brute,
default, discovery, dos, exploit, external, fuzzer,
intrusive, malware, safe, version, vuln.
I Chaque catégorie contient plusieurs scripts
I On peut invoquer un script ou tous les scripts d’une catégorie
I Pour plus de détails : http ://nmap.org/nsedoc/
I Avoir des détails sur les ports (surtout les ports inhabituels) via leurs bannières
nmap --script banner 192.168.1.110
I Tous les scripts de la catégorie vuln à la recherche de vulnérabilités connues
nmap --script vuln 192.168.1.110
Mohamed Mejri Test de pénétration, virologie et rétro ingénierie 48 / 71
Services actifs Outils
Services actifs : outils
Network Mapper (nmap) : Fonctionnalités avancées (script)
I trouver les serveurs permettant une connexion ftp anonyme
nmap --script ftp-anon.nse
I trouver les serveurs permettant les rebonds ftp
nmap --script ftp-bonce.nse
Mohamed Mejri Test de pénétration, virologie et rétro ingénierie 49 / 71
Services actifs Outils
Services actifs : outils
Network Mapper (nmap) : Fonctionnalités avancées (script)
I trouver les serveurs web permettant de traverser des répertoires pour aller
dans /etc/passwd
nmap --script http-passwd.nse
I voir si un serveur DNS permet la résolution récursive
nmap --script dns-recursion.nse
I voir si un serveur DNS permet un ”zone transfert”
nmap --script dns-transfer.nse
I voir si on peut se connecter à un serveur POP avec un nom d’utilisateur et
mot de passe choisis d’un dictionnaire
nmap --script pop3-brute.nse
I voir si onMejri
Mohamed peut se connecter à un serveur
Test de pénétration, virologie etSNMP avec un nom d’utilisateur50et
rétro ingénierie / 71
Services actifs Outils
Services actifs : outils
Hping2/Hping3 : quelques options.
-h --help show this help -1 --icmp ICMP mode
-v --version show version -2 --udp UDP mode
-V --verbose verbose mode -8 --scan SCAN mode
-a --spoof spoof source address -F --fin
-I --interface interface name -S --syn
-f --frag split packets in more frag -R --rst
-s --baseport base source port (default random) -A --ack
-p --destport -U --urg
-c --count packet count -X --xmas
Exemples :
I hping3 -1 -c 1 192.168.1.110
I hping3 -S -c 1 -s 53 -p 80 192.168.1.110
I hping3 -A -c 1 -s 53 -p 80 192.168.1.110 -a 192.168.1.200
Mohamed Mejri Test de pénétration, virologie et rétro ingénierie 51 / 71
Services actifs Outils
Services actifs : outils
netcat : (couteau suisse)
û Quelques options utiles :
-v : affiche les ports ouverts (par défaut il ne les affiche pas)
-z : terminer le scan sans s’arrêter au premier port trouvé
-u : pour un scan UDP
-w n : nombre maximum de secondes (n) que netcat passe par port.
-r : scan de ports dans l’ordre croissant
û TCP scan : exemple
[root]$ nc -v -z -w2 192.168.1.1 1-1024
[192.168.1.1] 135 (?) open
[192.168.1.1] 80 (http) open
[192.168.1.1] 25 (smtp) open
û UDP scan : exemple
[root]$ nc -u -v -z -w2 192.168.1.1 1-1024
[192.168.1.1] 123 (ntp) open
[192.168.1.1] 53 (domain) open
[192.168.1.1] 42 (name) open
Mohamed Mejri Test de pénétration, virologie et rétro ingénierie 52 / 71
Services actifs Outils
Services actifs : outils
SuperScan (application windows) : une application qui offre de nombreuses
fonctionnalités
Mohamed Mejri Test de pénétration, virologie et rétro ingénierie 53 / 71
Services actifs Outils
Services actifs : outils
UMIT (scanneur pour téléphone Android et Iphone) :
Mohamed Mejri Test de pénétration, virologie et rétro ingénierie 54 / 71
Services actifs Outils
Ports actifs
contre mesures
û Prévention : la prévention de scans des ports est difficile. On peut juste réduire
la surface ciblée en désactivant tous les services inutiles. Pour Unix, il suffit
de mettre en commentaire ces services dans le fichier /etc/inetd.conf. Pour
Windows : voir Panneau de configuration — Services
û Détection : via des IDSs comme SNORT, Scanlog, Etc.
û fail2ban : analyse le fichier log à la recherche de comportements suspects
(plusieurs tentatives de mots de passe erronés, etc.). Il peut ensuite demander
au pare-feu de bloquer une adresse.
û port-knocking (utilisé souvent avec ssh comme un ”code” supplémentaire) :
Pour pouvoir accéder à un service, il faut préalablement envoyer des demandes
de connexion sur certains ports dans un ordre précis. Un outil analyse le log
de pare-feu, établit la liste des actions de chaque machine externe et si une
séquence est présente (exemple SYN vers les ports 100, 1000 et 3000), une
règle est ajoutée pour ouvrir un port donné (exemple ssh)
Mohamed Mejri Test de pénétration, virologie et rétro ingénierie 55 / 71
Services actifs Outils
Ports actifs
contre mesures
û Tarpit (anglais ”tar” : goudron, ”pit” : fosse) : Ralentir les pirates en envoyant
une très petite valeur de MSS avec un SYN/ACK comme réponse à certains
SYN. Le pirate ne peut plus finir avec le port courant pour passer à d’autres.
Introduit comme parade au vers CodeRed (un ver qui exploitait une
vulnérabilité de débordement de tampon dans Microsoft IIS en 2001
pour lancer une attaque DoS contre une liste prédéfinie d’adresse IP
incluant la Maison-Blanche).
Tous les SYN qui ciblent les adresses IP qui ne contiennent pas un serveur
web sont traité par Tarpit.
L’idée a été généralisée pour d’autres services
Avec un iptable on peut le faire facilement. Exemple (ralentir les spam-
meurs) :
iptables -A INPUT -p tcp --dport smtp -j TARPIT
On peut le faire pour tout trafic TCP non autorisé : une fois on met nos
règles ACCEPT, on ”tarpite” le reste du trafic TCP :
iptables -A INPUT -p tcp -j TARPIT
Mohamed Mejri Test de pénétration, virologie et rétro ingénierie 56 / 71
Détection de systèmes d’exploitation
Plan
1 Machines actives
2 Services actifs
Techniques
Outils
3 Détection de systèmes d’exploitation
Analyse active
Analyse passive
4 Préparation de poxies
Mohamed Mejri Test de pénétration, virologie et rétro ingénierie 57 / 71
Détection de systèmes d’exploitation
Détection de systèmes d’exploitation
û Protocoles de réseau
û Analyse de bannières
û Prise d’empreintes
Mohamed Mejri Test de pénétration, virologie et rétro ingénierie 58 / 71
Détection de systèmes d’exploitation
Détection de systèmes d’exploitation
Protocoles de réseau
û SNMP : La variable ”Object OID” dans MIB peut correspondre à un système
d’exploitation, à équipement (commutateur, routeur, etc.), etc.
û DNS : champ de type HINFO
û NetBIOS : NULL Session permet de récupérer des informations sur les
systèmes sans fournir des mots de passe
Mohamed Mejri Test de pénétration, virologie et rétro ingénierie 59 / 71
Détection de systèmes d’exploitation
Détection de systèmes d’exploitation
Analyse de bannières
û Plusieurs systèmes annoncent ce qu’ils sont quand ils répondent à des requêtes
(FTP, TELNET, SMTP, HTTP, POP, etc.).
û Il suffit de ramasser ces informations
û Mais, attention, elles peuvent être usurpées (spoofed)
û Elle peut être faite de manière active ou passive
û Les outils les plus utilisés sont Telnet et Netcat
nc 192.168.1.110 80
HTTP/1.1 200 OK
Date: Mon, 23 November 2009 21:17:14 EST
Server: Apache/2.0.46 (Unix) (Red Hat/Linux)
Content-Type: text/html CHARSET=ISO-8859-1
Mohamed Mejri Test de pénétration, virologie et rétro ingénierie 60 / 71
Détection de systèmes d’exploitation Analyse active
Détection de systèmes d’exploitation
Prise d’empreintes : Analyse active des empreintes de la pile TCP/IP : les détails
d’implantation de la pile TCP/IP varient d’un système d’exploitation à un autre
û Sonde FIN :
Pour terminer normalement une connexion : on envoie un segment
FIN/ACK et on reçoit un ACK.
Un segment qui contient seulement le drapeau FIN mis à 1 est anormal
RFC 793 stipule qu’il ne faut pas répondre aux segments FIN
Certains systèmes (Windows NT/ 200X/Vista, etc.) sont ”hors la loi”
et répondent par FIN/ACK
Mohamed Mejri Test de pénétration, virologie et rétro ingénierie 61 / 71
Détection de systèmes d’exploitation Analyse active
Détection de systèmes d’exploitation
Prise d’empreintes
û Drapeau SYN + Bugs :
Les systèmes répondent différemment aux segments SYN mal construits
(e.g. SYN/FIN, SYN/RST, etc.)
Linux, par exemple, répond avec un SYN.
û Analyse de numéros des séquences initiaux (ISN) :
Chaque segment est identifié par numéro de séquence
Le numéro du premier segment de la connexion est généré
aléatoirement” ; le reste c’est de l’incrémentation
L’idée est de ramasser les n premiers numéros de séquences de n
connexions (ou tentatives de connexions) et de les analyser
Plusieurs versions d’Unix génèrent ces nombres d’une manière croissante
Linux 2.0 : c’est complètement aléatoire
Windows : c’est des incrémentations avec des petits pas
Mohamed Mejri Test de pénétration, virologie et rétro ingénierie 62 / 71
Détection de systèmes d’exploitation Analyse active
Détection de systèmes d’exploitation
Prise d’empreintes
û Bit de fragmentation (entête IP) :
Certains systèmes mettent à un le bit DF (Dont Fragment) pour aug-
menter la performance
Ce bit peut être monitoré pour révéler le système d’exploitation
û Taille initiale de la fenêtre TCP : Cette taille est unique pour certains systèmes
(Linux 5840, FreeBSD 65535, XP 65535, Vista et serveur 2008 8192, Cisco
iOS 12.4 4128). Donc, il suffit de la monitorer
û Valeur du TTL : varie d’un système à un autre (Linux : 64, Windows XP,
Vista, Win 7 : 128, Cisco 255 ). Donc, il suffit de la monitorer
û Acquittement de messages :
Pour acquitter un message certains systèmes retournent leurs numéros
de séquences dans les segments ACK
D’autres retournent leurs numéros de séquences + 1
Donc, il suffit de les monitorer
û Autres : Contenu de certains champs dans les protocoles IP, TCP, ICMP, etc.,
peuvent varier d’un système à un autre.
Mohamed Mejri Test de pénétration, virologie et rétro ingénierie 63 / 71
Détection de systèmes d’exploitation Analyse active
Détection de systèmes d’exploitation
Prise d’empreintes : nmap avec l’option (-O) utilise la plupart de ces techniques
pour deviner un système d’exploitation
û Exemple :
[root]$ nmap -O 192.168.1.1
Starting nmap V. 4.68 by [email protected] (www.insecure.org/nmap)
Interesting ports on (192.168.1.1):
(The 1504 ports scanned but not shown below are in state:closed)
Port State Portocol Service
21 open tcp ftp
23 open tcp telnet
25 open tcp smtp
111 open tcp sunrpc
TCP Sequence Prediction : Class=random positive increments
Difficulty=26590 (worthy challeng)
Remote operating system guess: Solaris 2.5, 2.51
Mohamed Mejri Test de pénétration, virologie et rétro ingénierie 64 / 71
Détection de systèmes d’exploitation Analyse active
Détection de systèmes d’exploitation
Prise d’empreintes
û Les signatures des systèmes d’exploitation auxquelles nmap se réfère se
trouvent dans un fichier appelé nmap-os-fingerprint
û Des centaines de signatures se trouvent déjà dans ce fichier et la liste est mise
à jour par chaque nouvelle version
û queso est un autre outil, plus vieux que nmap.
û queso n’est pas un scanneur de ports, il ne fait que la détection des OS
û queso travail sur un seul port (par défaut c’est 80) dont la valeur est 25 dans
l’exemple suivant
[root]$ queso 192.168.1.3:25
192.168.1.3 * Windows 95/98/NT
Mohamed Mejri Test de pénétration, virologie et rétro ingénierie 65 / 71
Détection de systèmes d’exploitation Analyse passive
Détection de systèmes d’exploitation
La détection de systèmes d’exploitation peut se faire d’une manière passive
û Capturer le trafic avec Snort par exemple
û Analyser le contenu de certains champs (TTL, Windows, DF, etc.)
OS IP initial TTL TCP Windows size
Linux 64 5840
FreeBSD 64 65535
Microsoft Windows Vista, 7 et Serveur 2008 128 8192
Cisco Router (iOS 12.4) 255 4128
û p0f est un exemple d’outil qui fait ce genre d’analyse passive
source : http ://samsclass.info
Mohamed Mejri Test de pénétration, virologie et rétro ingénierie 66 / 71
Détection de systèmes d’exploitation Analyse passive
Tracer le diagramme réseau ( outils tout-en-un)
Network Topology Mapper (NTM)
source : https ://www.cmsdistribution.com/es/product/solarwinds-network-topology-mapper/
Mohamed Mejri Test de pénétration, virologie et rétro ingénierie 67 / 71
Détection de systèmes d’exploitation Analyse passive
Tracer le diagramme réseau ( outils tout-en-un)
Nagios
Mohamed Mejri Test de pénétration, virologie et rétro ingénierie 68 / 71
Préparation de poxies
Plan
1 Machines actives
2 Services actifs
Techniques
Outils
3 Détection de systèmes d’exploitation
Analyse active
Analyse passive
4 Préparation de poxies
Mohamed Mejri Test de pénétration, virologie et rétro ingénierie 69 / 71
Préparation de poxies
Scan anonyme
û Pour éviter que son adresse IP se trouve dans les fichiers logs de la cible, le
pirate utilise des proxies.
û Une machine interne piratée peut être utilisée comme pivot (proxy) pour
contourner des pare-feux et IDSs
û Pour compliquer la tâche de l’investigation, il utilise une chaine de proxies
û Pour une meilleure anonymat ou un contournement de censure, il utilise des
réseaux anonymes comme TOR, I2P, CyberGhost. (Orbit, Psiphon, Open
door : pour mobile)
source : www.iproxyever.com/blogs
Mohamed Mejri Test de pénétration, virologie et rétro ingénierie 70 / 71
Préparation de poxies
Anonymat
û Plusieurs proxy sur Internet (attention aux proxies pirates).
û Outils pour chercher des proxies : Proxy Switcher, Proxy Workbench, etc.
û Opera offre quelques VPN.
û Tails : un système d’exploitation (sur USB) fait pour l’anonymat et la
vie privée : tourne en mémoire vive et ne garde aucun trace, communi-
cations chiffrées (HTTPS Everywhere), anonymes via TOR, courriel chiffré
(OpenPGP), effacement sécuritaire de fichiers (Nautilus Wipe), chiffrement
de toute la clé USB (avec LUKS, le standard de Linux pour le chiffrement de
volume), etc.
Mohamed Mejri Test de pénétration, virologie et rétro ingénierie 71 / 71