
CVE-2023-21554 PoC
Questo repository contiene una prova di concetto pronta all'uso che prende di mira Microsoft Message Queuing in ascolto sulla porta TCP 1801. Questo lavoro si basa e utilizza materiali del progetto originale all'indirizzo
https://github.com/leongxudong/MSMQ-Vulnerability
Questo repository utilizza gli artefatti binari forniti da quel progetto. I file binari inclusi e referenziati dalla PoC sono:
establish_connection.binconnection_parameters.binuser_message.binQuesta PoC tenta di riprodurre la condizione descritta in CVE 2023 21554 inviando una sequenza di frame del protocollo MSMQ a un host target sulla porta 1801. Gli script della PoC svolgono esclusivamente attività a livello di rete e non eseguono azioni post-exploitation. Questo progetto è destinato esclusivamente ad analisi e verifica difensiva in un ambiente di laboratorio isolato.
CVE-2023-21554.py — script PoC originale che invia i tre blob binari in sequenzaCVE-2023-21554.py — script helper lato attaccante che registra risposte, hexdump, timestamp ed errori a livello di socket. Usa questo script per ottenere prove più utili dal lato attaccanteestablish_connection.bin — payload binario di fase uno dal repository originaleconnection_parameters.bin — payload binario di fase due dal repository originaleuser_message.bin — payload binario di fase tre dal repository originaleREADME.md — questo filePosiziona i tre file binari nella stessa cartella dello script PoC
Modifica lo script PoC o CVE-2023-21554.py per impostare l'indirizzo IP del target
Avvia una cattura di rete sulla tua macchina attaccante per l'IP e la porta del target. Comando di esempio in una shell separata (sostituisci l'IP con il tuo target):
sudo tcpdump -i eth0 host 10.0.2.15 and port 1801 -w msmq_test.pcap
Esegui lo script di controllo avanzato per ottenere log con timestamp ed hexdump
python3 CVE-2023-21554.py
Salva l'output della PoC e il file di cattura di rete per l'analisi
CVE-2023-21554.py riporta connection_reset o orderly_close immediatamente dopo uno stadio di payload (questi sono stati espliciti stampati dall'helper).mqsvc.exe va in crash o si riavvia al momento del test.mqsvc.exe.mqsvc.Sostituisci <TARGET> con l'IP del tuo target per ogni filtro.
Mostra tutto il traffico tra attaccante e target sulla porta MSMQ:
ip.addr == <TARGET> && tcp.port == 1801
Mostra solo i TCP RST originati dal server:
ip.src == <TARGET> && tcp.port == 1801 && tcp.flags.reset == 1
Mostra i pacchetti che contengono dati applicativi (payload TCP non vuoti):
ip.addr == <TARGET> && tcp.port == 1801 && tcp.len > 0
Mostra i segmenti a lunghezza zero o i FIN:
ip.addr == <TARGET> && tcp.port == 1801 && (tcp.len == 0 || tcp.flags.fin == 1)
Mostra le ritrasmissioni e le anomalie TCP:
tcp.analysis.retransmission || tcp.analysis.fast_retransmission || tcp.analysis.duplicate_ack
tcp.len piccoli o il pacchetto immediatamente precedente a un RST.server_reply.hex).CVE-2023-21554.py in un file di testomsmq_test.pcap)mqsvc.exe usando procdump e salvalo per l'analisiQuesto codice può causare crash del servizio e instabilità sugli host target. Non eseguirlo contro sistemi che non possiedi o per i quali non hai un'autorizzazione esplicita al test. Esegui sempre i test in un ambiente di laboratorio isolato e crea uno snapshot della VM prima di eseguire i test. Il lavoro originale è attribuito al progetto upstream all'indirizzo:
https://github.com/leongxudong/MSMQ-Vulnerability
Questo repository deriva dal progetto originale all'indirizzo:
https://github.com/leongxudong/MSMQ-Vulnerability
Se aggiungi helper di rilevamento o script per la raccolta di prove, documentali e includi istruzioni per un uso sicuro in laboratorio
Fai riferimento al repository upstream al link sopra per il contesto originale e gli artefatti binari. Per indicazioni difensive, consulta gli advisory dei vendor e i writeup pubblicati su CVE 2023 21554