banner

PREPARANDO UNA RASPBERRY PI PARA PENTESTING CON KALILINUX (PARTE III)


Antes de empezar a instalar herramientas de seguridad, hay que tener en cuenta que la imagen ISO pre-configurada esta destinada a ocupar el mínimo espacio posible, por lo que se ha reducido al mínimo las herramientas disponibles por defecto en la distribución para la RPi. En este artículo voy a instalar KaliLinux de nuevo en una tarjeta SD con el objetivo de expandir el sistema de ficheros y obtener espacio disponible total de la tarjeta de memoria SD en mi caso 16Gb.

INSTALACIÓN KALILINUX EN SD

Una vez que tenemos descarga la imagen especifica para RPi de la Kali Linux (véase parte 2), lo único que tenemos que hacer es copiar la imagen en la tarjeta de memoria utilizando el comando dd si nos encontramos en Linux, o como es mi caso, utilizar Win32 Disk Imager.


Una vez finalizado el proceso, podemos cargar nuestra tarjeta SD en RPi y arrancar el dispositivo.

Recordar que una vez instalada la Kali Linux en nuestra RaspberryPi necesitamos realizar los sencillos pasos de securización (véase artículo 2), para cambiar el password por defecto, y las claves pre-generadas de SSH.

EXPANSION DEL SISTEMA DE FICHEROS 

Los desarrolladores de KaliLinux han pensado en este inconveniente y han creado un script (RPi-wiggle) para automatizar el proceso de expandir el sistema de archivos y ocupar el resto de espacio disponible de la tarjeta SD donde se encuentre instalado. [Eso mismo también podría realizarse con el script de configuración de las raspberryPi rasp-config del que hablaré mas adelante].


En mi caso estoy utilizando una tarjeta SDHC 16Gb (Clase 10), por lo que mi sistema de archivos se extenderá hasta completar los 16Gb.

Descargo la ultima versión del script utilizando git y lo ejecuto:

# git clone https://github.com/dweeber/rpiwiggle
Ahora le damos permisos de ejecución al script y listo:

# cd rpiwiggle/
rpiwiggle# chmod +x rpiwiggle
rpiwiggle# ./rpiwiggle
Una vez finalizado el script, se reiniciará la RPi | perderemos la conexión en caso de estar conectados vía SSH, y una vez iniciamos de nuevo nuestra Kali, ejecutamos df -h para ver el espacio libre y ocupado que tenemos en el sistema:

# df -h

Por ultimo, es muy recomendables (si no lo habéis hecho aún) actualizar nuestra sistema Kali:

# apt-get update && apt-get upgrade -y
Llegados este momento, podemos empezar a añadir algunas herramientas de seguridad que no han sido incluidas por defecto en KaliLinux.

AÑADIENDO NUEVAS SECURITY TOOLS

Lo primero que voy a hacer es comprobar las fuentes (source.list) del repositorio del sistema de actualización que trae por defecto Kali Linux, por si fuera necesario añadir algún repositorio adicional.

# cat /etc/apt/source.list


Añadimos alguno repositorios más:

deb http://http.kali.org/kali kali main non-free contrib
deb-src http://http.kali.org/kali kali main non-free contrib
deb http://http.kali.org/ /wheezy main non-free contrib
deb http://http.kali.org/kali kali-dev main non-free contrib
deb http://http.kali.org/kali kali-dev main/debian-installer
deb-src http://http.kali.org/kali kali-dev main non-free contrib
deb http://security.kali.org/kali-security kali/updates main contrib non-free
Y volvemos a actualizar el sistema.

Por defecto la distribución KaliLinux para ARM prescinde de muchas de las herramientas de seguridad que la versión de escritorio si contempla, ahora voy a instalar algunas herramientas que considero básicos para cualquier #Pentester:

SSLTrip 


