Este es el último post sobre el análisis a la herramienta Shad0w en el que se verá en más detalle el uso de los Beacons sobre sistemas Windows Server 2019 debidamente actualizados. Las referencias a los post anteriores se listan a continuación para entender lo que se ha hecho anteriormente y seguir el hilo de este artículo:
Entornos C2 sobre sistemas Windows con Shad0w: Evasión de mecanismos de seguridad – Parte 1 de 2.
Entornos C2 sobre sistemas Windows con Shad0w: Evasión de mecanismos de seguridad – Parte 2 de 2.
Entornos C2 sobre sistemas Windows con Shad0w: Uso de Beacons – Parte 1 de 2.
Curiosamente en sistemas Windows Server 2019 los Beacons generados por Shad0w funcionan correctamente, tal como he explicado en post Entornos C2 sobre sistemas Windows con Shad0w: Evasión de mecanismos de seguridad – Parte 2 de 2. Partiendo de una sesión activa en dicho sistema se ha procedido a realizar pruebas con los comandos disponibles.
Como ocurre con prácticamente todas las herramientas de post-explotación orientadas al “Command and Control”, Shad0w cuenta con un conjunto de instrucciones que permiten enumerar el sistema rápidamente. Estos comandos permiten moverse por el sistema de archivos, crear directorios o ficheros y consultar información básica sobre la cuenta de usuario que se está utilizando para acceder al sistema.
Son comandos muy simples e intuitivos, pero hay que recordar que la herramienta responde de forma “asíncrona” a los comandos enviados, lo que significa que para no hacerse un lío con los resultados que devuelve la herramienta es conveniente esperar un poco, darle tiempo para que devuelva la salida correspondiente al último comando ejecutado.
También cuenta con algunas instrucciones básicas para listar los procesos en ejecución y ver el proceso en el sistema comprometido que corresponde al Beacon.
Se trata de comandos simples y directos que permiten conocer el estado del sistema en ese momento y por supuesto, ver si existe la posibilidad de migrar a un proceso más estable o robusto. Esto último recuerda a Meterpreter ya que el Beacon de Shad0w también depende completamente de un proceso activo en el sistema y se ejecuta completamente en memoria, si dicho proceso muere la sesión también lo hará. En Shad0w existen algunos comandos que permiten: Migrar a otro proceso (migrate), Inyectar una copia del Beacon a otro proceso (binject) o inyectar un shellcode crudo (shinject) o una DLL en un proceso (dllinject). Para cada una de estas opciones hay un comando disponible en el interprete del Beacon.
Algunas instrucciones ayudan en el proceso de post-explotación en sistemas Windows que se debe llevar a cabo una vez se consigue acceso al sistema. Entre otras cosas, se encuentra disponible el comando “elevate” que incluye un exploit que intenta comprobar si la cuenta de usuario cuenta con el token SeImpersonate y si es el caso, intentar aprovecharse de dicha situación para elevar privilegios. A la fecha de redactar este post solamente está disponible dicho exploit y lo cierto es que no funciona siempre.
Por otro lado el comando “meterpreter” permite ejecutar en la memoria del proceso donde se ejecuta el Beacon un payload de Metasploit Framework, concretamente alguno de los de Meterpreter. Es una buena forma de obtener una sesión meterpreter y poder interactuar con el sistema utilizando todas las herramientas disponibles en Metasploit Framework, además el comando es bastante sencillo ya que basta con seleccionar el payload adecuado, establecer el host y puerto en donde se encuentra el handler de MSF en ejecución, lanzar y recibir la conexión.
Shad0w también cuenta con un soporte muy interesante a PowerShell, no solo para crear y/o ejecutar modulos o instrucciones en el sistema comprometido, sino que además se han implementado las herramientas disponibles en el proyecto GhostPack
Otro comando que resulta interesante y que nuevamente, se encuentra integrado en muchas herramientas similares a Shad0w es “mimikatz” el cual hace referencia a la herramienta del mismo nombre. Evidentemente, se trata de una herramienta que funcionará mejor si se cuenta con los privilegios adecuados para acceder a procesos y secciones de memoria sensibles.
Existen otras instrucciones adicionales que apoyan en cosas tan interesantes como la descarga o subida de ficheros o movimientos laterales por medio del establecimiento de servidor proxy y en el caso de Windows Server 2019, lo mejor de todo ha sido que no se ha quejado en ningún momento. Se han podido ejecutar todas y cada una de las instrucciones sin que los mecanismos de seguridad incluidos en el sistema detectarán la intrusión o interrumpieran la interacción del atacante.
Espero que el análisis de esta herramienta te haya parecido interesante o útil. Si es el caso, dale a compartir y escribe un comentario. 🙂
Un saludo y Happy Hack!
Adastra.