Ya se que este tema se ha tratado en multitud de blogs y que este
post en concreto no acaba siendo obra mía. Pero, como últimamente acumulo muchas cosas por leer y aprender y me gustaría tenerlas a buen recaudo por si algún día las necesito, aquí lo dejo por si las moscas. Y, si a alguien le resulta de utilidad, pues bienvenido sea, ¿no?
Aquí dejo un resumen de una serie de
posts que han escrito sobre los
dumps de los
hashes en sistemas Windows. Ya he hablado unas cuantas veces de este tema, y, he de reconocer, cada vez que leo algo al respecto, acabo aprendiendo más, o, como mínimo, asentando mejor lo que ya conocía.
Este
primer artículo nos habla de cómo obtener los
hashes en modo
offline. O también, herramientas como
kon-boot (esta la probé hace tiempo),
BootRoot o
SysRQ2, para (descrito un poco a lo burro) que salte el kernel y entrar en el sistema sin que el usuario seleccionado pida la contraseña. Eso sí, cuando probé el kon-boot, si se tenía puesto el
Syskey, éste no se lo saltaba.
Otra posibilidad es resetear la contraseña de un usuario local con
chntpw.
Más posiblidades explicadas en el artículo (y que también explicaban en el FTSAI): hacer un backup del sistema (el resgistro, al menos: SYSTEM y SAM). Después, lo volcabas a otra unidad o carpeta y a partir de ahí, ya que no estaba en uso, podías leer los datos, desde, por ejemplo,
Caín.
Más técnicas: el uso de
shadow copies, herramientas como
regback.exe...O, las herramientas que permiten hacer el
dump desde memoria:
pwdump6,
pwdump7,
fgdump,
gsecdump,
PWdumpX... (de las que también nos hablaron en el FTSAI). En general, y según he podido entender, alguno de estos métodos permiten inyectar en el servicio LSASS datos que permiten recuperar los
hashes. Eso sí, se pueden producir BSODs.
El
segundo post tratan el cómo obtener los
hashes de un
Active Directory. Para ello hará falta acceder a la base de datos que utiliza, y que se encuentra en
%SystemRoot%\ntds\NTDS.DIT. También lo puedes obtener desde una copia del fichero SYSTEM. Una forma de poder hacer una copia de esos ficheros sería utilizar el comando
ntdsutil que se encuentra a partir de los sistemas operativos
Windows 2008.
Alguna de las herramientas que nos permita sacar las contraseñas serían
Windows Password Recovery Tool o
ntds_dump_hash.
Y, la
tercera parte, nos habla sobre los históricos de las contraseñas (muy comunes en entornos corporativos y de AD). Sobretodo porque si se usan patrones, consiguiendo alguna contraseña antigua se podría encontrar la actual. También las contraseñas que se utilizan en servicios del sistema y para el autologon: encontrándose estas dos últimas en el
LSA Secrets. La herramienta ya mencionada
gsecdump se puede utilizar para obtenerlas. Sea cual sea la herramienta utilizada para obtener este tipo de contraseñas, se podrá conseguir en texto claro.
Además, sabiendo que se hay servicios arrancados con usuarios que son "Administradores de Dominio" o, incluso, "System", el agujero que tendremos en el sistema será de
órdago.