Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2023-21554 — CVE-2023-21554 PoC | Kitploit
Strumenti/GitHubGitHub/shootweb/cve-2023-21554
Analisi delle VulnerabilitàExploitSicurezza di RetePenetration TestingApprendimento e FormazioneLab e Pratica
GitHubshootweb/cve-2023-21554

CVE-2023-21554

CVE-2023-21554 PoC

Vedi Repository
210 mesi faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

Prova di concetto della vulnerabilità MSMQ

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:

  1. establish_connection.bin
  2. connection_parameters.bin
  3. user_message.bin

Descrizione

Questa 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.

File inclusi

  1. CVE-2023-21554.py — script PoC originale che invia i tre blob binari in sequenza
  2. CVE-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 attaccante
  3. establish_connection.bin — payload binario di fase uno dal repository originale
  4. connection_parameters.bin — payload binario di fase due dal repository originale
  5. user_message.bin — payload binario di fase tre dal repository originale
  6. README.md — questo file

Prerequisiti

  1. Python 3 installato sul tuo host attaccante
  2. Accesso di rete alla porta 1801 dell'host target e autorizzazione esplicita a testare quell'host
  3. Uno snapshot della macchina virtuale target per poter annullare le modifiche dopo il test
  4. Strumenti per acquisire prove per la verifica (ad esempio Wireshark o tcpdump) e Sysinternals procdump per Windows

Come eseguire la PoC in un ambiente di laboratorio

  1. Posiziona i tre file binari nella stessa cartella dello script PoC

  2. Modifica lo script PoC o CVE-2023-21554.py per impostare l'indirizzo IP del target

  3. 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

  4. Esegui lo script di controllo avanzato per ottenere log con timestamp ed hexdump

    python3 CVE-2023-21554.py

  5. Salva l'output della PoC e il file di cattura di rete per l'analisi

Come capire se la PoC ha funzionato

1. Indicatori lato attaccante

  1. CVE-2023-21554.py riporta connection_reset o orderly_close immediatamente dopo uno stadio di payload (questi sono stati espliciti stampati dall'helper).
  2. La PoC riceve una risposta non banale dal target (pochi byte di risposta insoliti). Salva ed esegui l'hexdump di quella risposta per confronto.
  3. La cattura di rete mostra un reset TCP (RST) o un'altra terminazione anomala immediatamente dopo i pacchetti di exploit.

2. Indicatori lato target

  1. Il processo del servizio Message Queuing mqsvc.exe va in crash o si riavvia al momento del test.
  2. Il Visualizzatore eventi di Windows contiene eventi Applicazione o Sistema che fanno riferimento a una violazione di accesso o al nome dell'applicazione che ha generato l'errore mqsvc.exe.
  3. Un procdump acquisito al momento del test mostra un'eccezione nel processo mqsvc.

Passaggi pratici e filtri Wireshark pronti per il copia-incolla

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

Passaggi per estrarre i byte di risposta del server (hexdump raw)

  1. Individua il pacchetto del server di interesse nel riquadro dell'elenco pacchetti. Cerca valori tcp.len piccoli o il pacchetto immediatamente precedente a un RST.
  2. Fai clic con il tasto destro sul pacchetto → Follow → TCP Stream.
  3. Nella finestra di dialogo Follow TCP Stream scegli Show data as: Raw e poi Save As per esportare i byte esatti.
  4. In alternativa, seleziona il pacchetto e copia i byte dal riquadro Packet Bytes. Salva i byte raw/l'hexdump come prova (ad esempio server_reply.hex).

Come capire se il reset proviene dal target o da un middlebox

  1. Conferma che l'IP sorgente del RST corrisponde al target. In tal caso, indica fortemente che l'host target o il suo kernel ha chiuso il socket.
  2. Se l'origine del RST è un dispositivo diverso sul percorso, di solito indica che un middlebox o un firewall ha interrotto la connessione. Le differenze di TTL e gli IP delle interfacce possono aiutare la diagnosi.

Correlazione temporale (importante)

  1. Annota la differenza di timestamp tra il pacchetto di exploit e la reazione del server. I crash o i RST improvvisi si verificano in genere entro decine o centinaia di millisecondi dal pacchetto che li ha causati. Registra questi tempi come parte delle prove.

Test comparativo

  1. Esegui la stessa sequenza contro un host noto per essere patchato e confronta la presenza o l'assenza di RST, FIN o risposte brevi del server. Le differenze rafforzano la tua conclusione.

Lista di controllo per la raccolta di prove

  1. Salva il log stdout completo di CVE-2023-21554.py in un file di testo
  2. Salva il file di cattura di rete (ad esempio msmq_test.pcap)
  3. Esporta gli eventi Applicazione e Sistema dal Visualizzatore eventi che corrispondono all'ora del test
  4. Se disponibile, acquisisci un crash dump di mqsvc.exe usando procdump e salvalo per l'analisi

Avviso di sicurezza e legale

Questo 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

Attribuzione

Questo repository deriva dal progetto originale all'indirizzo:
https://github.com/leongxudong/MSMQ-Vulnerability

Contributi

Se aggiungi helper di rilevamento o script per la raccolta di prove, documentali e includi istruzioni per un uso sicuro in laboratorio

Contatti e approfondimenti

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

Scarica lo strumento