Raspberry Pi y sus aplicaciones como herramienta de ... · 9 y 10 de febrero #T3chFest2017...
Transcript of Raspberry Pi y sus aplicaciones como herramienta de ... · 9 y 10 de febrero #T3chFest2017...
9 y 10 de febrero
#T3chFest2017
Raspberry Pi y sus aplicaciones como
herramienta de ciberataque y ciberdefensa
David Gomez RogueAxis
Miguel HaroRogueAxis [email protected]
@rogue_axis
@_M1tz_
9 y 10 de febrero
#T3chFest2017
Disclaimer
9 y 10 de febrero
#T3chFest2017
Disclaimer• Este taller tiene únicamente un fin educativo e informativo.
• No nos hacemos responsables del mal uso que se pueda dar de los conocimientos adquiridos en el taller.
9 y 10 de febrero
#T3chFest2017
Tabla de contenidos• ¿Qué es una Raspberry PI?
• Receta 1: Mi router SOHO (domestico)• SO: OpenWRT
• Receta 2: Filtrado de contenidos + VPN • SO: Raspbian• PiHole + PiVPN (OpenVPN)
• Receta 3: Anonimizador• SO: OpenWRT + TOR
• Receta 4: Rogue AP• SO: Kali• Easycreds, WIFI Pumpking, airgeddon + Ettercap, SSLtrip…
9 y 10 de febrero
#T3chFest2017
¿Qué es una Raspberry PI?• Historia:
2012 Febrero, Reino Unido, iniciativa de una fundación para la facilitar la enseñanza de ciencias de computación.
2016 Febrero, última versión Raspberry Pi 3 Model B
2016 Septiembre, 10 millones de Pi vendidas
9 y 10 de febrero
#T3chFest2017
¿Qué es una Raspberry PI?• Dispositivo:
Computador de placa reducida
System-on-a-Chip: Broadcom BCM283X -> CPU+GPU+RAM
Arquitectura ARM
Almacenamiento primario -> SD
I/O: Model B -> RJ45, USB x4, GPIO, CSI/DSI [802.11n, Bluetooth 4.1]
Tamaño (85,60mm × 53,98mm) [como una tarjeta de crédito aprox.]
9 y 10 de febrero
#T3chFest2017
¿Qué es una Raspberry PI?• Modelos y características
Raspberry Pi (A, B)
Raspberry Pi 2 (B)
Raspberry Pi 3 (B)
Raspberry Pi Zero (1.2, 1.3)
Raspberry Pi 3 Model B
9 y 10 de febrero
#T3chFest2017
¿Qué es una Raspberry PI?
9 y 10 de febrero
#T3chFest2017
¿Qué es una Raspberry PI?
• Raspberry vs Arduino• Microprocesador vs Microcontrolador
• SO
• IDE Arduino (setup, loop)
• Interfaces I/O… arduino shields
• Tiempo real
9 y 10 de febrero
#T3chFest2017
Recetas
• Casos
• Limitaciones
• Más motivos para traerlo preparado• Mas proyectos (mejor para vosotros)
• Menos riesgos (mejor para nosotros)
• Entorno accesible a los asistentes
Receta 1: Router SOHO I• Objetivo: Montar nuestro propio router SOHO 100% customizable
• [ventajas: http://blog.desdelinux.net/aprovecha-tu-router-al-maximo-con-openwrt-libertad-inalambrica/#]
• Motivación:• Problema al modificar DNS en routers SOHO
• Algunos problemas de seguridad:• Tienen iniciados servidos que no utilizan
• Presentan credenciales por defecto
• Permiten divulgación de información
• https://cybercamp.es/videos/soho-routers-swords-and-shields
9 y 10 de febrero
#T3chFest2017
Receta 1: Router SOHO II• Ingredientes:
• Sistema Operativo: OpenWRT
• Servicios: Dropbear (SSH), LUCI (Web) + DHCP + Firewall
• Adaptadores de Red: TP-LINK UE300, TL-WN722n
TP-LINKTL-WN722n
TP-LINKUE300
9 y 10 de febrero
#T3chFest2017
Receta 1: Router SOHO III• Mapa de red:
9 y 10 de febrero
#T3chFest2017
Receta 1: Router SOHO IV• Descargar el Sistema Operativo OpenWRT y cargar en tarjeta microSD
https://wiki.openwrt.org/toh/raspberry_pi_foundation/raspberry_pi
9 y 10 de febrero
#T3chFest2017
Receta 1: Router SOHO V• OpenWRT
9 y 10 de febrero
#T3chFest2017
Receta 1: Router SOHO VI• Fichero de configuración SSH: /etc/config/dropbear
• Servicio SSH /etc/init.d/drobear restart
9 y 10 de febrero
#T3chFest2017
Receta 1: Router SOHO VII• Fichero /etc/config/network
/etc/init.d/network restart
9 y 10 de febrero
#T3chFest2017
Receta 1: Router SOHO VIII• Instalar paquetes para el funcionamiento de los adaptadores USB
• opkg update
• opkg install usbutils
• opkg install kmod-usb-net kmod-usb-net-rndis kmod-usb-net-cdc-ether usbutils udev
• Instalar paquete wpad-min• opkg update
• opkg install wpad-mini
9 y 10 de febrero
#T3chFest2017
Receta 1: Router SOHO IX• Instalar LUCI Controlar router desde navegador
• opkg update
• opkg install px5g uhttpd-mod-tls
• opkg install luci
• opkg install luci-i18n-base-es
• opkg install luci-i18n-firewall-es
• Arrancar el servidor Web• /etc/init.d/uhttpd start
• /etc/init.d/uhttpd enable
9 y 10 de febrero
#T3chFest2017
Receta 1: Router SOHO X• Instalar drivers adaptador Wireless: opkg install kmod-ath9k-htc
• Fichero /etc/config/wireless: wifi detect > /etc/config/wireless
/etc/init.d/network restart
9 y 10 de febrero
#T3chFest2017
Receta 1: Router SOHO XI• Fichero /etc/config/firewall
/etc/init.d/firewall restart
9 y 10 de febrero
#T3chFest2017
Receta 1: Router SOHO XII• Fichero /etc/config/firewall
/etc/init.d/firewall restart
9 y 10 de febrero
#T3chFest2017
Receta 1: Router SOHO XIII• Fichero /etc/config/dhcp
/etc/init.d/odhcpd restart
9 y 10 de febrero
#T3chFest2017
Receta 1: Router SOHO XIV• Acceder al router a través del navegador
• https://10.0.0.1 –> Si estamos conectados mediante WIFI a la red lan
• https://10.0.1.1 –> Si estamos conectados por cable a la red lan2
9 y 10 de febrero
#T3chFest2017
Receta 2: Pi-Hole & PiVPN I• Objetivo: Navegar de forma segura aunque la red Wireless sea insegura (redes
abiertas, con seguridad WEP, con seguridad WPA o WPA2 pero con WPS activadoo puntos de acceso falsos)
• Motivación I: • Algunas veces nos vemos obligados a navegar por redes que pueden ser inseguras
(cibercafés, hoteles, etc.)
• Motivación II:• Al navegar por Internet aparecen muchos anuncios y páginas que pueden ser fraudulentas
• Existen páginas con anti-AdBlockers, que te obligan a desactivar tu AdBlock
9 y 10 de febrero
#T3chFest2017
Receta 2: Pi-Hole & PiVPN II• Pi-Hole
• Proyecto GNU
• Actúa como un servidor DNS
• Filtra páginas fraudulentas o con publicidad
• El proyecto incluye un gran número de páginas que se actualizanperiódicamente
• Formas de configuración• Manual en cada cliente
• Configuración automática en el servidor DHCP
9 y 10 de febrero
#T3chFest2017
• Esquema Pi-Hole
Receta 2: Pi-Hole & PiVPN II
9 y 10 de febrero
#T3chFest2017
Receta 2: Pi-Hole & PiVPN III• Enriqueciendo la Black List:
9 y 10 de febrero
#T3chFest2017
Receta 2: Pi-Hole & PiVPN III• PiVPN
• Proyecto con licencia MIT
• Permite crear un servidor VPN
• Utiliza el protocolo OpenVPN
• Es flexible, manipulable mediante comandos y segura
• VPN• Permite interconectar redes geográficamente separadas
• Asegura la información intercambiada
• Permite la navegación segura a través de Internet
• Permite anonimizar direcciones origen
9 y 10 de febrero
#T3chFest2017
Receta 2: Pi-Hole & PiVPN IV• VPN
Protocolos VPN• PPTP
• L2TP/IPSec
• SSTP
• IKEv2
• OpenVPN
9 y 10 de febrero
#T3chFest2017
Receta 2: Pi-Hole & PiVPN V• Pasos para la instalación
1. Cargar el sistema operativo raspbian en una tarjeta micro SD (16 GB)
2. Insertar en Raspberry Pi y actualizar sistema operativo mediante
• apt-get update
• apt-get dist-upgrade
3. Instalar Pi-Hole
4. Instalar PiVPN
9 y 10 de febrero
#T3chFest2017
Receta 2: Pi-Hole & PiVPN VI• 1.- Cargar el sistema operativo raspbian en una tarjeta micro SD (16 GB)
9 y 10 de febrero
#T3chFest2017
Receta 2: Pi-Hole & PiVPN VII• 2.- Insertar en Raspberry Pi y actualizar sistema operativo mediante
• Será necesaria una pantalla, un cable del red al router para tener Internet y el cable de corriente
• El usuario por defecto es pi y la contraseña raspberry.
• Se debe cambiar la contraseña con el comando passwd
https://www.raspberrypi.org/documentation/raspbian/updating.md
9 y 10 de febrero
#T3chFest2017
Receta 2: Pi-Hole & PiVPN VIII• 3.- Instalar Pi-Hole
9 y 10 de febrero
#T3chFest2017
Receta 2: Pi-Hole & PiVPN IX• Verificar Pi-Hole
9 y 10 de febrero
#T3chFest2017
Receta 2: Pi-Hole & PiVPN X• 4.- Instalar PiVPN I
9 y 10 de febrero
#T3chFest2017
Receta 2: Pi-Hole & PiVPN XI• 4.- Instalar PiVPN II
Modificar fichero /etc/dnsmasq.conf y añadir la siguiente línea para permitir la resolución DNS a la interfaz VPN:listen-address=127.0.0.1, 192.168.1.2, 10.8.0.1
9 y 10 de febrero
#T3chFest2017
Receta 2: Pi-Hole & PiVPN XII• 4.- Instalar PiVPN III – Crear usuario
9 y 10 de febrero
#T3chFest2017
Receta 2: Pi-Hole & PiVPN VIII• 4.- Instalar PiVPN IV – Instalar Cliente (Windows / Linux)
https://openvpn.net/index.php/open-source/downloads.html # apt-get install openvpn
9 y 10 de febrero
#T3chFest2017
Receta 2: Pi-Hole & PiVPN XIV• 4.- Instalar PiVPN V – IP Asignada y envío de datos
9 y 10 de febrero
#T3chFest2017
Receta 3: Nodo Tor I• Objetivo: Lograr que las comunicaciones sean “anónimas”
usando red TOR sin necesidad de instalar ningún software en los terminales.
• Motivación:• Ser capaz de navegar por la Deep Web, sin tener que instalar nada
en el ordenador
• Ser capaz de encaminar todo el tráfico por la Deep Web, y no únicamente el tráfico HTTP y HTTPS
• Charla Cambiando el cuenTOR en CyberCamp 2016:
https://cybercamp.es/videos/cambiando-el-cuentor
9 y 10 de febrero
#T3chFest2017
Receta 3: Nodo Tor II• ¿Cómo funciona la red TOR?
9 y 10 de febrero
#T3chFest2017
• Ingredientes: • Sistema Operativo: OpenWRT
• Servicios: Tor, LUCI (Web) + DHCP + Firewall
• Adaptador de Red: TL-WN722n
TP-LINKTL-WN722n
Receta 3: Nodo Tor III
9 y 10 de febrero
#T3chFest2017
• Esquema de red:
Receta 3: Nodo Tor IV
9 y 10 de febrero
#T3chFest2017
Receta 3: Nodo Tor V• Pasos para la Instalación
1. Instalar OpenWRT en una tarjeta microSD (8GB) Explicado anteriormente
2. Insertar la tarjeta, conectar cable HDMI a la pantalla, conectar RJ45 al router y conectar adaptador de corriente Explicado anteriormente
3. Configurar como punto de acceso de forma similar que la Receta 1: Router SOHOExplicado anteriormente
4. Instalar y configurar módulo TOR
5. Configurar reglas del firewall para redirigir el tráfico por TOR
9 y 10 de febrero
#T3chFest2017
Receta 3: Nodo Tor VI4.- Instalar y configurar módulo TOR I
• Subir mediante SCP al router OpenWRT
• Instalar los paquetes mediante los comandos:
• opkg install tor_0.2.5.12-1_brcm2708.ipk
• opkg install tor-geoip_0.2.5.12-1_brcm2708.ipk
9 y 10 de febrero
#T3chFest2017
Receta 3: Nodo Tor VII4.- Instalar y configurar módulo TOR II
• Configurar fichero torrc añadiendo las siguientes líneas al final:User torRunAsDaemon 1PidFile /var/run/tor.pidDataDirectory /var/lib/tor
# This is for our transparent networkVirtualAddrNetwork 10.192.0.0/10AutomapHostsOnResolve 1TransPort 9040TransListenAddress 192.168.100.1DNSPort 9053DNSListenAddress 192.168.100.1
9 y 10 de febrero
#T3chFest2017
Receta 3: Nodo Tor VIII5.- Configurar reglas del firewall para redirigir el tráfico por TOR
config zoneoption name lanoption input REJECToption output ACCEPToption forward REJECToption syn_flood 1option conntrack 1
# Tor transparent-proxy-port config ruleoption src lanoption proto tcpoption dest_port 9040option target ACCEPT
# Tor DNS-proxy-portconfig ruleoption src lanoption proto udpoption dest_port 9053option target ACCEPT
# Permitir DHCPconfig ruleoption src lanoption proto udpoption dest_port 67option target ACCEPT
Añadir al fichero /etc/config/firewall
Añadir al fichero /etc/firewall.user
iptables -t nat -A PREROUTING -i wlan0 -p udp –dport 53 -j REDIRECT –to-ports 9053iptables -t nat -A PREROUTING -i wlan0 -p tcp –syn -j REDIRECT –to-ports 9040
9 y 10 de febrero
#T3chFest2017
Receta 4: Rogue AP I• Objetivo: Elaborar una herramienta capaz de implementar un ataque MitM
desde la que podamos obtener credenciales, entre otras cosas divertidas.
• Ingredientes: Kali 2.0, [script fake AP] (y el montón de herramientas que necesita) + Adaptador de red que podamos poner en modo monitor.
9 y 10 de febrero
#T3chFest2017
Receta 4: Rogue AP II• Mapa de red:
Fuente: “Penetration Testing with Raspberry Pi” M. McPhee, J. Beltrame
9 y 10 de febrero
#T3chFest2017
Receta 4: Rogue AP III
• Rogue AP = Fake AP = Evil AP
• Tipos de ataques:• DoS
• Poisoning
• Estáticos
• EvilTwin
9 y 10 de febrero
#T3chFest2017
Receta 4: Rogue AP V• Instalación de KALI: win32diskimager + kali
9 y 10 de febrero
#T3chFest2017
Receta 4: Rogue AP VI• A mano:
• Hay varios tutoriales (la gente de OffSec tiene uno bastante sencillo)
https://www.offensive-security.com/kali-linux/kali-linux-evil-wireless-access-point/
• Básicamente:• Instalar herramientas:
apt-get install -y hostapd dnsmasq wireless-tools iw wvdial
• Usar hostapd para crear el punto de acceso
• Usar dnsmasg para asignar por DHCP
• Algo de routing con iptables
• Usar las herramientas que deseemos para capturar tráfico, redirigirlo, denegarlo…
9 y 10 de febrero
#T3chFest2017
Receta 4: Rogue AP VII• Usando un script
• PwnStar
• Wifi-Pumpking
• easy-creds
• airssl
• Mana
• mitmAP
• Airgeddon
• …
9 y 10 de febrero
#T3chFest2017
Receta 4: Rogue AP VIII• Instalación de easy-creds:
# apt-get install easy-creds
9 y 10 de febrero
#T3chFest2017
Receta 4: Rogue AP IX• Instalación easy-creds: Prerrequisitos, librerías y herramientas everywhere…
Updatedb: apt-get install mlocate
Cmake : apt-get install cmake
Rfkill: apt-get install rfkill
Mdk3: git clone git://git.kali.org/packages/mdk3.git y compilar
Compiladores (g++): apt-get install mingw-w64
Ettercap: apt-get install ettercap-graphical
Sslstrip: pip install sslstrip
DHCP: apt-get install isc-dhcp-server
Asleap: desde http://www.willhackforsushi.com/?page_id=41
9 y 10 de febrero
#T3chFest2017
Receta 4: Rogue AP X• Instalación de Metasploit (requisitos):
• Un poco de todo:
# apt-get -y install build-essential zlib1g zlib1g-dev libxml2 libxml2-dev libxslt-dev locate libreadline6-dev libcurl4-openssl-dev git-core libssl-dev libyaml-dev openssl autoconf libtool ncurses-dev bison curlwget postgresql postgresql-contrib libpq-dev libapr1 libaprutil1 libsvn1 libpcap-dev libsqlite3-dev
• Ruby and gem:
# curl -L https://get.rvm.io | bash -s -- --ignore-dotfiles--autolibs=0 –ruby
# apt-get -y gem
# gem install wirble sqlite3 bundler
9 y 10 de febrero
#T3chFest2017
Receta 4: Rogue AP XI• Instalación de Metasploit (ahora sí):
# git clone https://github.com/rapid7/metasploit-framework.git
9 y 10 de febrero
#T3chFest2017
Receta 4: Rogue AP XII• Instalación easy-creds:
git clone https://github.com/brav0hax/easy-creds.git
/installer.sh
… básicamente instalar librerías y verificar que no hay problemas de dependencias…
9 y 10 de febrero
#T3chFest2017
Receta 4: Rogue AP XIII
9 y 10 de febrero
#T3chFest2017
Receta 4: Rogue AP XIV
9 y 10 de febrero
#T3chFest2017
Receta 4: Rogue AP XV
9 y 10 de febrero
#T3chFest2017
Receta 4: Rogue AP XVI• Instalando airgeddon
• Orientado a EvilTwin attacks
• Sencillo
• ACTUALIZADO
• Instalación muy sencilla:
# git clone https://github.com/v1s1t0r1sh3r3/airgeddon.git
9 y 10 de febrero
#T3chFest2017
Receta 4: Rogue AP XVII• … bueno tal vez no tanto:
9 y 10 de febrero
#T3chFest2017
Receta 4: Rogue AP XVIII• Aireplay-ng
• Mdk3
• Ettercap
• Bettercap
• SSLSTRIP
9 y 10 de febrero
#T3chFest2017
Receta 4: Rogue AP XIX
9 y 10 de febrero
#T3chFest2017
Receta 4: Rogue AP XX
9 y 10 de febrero
#T3chFest2017
Receta 4: Rogue AP
9 y 10 de febrero
#T3chFest2017
Esto solo es el principio...• Más proyectos:
• IDS/IPS
• Portable C&C…
• Más tecnologías:• La piña…
https://rogueaxis.com/blog
9 y 10 de febrero
#T3chFest2017