Una opción alternativa y muy utilizada en intrusiones reales consiste en utilizar binarios legítimos, que no sean detectados como maliciosos, para desarrollar acciones que permitan profundizar en la intrusión. Un ejemplo de esto sería la obtención de credenciales en memoria con Procdump, herramienta existente en la suite de SysInternals, y que permite hacer volcados de procesos.
¿Qué es Procdump?
Procdump es una herramienta de línea de comandos desarrollada por Microsoft que se utiliza para crear volcados de memoria (dumps) de procesos en sistemas Windows. Un volcado de memoria es una instantánea del contenido de la memoria de un proceso en un momento determinado. Estos volcados de memoria pueden ser útiles para analizar y depurar problemas en aplicaciones o para capturar información valiosa en caso de fallas o bloqueos del sistema.
Procdump permite crear volcados de memoria en situaciones específicas, como cuando un proceso alcanza un umbral de uso de CPU, cuando se produce una excepción o cuando se detecta un bloqueo del sistema. Al capturar el estado de la memoria en el momento del evento, los analistas y desarrolladores pueden examinar el volcado posteriormente para comprender mejor el problema y encontrar soluciones.
La herramienta Procdump es altamente configurable y ofrece opciones avanzadas, como el ajuste de umbrales de uso de CPU, la captura de volcados completos o diferenciales de memoria y la capacidad de generar volcados en formatos específicos, como minidumps.
Obtención de credenciales en memoria con Procdump
Si contamos con un usuario administrador local, podemos hacer un volcado del proceso LSASS.exe, exfiltrarlo y, posteriormente, analizarlo en nuestra máquina con Mimikatz:
#Obtención de credenciales en memoria con Procdump
C:\> procdump.exe -accepteula -ma lsass.exe MyDump.dmp
Veamos los argumentos de este código para entender mejor de qué va:
C:> procdump.exe
: indica la ubicación y el nombre del archivo ejecutable «procdump.exe» que se va a ejecutar. En este caso, está ubicado en la unidad C: del sistema.-accepteula
: este argumento se utiliza para aceptar automáticamente el acuerdo de licencia del software sin necesidad de confirmación manual.-ma
: especifica el tipo de volcado de memoria que se generará. En este caso, «ma» significa «Miniplus Full Dump», que es un tipo de volcado de memoria completo.lsass.exe
: indica el nombre del proceso para el que se generará el volcado de memoria. En este caso, se está generando un volcado de memoria para el proceso «lsass.exe», que es un componente importante del sistema operativo Windows relacionado con la seguridad.MyDump.dmp
: especifica el nombre del archivo de volcado de memoria resultante. En este caso, se generará un archivo llamado «MyDump.dmp», que contendrá la información del volcado de memoria.
También es posible utilizar el administrador de tareas para volcar el proceso de forma manual:
Administrador de Tareas → Detalles → Crear archivo de volcado
Una vez contamos con el volcado, solo es necesario cargarlo en Mimikatz:
//Primera forma en la obtención de credenciales en memoria con Procdump: mimikatz # sekurlsa :: minidump MyDymp.dmp
//Segunda forma en la obtención de credenciales en memoria con Procdump: mimikatz # sekurlsa :: logonPasswords
Argumentos de la primera forma en la obtención de credenciales en memoria con Procdump:
mimikatz
: es el nombre de la herramienta utilizada para realizar operaciones de seguridad y análisis en sistemas Windows.#
: indica que se está ejecutando un comando dentro de la interfaz de línea de comandos de Mimikatz.sekurlsa
: es un módulo de Mimikatz que se utiliza para realizar operaciones relacionadas con la seguridad de Windows.::
: es el operador de resolución de ámbito utilizado en Mimikatz para acceder a los comandos específicos de un módulo.minidump
: es un comando específico dentro del módulo sekurlsa que se utiliza para analizar y extraer información de un volcado de memoria (minidump) generado previamente.
Los argumentos de la segunda forma obtención de credenciales en memoria con Procdump son iguales a los de la primera forma, con una excepción:
logonPasswords
: es un comando específico dentro del módulo «sekurlsa» que se utiliza para extraer y mostrar contraseñas de inicio de sesión almacenadas en el sistema Windows.
¿Quieres seguir aprendiendo?
Entender cómo funciona la obtención de credenciales en memoria con Procdump es esencial para lograr una mejor optimización de los sistemas. Una vez entendido esto, puedes seguir aprendiendo a proteger de forma adecuada a tus sistemas gracias a la guía de nuestro Ciberseguridad Full Stack Bootcamp. Con esta formación íntegra de alta intensidad y la ayuda de nuestros profesores expertos, aprenderás en poco tiempo todo lo necesario a nivel práctico y teórico para destacar en el sector IT. ¡Accede ahora para pedir más información e impulsa tu futuro!