Founder of MalwareIntelligence, a site dedicated to research on all matters relating to anti-malware security, criminology computing and information security in general, always from a perspective closely related to the field of intelligence.

viernes, 4 de abril de 2008

GUÍA DE RECUPERACIÓN DE CONTRASEÑAS DE ADMINISTRADOR EN WINDOWS Y ROOT EN LINUX
¿Se olvidó su clave de usuario de Windows? o peor aún, ¿se olvidó de la contraseña de Administrador de Windows? o incluso peor, ¿se olvidó la clave de root en su sistema Linux? Bueno, no todo está perdido. Afortunadamente existen varios métodos para recuperar las claves que necesita. El requisito principal para recuperar la contraseña es que se esté trabajando en la máquina requerida en forma local y no remota. Aunque existen algunos métodos para recuperar (o más bien simplemente "obtener") una clave con privilegios de administración de forma remota, aquí pretendo entregar una guía, la cual me ha resultado bastante bien en estos casos, para trabajar en forma local. Asumiendo que tenemos todas las medidas de seguridad física necesarias para impedir que personas ajenas o intrusos accedan localmente a nuestro PC, pueden intentar los siguientes pasos:

Recuperación de las contraseñas de Windows
De todos los software que he probado con este propósito, el que mejor... resultados ha dado ha sido Ophcrack. Ophcrack es una herramienta que crackea directamente los hashes de las contraseñas de Windows y puede ser descargado cómodamente en un Live CD basado en la distribución Linux llamada SLAX (quizá pronto tengamos una versión de Windows que crackee las contraseñas de Linux, quien sabe) el cual simplemente se debe hacer ejecutar al arranque del sistema para que bootee.

Está diseñado para hacer el proceso lo más "desatendido" (la palabra de moda) que se pueda, de tal manera que el usuario idealmente solo ingrese el CD en su unidad de lectura de CD's y espere tranquilamente a que este maravilloso software le entregue en pocos minutos las contraseñas de todos los usuarios de la máquina Windows.
Es posible que no arranque inmediatamente debido a que el servidor gráfico no haya reconocido el dispositivo de video de la máquina según su configuración por defecto. En este caso lo único que se debe hacer es ingresar en la consola como root (la password de root aquí es toor) y ejecutar la utilidad de autoconfiguración del entorno gráfico con el comando xconf. Después que se haya configurado correctamente el entorno gráfico del sistema, se inicia el mismo con startx desde la línea de comandos.

Al cargar el escritorio se ejecutará la aplicación Ophcrack automáticamente, tal como se muestra en el siguiente screenshot:

Y simplemente esperar hasta que termine. En promedio Ophcrack se demora entre 5 a 15 minutos en romper las claves con un 99% de eficacia incluyendo soporte para Windows Vista.

El LiveCD de Ophcrack puede ser descargado en formato .iso desde ESTE ENLACE

Recuperación de claves para Linux

Es más común de lo que se piensa el hecho de olvidarse o perder la clave de root de Linux, pero es muy simple recuperarla. Lo primero que se debe hacer es utilizar el modo "single user" que incorporan todos los kernels de Linux para recuperar la contraseña, pero si este método falla (hay muchos que no se atreven a meterle mano al kernel de Linux, y con justa razón), utilizaremos el plan B: montaje de discos.

Para esto se necesita simplemente un LiveCD de cualquier distro de Linux. Ya que anteriormente habíamos hablado de Ophcrack, se puede utilizar el mismo CD para esta tarea, así tendremos un sistema para recuperar claves de Windows y Linux en 1 solo CD.

Bien. Lo primero es arrancar el LiveCD y en el escritorio ejecutar una consola (o terminal) con permisos de root.

En segundo lugar se debe identificar cuales son los discos duros existentes en la máquina y con qué nombre los detecta el LiveCD. Si el PC utiliza discos de tipo IDE, el siguiente comando debiese ayudar a identificarlo:
# ls /dev/*hd*
o si es de tipo SATA o SCSI:
# ls /dev/*sd*

Vamos a suponer que nuestro disco duro que tiene la partición de Linux se llama /dev/hda (que sería lo más común). Ahora que ya identificamos el disco duro debemos identificar cuales son las particiones de ese disco que tiene el sistema Linux. Para eso se utiliza fdisk:
# fdisk /dev/hda
Si todo sale OK, se debe presionar la letra "p" (de PRINT) para que en pantalla aparezcan las particiones del disco /dev/hda. Aquí se debe reconocer cual de las particiones que muestra Linux corresponde a la del sistema propiamente tal, cual es la swap y cual es la de Windows si es que hubiese (u otro sistema operativo residente en la máquina).

Siguiendo nuestro ejemplo diremos que la partición Linux del disco duro es /dev/hda9. Con ese dato ya tenemos casi todo listo. El siguiente paso es crear un directorio para montar el volumen dentro del LiveCD (el volumen quedará montado en la RAM de la máquina solamente).

# mkdir /mnt/linux/
Y luego se debe montar la partición Linux del disco duro en este nuevo directorio:
# mount -t ext3 /dev/hda9 /mnt/linux
De esta manera tendremos el sistema completo dentro de /mnt/linux.

Aquí podemos optar por dos cosas:
1) Invocar a John The Ripper (más conocido como Juanito el destripador) y atacar directamente el archivo de contraseñas de Linux.

# john /mnt/linux/etc/shadow
Pero para que esto funcione se deben cumplir dos condiciones:
a.- Previamente de debe instalar John The Ripper en el LiveCD ya que muchos no lo traen incorporado.
b.- Las claves de sistema deben ser fáciles de adivinar. Una contraseña fuerte puede tardar MILLONES DE AÑOS en romperse.

2) Modificar la línea del archivo /mnt/linux/etc/shadow donde está la clave de root (la primera) por la primera línea del archivo /etc/shadow que contiene el hash de la clave de root del LiveCD. De esta manera se le estará dando al usuario root del disco duro de Linux la clave del usuario root del LiveCD que estemos utilizando. No hay que olvidar que las contraseñas en Linux se almacenan en el archivo /etc/shadow procesadas bajo un algoritmo unidireccional el cual genera un hash que es matemáticamente imposible de descrifrar. Es por esto que cada vez que se presiona el usuario y password en la pantalla de login de Linux, el gestor de autenticación crea el hash de la contraseña ingresada y simplemente la compara con la que existe en /etc/shadow. Si son idénticas entonces se entiende que es la contraseña correcta, si no lo son entonces hay que intentar nuevamente y así.

Luego desmontar todo:
# umount -a
y reiniciar la máquina:
# reboot

No se olvide de retirar el LiveCD para que bootee el sistema Linux original desde el disco duro. Si ha hecho estos pasos con el cd de Ophcrack, entonces su nueva clave de root sería: root.

Como decía anteriormente, existen otras formas más tradicionales de obtener restablecer la contraseña de Linux pero sin duda que la que he mencionado aquí es la más efectiva aunque al principio cueste un poco.

Este tema va directamente relacionado con los controles que se deben implementar en el acceso físico a los computadores y servidores de una empresa. Bastaría con este procedimiento (el cual con algo de práctica puede tomar menos de 10 minutos) y una persona mal intencionada podría acceder localmente como root a una máquina importante de la empresa donde sería muy simple instalar un rootkit o un troyano para seguir manejándola de forma remota sin que siquiera se enteren los administradores.

Es de esperar, como de costumbre, que esta pequeña guía sea útil para alguien. De ese modo habrá valido el esfuerzo de haber escrito esto.

Fuente: http://www.seguridad-informatica.cl

0 comentarios:

Publicar un comentario en la entrada