jueves, 24 de mayo de 2012

Recuperar grub en Arch Linux

 Hacia ya mucho tiempo que no escribía nada, debido en mayor parte a falta de tiempo y en menor a pereza. Así que a partir de ahora volveré a intentar recuperar cierta regularidad semanal si los exámenes me lo permiten.

  En la entrada comentaré como reinstalar el grub en Arch Linux cuando lo hemos perdido por una causa tan común como una instalación de Windows o algún otro problema. Para ello tomaremos como referente la gran wiki de Arch.

 Empezamos arrancando una iso de Arch Linux en modo live, seleccionamos la opción como si fuéramos a reinstalar el sistema operativo y una vez estemos en el prompt comprobamos las particiones para conocer el estado del disco:
fdisk -l /dev/sda

Disposit.  Inicio    Comienzo        Fin                 Bloques         Id      Sistema
/dev/sda1   *           2048               206847          102400          7       HPFS/NTFS/exFAT
/dev/sda2                206848           307412991   153603072   7       HPFS/NTFS/exFAT
/dev/sda3                307412992    340180991   16384000     83     Linux
/dev/sda4               340180992     976773119   318296064   83     Linux
En mi caso, como se muestra en la salida de fdisk la particiones sda1 y sda2 pertenecen a Windows 7, mientras que sda3  y sda4 pertenecen a Arch Linux, siendo la primera la partición root(en donde esta instalado el grub) y la segunda home.

 Una vez conocida la distribución de las particiones procedemos a recuperar el grub, para ello crearemos un entorno chroot basado en la anterior instalación de Arch:

cd /
mount -t ext4 /dev/sda3 /mnt
mount -t proc proc /mnt/proc
mount -t sysfs sys /mnt/sys
mount -o bind /dev /mnt/dev

chroot /mnt /bin/bash
Teniendo en cuenta que en la instrucción:
mount -t ext4   /dev/sda3   /mnt
ext4 es el sistema de ficheros de la partición y que /dev/sda3 es la partición donde se encuentra instalado el grub, que en mi caso, es la partición root(/).

 Una vez tengamos esto, previa edición de /boot/grub/menu.lst si es necesario, instalaremos el grub en la el disco sda:
grub-install /dev/sda
 Con esto solo nos quedará salir del entorno chroot y desmontar lo montado antes:
cd /
umount -a
exit
cd /
umount -a
reboot

Con esto concluyo este post, no sin antes referiros a todos a la ArchWiki en donde encontrareis mas información:  Reinstalling GRUB (Español)

Aetsu

martes, 1 de mayo de 2012

Atacando un punto de acceso con WPS

 Hace unos meses surgió una vulnerabilidad que afectaba a un tipo de autentificación mediante WPS que por falta de hardware, no había podido probar hasta ahora.
 
  En este post voy a intentar explicar como explotarla, como siempre desde Backtrack 5 R2.
Lo primero será comentar los tres tipos de conexión mediante WPS:
  • En el primer método el router posee un botón que al pulsarlo y activar su correspondiente enlace del dispositivo que quiera conectarse se establecerá la conexión entre ambos, este método no es afectado por la vulnerabilidad.
  • El siguiente método consiste en agregar desde el router el dispositivo deseado, este tipo, como la anterior tampoco es vulnerable.
  • El tercero y último consiste en que el dispositivo que desea conectarse introducirá un pin proporcionado por el router y se establecerá la conexión. Este método SI QUE ES VULNERABLE.

  Ahora que ya sabemos que tipo de WPS es vulnerable vamos a conocer el alcance de la vulnerabilidad:
  Con este ataque podemos obtener el pin de acceso (para conectarnos por WPS), pero además nos mostrará la clave WPA/WPA2 asociada al punto de acceso (AP), todo esto en unas horas, que comparado con los ataques de diccionario para WPA es mucho mas efectivo.

 Para realizar este ataque necesitaremos 2 herramientas, wash y reaver. No voy a entrar en como instalar estas herramientas ya que en Backtrack ya vienen incluidas, aunque podemos descargarlas de aquí (en el interior del .tar.gz, en el directorio docs explica como instalarlo).



 Para empezar a trabajar necesitamos poner nuestra tarjeta en modo monitor, para ello utilizaremos la herramienta airmon-ng (perteneciente a la suite Aircrack-ng):
airmon-ng start <interfaz>
 para el ejemplo:
airmon-ng start wlan0
La interfaz en modo monitor pasará a ser mon0.

Nuestro siguiente paso es buscar puntos de acceso vulnerables con WPS al alcance, para ello usaremos wash.
wash -i <interfaz>
para el ejemplo:
wash -i mon0
  aquí veremos los AP vulnerables, nosotros escogeremos "wireless" y apuntaremos su MAC (00:22:33:44:55:66).


 Ahora ya tendremos solo nos quedará lanzar reaver y esperar:
reaver -i <interfaz> -b <MAC del punto de acceso>
 siguiendo con el ejemplo:
reaver -i mon0 -b 00:22:33:44:55:66

  Como vemos en la última imagen hemos obtenido el pin WPS junto con la clave WPA, todo en unas 3 horas (en otras pruebas que hice el proceso duró unas horas mas, unas 11 concretamente xD).



  Como el proceso puede durar bastante tiempo, y para no perder las pruebas realizadas, reaver nos permite suspender la sesión para continuarla cuando nos venga bien, esto es tan simple como interrumpir el programa con CTRL+C:
  y para continuarlo volvemos a llamar a reaver de la misma forma que antes (reaver -i <interfaz> -b <MAC del punto de acceso>):

  Documentos interesantes:

Con este par de documentos me despido, nos leemos en breve.

Aetsu