2013-04-17

Doble Autenticación para SSH

Hace bastante leí un articulo de seguridad de hackplayers que me pareció muy interesante sobre como usar una aplicación de Google, llamada Google-Authenticator, que es un Only Time Password (OTP) o contraseña por tiempo, lo cual es muy usado en bancos y otras cosas para que la autenticación no solo sea la contraseña sino un numero variable.

Como siempre me gusta probar lo que encuentro y aunque ha pasado bastante tiempo no había tenido la oportunidad de hacerlo sino hasta ahora, entonces empece a configurar y me encontré con el primer problema, en KaliLinux el comando add-apt-repository no existe y no se puede descargar, por loque necesitaba modificar los repositorios manualmente. Tras leer de donde se encontraba el paquete libpam-google-authenticator encontré que estaba en un repositorio oficial de Debian Whezzy (Base del KaliLinux) de Alemania, por lo que adicione a la lista de repositorios el siguiente

root@localhost::~# echo "deb http://ftp.de.debian.org/debian wheezy main" >> /etc/apt/sources.list

Y realice la actualización de los paquetes y la instalación del paquete que necesitaba de la siguiente manera

root@localhost::~# apt-get clean
root@localhost::~# apt-get update
root@localhost::~# apt-get install libpam-google-authenticator

Ya con este instalado entonces en mi celular instale el Google-Authenticator y lo abrí para estar preparado, en ese momento ejecuto en el sistema el comando google-autheticator y nos muestra un QR-Code como se ve a continuación.


Mientras tanto en el Celular se inicia la ayuda de configuración y seleccionas Escanear un Barcode (Scan a barcode), como se ve a continuación


Y una vez el escanea ya inicia a a generar un código como el que se ve a continuación


Nota: Si vas a adicionar otro dispositivo con el mismo generador, debes usar el secret key que esta debajo del QR-Code, en la linea (de la imagen) "Your new secret key is: UZ4SFOMAI3BTOYGZ" 

Bueno ya tenemos la primera fase terminada, ahora debemos configurar el SSH para que pueda usar la doble autenticación. Para esto ingresamos al archivo /etc/pam.d/sshd y en la primera linea adicionas la siguiente linea

auth    required    pam_google_authenticator.so

Debe ser en la primera linea por que el primero que este activo es el que el sistema usa, entonces queda así


Una vez haces esto entras al archivo de configuración de SSH y modificas la linea 

ChallengeResponseAuthentication no

por

ChallengeResponseAuthentication yes

Y reinicias el servicio de SSH y pruebas con el generador de código en mano y te debe salir así


Espero que les sirva.

Recuperando el Header de un WAV

Mi compañero Daniel necesitaba urgentemente poder escuchar un archivo WAV que con ningún reproductor funcionaba, ni con VLC que he visto que reproduce lo que sea. Por lo que le dije que me lo pasara y que me pasara otro que hubieran generado de la misma forma que ese que estaba dañado.

Cuando abrí el archivo con el comando hexedit encontré que la cabecera de dicho archivo estaba todo en ceros como pueden ver a continuación



Por lo que en Internet busque como era el Header de este tipo de archivos y de cuantos Bytes lo componía  donde encontré este excelente post que indicaba justamente lo que necesitaba y que copia a continuación

The Road Map:
HEX |DESCRIPTION
0000 |RIFF (in plain ASCII text)
0004 |Length of the entire file as a 32-bit unsigned integer
0008 |WAVE (in plain ASCII text)
000C |fmt[] (fmt[] in ASCII text denotes subchunk)
0010 |subchunk1size as a 32-bit unsigned integer
0032 |audio format 1=PCM
0016 |# of channels 1=1 2=2 (you can figure that out right?!)
0018 |Sample Rate!
001C |Byte Rate
0020 |Block Align
0022 |Bits/Sample
0024 |data (in plain ASCII text start of data subchunk)
0028 |Subchunk2Size
002C |First Sample (Left if 0016 = 2)
002E |Second Sample (Right if 0016 = 2)
REST OF DATA

Este es el significado y uso de cada uno de los Bytes del Header de un archivo tipo WAV, por lo que ya teniendo esto y teniendo el otro archivo que si funcionaba, tome con el hexedit y modifique la cabecera así


Y ya con eso lo salve en un archivo y revise el tipo de archivo que se identifica en el sistema así


