Culturilla sobre Rogue AP y protocolos WIFI.

Estándar

wifi

La técnica de ataque Rogue AP se basa en la creación de un punto de acceso falso, la idea de la técnica se basa en hacer que el usuario se conecte al punto de acceso falso para redirigir las peticiones a internet realizando un ataque man in the midle. La posibilidad de este ataque puede ser desde la de instalar un proxy inverso que capture todo el tráfico a la de presentar certificados falsos al cliente permitiendo descifrar el tráfico https en el caso que el cliente acepte el certificado mostrado.

Para que el ataque tenga éxito es necesario suplantar al punto de acceso legitimo para ello se pueden realizar diferentes técnicas como son la de realizar las configuraciones iguales al entorno real o la de des autentificar a los clientes conectados con una ataque DOS el punto de acceso real obligando a los usuarios a conectarse al punto de acceso falso. El ataque Rogue RADIUS se basa en la técnica explicada anteriormente además de la de añadir un servidor RADIUS.

Este tipo de ataques son eficientes en entornos Windows  o en terminales móviles ya que simplemente el estar conectado a un punto de acceso u a otro se basa en la calidad e intensidad de la señal y el SSID para asociarse.

Podemos encontrar mas documentacion sobre este tipo de ataques y otros en el libro de Daniel Echeverri “Python para pentesters” en el capitulo IV se detalla  este tipo de ataques y otros  a la red WIFI. TEnemos que tener claro que tipos de protocolos podemos encontrarnos.

Disponemos  de varios protocolos de seguridad para redes inalámbricas. El sistema WEP es un sistema de encriptación implementado en la MAC que no es compatible con IPSec.

El sistema WEP es un sistema débil de seguridad en la actualidad y así lo declaro el IEEE cuando implemento el sistema WPA2 ya que no cumple con los objetivos de seguridad. Aunque el sistema WEP puede ser de 128 y 256 bits en ambos casos es vulnerable ataques.

La seguridad WEP se compone por una clave compartida entre el cliente y el punto de acceso. Todos los datos se cifran con esta clave compartida. Los principales problemas de una clave WEP es que usa un algoritmo RC4 y  los IVS son demasiados cortos. Se pueden hacer uso de herramientas como aircrack para romper la seguridad WEP.

En el año 2003 WEP fue reemplazado por WPA y en 2004 WPA fue mejorado por WPA2.  WPA nació con el objetivo de reparar las ineficiencias de la clave WEP pero al poco tiempo se creó WPA2 que se forjo a partir del WPA y corrige las vulnerabilidades del anterior. Principalmente las diferencias entre WPA y WPA2 son el cifrado de las comunicaciones ya que WPA se basa en TKIP y WPA2 se basa en CCMP. La diferencia es que un cifrado está basado en RC4 y el otro en AES un sistema más fuerte y robusto. También tenemos que tener en cuenta que WPA2 incorpora una versión mejorada de MIC.

En cuanto al protocolo de seguridad WPA2 podemos toparnos con dos modos de funcionamiento. WPA2-ENTERPRISE O WPA2-PSK. En el caso de WPA2-Enterprise está basado en el protocolo 802.1x mientras que  WPA2-PSK está pensado para entornos personales en los cuales se hace uso de una clave.

También disponemos del sistema 802.11x el cual es encapsular los protocolos de autenticación sobre protocolos de capa 2. Para ello hace uso del modo de autenticación EAP, EAP-TLS, EAP-TTLS. Principalmente la diferencia entre ambos es que en EAP-TLS se hace uso de certificados digitales del tipo X.509 y  EAP-TTLS añade características de seguridad sobre EAP-TLS.

Es importante realizar una correcta configuración de la red wifi para no tener sorpresas en la red podemos encontrar programas que monitorizan este tipo de conexiones.

Referencias.

Nuestro servidor de túneles siempre online (3ª Parte) icmp-tunnel y VPN PPTP

Estándar
Siguiendo con esta serie de entradas hoy veremos una técnica más que hay que conocer (indispensable) y empezaremos con el tema de las VPNs… Creo que todo el mundo sabe que es una VPN pero por si acaso, vamos a refrescar conceptos (tirando de Wikipedia):

