Page cover

📘Otros archivos interesantes en Windows

Hay muchos otros tipos de archivos que podemos encontrar en un sistema local o en unidades compartidas de red que pueden contener credenciales o información adicional que se puede utilizar para escalar privilegios. En un entorno de Active Directory, podemos utilizar una herramienta como Snafflerarrow-up-right para rastrear unidades compartidas de red en busca de extensiones de archivo interesantes como .kdbx, .vmdk, .vdhx, .ppk, etc. Podemos encontrar un disco duro virtual que podemos montar y del que podemos extraer hashes de contraseñas de administrador local, una clave privada SSH que se puede utilizar para acceder a otros sistemas o instancias de usuarios que almacenan contraseñas en documentos de Excel/Word, libros de trabajo de OneNote o incluso el archivo clásico passwords.txt.

He realizado muchas pruebas de penetración en las que una contraseña encontrada en una unidad compartida o una unidad local condujo al acceso inicial o a la escalada de privilegios. Muchas empresas proporcionan a cada empleado una carpeta en un recurso compartido de archivos asignada a su ID de usuario, es decir, la carpeta bjones en el recurso compartido users en un servidor llamado FILE01 con permisos flexibles aplicados (es decir, todos los usuarios del dominio con acceso de lectura a todas las carpetas de usuario). A menudo encontramos usuarios que guardan datos personales confidenciales en estas carpetas, sin saber que son accesibles para todos en la red y no solo a nivel local en su estación de trabajo.


Búsqueda manual de credenciales en el sistema de archivos

Podemos buscar en el sistema de archivos o compartir unidades manualmente usando los siguientes comandos de esta hoja de trucosarrow-up-right .

Buscar contenido de archivo por cadena (Ejemplo 1)

C:\htb> cd c:\Users\htb-student\Documents & findstr /SI /M "password" *.xml *.ini *.txt

stuff.txt

Buscar una cadena en el contenido de un archivo (Ejemplo 2)

C:\htb> findstr /si password *.xml *.ini *.txt *.config

stuff.txt:password: l#-x9r11_2_GL!

Buscar una cadena en el contenido de un archivo (Ejemplo 3)

C:\htb> findstr /spin "password" *.*

stuff.txt:1:password: l#-x9r11_2_GL!

Buscar contenido de archivo con PowerShell

También podemos realizar búsquedas mediante PowerShell de diversas formas. A continuación, se muestra un ejemplo.

Búsqueda de extensiones de archivos: ejemplo 1

Búsqueda de extensiones de archivos: ejemplo 2

De manera similar, podemos buscar en el sistema de archivos ciertas extensiones de archivo con un comando como:

Búsqueda de extensiones de archivos mediante PowerShell


Contraseñas en StickyNotes

La gente suele usar la aplicación StickyNotes en las estaciones de trabajo de Windows para guardar contraseñas y otra información, sin darse cuenta de que es un archivo de base de datos. Este archivo se encuentra en la siguiente ruta y siempre vale la pena buscarlo y examinarlo:

Buscando archivos de base de datos StickyNotes

Podemos copiar los tres archivos plum.sqlite* a nuestro sistema y abrirlos con una herramienta como DB Browser para SQLitearrow-up-right y ver la columna Text en la tabla Note con la consulta select Text from Note;.

imagen

Visualización de datos de StickyNotes mediante PowerShell

Esto también se puede hacer con PowerShell usando el módulo PSSQLitearrow-up-right . Primero, importe el módulo, apunte a una fuente de datos (en este caso, el archivo de base de datos SQLite usado por la aplicación StickNotes) y, finalmente, consulte la Notetabla y busque datos interesantes. Esto también se puede hacer desde nuestra máquina de ataque después de descargar el .sqlitearchivo o de forma remota a través de WinRM.

Strings para visualizar el contenido de un archivo de base de datos

También podemos copiarlos a nuestra máquina de atacante y buscar en los datos usando el comando strings, lo que puede ser menos eficiente dependiendo del tamaño de la base de datos.


Otros archivos de interés

Algunos otros archivos en los que podemos encontrar credenciales incluyen los siguientes:

Algunos de los scripts de enumeración de escalada de privilegios enumerados anteriormente en este módulo buscan la mayoría, si no todos, los archivos o extensiones mencionados en esta sección. Sin embargo, debemos entender cómo buscarlos manualmente y no confiar únicamente en herramientas. Además, podemos encontrar archivos interesantes que los scripts de enumeración no buscan y desear modificar los scripts para incluirlos.


Caso práctico

Pregunta 1

Utilizando las técnicas que se muestran en esta sección, busque la contraseña de texto sin formato para el usuario bob_adm en el sistema de destino.

No tenemos Powershell como administrador, así que seguiremos como el usuario sin privilegios.

Archivos Sticky Notes

Encontramos el archivo plum.sqlite interesante, vamos a verlo.

Encontramos las credenciales de bob_adm.

Última actualización