
Redirigiendo tráfico (específico) TCP, UDP e ICMP hacia otro destino.
StreamDivert es una herramienta para interceptar o retransmitir conexiones de red entrantes y salientes en un sistema. Tiene la capacidad, por ejemplo, de retransmitir todas las conexiones SMB entrantes al puerto 445 a otro servidor, o solo retransmitir conexiones SMB entrantes específicas de un conjunto de IPs de origen a otro servidor. En resumen, StreamDivert puede:
Los binarios precompilados para StreamDivert se pueden descargar aquí.
¿Cómo se usa StreamDivert? Ejecute la herramienta con privilegios administrativos:
streamdivert.exe config_file [-f] [-v]
El archivo de configuración contiene entradas para los flujos que desea desviar. Un ejemplo de archivo de configuración:
//Desvía todas las conexiones TCP entrantes al puerto 445 (SMB) provenientes de 10.0.1.50 a 10.0.1.49 puerto 445
tcp < 445 10.0.1.50 -> 10.0.1.49 445
//Desvía todas las conexiones TCP entrantes al puerto 445 (SMB) provenientes de 10.0.1.51 a un servidor SOCKS local
tcp < 445 10.0.1.51 -> socks
//Desvía todas las conexiones TCP entrantes al puerto 445 (SMB) provenientes de fe80::f477:846a:775d:d37 a fe80::20c:29ff:fe6f:88ff puerto 445
tcp < 445 fe80::f477:846a:775d:d37 -> fe80::20c:29ff:fe6f:88ff 445
//Desvía todas las conexiones TCP entrantes al puerto 445 (SMB) a 10.0.1.48 puerto 445
tcp < 445 0.0.0.0 -> 10.0.1.48 445
//Desvía todas las conexiones UDP entrantes al puerto 53 (DNS) a 10.0.1.49 puerto 53
udp < 53 0.0.0.0 -> 10.0.1.49 53
//Desvía todos los paquetes ICMP entrantes provenientes de 10.0.1.50 a 10.0.1.49
icmp < 10.0.1.50 -> 10.0.1.49
//Desvía todas las conexiones TCP salientes a 10.0.1.50, puerto 80 a 10.0.1.49 puerto 8080
tcp > 10.0.1.50 80 -> 10.0.1.49 8080
//Envía todos los paquetes destinados a 10.0.1.50 puerto 80 y prefiere la interfaz 9 para enviarlos. Si la interfaz no existe o no está activa, los paquetes se envían desde la interfaz predeterminada.
tcp > 10.0.1.50 80 -> 10.0.1.50 80 interface 9
//Fuerza todos los paquetes destinados a 10.0.1.50 puerto 80 a través de la interfaz 9, o descarta los paquetes si la interfaz no existe o no está activa.
tcp > 10.0.1.50 80 -> 10.0.1.50 80 force interface 9
//Desvía todas las conexiones UDP salientes al puerto 53 (DNS) a 10.0.1.49 puerto 53
udp > 0.0.0.0 53 -> 10.0.1.49 53
La bandera [-f], cuando está presente, modificará el Firewall de Windows para agregar una excepción para que la aplicación redirija correctamente el tráfico entrante a otro puerto.
La bandera [-v] controla la verbosidad del registro. Cuando se proporciona, StreamDivert registrará detalles sobre los paquetes y flujos redirigidos.
Una cosa a tener en cuenta al configurar conexiones desviadas es no tener flujos desviados en conflicto. Dado el siguiente archivo de configuración de ejemplo:
icmp < 0.0.0.0 -> 10.0.1.50
icmp > 10.0.1.49 -> 10.0.1.48
Estos dos flujos desviados entrarán en conflicto entre sí, ya que los paquetes del primer flujo desviado también serán capturados por el segundo 'desviador' de paquetes. Generalmente solo tendrá estos problemas con UDP e ICMP y usando comodines.
También tenga en cuenta que desviar una IPv4 a una dirección IPv6 y viceversa no es compatible con el tráfico UDP e ICMP.
Funcionalidades deseadas: