
Uma prova de conceito para CVE-2022-48565 - ataque de desserialização XML do plistlib do Python
Isto é uma Prova de Conceito (PoC) que demonstra a vulnerabilidade CVE-2022-48565, baseada em desserialização insegura de ficheiros Plist em Python. Ao processar ficheiros Property List (Plist) especialmente concebidos, um atacante pode executar código arbitrário no sistema alvo, potencialmente levando a Execução Remota de Código (RCE).
Neste repositório, encontrará quatro scripts PoC, cada um mostrando diferentes formas de explorar esta vulnerabilidade. Estes exemplos demonstram como código malicioso pode ser incorporado em ficheiros Plist e executado num sistema.
Aqui está um vídeo a demonstrar a Prova de Conceito:
Estes scripts PoC são apenas para fins educacionais e de pesquisa de segurança. Utilize estes scripts num ambiente controlado e nunca em sistemas de produção. O uso indevido desta vulnerabilidade pode resultar em graves consequências legais e éticas.
Python <=3.9.1
Python 2.x
macOS: Alguns exemplos (ex: abrir a Calculadora ou o Safari) funcionam apenas no macOS, pois utilizam comandos específicos do macOS
Clone este repositório:
git clone https://github.com/Einstein2150/CVE-2022-48565-POC
Entre no diretório:
cd CVE-2022-48565-POC
Existem quatro scripts PoC, cada um mostrando diferentes formas de explorar esta vulnerabilidade.
Este script mostra um exemplo simples onde a desserialização insegura é usada para executar um comando de shell que imprime uma mensagem na consola.
Uso:
bash
python2 cve-2022-48565_poc_echo.py
Neste exemplo, é demonstrado como um atacante pode abrir a Calculadora do macOS ao desserializar um ficheiro Plist malicioso.
Uso:
bash
python2 cve-2022-48565_poc_calc.py
Este script mostra como um atacante pode descarregar um ficheiro de uma fonte externa e abri-lo automaticamente no Safari. O comando wget é usado para descarregar o index.html do site foto-video-it.de, que é então aberto no Safari.v
Uso:
bash
python2 cve-2022-48565_poc_wget.py
Este script simula um cenário de ataque prático onde o ficheiro Plist malicioso é armazenado externamente e carregado em tempo de execução. Isto demonstra como um atacante pode carregar um ficheiro Plist de uma fonte externa e usá-lo para executar código malicioso.
O ficheiro malicious.plist contém o payload e deve ser colocado no mesmo diretório que o script.
Uso:
bash
python2 cve-2022-48565_poc_external_plist.py
Este projeto está licenciado sob a Licença MIT. Consulte o ficheiro LICENSE para mais detalhes.