# apt-get install sslstrip -y
Dsniff (http://www.monkey.org/~dugsong/dsniff/dsniff is a collection of tools for network auditing and penetration testing.


# apt-get install dsniff
Fierce (DNS Scan - http://ha.ckers.org/fierce/-):  Fierce is a very handy tool for DNS Analysis and it is something everyone should have in their armory. Fierce will first check if Zone transfers are allowed or not, if zone transfers are allowed, it will dump all the information and exit happily, otherwise it will brute force it

# apt-get install fierce
P0f (P0f is a tool that utilizes an array of sophisticated, purely passive traffic fingerprinting mechanisms to identify the players behind any incidental TCP/IP communications )

# apt-get install p0f
Scapy is a powerful interactive packet manipulation program. It is able to forge or decode packets of a wide number of protocols, send them on the wire, capture them, match requests and replies, and much more.

NOTA: Se requiere descargar gran número de dependencias lo que supone disponer de al menos 293Mb de espacio libre.

# apt-get install tcpdump tcpreplay graphviz imagemagick python-gnuplot python-crypto python-pyx  ebtables python-visual sox xpdf gv hexer librsvg2-bin python-pcapy


INSTALANDO METASPLOIT

Por supuesto no podía faltar metasploit ! (tenemos la opción de instalarlo como un paquete o bien utilizar el script de Carlos Perez (@darkoperator) que instalará todo lo necesario (dependencias incluidas para la ultima versión de metasploit disponible) desde github.

Sin embargo he decidido realizar los pasos del script manualmente, tal y como viene expuestos (pues no deseo instalar ni Armitage, ni la ultima versión de nmap, sino mantener la versión que tengo instalada mediante el sistema de paquetes de Kali).

Por la actualizaciones de metasploit, no hay que preocuparse, se puede ejecutar el script de actualización siempre que se desee desde su directorio de instalación /opt/mestasploit-framework

NOTA: Este proceso es lento, ser pacientes.

1- Paso - Instalación de dependencias de Metasploit
# apt-get install build-essential libreadline-dev libssl-dev libpq5 libpq-dev libreadline5 libsqlite3-dev libpcap-dev openjdk-7-jre subversion git-core autoconf postgresql pgadmin3 curl zlib1g-dev libxml2-dev libxslt1-dev vncviewer libyaml-dev ruby1.9.3
Una vez todo este correctamente instalado:
# gem install wirble sqlite3 bundler 

2- Paso - Configuración PostgreSQL

Iniciamos postgres y generamos el usuario y la base de datos con la que trabajará metasploit. Cambiamos al usuario postgres y creamos un usuario en la base de datos:
#su postgres
createuser msf -P -S -R -D
createdb -O msf msf
exit

Por ultimo preparamos el sistema para que inicie el motor de base de datos en el arranque del sistema operativo, y este listo para ser utilizado con metasploit
update-rc.d postgresql enable

3- Descargamos una copia de Metasploit-Framework
cd /opt
git clone https://github.com/rapid7/metasploit-framework.git
cd metasploit-framework

Instalamos con el simple comando:
cd metasploit-framework 
bundle install
(se encargará de bajar las dependencias ruby que sean necesarias, y generar los enlaces para ejecutar metasploit).

Si no se hubieran generado los enlaces en el directorio /usr/local/bin automáticamente para ser usado con cualquier usuarios en el terminal de consola, ejecutar:
cd metasploit-framework
sudo bash -c 'for MSF in $(ls msf*); do ln -s /opt/metasploit-framework/$MSF /usr/local/bin/$MSF;done'

4- Creación de los parámetros de configuración que utilizará el framework metasploit
sudo nano /opt/metasploit-framework/database.yml
En este archivo se añade:
production:
 adapter: postgresql
 database: msf
 username: msf
 password: ***
 host: 127.0.0.1
 port: 5432
 pool: 75
 timeout: 5
El password que habéis utilizado para acceder a la base de datos!

Por ultimo crear un una variable de entorno que será utilizada por el framework metasploit y/o armitage (en caso de que este instalado).
sudo sh -c "echo export MSF_DATABASE_CONFIG=/opt/metasploit-framework/database.yml >> /etc/profile
source /etc/profile"

Ya esta listos para iniciar metasploit en nuestra raspberryPi, !ojo! llevará varios minutos iniciar el framework, no obstante, una vez iniciado todo funcionará perfectamente.


7 minutos "tarda" en iniciarse msfconsole! :)



Por su puesto os recomiendo realizar también los pasos de mi artículo "preparando KaliLinux para metasploit".

Gracias a Carlos Perez ~ DarkOperator ( ) por el artículo y script de instalación de Metasploit.

#ST2Labs
www.st2labs.com

Referencias:
[1] http://bahansen.info/the-attack/preparing/
[2] http://www.darkoperator.com/installing-metasploit-in-ubunt/

4 comentarios :

  1. Excelente aporte no sabes como ayuda esto, Gracias

    ResponderEliminar
  2. Gracias por los tutoriales!!! en verdad ayudan ammm solo que una duda para poder expandir los ficheros no me clona y por ende los siguientes comandos como lo puedo hacer, me pide usuario y contraseña... de antemano Gracias

    ResponderEliminar
    Respuestas
    1. Usuario / Contraseña será la q tenga KaliLinux para raspberry Pi. ! :)

      Eliminar