Una red privada virtual, RPV, o VPN de las siglas en inglés de Virtual Private Network, es una tecnología de red que permite una extensión “segura” de la red local (LAN) sobre una red pública o no controlada como Internet. Permite que la computadora en la red envíe y reciba datos sobre redes compartidas o públicas como si fuera una red privada con toda la funcionalidad, seguridad y políticas de gestión de una red privada. Esto se realiza estableciendo una conexión virtual punto a punto mediante el uso de conexiones dedicadas, cifrado o la combinación de ambos métodos.

Continuar leyendo

anonabox: un mini-router para acceder a Tor

Estándar

Recientemente se ha creado una campaña de Kickstarter para Anonabox, un interesante router-hardware con software de código abierto queredirige automáticamente todo el tráfico mediante Ethernet o Wifi a través de la red Tor, ocultando la dirección IP del usuario y evitando la censura.

Pero lo que más llama la atención es su ajustado precio (vale unos 45 dólares) y que es tan pequeño como un paquete de cigarrillos, lo que permitirá al usuario llevarlo siempre encima y por ejemplo conectarlo a un cable ethernet de la oficina para hacer un trabajo sensible o en un cibercafé en China para evadir el Gran Firewall.

No es el primer proyecto que intenta integrar Tor directamente en un router, pero si quizás el que mejor equilibrio tiene entre precio, fácil configuración, tamaño y seguridad. “para nosotros era importante que fuera portátil y pequeño para que se pueda ocultar con facilidad o incluso tirar de inmediato si hay que deshacerse de él.” comenta Germar, uno de los consultores de TI independientes que pasaron los últimos cuatro años desarrollando el Anonabox.

No obstante recordar que Anonabox o cualquier elemento que facilite el acceso a Tor no protege totalmente la privacidad del usuario. Si utiliza el mismo navegador para sus actividades de Internet anónimas y normales, por ejemplo, los sitios web pueden utilizar técnicas de “fingerprinting” en el navegador como cookies para identificarle. Por no hablar de la ejecución de algún exploit e instalación de malware que pueda comprometer la máquina del usuario…

Fuente: http://www.wired.com/2014/10/tiny-box-can-anonymize-everything-online
Crowdfunding: https://www.kickstarter.com/projects/augustgermar/anonabox-a-tor-hardware-router

Lista de Anti-Rootkits

Estándar

Impresionante lista de a_d_13 en el foro KernelMode.info. Si alguien conoce alguno más que comente en la entrada original (nosotros actualizaremos posteriormente esta entrada):

64-bit Tools

Nuestro servidor de tuneles siempre online (2ª parte) ssh-tunnel & wake on wan

Estándar

Siguiendo con esta serie de entradas hoy retomaremos nuestro recién creado server y lo dotaremos de un par de servicios de tunneling más de los cuales nos podremos servir en un futuro.

También veremos cómo hacer un wake on wan sin necesidad de un wol-relay, aunque si recordáis yo para el server utilice una raspberry (se puede utilizar cualquier máquina) y, aunque el chipset soporta la tecnología wol, no lo tuvieron en cuenta a la hora de diseñarla (RPI no soporta wol).. por lo menos en el modelo de mi placa…

A decir verdad el consumo de Rpi 2,5W no es nada frente a los 125W que puede llegar a consumir cualquier sobremesa.. Por eso seria bueno tener online este tipo de server solo cuando lo utilicemos, además de ahorrar es ecológico 🙂

WAKE ON LAN/WAN

Wake on Lan/Wan, es una tecnología mediante la cual podemos encender un ordenador de manera remota, simplemente mediante una llamada de software. Puede implementarse tanto en redes locales (LAN), como en redes de área extensa (WAN o Internet). Las utilidades son muy variadas, tanto encender un Servidor Web/FTP, acceder de manera remota a los archivos que guardas en tu equipo, teletrabajo y hasta por pura vagancia.

