Requisitos: Los paquetes TCP deben capturarse bajo Windows y pueden modificarlos, de forma similar a los ataques man-in-the-middle en seguridad de red.
Revisión:
WinDivert: Windows Packet Divert
Windows Packet Divert (WinDivert) es un paquete de captura y transferencia de paquetes en modo usuario para Windows 10, Windows 11 y Windows Server.
Página web oficial:El inicio de sesión del hipervínculo es visible.
WinDivert permite que las aplicaciones en modo usuario capturen/modifiquen o eliminen paquetes de red enviados hacia/desde la pila de red de Windows. En resumen, WinDivert puede:
- Captura de paquetes de red
- Filtrar/eliminar paquetes de red
- Detección de paquetes de red
- (re)inyectar paquetes de red
- Modificar paquetes de red
WinDivert puede usarse para implementar filtros de paquetes en modo usuario, detectores de paquetes, cortafuegos, NAT, VPNs, aplicaciones de túnel y más.
Las características clave de WinDivert incluyen:
- Patrones de interceptación de paquetes, olfateo o lanzamiento
- Soporta tráfico de bucle (localhost)
- Soporte completo para IPv6
- Capa de red
- API simple pero potente
- Lenguaje de filtrado avanzado
- Prioridad de filtro
- Instalación silenciosa
- Se ofrece de forma gratuita bajo los términos de la Licencia Pública General Amplia GNU (LGPL).
Compilar httpbin
httpbin(1): Servicio de petición y respuesta HTTP, construye un servicio http, modifica el contenido solicitado del paquete a través de WinDivert, puedes ver intuitivamente que el paquete ha sido modificado a través del contenido de respuesta, y el servidor recibe el contenido del paquete que ha sido interceptado y modificado por el intermediario.
Fuente:El inicio de sesión del hipervínculo es visible.
El comando httpbin de compilación de Docker es el siguiente:
Como se muestra a continuación:
.NET
Primero, crea una nueva aplicación de consola .NET 8, y la referencia nuget es la siguiente:
El código es el siguiente:
Antes de bloquear y modificar la base de datos, como se muestra en la siguiente figura:
Comienza a interceptar y modificar el paquete, como se muestra en la siguiente figura:
(Fin) |