> Postexplotación – Gathering con PowerShell

Postexplotación – Gathering con PowerShell​

Buenos días a tod@s.

Nuestro objetivo esta vez se trata de la recolección de información de un sistema haciendo uso de un script llamado Gathering, el cual está desarrollado en PowerShell.

PowerShell es la línea de comandos basada en .NET Framework, muy flexible y de gran potencia. Gracias a esta línea de comandos el usuario puede administrar los distintos sistemas.

Gathering tiene el objetivo de recolectar información del sistema donde se ejecuta, es decir, localmente. Recolecta información sobre las aplicaciones instaladas en la máquina, configuraciones IP, tablas de rutas, caché DNS, usuarios y grupos del sistema, el usuario actual ejecutándose en la máquina, servicios vulnerables y, por último, en caso de tener permisos de administrador, este script descargará el script Invoke-PowerDump de su repositorio en GitHub y lo ejecutará para hacer un volcado de hashes.

Este script esta pensado para su utilización en la fase de postexplotación, que es la fase donde se considera que podría tener más utilidad, ya que cuando se accede a un sistema se necesita recolectar la información de este lo más rápido posible para su posterior análisis, y así tener claro si se va a poder realizar una escala de privilegios, pivoting, port forwarding, etcétera.

Os facilito los enlaces desde donde podéis descargar tanto el script Gathering como el script Invoke-PowerDump:

Gathering – Código fuente​ 

A continuación se exponen capturas de pantalla con su respectiva explicación del código del script:

Función «Gathering«: la cabecera con la descripción del script y ejemplos de uso.

Parámetros: este script solo hace uso de un parámetro obligatorio «Privileged«. Este parámetro indica si se tienen o no permisos de administrador. 

Aviso de uso: si el parámetro Privileged es diferente de [yes] se avisa al usuario que no se va a poder realizar el volcado de hashes. 

Crear carpeta: comprueba si la carpeta [Results] existe en el escritorio; si existe, se borra y se crea una nueva, si no existe, se crea directamente.

Lista de aplicaciones: recopila información de las aplicaciones instaladas en el sistema local y almacena los resultados en un archivo llamado ApplicationList.txt.

Configuraciones IP – Tablas de enrutamiento – Caché DNS: recopila información de las configuraciones IP, tablas de enrutamiento y caché DNS en el sistema local y almacena los resultados en un archivo llamado IpRoutingDns.txt

Usuarios y grupos: recopila información de todos los usuarios y grupos del sistema local y almacena los resultados en un archivo llamado UsersAndGroups.txt 

Usuario actual: recopila información del usuario actual en el sistema local y almacena los resultados en un archivo llamado CurrentUser.txt.

Firewall: recopila información del cortafuegos en el sistema local y almacena los resultados en un archivo llamado CurrentUser.txt

Servicios vulnerables: comprueba si hay posibles rutas de los binarios de servicios de Windows que no estén especificadas entre comillas.

Esto presenta un problema y es que, si una ruta no está entre comillas, Windows ejecutará el binario de la primera ruta válida hasta el primer espacio.

En otras palabras, al detectar esto un atacante puede aprovechar este hándicap para provocar una escalada de privilegios después de la ejecución de un binario creado para la ocasión.

Finalmente, los resultados se almacenan en un archivo llamado VulnerableServices.txt.

Invoke-PowerDump: si el parámetro Privileged es igual a [sí], se verifica que tiene permisos de administrador; si tiene permisos, se descargará el script Invoke-PowerDump con el cmdlet Invoke-Expression que ejecuta un string cmdlet New-Object, creando una clase .NET Framework llamada [System.Net.WebClient], y con su método DownloadString se descarga el contenido (formato string) de una URL. Finalmente se ejecuta el script llamando a la función Invoke-PowerDump.

En caso de no tener permisos de administrador, se le advertirá que el volcado de hashes no ha sido posible.

Los resultados son almacenados en un archivo llamado Hashdump.txt.

Terminado: avisa de que el script ha terminado y que puede revisar la carpeta creada con los archivos, los cuales contienen la información recopilada del sistema local.

GATHERING CON POWERSHELL EN POSTEXPLOTACIÓN – PRUEBA DE CONCEPTO​

Una vez explicado el script, se va a proceder a realizar una prueba de concepto para comprobar los resultados y la ejecución de este.

Lo primero que tenemos que hacer es copiar el contenido del script, abrir una PowerShell y pegarlo, tal y como quedaría en la siguiente captura de pantalla:

Cuando esté el script entero habrá que pulsar «enter» para que se almacene la función que acabamos de crear. Para poder comprobar si existe, nos dirigimos al provider de funciones con el siguiente comando: 

Set-Location function:

y posteriormente ejecutamos un:

ls

para listar las funciones guardadas. Como se podrá observar en la siguiente captura de pantalla la función Gathering se ha creado correctamente:

Por último, solo queda ejecutar la función con el comando:

Gathering yes

y esperar a que recopile la información del sistema y la almacene en una carpeta que creará en el escritorio (llamada Resultados.txt): 

NOTA: No hay que olvidarse de ejecutar PowerShell con permisos de administrador si se quiere recolectar los hashes de la máquina.

Espero que os haya gustado ¡nos vemos en la próxima entrega!

Autor: Juan Miranda Blitz

Recursos gratuitos en tu email

Otra vuelta al Sol

Otra vuelta al Sol, si ya sé que es un tópico muy repetido, pero cuando trabajas con tecnología, la vida parece que pasa mas rápido, un nuevo descubrimiento, otro avance, un nuevo protocolo o cómo alguien publica que se puede explotar una vulnerabilidad de una manera todavía más creativa.

Directivas de Seguridad en el Correo con M365

En Hack by Security sabemos que uno de los pilares de la ciberseguridad en entornos modernos es la Seguridad en el Correo, uno de los vectores de ataque más frecuentes de una organización, tanto en empresas pequeñas como grandes multinacionales están expuestas al mismo riesgo, un usuario que abra un enlace o archivo malicioso puede iniciar un incidente de seguridad con un alto impacto.

BCDO Bootcamp de Ciberseguridad Defensiva y Ofensiva

El próximo 09 de Octubre en Hack By Security, comienza una nueva edición del Bootcamp de Ciberseguridad Defensiva y Ofensiva, 104 horas de sesiones online en directo, con acceso después a las clases, por si quieres repasar o volver a ver alguna parte de la sesión.
Resumen de privacidad

Esta web utiliza cookies para que podamos ofrecerte la mejor experiencia de usuario posible. La información de las cookies se almacena en tu navegador y realiza funciones tales como reconocerte cuando vuelves a nuestra web o ayudar a nuestro equipo a comprender qué secciones de la web encuentras más interesantes y útiles.