Requerimientos hardware
1 – Fuente de alimentación ATX 
2 – Tarjeta de red con cable de tres pines. 
3 – Placa base con soporte WOL
Lo primero que tenemos que hacer para llevar a cabo un wake on wan es abrir el puerto UDP  9. El Magic Packet es un paquete que funciona a nivel de enlace, en la capa 2del modelo OSI, ya que lo que se envía en el mismo es una dirección MAC. pero el router es un dispositivo de nivel de red (nivel 3), o sea, que se “entiende” con direcciones IP, no con las direcciones MAC. Eso quiere decir que deberemos ser capaces de enrutar este paquete desde Internet hacia el ordenador objetivo.
Podemos hacerlo accediendo al router bien por http o bien por telnet (en mi caso el soft del router no tiene la posibilidad de tocar las tablas nat por http/https, así que no me queda otra que acceder por telnet):
Lo que conseguimos es que  todas las tramas UDP que lleguen a la dirección IP pública del router por el puerto 9, serán reenviadas a ese mismo puerto de la dirección IP privada 192.168.1.128.

En el caso de tener varias máquinas que despertar podemos asignarle a cada una un puerto en la nat y según cual queramos despertar mandaremos el magic packet por un puerto u otro.

Pero un nuevo problema. Al estar el equipo apagado, cuando el router trata de reenviar el paquete mágico a la IP del equipo destino, no hay nadie que le conteste diciendo “yo tengo esa IP”, con lo cual, el router no sabe cuál es la dirección MAC. Esto se soluciona con latabla ARP del router debidamente configurada.
Para hacer el wake on wan lo podemos hacer desde el smartphone (aconsejo wake on lan de mafro pues nos deja configurar el puerto) u otro equipo.

Sea cual sea la aplicación que utilicemos, los datos son siempre los mismos: la MAC del equipo destino, la IP pública de router (o bien nuestro dominio registrado enfreedns.afraid.org), como máscara hay que poner 255.255.255.255 (broadcast) y finalmente el puerto por el que queramos establecer el envío.

Ya estaríamos listos para despertar nuestra máquina desde cualquier parte del mundo!
Un momento y la ip pública??

Si fuisteis buenos y seguisteis los pasos del post anterior tendréis asociada la IP-Publica de vuestro router a un subdominio y puedes saber tu ip por ejemplo haciendo ping. Tu subdominio en el caso del ejemplo era hackpy.chikenkiller.com o bien puedes utilizar el subdominio a pelo.

Debemos tener en cuenta los modos de apagado de nuestra máquina…. por ejemplo mi sobremesa despierta de un halt igual que de un suspend o hibernate… pues digamos que este el wol lo hace por hardware…

Sin embargo mi portátil solo despierta si lo suspendo y antes configuro la tarjeta eth0 para ello.

 ethtool -s eth0 wol g

Bueno despues de este apunte sigamos por donde nos quedamos la semana pasada en Cómo montar nuestro propio servidor de tuneles siempre online (1ª parte).

SSH-TUNNEL

¿Qué es un túnel SSH?
 
Las siglas corresponden a Secure Shell. Sirve para acceder a máquinas remotas, igual que hace telnet, pero de una forma segura ya que la conexión va cifrada. El transporte se hace mediante TCP, por tanto nos garantiza que las órdenes van a llegar a su destino (conectivo, fiable, orientado a conexión).

¿Para qué nos puede servir?

  1. El túnel SSH es una buena solución para navegar por Internet en el caso que nos hallemos en Red local No segura.
  2. La navegación a través de un túnel SSH garantiza nuestra confidencialidad ya que nadie podrá conocer las páginas web que estamos visitando ni que estamos haciendo.
  3. La navegación a través de un túnel SSH garantiza la integridad de los datos transmitidos y recibidos ya que la probabilidad que alguien pueda modificar las datos que enviamos o recibimos es muy baja.
  4. Los túneles SSH nos pueden servir también para vulnerar ciertas restricciones impuestas por nuestro ISP o por ejemplo también nos puede servir para vulnerar ciertas restricciones impuestas por proxies y firewall.
  5. Los túneles SSH son una buena solución para asegurar la comunicación entre 2 máquinas y para fortificar protocolos débiles como por ejemplo HTTP, SMTP. FTP, Telnet, etc.
  6. Montarse un servidor SSH propio es sumamente mucho más sencillo que montarse un servidor VPN o un servidor proxy.