Como pueden apreciar ya se veía correctamente la información de la cabecera así que se probo con VLC y se pudo escuchar la grabación.

2013-04-16

Creando Lanzador de OpenVAS en Kali

En Kali-Linux viene como analizador de vulnerabilidades el paquete de OpenVAS, el cual toca ejecutar el setup antes de poder usarlo y después el si abrir el gsd para poder ejecutar la consola. Sin embargo, cuando uno ya lo ha configurado y necesita volver a usarlo, el sistema no tiene los servicios activos que requiere para el uso de la plataforma.

Es por esto que decidí hacer un pequeño script llamado openvas_launch que me permitiera lanzar y detener estos servicios de forma simple, el script es el siguiente:

#!/bin/bash
case $1 in
start)
echo "Staring start OpenVAS....."
/etc/init.d/openvas-administrator start
sleep 3
/etc/init.d/openvas-scanner start
sleep 3
/etc/init.d/openvas-manager start
;;
stop)
        echo "Stoping start OpenVAS....."
        /etc/init.d/openvas-administrator stop
        sleep 3
        /etc/init.d/openvas-scanner stop
        sleep 3
        /etc/init.d/openvas-manager stop
;;
restart)
        echo "Stoping start OpenVAS....."
        /etc/init.d/openvas-administrator stop
        sleep 3
        /etc/init.d/openvas-scanner stop
        sleep 3
        /etc/init.d/openvas-manager stop
sleep 5
        echo "Staring start OpenVAS....."
        /etc/init.d/openvas-administrator start
        sleep 3
        /etc/init.d/openvas-scanner start
        sleep 3
        /etc/init.d/openvas-manager start
;;
*)
echo "Las posibles opciones son start, stop o restart"
;;
esac


Y lo guardo en /usr/sbin para poder ejecutarlo directamente en la consola. Tras probarlo y ver que todo funcionaba correctamente entonces creo los lanzadores gráficos para iniciar, detener y reiniciar los servicios que se requieren, para esto lo primero es pasar al directorio /usr/share/applications que es donde están todos los lanzadores y buscar los de openvas, donde se encuentran los siguientes:

root@localhost:/usr/share/applications# ls -l kali-op*
-rw-r--r-- 1 root root 185 abr 10 10:57 kali-openvas.desktop
-rw-r--r-- 1 root root 211 abr 10 10:57 kali-openvas-setup.desktop


Por lo que tomo el kali-openvas-setup.desktop y le genero una copia con el nombre kali-openvas-start.desktop. Tomo ese porque el otro tiene la configuración del GSD que es gráfico y este si tiene la consola, que es lo que necesito. Abres el archivo con el editor que más te guste, en mi caso VI y vas a ver lo siguiente y te señalo los cambios

[Desktop Entry]
Name=openvas-setup                  -->  Name=openvas-start 
Encoding=UTF-8
Exec=sh -c "openvas-setup;${SHELL:-bash}"   -->  Exec=sh -c "openvas_launch start;${SHELL:-bash}"
Icon=kali-menu.png
StartupNotify=false
Terminal=true
Type=Application
Categories=02-06-openvas;
X-Kali-Package=openvas


Lo guardas y creas los de stop y restart. Cuando termines en el menú de aplicaciones se debe ver lo siguiente:


Espero que les sirva.

2013-04-02

Usar Chrome con ROOT en KaliLinux

Teniendo en cuenta que en Kali el único usuario es ROOT y que el navegador que uso usualmente es chrome para que siempre me queden los datos y marcadores en todas las máquinas que uso, pero por defecto este navegador no permite que se use root como usuario para ejecución.

Como siempre empece a buscar como se hace, encontrando un muy buen post sobre este tema en esta URL http://oscaromarposadasanchez.blogspot.com/2012/11/como-instalar-google-chrome-en.html solo que esta era en Backtrack, entonce por eso decidí hacer este post para la configuración en Kali.

Lo primero es ver como viene configurado el lanzador en el sistema, el cual es así



Entonces en los parámetros de configuración de chrome existe uno que se llama --user-dir-data con el cual se puede modificar donde el navegador guarda todas las características de configuración de este programa. Entonces puedes especificar un directorio o solo colocar este parámetro para que el sistema use la ruta ~/.config/chrome-stable/ y entonces el lanzador debe quedar así



Guardas y ejecutas, si quedo todo bien te debe salir la siguiente ventana



Listo, espero que les sirva.