Raspberry Pi y sus aplicaciones como herramienta de ... · 9 y 10 de febrero #T3chFest2017...

Post on 21-May-2018

218 views 1 download

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 info@rogueaxis.com

@rogue_axis

d4v1d@rogueaxis.com

mharo@rogueaxis.com

@_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