🔑Credential Hunting - Windows
Una vez que tengamos acceso a una máquina Windows de destino a través de la GUI o CLI, podemos beneficiarnos significativamente al incorporar la búsqueda de credenciales en nuestro enfoque. La búsqueda de credenciales o Credential Hunting
es el proceso de realizar búsquedas detalladas en todo el sistema de archivos y en varias aplicaciones para descubrir credenciales. Para entender este concepto situémonos en un escenario. Hemos obtenido acceso a la estación de trabajo Windows 10 de un Administrador de IT a través de RDP.
Centrados en la búsqueda
Muchas de las herramientas que tenemos a nuestra disposición en Windows tienen función de búsqueda. Hoy en día, existen funciones centradas en la búsqueda integradas en la mayoría de las aplicaciones y sistemas operativos, por lo que podemos utilizarlas a nuestro favor en una interacción.
Es posible que un usuario haya documentado sus contraseñas en algún lugar del sistema. Incluso puede haber credenciales predeterminadas que se pueden encontrar en varios archivos. Sería prudente basar nuestra búsqueda de credenciales en lo que sabemos sobre cómo se utiliza el sistema de destino. En este caso, sabemos que tenemos acceso a la estación de trabajo de un administrador de TI.
¿Qué podría estar haciendo un administrador de TI en el día a día y cuáles de esas tareas pueden requerir credenciales?
Podemos utilizar esta pregunta y consideración para refinar nuestra búsqueda y reducir la necesidad de conjeturas aleatorias tanto como sea posible.
Términos clave para buscar
Ya sea que terminemos con acceso a la GUI o CLI, sabemos que tendremos algunas herramientas para usar en la búsqueda, pero de igual importancia es qué estamos buscando exactamente. A continuación se muestran algunos términos clave útiles que podemos utilizar y que pueden ayudarnos a descubrir algunas credenciales:
Passwords | Passphrases | Keys |
Username | User account | Creds |
Users | Passkeys | Passphrases |
configuration | dbcredential | dbpassword |
pwd | Login | Credentials |
Usemos algunos de estos términos clave para buscar en la estación de trabajo del Administrador de IT.
Herramientas de búsqueda
Con acceso a la GUI, vale la pena intentar usar Windows Search
para buscar archivos en el destino usando algunas de las palabras clave mencionadas anteriormente.
De forma predeterminada, buscará en varias configuraciones del sistema operativo y en el sistema de archivos archivos y aplicaciones que contengan el término clave ingresado en la barra de búsqueda.
También podemos aprovechar herramientas de terceros como Lazagne para descubrir rápidamente credenciales que los navegadores web u otras aplicaciones instaladas pueden almacenar de forma insegura. Sería beneficioso mantener una copia independiente de Lazagne en nuestro host de atacante para que podamos transferirla rápidamente al objetivo. Lazagne.exe
nos irá bien en este escenario. Podemos usar nuestro cliente RDP para copiar el archivo al objetivo desde nuestro host de ataque. Si estamos utilizando xfreerdp
lo único que debemos hacer es copiar y pegar en la sesión RDP que hayamos establecido.
Una vez que Lazagne.exe
esté en el objetivo, podemos abrir el símbolo del sistema o PowerShell, navegar hasta el directorio en el que se cargó el archivo y ejecutar el siguiente comando:
Ejecutando Lazagne
Esto ejecutará Lazagne y ejecutará todos los módulos incluidos indicándole all
. Podemos incluir la opción -vv
para analizar qué está haciendo en segundo plano. Una vez que presionemos Intro, se abrirá otro mensaje y mostrará los resultados.
Salida Lazagne
Si usáramos la opción -vv
, veríamos intentos de recopilar contraseñas de todo el software compatible con Lazagne. También podemos buscar en la página de GitHub en la sección de software compatible para ver todo el software del que Lazagne intentará recopilar credenciales. Puede resultar un poco impactante ver lo fácil que puede ser obtener credenciales en texto claro. Gran parte de esto puede atribuirse a la forma insegura en que muchas aplicaciones almacenan las credenciales.
Findstr
También podemos usar findstr para buscar patrones en muchos tipos de archivos. Teniendo en cuenta los términos clave comunes, podemos usar variaciones de este comando para descubrir credenciales en un destino de Windows:
Consideraciones adicionales
Hay miles de herramientas y términos clave que podemos utilizar para buscar credenciales en los sistemas operativos Windows. Sepa que cuáles elegimos usar se basarán principalmente en la función de la computadora. Si utilizamos un sistema operativo Windows Server, podemos utilizar un enfoque diferente que si utilizamos un sistema operativo Windows de escritorio. Esté siempre atento a cómo se utiliza el sistema, y esto nos ayudará a saber dónde buscar. A veces, incluso podemos encontrar credenciales navegando y enumerando directorios en el sistema de archivos mientras se ejecutan nuestras herramientas.
Aquí hay algunos otros lugares que debemos tener en cuenta al buscar credenciales:
Contraseñas en la política de grupo en el recurso compartido SYSVOL
Contraseñas en scripts en el recurso compartido SYSVOL
Contraseña en scripts en recursos compartidos de TI
Contraseñas en archivos web.config en máquinas de desarrollo y recursos compartidos de TI
desatendida.xml
Contraseñas en los campos de descripción de usuario o computadora de AD
Bases de datos KeePass -> extraiga hash, crackee y obtenga mucho acceso.
Encontrado en sistemas de usuarios y recursos compartidos.
Archivos como pass.txt, contraseñas.docx, contraseñas.xlsx se encuentran en sistemas de usuario, recursos compartidos, Sharepoint
Caso práctico
Ha obtenido acceso a la estación de trabajo Windows 10 de un administrador de TI y comienza su proceso de búsqueda de credenciales buscando credenciales en ubicaciones de almacenamiento comunes.
Conexión al host por RDP
Pregunta 1
¿Qué contraseña usa Bob para conectarse a los Switches a través de SSH?
Vamos a hacer una búsqueda manual buscando passwords en el buscador de windows:
Encvontramos las credenciales para conectarse a los Switches a través de SSH.
Pregunta 2
¿Cuál es el código de acceso a GitLab que usa Bob?
En el escritorio encontramos una carpeta WorkStuff que contiene las credenciales de GitLab:
Pregunta 3
¿Qué credenciales usa Bob con WinSCP para conectarse al servidor de archivos?
Al abrir WinSCP nos muestra el password oculto y no tenemos la posibilidad de verlo.
Al intentar copiar este password tampoco nos deja:
Transferimos una copia de lazagne.exe
a la máquina Windows y la ejecutamos para encontrar credenciales guardadas por aplicaciones en el sistema.
Nos lo muestra oculto, asi que vamos a intentar otro método. Abrimos regedit y vamos a la siguiente ruta, donde vamos a encontrar la contraseña encriptada:
Vamos a utilizar winscpwasswd para crackearlo de la siguiente manera:
Y bum, ya tenemos la contraseña en plano: FSadmin123
Pregunta 4
¿Cuál es la contraseña predeterminada de cada cuenta de usuario del dominio Inlanefreight recién creada?
Al ejecutar LaZagne nos hace un volcado de los hashes del sistema, y observamos que uno de ellos es Default Account, por lo que su contraseña debería ser la creada por defecto.
Navegando por el sistema encontramos el siguiente script, con la contraseña en plano de las nuevas cuentas creadas por defecto en AD:
Última actualización