Empecemos…

Desde nuestra raspberry pi nos bajamos open ssh:

apt-get install openssh-server openssh-client
lo siguiente será cambiar el puerto por el que ssh escuchará, para ello editaremos el fichero /etc/ssh/sshd_config y lo pondremos en el 22222:
Ahora en el router abriremos el puerto en la nat:
Ahora abrimos el firewall de nuestro server (en caso de tenerlo activado )

iptables -A INPUT -i eth0 -p tcp –dport 22 -m state –state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp –sport 22 -m state –state ESTABLISHED -j ACCEPT

Ya estamos en disposición de recibir en nuestro server las conexiones ssh por el puerto 22222.

Tunelizado la conexion

ssh -p 22222 -N -D 1027 hackpy.chikenkiller.com


-p 22222: Con este parámetro indicamos el puerto de escucha de nuestros servidores SSH.

D 1027: Estamos especificando que se realice un reenvío dinámico de puertos o túnel dinámico. En este puerto habrá un servidor proxy socks que escuchará las conexiones del puerto 1027. Cuando el servidor proxy socks detecte una solicitud o conexión en el puerto 1027 enviará el tráfico cifrado a través del tunel SSH que creamos entre la red que estemos y nuestro server.

Configurando el proxy para poder navegar

Una vez establecido el túnel deberemos configurar las aplicaciones que van a funcionar por el, en este caso lo que pretendemos es securizar nuestra navegación.

Para ello y yo como estoy utilizando iceweasel para navegar me bajaré e instalaréfoxyproxy (lo tenemos para varios navegadores y si no cualquier proxy web vale) y lo configuraremos  para este menester.

en la siguiente captura podemos ver como navegamos por ssh:

Si comprobamos las ip veremos que no son las mismas…

Sin tunnel:




 

Con tunnel:

Ya hemos conseguido nuestro SSH-TUNNEL… mediante el cual podremos navegar.

UTILIZANDO UN CLIENTE ANDROID

Para utilizarlo con nuestro smartphone (sin rootear) podemos utilizar la aplicación connetBoot y Firefox. Si tenemos root en el terminal tenemos mejores opciones como la app ssh-tunnel, pero hagámoslo difícil.

abrimos coonectboot y conectamos con nuestro server:

root@NuestraIpPublica:22222

Luego tocamos la tecla menú y seleccionamos la opción traducciones de puerto:

Lo configuramos como en la foto de la izquierda, aseguraros de reescribir el puerto por el 8080 hasta que se queda en negro….

Ahora tan solo debemos configurar firefox en nuestro smartphone para que tire de nuestro SSH-TUNNEL.

Lo haremos abriendo nuestro navegador y poniendo “about: config” y cambiando los valores por defecto por los siguientes:

network.proxy.type 1

Y YA estamos en disposición de navegar seguros!

Hasta aquí tenemos nuestro server dispuesto para aplicar dos técnicas de tunneling (DNS Y SSH) desde cualquier parte del mundo y también somos capaces de apagarlo y encenderlo a placer para ser mas ecológicos.. os emplazo a una tercera entrega donde iremos completando nuestro server.

Por hoy tan solo recordaros que podemos “tunnelar” muchos servicios por ssh, desde el correo a servicios RPD.. y que este hilo es solo una de las mil formas de hacerlo.

un saludo!

Cómo montar nuestro propio servidor de tuneles siempre online (1ª parte)

Estándar

Se conoce como túnel o tunneling a la técnica que consiste en encapsular unprotocolo de red sobre otro (protocolo de red encapsulador) creando un túnel de información dentro de una red de computadoras. La técnica de tunelizarse suele utilizar para trasportar un protocolo determinado a través de una red que, en condiciones normales, no lo aceptaría. Otro uso de la tunelización de protocolos es la creación de diversos tipos de redes privadas virtuales.
Continuar leyendo