
Redirection (spécifique) du trafic TCP, UDP et ICMP vers une autre destination.
StreamDivert est un outil permettant de réaliser des attaques de type homme du milieu ou de relayer les connexions réseau entrantes et sortantes sur un système. Il a la capacité, par exemple, de relayer toutes les connexions SMB entrantes sur le port 445 vers un autre serveur, ou de relayer uniquement des connexions SMB entrantes spécifiques provenant d'un ensemble d'adresses IP sources vers un autre serveur. En résumé, StreamDivert est capable de :
Les binaires pré-compilés pour StreamDivert peuvent être téléchargés ici.
Comment utiliser StreamDivert ? Exécutez l'outil avec des privilèges administratifs :
streamdivert.exe config_file [-f] [-v]
Le fichier de configuration contient des entrées pour les flux que vous souhaitez détourner. En exemple de fichier de configuration :
//Divert all inbound TCP connections to port 445 (SMB) coming from 10.0.1.50 to 10.0.1.49 port 445
tcp < 445 10.0.1.50 -> 10.0.1.49 445
//Divert all inbound TCP connections to port 445 (SMB) coming from 10.0.1.51 to a local SOCKS server
tcp < 445 10.0.1.51 -> socks
//Divert all inbound TCP connections to port 445 (SMB) coming from fe80::f477:846a:775d:d37 to fe80::20c:29ff:fe6f:88ff port 445
tcp < 445 fe80::f477:846a:775d:d37 -> fe80::20c:29ff:fe6f:88ff 445
//Divert all inbound TCP connections to port 445 (SMB) to 10.0.1.48 port 445
tcp < 445 0.0.0.0 -> 10.0.1.48 445
//Divert all inbound UDP connections to to port 53 (DNS) to 10.0.1.49 port 53
udp < 53 0.0.0.0 -> 10.0.1.49 53
//Divert all inbound ICMP packets coming from 10.0.1.50 to 10.0.1.49
icmp < 10.0.1.50 -> 10.0.1.49
//Divert all outbound TCP connections to 10.0.1.50, port 80 to 10.0.1.49 port 8080
tcp > 10.0.1.50 80 -> 10.0.1.49 8080
//Send all packets going to 10.0.1.50 port 80 and prefer interface 9 to send them. If the interface does not exist or is not up, the packets are send from the default interface.
tcp > 10.0.1.50 80 -> 10.0.1.50 80 interface 9
//Force all packets going to 10.0.1.50 port 80 over interface 9, or drop the packets if the interface does not exist or is not up.
tcp > 10.0.1.50 80 -> 10.0.1.50 80 force interface 9
//Divert all outbound UDP connection to port 53 (DNS) to 10.0.1.49 port 53
udp > 0.0.0.0 53 -> 10.0.1.49 53
Le drapeau [-f], lorsqu'il est présent, modifie le pare-feu Windows pour ajouter une exception permettant à l'application de rediriger correctement le trafic entrant vers un autre port. Le drapeau [-v] contrôle la verbosité des journaux. Lorsqu'il est fourni, StreamDivert enregistre les détails sur les paquets et les flux redirigés.
Une chose à garder à l'esprit lors de la configuration des connexions détournées est de ne pas avoir de flux détournés conflictuels. Prenons l'exemple du fichier de configuration suivant :
icmp < 0.0.0.0 -> 10.0.1.50
icmp > 10.0.1.49 -> 10.0.1.48
Ces deux flux détournés entreront en conflit, car les paquets du premier flux détourné seront également interceptés par le second « détourneur de paquets ». En général, vous ne rencontrerez ces problèmes qu'avec UDP et ICMP et en utilisant des jokers.
Notez également que le détournement d'une adresse IPv4 vers une adresse IPv6 et vice versa n'est pas pris en charge pour le trafic UDP et ICMP.
Fonctionnalités souhaitées :