
CVE-2023-21554 PoC
Este repositório contém uma prova de conceito pronta para execução que visa o Microsoft Message Queuing escutando na porta TCP 1801. Este trabalho é baseado e utiliza materiais do projeto original em
https://github.com/leongxudong/MSMQ-Vulnerability
Este repositório utiliza os artefatos binários fornecidos por esse projeto. Os arquivos binários incluídos e referenciados pelo PoC são:
establish_connection.binconnection_parameters.binuser_message.binEste PoC tenta reproduzir a condição descrita no CVE 2023 21554 enviando uma sequência de quadros do protocolo MSMQ para um host alvo na porta 1801. Os scripts do PoC executam apenas atividades de nível de rede e não realizam nenhuma ação de pós-exploração. Este projeto destina-se apenas a análise e verificação defensiva em um ambiente de laboratório isolado.
CVE-2023-21554.py — script PoC original que envia os três blobs binários em sequênciaCVE-2023-21554.py — script auxiliar do lado do atacante que registra respostas, hexdumps, carimbos de data/hora e erros de nível de soquete. Use este script para obter evidências mais úteis do lado do atacanteestablish_connection.bin — payload binário do estágio um do repositório originalconnection_parameters.bin — payload binário do estágio dois do repositório originaluser_message.bin — payload binário do estágio três do repositório originalREADME.md — este arquivoColoque os três arquivos binários na mesma pasta que o script do PoC
Edite o script do PoC ou CVE-2023-21554.py para definir o endereço IP do alvo
Inicie uma captura de rede na sua máquina atacante para o IP e porta do alvo. Exemplo de comando em um shell separado (substitua o IP pelo seu alvo):
sudo tcpdump -i eth0 host 10.0.2.15 and port 1801 -w msmq_test.pcap
Execute o script de verificação aprimorado para obter logs com carimbo de data/hora e hexdumps
python3 CVE-2023-21554.py
Salve a saída do PoC e o arquivo de captura de rede para análise
CVE-2023-21554.py relata connection_reset ou orderly_close imediatamente após um estágio de payload (esses são status explícitos impressos pelo auxiliar).mqsvc.exe falha ou reinicia no momento do teste.mqsvc.exe.mqsvc.Substitua <TARGET> pelo IP do seu alvo em cada filtro.
Mostre todo o tráfego entre atacante e alvo na porta MSMQ:
ip.addr == <TARGET> && tcp.port == 1801
Mostre apenas RSTs TCP originados pelo servidor:
ip.src == <TARGET> && tcp.port == 1801 && tcp.flags.reset == 1
Mostre pacotes que contêm dados de aplicação (payloads TCP não vazios):
ip.addr == <TARGET> && tcp.port == 1801 && tcp.len > 0
Mostre segmentos de comprimento zero ou FINs:
ip.addr == <TARGET> && tcp.port == 1801 && (tcp.len == 0 || tcp.flags.fin == 1)
Mostre retransmissões e anomalias TCP:
tcp.analysis.retransmission || tcp.analysis.fast_retransmission || tcp.analysis.duplicate_ack
tcp.len ou pelo pacote imediatamente antes de um RST.server_reply.hex).CVE-2023-21554.py em um arquivo de textomsmq_test.pcap)mqsvc.exe usando procdump e salve-o para análiseEste código pode causar falhas de serviço e instabilidade nos hosts alvo. Não o execute contra sistemas que você não possui ou para os quais não tenha permissão explícita para testar. Sempre teste em um ambiente de laboratório isolado e tire um snapshot da VM antes de executar os testes. O trabalho original é creditado ao projeto upstream em:
https://github.com/leongxudong/MSMQ-Vulnerability
Este repositório é derivado do projeto original em:
https://github.com/leongxudong/MSMQ-Vulnerability
Se você adicionar auxiliares de detecção ou scripts de coleta de evidências, documente-os e inclua instruções para uso seguro em laboratório
Consulte o repositório upstream no link acima para contexto original e artefatos binários. Para orientação defensiva, consulte os avisos do fornecedor e as análises publicadas sobre o CVE 2023 21554.