
PoC de CVE-2023-21554
Este repositorio contiene una prueba de concepto lista para ejecutar que ataca Microsoft Message Queuing escuchando en el puerto TCP 1801. Este trabajo se basa en y utiliza materiales del proyecto original en
https://github.com/leongxudong/MSMQ-Vulnerability
Este repositorio utiliza los artefactos binarios proporcionados por ese proyecto. Los archivos binarios incluidos y referenciados por la PoC son:
establish_connection.binconnection_parameters.binuser_message.binEsta PoC intenta reproducir la condición descrita en CVE 2023 21554 enviando una secuencia de tramas del protocolo MSMQ a un host objetivo en el puerto 1801. Los scripts de la PoC solo realizan actividad a nivel de red y no ejecutan acciones posteriores a la explotación. Este proyecto está pensado únicamente para análisis y verificación defensiva en un entorno de laboratorio aislado.
CVE-2023-21554.py — script original de la PoC que envía los tres blobs binarios en secuenciaCVE-2023-21554.py — script auxiliar del lado del atacante que registra respuestas, volcados hexadecimales, marcas de tiempo y errores a nivel de socket. Usa este script para obtener evidencia más útil del lado del atacanteestablish_connection.bin — payload binario de la etapa uno del repositorio originalconnection_parameters.bin — payload binario de la etapa dos del repositorio originaluser_message.bin — payload binario de la etapa tres del repositorio originalREADME.md — este archivoColoca los tres archivos binarios en la misma carpeta que el script de la PoC
Edita el script de la PoC o CVE-2023-21554.py para establecer la dirección IP del objetivo
Inicia una captura de red en tu máquina atacante para la IP y el puerto del objetivo. Ejemplo de comando en una shell separada (reemplaza la IP por la de tu objetivo):
sudo tcpdump -i eth0 host 10.0.2.15 and port 1801 -w msmq_test.pcap
Ejecuta el script de comprobación mejorado para obtener registros con marca de tiempo y volcados hexadecimales
python3 CVE-2023-21554.py
Guarda la salida de la PoC y el archivo de captura de red para su análisis
CVE-2023-21554.py informa de connection_reset o orderly_close inmediatamente después de una etapa del payload (estos son estados explícitos impresos por el script auxiliar).mqsvc.exe falla o se reinicia en el momento de la prueba.mqsvc.exe.mqsvc.Reemplaza <TARGET> con la IP de tu objetivo para cada filtro.
Muestra todo el tráfico entre el atacante y el objetivo en el puerto MSMQ:
ip.addr == <TARGET> && tcp.port == 1801
Muestra solo los RST TCP originados por el servidor:
ip.src == <TARGET> && tcp.port == 1801 && tcp.flags.reset == 1
Muestra los paquetes que contienen datos de aplicación (cargas útiles TCP no vacías):
ip.addr == <TARGET> && tcp.port == 1801 && tcp.len > 0
Muestra segmentos de longitud cero o FIN:
ip.addr == <TARGET> && tcp.port == 1801 && (tcp.len == 0 || tcp.flags.fin == 1)
Muestra retransmisiones y anomalías TCP:
tcp.analysis.retransmission || tcp.analysis.fast_retransmission || tcp.analysis.duplicate_ack
tcp.len o el paquete inmediatamente anterior a un RST.server_reply.hex).CVE-2023-21554.py en un archivo de textomsmq_test.pcap)mqsvc.exe con procdump y guárdalo para su análisisEste código puede provocar fallos de servicio e inestabilidad en los hosts objetivo. No lo ejecutes contra sistemas que no poseas o para los que no tengas permiso explícito de prueba. Realiza siempre las pruebas en un entorno de laboratorio aislado y toma una instantánea de la VM antes de ejecutarlas. El trabajo original se atribuye al proyecto upstream en:
https://github.com/leongxudong/MSMQ-Vulnerability
Este repositorio se deriva del proyecto original en:
https://github.com/leongxudong/MSMQ-Vulnerability
Si agregas ayudas de detección o scripts de recopilación de evidencia, documéntalos e incluye instrucciones para un uso seguro en laboratorio
Consulta el repositorio upstream en el enlace anterior para obtener el contexto original y los artefactos binarios. Para orientación defensiva, consulta los avisos del proveedor y los análisis publicados sobre CVE 2023 21554