Pentesting Network
Astuce de prime de bug : inscrivez-vous à Intigriti, une plateforme de prime de bug premium créée par des pirates, pour des pirates ! Rejoignez-nous sur https://go.intigriti.com/hacktricks aujourd'hui, et commencez à gagner des primes allant jusqu'à 100 000 $ !
Découverte des hôtes depuis l'extérieur
Il s'agit d'une section brève sur la façon de trouver des IP répondant depuis l'Internet. Dans cette situation, vous avez une certaine plage d'IP (peut-être même plusieurs plages) et vous devez simplement trouver quelles IPs répondent.
ICMP
C'est la façon la plus facile et la plus rapide de découvrir si un hôte est en ligne ou non.
Vous pourriez essayer d'envoyer quelques paquets ICMP et attendre des réponses. La manière la plus simple est d'envoyer une demande d'écho et d'attendre la réponse. Vous pouvez le faire en utilisant simplement une commande ping
ou en utilisant fping
pour les plages.
Vous pourriez également utiliser nmap pour envoyer d'autres types de paquets ICMP (ceci évitera les filtres aux demandes-réponses d'écho ICMP courantes).
Découverte des ports TCP
Il est très courant de constater que tous les types de paquets ICMP sont filtrés. Ensuite, tout ce que vous pouvez faire pour vérifier si un hôte est actif est d'essayer de trouver des ports ouverts. Chaque hôte a 65535 ports, donc, si vous avez un "grand" périmètre, vous ne pouvez pas tester si chaque port de chaque hôte est ouvert ou non, cela prendrait trop de temps. Ce dont vous avez besoin est donc un scanner de ports rapide (masscan) et une liste des ports les plus utilisés :
Découverte du port HTTP
C'est simplement une découverte de port TCP utile lorsque vous souhaitez vous concentrer sur la découverte des services HTTP:
Découverte de ports UDP
Vous pourriez également essayer de vérifier si certains ports UDP sont ouverts pour décider si vous devez accorder plus d'attention à un hôte. Comme les services UDP ne répondent généralement pas avec de données à un paquet de sondage UDP vide normal, il est difficile de dire si un port est filtré ou ouvert. La manière la plus simple de décider est d'envoyer un paquet lié au service en cours d'exécution, et comme vous ne savez pas quel service est en cours d'exécution, vous devriez essayer le plus probable en fonction du numéro de port :
La ligne nmap proposée précédemment testera les 1000 ports UDP principaux de chaque hôte à l'intérieur de la plage /24, mais même cela prendra >20min. Si vous avez besoin de résultats plus rapides, vous pouvez utiliser udp-proto-scanner: ./udp-proto-scanner.pl 199.66.11.53/24
Cela enverra ces sondes UDP vers leur port attendu (pour une plage /24, cela prendra seulement 1 min) : DNSStatusRequest, DNSVersionBindReq, NBTStat, NTPRequest, RPCCheck, SNMPv3GetRequest, chargen, citrix, daytime, db2, echo, gtpv1, ike,ms-sql, ms-sql-slam, netop, ntp, rpc, snmp-public, systat, tftp, time, xdmcp.
Découverte de port SCTP
Test d'intrusion Wifi
Ici, vous pouvez trouver un guide complet de toutes les attaques Wifi bien connues au moment de la rédaction :
Pentesting WifiDécouverte des hôtes de l'intérieur
Si vous êtes à l'intérieur du réseau, l'une des premières choses que vous voudrez faire est de découvrir d'autres hôtes. Selon le niveau de bruit que vous pouvez/voulez générer, différentes actions pourraient être effectuées :
Passif
Vous pouvez utiliser ces outils pour découvrir passivement les hôtes à l'intérieur d'un réseau connecté :
Actif
Notez que les techniques commentées dans Découverte des hôtes depuis l'extérieur (Découverte des ports TCP/HTTP/UDP/SCTP) peuvent également être appliquées ici. Cependant, étant donné que vous êtes dans le même réseau que les autres hôtes, vous pouvez faire plus de choses:
ICMP Actif
Notez que les techniques commentées dans Découverte des hôtes depuis l'extérieur (ICMP) peuvent également être appliquées ici. Cependant, étant donné que vous êtes dans le même réseau que les autres hôtes, vous pouvez faire plusieurs choses :
Si vous pinguez une adresse de diffusion de sous-réseau, le ping devrait arriver à chaque hôte et ils pourraient vous répondre :
ping -b 10.10.5.255
En pingant l'adresse de diffusion du réseau, vous pourriez même trouver des hôtes à l'intérieur d'autres sous-réseaux :
ping -b 255.255.255.255
Utilisez les drapeaux
-PE
,-PP
,-PM
denmap
pour effectuer une découverte d'hôtes en envoyant respectivement des demandes de requête ICMPv4 echo, de timestamp, et de masque de sous-réseau :nmap -PE -PM -PP -sn -vvv -n 10.12.5.0/24
Réveil sur Réseau (Wake On Lan)
Le Réveil sur Réseau est utilisé pour allumer les ordinateurs via un message réseau. Le paquet magique utilisé pour allumer l'ordinateur est simplement un paquet où un MAC Dst est fourni et est ensuite répété 16 fois dans le même paquet. Ces types de paquets sont généralement envoyés dans un ethernet 0x0842 ou dans un paquet UDP au port 9. Si aucun [MAC] n'est fourni, le paquet est envoyé à l'ethernet de diffusion (et le MAC de diffusion sera celui qui est répété).
Balayage des hôtes
Une fois que vous avez découvert toutes les adresses IP (externes ou internes) que vous souhaitez analyser en profondeur, différentes actions peuvent être effectuées.
TCP
Port ouvert : SYN --> SYN/ACK --> RST
Port fermé : SYN --> RST/ACK
Port filtré : SYN --> [PAS DE RÉPONSE]
Port filtré : SYN --> message ICMP
UDP
Il existe 2 options pour scanner un port UDP :
Envoyer un paquet UDP et vérifier la réponse ICMP unreachable si le port est fermé (dans plusieurs cas, ICMP sera filtré donc vous ne recevrez aucune information si le port est fermé ou ouvert).
Envoyer des datagrammes formatés pour obtenir une réponse d'un service (par exemple, DNS, DHCP, TFTP, et d'autres, comme listé dans nmap-payloads). Si vous recevez une réponse, alors le port est ouvert.
Nmap va mélanger les deux options en utilisant "-sV" (les scans UDP sont très lents), mais notez que les scans UDP sont plus lents que les scans TCP :
Analyse SCTP
SCTP (Stream Control Transmission Protocol) est conçu pour être utilisé aux côtés de TCP (Transmission Control Protocol) et UDP (User Datagram Protocol). Son objectif principal est de faciliter le transport des données téléphoniques sur les réseaux IP, en reflétant bon nombre des fonctionnalités de fiabilité trouvées dans Signaling System 7 (SS7). SCTP est un composant essentiel de la famille de protocoles SIGTRAN, qui vise à transporter des signaux SS7 sur les réseaux IP.
Le support de SCTP est fourni par divers systèmes d'exploitation, tels que IBM AIX, Oracle Solaris, HP-UX, Linux, Cisco IOS, et VxWorks, indiquant sa large acceptation et son utilité dans le domaine des télécommunications et des réseaux.
Deux analyses différentes pour SCTP sont proposées par nmap : -sY et -sZ
Évasion des IDS et IPS
IDS and IPS EvasionPlus d'options nmap
Nmap Summary (ESP)Révélation des adresses IP internes
Les routeurs, pare-feu et périphériques réseau mal configurés répondent parfois aux sondes réseau en utilisant des adresses source non publiques. tcpdump peut être utilisé pour identifier les paquets reçus à partir d'adresses privées lors des tests. Plus précisément, sur Kali Linux, les paquets peuvent être capturés sur l'interface eth2, qui est accessible depuis Internet. Il est important de noter que si votre configuration est derrière un NAT ou un pare-feu, de tels paquets sont susceptibles d'être filtrés.
Sniffing
En sniffant, vous pouvez apprendre des détails sur les plages d'adresses IP, les tailles de sous-réseau, les adresses MAC et les noms d'hôtes en examinant les trames et paquets capturés. Si le réseau est mal configuré ou si le tissu de commutation est sous stress, les attaquants peuvent capturer du matériel sensible via un sniffing réseau passif.
Si un réseau Ethernet commuté est configuré correctement, vous ne verrez que des trames de diffusion et du matériel destiné à votre adresse MAC.
TCPDump
On peut également capturer des paquets depuis une machine distante via une session SSH avec Wireshark en tant qu'interface graphique en temps réel.
Bettercap
Bettercap est un outil de pentesting réseau en ligne de commande qui permet d'effectuer diverses attaques sur les réseaux locaux. Il peut être utilisé pour l'écoute du trafic en clair, le sniffing de paquets, le spoofing d'ARP, l'injection de paquets, la redirection de trafic, et bien d'autres attaques réseau. Bettercap est un outil polyvalent et puissant largement utilisé par les professionnels de la cybersécurité pour tester la sécurité des réseaux.
Wireshark
Évidemment.
Capture de crédentiels
Vous pouvez utiliser des outils comme https://github.com/lgandx/PCredz pour analyser les crédentiels à partir d'un fichier pcap ou d'une interface en direct.
Attaques LAN
Spoofing ARP
Le Spoofing ARP consiste à envoyer des réponses ARP gratuites pour indiquer que l'IP d'une machine a l'adresse MAC de notre appareil. Ensuite, la victime modifiera la table ARP et contactera notre machine chaque fois qu'elle voudra contacter l'IP falsifiée.
Bettercap
Arpspoof
MAC Flooding - Débordement CAM
Débordez la table CAM du commutateur en envoyant de nombreux paquets avec des adresses MAC source différentes. Lorsque la table CAM est pleine, le commutateur commence à se comporter comme un concentrateur (diffusant tout le trafic).
Dans les commutateurs modernes, cette vulnérabilité a été corrigée.
Attaques 802.1Q VLAN / DTP
Trunking Dynamique
Le Protocole de Trunking Dynamique (DTP) est conçu comme un protocole de couche de liaison pour faciliter un système automatique de trunking, permettant aux commutateurs de sélectionner automatiquement les ports en mode trunk (Trunk) ou en mode non-trunk. Le déploiement de DTP est souvent considéré comme indicatif d'une conception réseau sous-optimale, soulignant l'importance de configurer manuellement les tronçons uniquement lorsque cela est nécessaire et de garantir une documentation adéquate.
Par défaut, les ports de commutateur sont configurés pour fonctionner en mode Dynamique Automatique, ce qui signifie qu'ils sont prêts à initier le trunking si un commutateur voisin le demande. Un problème de sécurité survient lorsqu'un testeur d'intrusion ou un attaquant se connecte au commutateur et envoie une trame DTP Désirable, obligeant le port à passer en mode trunk. Cette action permet à l'attaquant d'énumérer les VLAN via l'analyse des trames STP et de contourner la segmentation des VLAN en configurant des interfaces virtuelles.
La présence de DTP dans de nombreux commutateurs par défaut peut être exploitée par des adversaires pour imiter le comportement d'un commutateur, leur permettant ainsi d'accéder au trafic sur tous les VLAN. Le script dtpscan.sh est utilisé pour surveiller une interface, révélant si un commutateur est en mode par défaut, Trunk, Dynamique, Automatique ou Accès, ce dernier étant la seule configuration immunisée contre les attaques de saut de VLAN. Cet outil évalue l'état de vulnérabilité du commutateur.
Si une vulnérabilité réseau est identifiée, l'outil Yersinia peut être utilisé pour "activer le trunking" via le protocole DTP, permettant l'observation des paquets de tous les VLAN.
![](https://book.hacktricks.xyz/~gitbook/image?url=https%3A%2F%2F2088318145-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Frq9WIQinJaxpWMvakjIQ%252Fuploads%252Fgit-blob-82b357385a723f9e1b186b95df5f5871e2c43cd4%252Fimage%2520%28646%29%2520%281%29.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=217b50e3&sv=1)
Pour énumérer les VLAN, il est également possible de générer le trame DTP Desirable avec le script DTPHijacking.py. Ne pas interrompre le script sous aucun prétexte. Il injecte DTP Desirable toutes les trois secondes. Les canaux de trunk créés dynamiquement sur le commutateur ne restent actifs que pendant cinq minutes. Après cinq minutes, le trunk tombe.
Je tiens à souligner que Access/Desirable (0x03) indique que le cadre DTP est de type souhaitable, ce qui indique au port de passer en mode Trunk. Et 802.1Q/802.1Q (0xa5) indique le type d'encapsulation 802.1Q.
En analysant les trames STP, nous apprenons l'existence des VLAN 30 et 60.
![](https://book.hacktricks.xyz/~gitbook/image?url=https%3A%2F%2F2088318145-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Frq9WIQinJaxpWMvakjIQ%252Fuploads%252Fgit-blob-69f6170c531251922aae02b68bd1377d5e05122f%252Fimage%2520%2818%29%2520%281%29.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=3fb16a45&sv=1)
Attaquer des VLAN spécifiques
Une fois que vous connaissez les identifiants VLAN et les valeurs IP, vous pouvez configurer une interface virtuelle pour attaquer un VLAN spécifique. Si le DHCP n'est pas disponible, utilisez ifconfig pour définir une adresse IP statique.
Saut de VLAN Automatique
L'attaque discutée de Trunking Dynamique et la création d'interfaces virtuelles pour découvrir des hôtes dans d'autres VLAN sont automatiquement effectuées par l'outil : https://github.com/nccgroup/vlan-hopping---frogger
Double Étiquetage
Si un attaquant connaît la valeur du MAC, de l'IP et de l'ID VLAN de l'hôte victime, il pourrait essayer de double étiqueter un trame avec son VLAN désigné et le VLAN de la victime et envoyer un paquet. Comme la victime ne pourra pas se connecter à l'attaquant, la meilleure option pour l'attaquant est de communiquer via UDP vers des protocoles qui peuvent effectuer des actions intéressantes (comme SNMP).
Une autre option pour l'attaquant est de lancer un balayage de ports TCP en usurpant une IP contrôlée par l'attaquant et accessible par la victime (probablement via internet). Ensuite, l'attaquant pourrait renifler dans le deuxième hôte lui appartenant s'il reçoit des paquets de la victime.
![](https://book.hacktricks.xyz/~gitbook/image?url=https%3A%2F%2F2088318145-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Frq9WIQinJaxpWMvakjIQ%252Fuploads%252Fgit-blob-3f2bb9379f89f428fc8281dcb0fe828428d4fa49%252Fimage%2520%28635%29%2520%281%29.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=a4c78809&sv=1)
Pour effectuer cette attaque, vous pourriez utiliser scapy : pip install scapy
Contournement de la segmentation latérale des VLAN
Si vous avez accès à un commutateur auquel vous êtes directement connecté, vous avez la possibilité de contourner la segmentation des VLAN au sein du réseau. Il vous suffit de passer le port en mode trunk (également appelé trunk), de créer des interfaces virtuelles avec les identifiants des VLAN cibles, et de configurer une adresse IP. Vous pouvez essayer de demander l'adresse de manière dynamique (DHCP) ou la configurer de manière statique. Cela dépend du cas.
Lateral VLAN Segmentation BypassContournement des VLAN privés de couche 3
Dans certains environnements, tels que les réseaux sans fil invités, les paramètres d'isolation de port (également connus sous le nom de VLAN privés) sont mis en place pour empêcher les clients connectés à un point d'accès sans fil de communiquer directement entre eux. Cependant, une technique a été identifiée pour contourner ces mesures d'isolation. Cette technique exploite soit l'absence de listes de contrôle d'accès réseau, soit leur configuration incorrecte, permettant aux paquets IP d'être routés à travers un routeur pour atteindre un autre client sur le même réseau.
L'attaque est exécutée en créant un paquet qui transporte l'adresse IP du client de destination mais avec l'adresse MAC du routeur. Cela amène le routeur à transférer par erreur le paquet vers le client cible. Cette approche est similaire à celle utilisée dans les attaques à double étiquetage, où la capacité de contrôler un hôte accessible à la victime est utilisée pour exploiter la faille de sécurité.
Étapes clés de l'attaque :
Création d'un paquet : Un paquet est spécialement conçu pour inclure l'adresse IP du client cible mais avec l'adresse MAC du routeur.
Exploitation du comportement du routeur : Le paquet créé est envoyé au routeur, qui, en raison de la configuration, redirige le paquet vers le client cible, contournant l'isolation fournie par les paramètres de VLAN privés.
Attaques VTP
Le VTP (VLAN Trunking Protocol) centralise la gestion des VLAN. Il utilise des numéros de révision pour maintenir l'intégrité de la base de données des VLAN ; toute modification incrémente ce numéro. Les commutateurs adoptent les configurations avec des numéros de révision plus élevés, mettant à jour leurs propres bases de données VLAN.
Rôles de domaine VTP
Serveur VTP : Gère les VLAN - crée, supprime, modifie. Il diffuse des annonces VTP aux membres du domaine.
Client VTP : Reçoit les annonces VTP pour synchroniser sa base de données VLAN. Ce rôle est limité aux modifications de configuration VLAN locales.
Transparent VTP : Ne participe pas aux mises à jour VTP mais transmet les annonces VTP. Non affecté par les attaques VTP, il maintient un numéro de révision constant de zéro.
Types d'annonces VTP
Annonce de synthèse : Diffusée par le serveur VTP toutes les 300 secondes, transportant des informations essentielles sur le domaine.
Annonce partielle : Envoyée suite à des modifications de configuration VLAN.
Demande d'annonce : Émise par un client VTP pour demander une annonce de synthèse, généralement en réponse à la détection d'un numéro de révision de configuration plus élevé.
Les vulnérabilités VTP sont exploitables exclusivement via les ports trunk car les annonces VTP circulent uniquement à travers eux. Les scénarios d'attaque post-DTP pourraient se tourner vers le VTP. Des outils comme Yersinia peuvent faciliter les attaques VTP, visant à effacer la base de données VLAN, perturbant ainsi efficacement le réseau.
Remarque : Cette discussion concerne la version 1 de VTP (VTPv1).
Attaques STP
Si vous ne pouvez pas capturer les trames BPDU sur vos interfaces, il est peu probable que vous réussissiez dans une attaque STP.
STP BPDU DoS
En envoyant beaucoup de BPDUs TCP (Notification de Changement de Topologie) ou Conf (les BPDUs envoyés lors de la création de la topologie), les commutateurs sont surchargés et cessent de fonctionner correctement.
Attaque TCP STP
Lorsqu'un paquet TCP est envoyé, la table CAM des commutateurs est supprimée en 15 secondes. Ensuite, si vous envoyez continuellement ce type de paquets, la table CAM sera redémarrée en continu (ou toutes les 15 secondes) et lorsque cela se produit, le commutateur se comporte comme un concentrateur.
Attaque de la racine STP
L'attaquant simule le comportement d'un commutateur pour devenir la racine STP du réseau. Ensuite, plus de données passeront par lui. C'est intéressant lorsque vous êtes connecté à deux commutateurs différents. Cela se fait en envoyant des paquets CONF BPDU disant que la valeur de priorité est inférieure à la priorité réelle du commutateur racine actuel.
Si l'attaquant est connecté à 2 commutateurs, il peut être la racine de l'arbre et tout le trafic entre ces commutateurs passera par lui (une attaque MITM sera effectuée).
Attaques CDP
Le protocole de découverte CISCO (CDP) est essentiel pour la communication entre les appareils CISCO, leur permettant de s'identifier mutuellement et de partager des détails de configuration.
Collecte Passive de Données
CDP est configuré pour diffuser des informations sur tous les ports, ce qui peut entraîner un risque de sécurité. Un attaquant, en se connectant à un port de commutateur, pourrait déployer des outils de capture réseau tels que Wireshark, tcpdump, ou Yersinia. Cette action peut révéler des données sensibles sur l'appareil réseau, y compris son modèle et la version de Cisco IOS qu'il exécute. L'attaquant pourrait ensuite cibler des vulnérabilités spécifiques dans la version identifiée de Cisco IOS.
Induction d'une Inondation de Table CDP
Une approche plus agressive consiste à lancer une attaque par déni de service (DoS) en submergeant la mémoire du commutateur, en se faisant passer pour des appareils CISCO légitimes. Voici la séquence de commandes pour initier une telle attaque en utilisant Yersinia, un outil réseau conçu pour les tests :
Pendant cette attaque, le CPU du commutateur et la table des voisins CDP sont fortement sollicités, entraînant ce qui est souvent appelé "paralysie du réseau" en raison de la consommation excessive de ressources.
Attaque d'Impersonation CDP
Vous pouvez également utiliser scapy. Assurez-vous de l'installer avec le package scapy/contrib
.
Attaques VoIP et l'outil VoIP Hopper
Les téléphones VoIP, de plus en plus intégrés aux appareils IoT, offrent des fonctionnalités telles que le déverrouillage des portes ou le contrôle des thermostats via des numéros de téléphone spéciaux. Cependant, cette intégration peut présenter des risques en matière de sécurité.
L'outil voiphopper est conçu pour émuler un téléphone VoIP dans divers environnements (Cisco, Avaya, Nortel, Alcatel-Lucent). Il découvre l'ID VLAN du réseau vocal en utilisant des protocoles tels que CDP, DHCP, LLDP-MED et 802.1Q ARP.
VoIP Hopper propose trois modes pour le protocole de découverte Cisco (CDP) :
Mode Sniff (
-c 0
) : Analyse les paquets réseau pour identifier l'ID VLAN.Mode Spoof (
-c 1
) : Génère des paquets personnalisés imitant ceux d'un véritable appareil VoIP.Mode Spoof avec paquet préfabriqué (
-c 2
) : Envoie des paquets identiques à ceux d'un modèle spécifique de téléphone IP Cisco.
Le mode préféré pour la vitesse est le troisième. Il nécessite de spécifier :
L'interface réseau de l'attaquant (paramètre
-i
).Le nom de l'appareil VoIP à émuler (paramètre
-E
), en respectant le format de nommage Cisco (par exemple, SEP suivi d'une adresse MAC).
Dans les environnements d'entreprise, pour imiter un appareil VoIP existant, on pourrait :
Vérifier l'étiquette MAC sur le téléphone.
Naviguer dans les paramètres d'affichage du téléphone pour voir les informations sur le modèle.
Connecter l'appareil VoIP à un ordinateur portable et observer les demandes CDP à l'aide de Wireshark.
Un exemple de commande pour exécuter l'outil en mode trois serait :
Attaques DHCP
Énumération
DoS
Deux types de DoS pourraient être effectués contre les serveurs DHCP. Le premier consiste à simuler suffisamment de faux hôtes pour utiliser toutes les adresses IP possibles. Cette attaque ne fonctionnera que si vous pouvez voir les réponses du serveur DHCP et compléter le protocole (Découverte (Comp) --> Offre (serveur) --> Demande (Comp) --> ACK (serveur)). Par exemple, cela n'est pas possible dans les réseaux Wifi.
Une autre façon d'effectuer un DoS DHCP est d'envoyer un paquet DHCP-RELEASE en utilisant comme code source chaque IP possible. Ensuite, le serveur pensera que tout le monde a fini d'utiliser l'IP.
Une façon plus automatique de faire cela est d'utiliser l'outil DHCPing
Vous pourriez utiliser les attaques DoS mentionnées pour forcer les clients à obtenir de nouvelles baux au sein de l'environnement, et épuiser les serveurs légitimes afin qu'ils deviennent non réactifs. Ainsi, lorsque les légitimes tentent de se reconnecter, vous pouvez servir des valeurs malveillantes mentionnées dans la prochaine attaque.
Définir des valeurs malveillantes
Un serveur DHCP malveillant peut être configuré en utilisant le script DHCP situé à /usr/share/responder/DHCP.py
. Cela est utile pour les attaques réseau, comme la capture du trafic HTTP et des identifiants, en redirigeant le trafic vers un serveur malveillant. Cependant, la configuration d'une passerelle malveillante est moins efficace car elle ne permet que de capturer le trafic sortant du client, en ignorant les réponses de la vraie passerelle. Au lieu de cela, il est recommandé de configurer un serveur DNS ou WPAD malveillant pour une attaque plus efficace.
Voici les options de commande pour configurer le serveur DHCP malveillant :
Notre adresse IP (Annonce de la passerelle) : Utilisez
-i 10.0.0.100
pour annoncer l'IP de votre machine comme passerelle.Nom de domaine DNS local : Facultativement, utilisez
-d example.org
pour définir un nom de domaine DNS local.Adresse IP du routeur/passerelle d'origine : Utilisez
-r 10.0.0.1
pour spécifier l'adresse IP du routeur ou de la passerelle légitime.Adresse IP du serveur DNS principal : Utilisez
-p 10.0.0.100
pour définir l'adresse IP du serveur DNS malveillant que vous contrôlez.Adresse IP du serveur DNS secondaire : Facultativement, utilisez
-s 10.0.0.1
pour définir une adresse IP de serveur DNS secondaire.Masque de sous-réseau du réseau local : Utilisez
-n 255.255.255.0
pour définir le masque de sous-réseau du réseau local.Interface pour le trafic DHCP : Utilisez
-I eth1
pour écouter le trafic DHCP sur une interface réseau spécifique.Adresse de configuration WPAD : Utilisez
-w “http://10.0.0.100/wpad.dat”
pour définir l'adresse de configuration WPAD, aidant à l'interception du trafic web.Fausser l'adresse IP de la passerelle par défaut : Incluez
-S
pour fausser l'adresse IP de la passerelle par défaut.Répondre à toutes les demandes DHCP : Incluez
-R
pour que le serveur réponde à toutes les demandes DHCP, mais soyez conscient que cela est bruyant et peut être détecté.
En utilisant correctement ces options, un serveur DHCP malveillant peut être établi pour intercepter efficacement le trafic réseau.
Attaques EAP
Voici quelques-unes des tactiques d'attaque qui peuvent être utilisées contre les implémentations 802.1X :
Force brute active de mots de passe via EAP
Attaque du serveur RADIUS avec un contenu EAP malformé **(exploits)
Capture de messages EAP et craquage de mots de passe hors ligne (EAP-MD5 et PEAP)
Forcer l'authentification EAP-MD5 pour contourner la validation du certificat TLS
Injection de trafic réseau malveillant lors de l'authentification en utilisant un concentrateur ou similaire
Si l'attaquant se trouve entre la victime et le serveur d'authentification, il pourrait tenter de dégrader (si nécessaire) le protocole d'authentification en EAP-MD5 et capturer la tentative d'authentification. Ensuite, il pourrait effectuer une force brute en utilisant :
Attaques FHRP (GLBP & HSRP)
FHRP (First Hop Redundancy Protocol) est une classe de protocoles réseau conçue pour créer un système de routage redondant à chaud. Avec FHRP, des routeurs physiques peuvent être combinés en un seul dispositif logique, ce qui augmente la tolérance aux pannes et aide à répartir la charge.
Les ingénieurs de Cisco Systems ont développé deux protocoles FHRP, GLBP et HSRP.
GLBP & HSRP AttacksRIP
Trois versions du protocole d'information de routage (RIP) sont connues : RIP, RIPv2 et RIPng. Les datagrammes sont envoyés aux pairs via le port 520 en utilisant UDP par RIP et RIPv2, tandis que les datagrammes sont diffusés sur le port 521 en utilisant IPv6 multicast par RIPng. Le support de l'authentification MD5 a été introduit par RIPv2. En revanche, l'authentification native n'est pas incorporée par RIPng ; à la place, on se base sur les en-têtes IPsec AH et ESP optionnels dans IPv6.
RIP et RIPv2 : La communication se fait via des datagrammes UDP sur le port 520.
RIPng : Utilise le port UDP 521 pour diffuser des datagrammes via IPv6 multicast.
Notez que RIPv2 prend en charge l'authentification MD5 tandis que RIPng n'inclut pas d'authentification native, se reposant sur les en-têtes IPsec AH et ESP dans IPv6.
Attaques EIGRP
EIGRP (Enhanced Interior Gateway Routing Protocol) est un protocole de routage dynamique. C'est un protocole de vecteur de distance. En l'absence d'authentification et de configuration d'interfaces passives, un intrus peut interférer avec le routage EIGRP et causer une empoisonnement des tables de routage. De plus, le réseau EIGRP (autrement dit, le système autonome) est plat et n'est pas segmenté en zones. Si un attaquant injecte une route, il est probable que cette route se propage dans tout le système autonome EIGRP.
Pour attaquer un système EIGRP, il faut établir une relation de voisinage avec un routeur EIGRP légitime, ce qui ouvre de nombreuses possibilités, de la reconnaissance de base à diverses injections.
FRRouting vous permet de mettre en place un routeur virtuel prenant en charge BGP, OSPF, EIGRP, RIP et d'autres protocoles. Il vous suffit de le déployer sur le système de votre attaquant et vous pouvez réellement vous faire passer pour un routeur légitime dans le domaine de routage.
EIGRP AttacksColy possède des capacités pour intercepter les diffusions EIGRP (Enhanced Interior Gateway Routing Protocol). Il permet également l'injection de paquets, qui peut être utilisée pour modifier les configurations de routage.
OSPF
Dans le protocole Open Shortest Path First (OSPF), l'authentification MD5 est couramment utilisée pour assurer une communication sécurisée entre les routeurs. Cependant, cette mesure de sécurité peut être compromise en utilisant des outils comme Loki et John the Ripper. Ces outils sont capables de capturer et de casser les hachages MD5, exposant la clé d'authentification. Une fois cette clé obtenue, elle peut être utilisée pour introduire de nouvelles informations de routage. Pour configurer les paramètres de routage et établir la clé compromise, les onglets Injection et Connection sont utilisés, respectivement.
Capture et Cassage des Hachages MD5 : Des outils tels que Loki et John the Ripper sont utilisés à cette fin.
Configuration des Paramètres de Routage : Cela se fait via l'onglet Injection.
Définition de la Clé Compromise : La clé est configurée sous l'onglet Connection.
Autres Outils et Sources Génériques
Above : Outil pour scanner le trafic réseau et trouver des vulnérabilités
Vous pouvez trouver plus d'informations sur les attaques réseau ici.
Spoofing
L'attaquant configure tous les paramètres réseau (GW, IP, DNS) du nouveau membre du réseau en envoyant de fausses réponses DHCP.
ARP Spoofing
Vérifiez la section précédente.
ICMPRedirect
ICMP Redirect consiste à envoyer un paquet ICMP de type 1 code 5 qui indique que l'attaquant est le meilleur moyen d'atteindre une adresse IP. Ensuite, lorsque la victime souhaite contacter l'adresse IP, elle enverra le paquet via l'attaquant.
DNS Spoofing
L'attaquant va résoudre certains (ou tous) les domaines demandés par la victime.
Configurer son propre DNS avec dnsmasq
Passerelles locales
Plusieurs routes vers des systèmes et des réseaux existent souvent. Après avoir établi une liste des adresses MAC dans le réseau local, utilisez gateway-finder.py pour identifier les hôtes prenant en charge le transfert IPv4.
Pour la résolution locale des hôtes lorsque les recherches DNS échouent, les systèmes Microsoft s'appuient sur Link-Local Multicast Name Resolution (LLMNR) et le NetBIOS Name Service (NBT-NS). De même, Apple Bonjour et les implémentations zero-configuration de Linux utilisent Multicast DNS (mDNS) pour découvrir les systèmes au sein d'un réseau. En raison de la nature non authentifiée de ces protocoles et de leur fonctionnement sur UDP, en diffusant des messages, ils peuvent être exploités par des attaquants cherchant à rediriger les utilisateurs vers des services malveillants.
Vous pouvez vous faire passer pour des services recherchés par des hôtes en utilisant Responder pour envoyer de fausses réponses. Lisez ici plus d'informations sur comment se faire passer pour des services avec Responder.
Les navigateurs utilisent couramment le protocole Web Proxy Auto-Discovery (WPAD) pour acquérir automatiquement les paramètres du proxy. Cela implique de récupérer les détails de configuration à partir d'un serveur, spécifiquement via une URL telle que "http://wpad.example.org/wpad.dat". La découverte de ce serveur par les clients peut se faire via divers mécanismes :
Via DHCP, où la découverte est facilitée en utilisant une entrée de code spéciale 252.
Par DNS, qui implique la recherche d'un nom d'hôte étiqueté wpad dans le domaine local.
Via Microsoft LLMNR et NBT-NS, qui sont des mécanismes de secours utilisés dans les cas où les recherches DNS échouent.
L'outil Responder tire parti de ce protocole en agissant en tant que serveur WPAD malveillant. Il utilise DHCP, DNS, LLMNR et NBT-NS pour induire en erreur les clients et les amener à se connecter à lui. Pour approfondir la manière dont les services peuvent être usurpés en utilisant Responder consultez ceci.
Vous pouvez proposer différents services dans le réseau pour essayer de tromper un utilisateur afin qu'il entre des informations d'identification en texte clair. Plus d'informations sur cette attaque dans Spoofing SSDP and UPnP Devices.
IPv6 Neighbor Spoofing
Cette attaque est très similaire au Spoofing ARP mais dans le monde IPv6. Vous pouvez faire croire à la victime que l'IPv6 de la passerelle a l'adresse MAC de l'attaquant.
Spoofing/Flooding des Annonces de Routeur IPv6
Certains systèmes d'exploitation configurent par défaut la passerelle à partir des paquets RA envoyés dans le réseau. Pour déclarer l'attaquant en tant que routeur IPv6, vous pouvez utiliser :
Spoofing DHCP IPv6
Par défaut, certains systèmes d'exploitation tentent de configurer le DNS en lisant un paquet DHCPv6 dans le réseau. Ainsi, un attaquant pourrait envoyer un paquet DHCPv6 pour se configurer en tant que serveur DNS. Le DHCP fournit également une adresse IPv6 à la victime.
HTTP (fausse page et injection de code JS)
Attaques Internet
sslStrip
Essentiellement, ce que fait cette attaque, c'est que, dans le cas où l'utilisateur tente d'accéder à une page HTTP qui se redirige vers la version HTTPS, sslStrip va maintenir une connexion HTTP avec le client et une connexion HTTPS avec le serveur afin de pouvoir capturer la connexion en texte clair.
Plus d'informations ici.
sslStrip+ et dns2proxy pour contourner HSTS
La différence entre sslStrip+ et dns2proxy par rapport à sslStrip est qu'ils vont rediriger par exemple www.facebook.com vers wwww.facebook.com (notez le "w" supplémentaire) et définiront l'adresse de ce domaine comme l'IP de l'attaquant. De cette manière, le client se connectera à wwww.facebook.com (l'attaquant) mais en arrière-plan, sslstrip+ maintiendra la vraie connexion via https avec www.facebook.com.
Le but de cette technique est de contourner HSTS car wwww.facebook.com ne sera pas enregistré dans le cache du navigateur, donc le navigateur sera trompé pour effectuer l'authentification de Facebook en HTTP. Notez que pour effectuer cette attaque, la victime doit essayer d'accéder initialement à http://www.faceook.com et non en https. Cela peut être fait en modifiant les liens à l'intérieur d'une page http.
Plus d'informations ici, ici et ici.
sslStrip ou sslStrip+ ne fonctionne plus. Cela est dû aux règles HSTS préenregistrées dans les navigateurs, donc même si c'est la première fois qu'un utilisateur accède à un domaine "important", il y accédera via HTTPS. De plus, notez que les règles préenregistrées et les autres règles générées peuvent utiliser le drapeau includeSubdomains
donc l'exemple de wwww.facebook.com précédent ne fonctionnera plus car facebook.com utilise HSTS avec includeSubdomains
.
À FAIRE : easy-creds, evilgrade, metasploit, factory
Écoute TCP sur le port
Écoute TCP + SSL sur le port
Générer des clés et un certificat auto-signé
Écoutez en utilisant un certificat
Écouter en utilisant un certificat et rediriger vers les hôtes
Parfois, si le client vérifie que le CA est valide, vous pourriez servir un certificat d'un autre nom d'hôte signé par un CA. Un autre test intéressant consiste à servir un certificat du nom d'hôte demandé mais auto-signé.
D'autres choses à tester sont d'essayer de signer le certificat avec un certificat valide qui n'est pas un CA valide. Ou d'utiliser la clé publique valide, de forcer l'utilisation d'un algorithme comme diffie hellman (qui n'a pas besoin de décrypter quoi que ce soit avec la vraie clé privée) et lorsque le client demande une sonde de la vraie clé privée (comme un hachage), envoyer une fausse sonde et espérer que le client ne vérifie pas cela.
Bettercap
Notes sur la découverte active
Il faut prendre en compte que lorsqu'un paquet UDP est envoyé à un appareil qui n'a pas le port demandé, un ICMP (Port Unreachable) est renvoyé.
Découverte ARP
Les paquets ARP sont utilisés pour découvrir quelles adresses IP sont utilisées à l'intérieur du réseau. L'ordinateur doit envoyer une demande pour chaque adresse IP possible et seules celles qui sont utilisées répondront.
mDNS (multicast DNS)
Bettercap envoie une requête MDNS (toutes les X ms) demandant _services_.dns-sd._udp.local. La machine qui voit ce paquet répond généralement à cette demande. Ensuite, il ne recherche que les machines répondant aux "services".
Outils
Avahi-browser (--all)
Bettercap (net.probe.mdns)
Responder
NBNS (NetBios Name Server)
Bettercap diffuse des paquets vers le port 137/UDP demandant le nom "CKAAAAAAAAAAAAAAAAAAAAAAAAAAA".
SSDP (Simple Service Discovery Protocol)
Bettercap diffuse des paquets SSDP recherchant tous types de services (Port UDP 1900).
WSD (Web Service Discovery)
Bettercap diffuse des paquets WSD recherchant des services (Port UDP 3702).
Références
Network Security Assessment: Know Your Network (3rd edition)
Practical IoT Hacking: The Definitive Guide to Attacking the Internet of Things. By Fotios Chantzis, Ioannis Stais, Paulino Calderon, Evangelos Deirmentzoglou, Beau Wood
Conseil de prime de bug: inscrivez-vous sur Intigriti, une plateforme de prime de bug premium créée par des hackers, pour des hackers**! Rejoignez-nous sur https://go.intigriti.com/hacktricks aujourd'hui, et commencez à gagner des primes allant jusqu'à 100 000 $!
Last updated