jueves, 10 de noviembre de 2016

Fake AP en el colectivo + clientes cautivos = Verificación de (in)seguridad en servicios!

Hola a todos! 

El otro día, por cuestiones laborales, tuve que cambiar a mi querido 37 (siempre viajo parado) por el 45 semi-rápido. Quien diría que ese cambio temporal de línea de colectivo me daría la chance de escribir esta entrada. El tema es que cuando el colectivo llega a la parada veo un lindo logo de wifi pegado en él. Wifi en el 45? Si si, esos días han llegado, tenemos wifi en el colectivo (al menos en este servicio diferencial). Cuando subo al colectivo empiezo a mirar las redes que detectaba mi teléfono y entre ellas aparecía "Linea45-44". En ese punto supe que no iba a ser otro aburrido viaje...

Logo de wifi...comienzan las ideas malignas
Que sucedía si yo levantaba un punto de acceso wifi con el mismo nombre de la red del 45? Si bien la red del colectivo tiene password (la cual esta en un calco pegado cerca de donde ascienden los pasajeros) siempre hay algún despistado que va a conectarse al primer nombre "Linea45" que vea sin darse cuenta que es una red abierta (sin clave). Las posibilidades de que esto suceda eran altas dado la cantidad de gente que había en el mencionado servicio público.

Mi teléfono Android ya estaba preparado con todas las herramientas mencionadas en entradas anteriores:

http://mamaquieroserpentester.blogspot.com.ar/2015/09/pentesting-mobile-convirtiendo-nuestro.html
http://mamaquieroserpentester.blogspot.com.ar/2015/10/pentesting-mobile-convirtiendo-nuestro.html

Con lo cual, solo me quedaba levantar el punto de acceso wifi (que viene por defecto en algunos smartphones)

Una vez levantado el punto de acceso, inicié Debian en mi Android para comenzar a sniffear el tráfico con wireshark. La Interfaz creada tiene el nombre de ap0, asi que en ella me puse a escuchar el trafico...

Tenemos una víctima!

A pocos segundos de comenzar el sniffing pude ver que alguien estaba conectado a mi red (el tráfico capturado lo mostraré en un Wireshark de mi pc con el cual levante el pcap obtenido para una mejor visualización).

Una de las cosas que pude comprobar rápidamente es lo que se dice sobre el inicio de conexión de Whatsapp: Los datos del dispositivo viajan en texto plano seguido del número de teléfono codificado...


BlackBerry 2.1 (obtenido de inicio de conexión con Whatsapp)
Pude terminar de comprobar que se trataba de un BlackBerry en otro de los paquetes en el cual el dispositivo reportaba su exitosa conexión a WiFi (lo que no le avisó es que era un fake AP jeje).

User Agent del BlackBerry informando que se ha conectado a wifi

En un segundo viaje...

Dado que encontré la forma de hacer un viaje en colectivo ameno y que no había podido recolectar mucha data volví a tomar el 45 para ver que descubría.

En este segundo viaje se conectó un usuario con un Motorola:

Moto G 
Una rápida comprobación con los números de MAC correspondientes al fabricante:
Obtención del vendor 
Otra cosa que pude detectar es el uso del messenger de Facebook. Esto lo hice ingresando el número de app capturado en la página de la mencionada red social:



Me llamó la atención (no se por qué) que la aplicación no cifra todo el contenido con lo que permite obtener imágenes de los contactos (data parseada con Xplico):

Algunas de las personas del facebook de nuestro "cliente"

En un tercer viaje...

Como ya me estaba gustando el sniffing en el 45 y veía que siempre caía alguien me dispuse a realizar la prueba en un tercer viaje.

En esta ocasión, fué muy gracioso ir parado y ver como el pasajero sentado adelante mío se conectaba a mi fake AP.

Aparentemente nuestro cliente quería informarse un poco..


En este caso tambien encontré fotos de los contactos que divulgaba la aplicación de Facebook Messenger.

Bueno hasta aquí mi pequeña aventura. Si en un rato que dura el viaje pude conseguir cosas como estas, imaginensé lo que podriamos encontrar con mas tiempo (y con otras herramientas) o en un par de viajes mas.

Asi que ya saben, la proxima vez que viajen en el 45 miren siempre adonde se están conectando!


Saludos y...

HAPPY HACKING!

martes, 16 de agosto de 2016

Escaneando de forma paranoica


Hola a todos. En esta breve entrada me gustaría mostrarles una forma de escanear con Nmap de modo que nos asegure cierto anonimato y que no salten las alarmas (que no seamos detectados por algún firewall o IDS).  Veremos algunas opciones de Nmap que nos ayudarán a realizar maniobras evasivas y de confusión para el objetivo.

Entre estas acciones están:

Spoofear nuestra MAC: Modificar nuestra MAC (no necesita más aclaración)

Utilizar señuelos: Al utilizar esta opción, podemos realizar escaneos en paralelo con el nuestro, asignando direcciones IP falsas para que se mezclen con la nuestra.

Fragmentación de paquetes: Utilizada para engañar a algunos IDS, enviando pequeños paquetes.

No resolver DNS: Las consultas DNS, frecuentemente quedan registradas, con lo cual podemos utilizar esta opción para evitar dejar nuestra IP por ahí.

Reducir la frecuencia de envío de paquetes: Otra opción que nos ayuda a bajar la probabilidad de detección por parte de nuestro objetivo. Si enviamos los paquetes con la menor frecuencia posible será más difícil que nuestro escaneo sea detectado.

Las opciones que se pueden utilizar son las siguientes:

--spoof-mac: Nos permite falsear nuestra dirección MAC. Debemos agregar algún parámetro luego de esta opción. Si colocamos un 0, generará y usará una MAC aleatoria. Tenemos otros parámetros, como por ejemplo agregar la palabra "Cisco", creará y utilizará una MAC correspondiente a un producto Cisco.

-T: Con esta opción, acompañada del valor 0 (paranoid) indicamos que envíe los paquetes con la menor frecuencia posible.

-Pn: Con esta opción no se realiza un ping al equipo objetivo.

-f: Con esta opción fragmentaremos las cabeceras TCP.

-D: Creamos los señuelos. Esta opción debe ir seguida de las direcciones IP que aparecerán en el objetivo como origen del escaneo.

-n: Indicamos que no resuelva DNS

--random-hosts: Aleatoriza el orden de escaneo de los hosts indicados.

Lanzando nuestro escaneo paranoide

A continuación, veremos como queda nuestro escaneo utilizando las opciones antes vistas:

nmap --spoof-mac Cisco  –T 0 -Pn -f –D IPs_SEÑUELOS -v –n –sS
–sV  –random-hosts HOSTS_A_ESCANEAR

Obviamente este escaneo va a ser un poco lento (quizás sea mejor tener un café preparado) y quizás no sea el mas conveniente si no contamos con mucho tiempo, pero sin lugar a dudas aumenta mucho la probabilidad de no ser detectados por lo que vale la pena tenerlo en cuenta para lanzarlo en ambientes muy controlados y protegidos.

Podemos encontrar mas información en el sitio de Nmap, en la sección correspondiente a evasión de firewalls e IDS:

https://nmap.org/book/man-bypass-firewalls-ids.html

Saludos y...

HAPPY HACKING!!!

martes, 22 de marzo de 2016

Testeando NetRipper (la diversión de hookear)


Luego de ver la interesante entrada de Pablo González Pérez sobre NetRipper (publicada en el blog de Chema Alonso) me dispuse a investigar un poco mas sobre el funcionamiento de esta herramienta y a verla en acción (con muy buenos resultados).

La mencionada entrada podemos verla en:

http://www.elladodelmal.com/2016/03/metasploit-hookear-con-netripper-los.html

Conociendo NetRipper

NetRipper es una herramienta de post-explotación enfocada en sistemas Windows que nos permite realizar un hooking de ciertas API´s, permitiéndonos capturar tráfico en texto plano y cifrado (capturandolo antes que sea cifrado y después de ser descifrado).

La herramienta realiza el siguiente proceso:

1 - Realiza una Inyección de DLL Reflejada: Inyecta la DLL directamente en el proceso objetivo. Los contenidos de la DLL son copiados de la memoria a la memoria del proceso objetivo. Luego, una funcion exportada es llamada (ReflectiveLoader). Esto, a diferencia de la inyección común de DLL hace que la DLL no aparezca en los módulos del proceso y que no toque el disco, con lo cual pasa desapercibida.

2 - Hookea la API: Funciones específicas son interceptadas. NetRipper busca la dirección de la función, coloca una instrucción "call" llamando a una función genérica de hooking, restituye los bytes originales, llama a una función callback y luego a la función original

3 - Extrae los datos: Guarda los datos de forma local (en la carpeta Temp)

NetRipper puede descargarse de:https://github.com/NytroRST/NetRipper

La herramienta cuenta con un binario o un .EXE para Windows, con una versión para PowerShell y un módulo para Metasploit.

Para utilizarlo como módulo de Metasploit desde Linux, una vez descargado, debemos introducir las siguientes instrucciones:



En el siguiente video utilizaremos este módulo. Partiremos desde una sesión obtenida de meterpreter y realizaremos el hooking del navegador Google Chrome (atacando al proceso chrome.exe)


Espero que sea interesante,

Saludos y...

HAPPY HACKING!!!

miércoles, 16 de marzo de 2016

Cyborg Hawk: No solo de Kali vive el Pentester!


En esta breve entrada conoceremos un sistema operativo desarrollado para Ethical Hackers y Especialistas en Cyber Seguridad. Es una muy buena alternativa a nuestro querido Kali. Está basado en Ubuntu y cuenta con mas de 700 tools. Su nombre: CYBORG HAWK


Podemos encontrar el listado de todas las herramientas que posee en el siguiente enlace:

http://cyborg.ztrela.com/tools/

Allí veremos una clasificación de cada una, de acuerdo a la tarea que queramos realizar:



Si hacemos click sobre alguna de ellas obtendremos una descripción de la herramienta, su forma de uso e incluso algunos screenshots de la tool en acción:



Una vez instalado (o cargada su versión Live) y funcionando, para iniciar sesión, ingresamos el usuario y pass por defecto, que son cyborg y toor respectivamente


Una vez que iniciamos sesión nos recibe el siguiente desktop (ayyy pero que lindooooo, mirá mamá!!!):


Para acceder a las herramientas vamos a Applications --> Cyborg


Entre ellas podemos encontrar, por ejemplo, herramientas para tecnologías como RFID y NFC:


Obviamente no faltan herramientas como Nmap, OpeanVAS y Metasploit

Podemos descargarlo desde: http://cyborg.ztrela.com/download/

Sin lugar a dudas, una muy buena distro para tener en cuenta a la hora de realizar auditorias de seguridad. En futuras entradas, realizaremos algún ataque o prueba desde Cyborg Hawk para conocerlo un poco más.

Saludos y...

HAPPY HACKING!

miércoles, 10 de febrero de 2016

Scripts de post-explotacion en Metasploit


Ya ingresaste al 2016? Ahora usa estos scripts de post-explotacion en Metasploit para sortear el año

En esta entrada veremos algunos scripts interesantes para utilizar con Metasploit una vez que logramos acceso al sistema objetivo. Es muy importante conocer la gran variedad de herramientas con las que cuenta el framework para asistirnos una vez que nos hicimos de una sesión. Estos scripts nos ayudan por ejemplo a dumpear hashes, conocer los dispositivos del sistema objetivo, verificar que otros equipos se comunican con el, entre otras cosas. Espero que ya tengas tu sesión lista porque ya comenzamos...

Buscando un terreno firme...

Una vez que obtenemos una sesión de meterpreter, lo primero que debemos hacer es migrarla a un proceso mas estable. Esto lo hacemos con el comando migrate seguido del PID del proceso al cual queremos migrar. Para visualizar los procesos que corren en el sistema comprometido utilizamos el comando ps:



Una vez obtenido el listado, ejecutamos migrate + el PID del proceso seleccionado:


Ahora que tenemos una sesión mas estable comenzamos con la segunda etapa, la de buscar persistencia...

Scripts de persistencia

Que pasa si la vulnerabilidad que utilizamos para explotar el sistema objetivo ya no puede ser explotada? O que sucede si el exploit que utilizamos modifica el sistema de forma tal que ya no podremos volver a usarlo? Entonces, lo mas recomendable es ejecutar algún script que nos asegure un futuro acceso. Para asistirnos en esta tarea existen metsvc y persistence

metsvc
Un network service wrapper para meterpreter que puede ser utilizado tanto como un servicio de Windows como una aplicación de línea de comandos. Con el comando run metsvc –h podemos ver sus opciones:



Para instalarlo, solo debemos ejecutar el comando “run metsvc”. Lo ideal primero es migrar la sesión a otro proceso para obtener una shell más estable. Para poder conectarnos al servicio, una vez instalado, debemos utilizar el multi/handler y seleccionar el payload “windows/metsvc_bind_tcp”. Una vez configurado, lo lanzamos y nos conectaremos al sistema a través de nuestro backdoor.

persistence

Un método más efectivo para obtener una mayor persistencia en el equipo comprometido. Para ejecutarlo debemos ingresar el comando “run persistence”


Este script posee varias opciones, la cuales podemos visualizar agregando “-h” al comando previo. Vale la pena comentar algunas de ellas:

-A: Al terminal el proceso, iniciará el multi/handler para conectar con el agente.

-L: Ubicación donde se escribirá el payload. Si no se especifica lo hará e %TEMP%

-U: Iniciará el agente cuando el usuario inicia sesión

Ahora que nos aseguramos la estadía podemos comenzar a recabar información de nuestro equipo...

Jugando con los módulos de post-explotación

Los módulos de post-explotación podemos utilizarlos una vez obtenido el acceso al sistema objetivo. Desde una sesión de meterpreter basta con ejecutar run y el módulo en cuestión. Los podemos encontrar en la siguiente ruta:


Si la sesión de meterpreter esta corriendo como background deberemos especificar que sesión queremos utilizar.

Aquí algunos de los scripts:

checkvm
Script que nos ayuda a verificar si el equipo comprometido es una máquina virtual:


Lo mas probable es que sea una VM, salvo que el equipo se "disfrace" de una de ellas como nos cuenta Chema:

http://www.elladodelmal.com/2014/03/emular-una-maquina-virtual-y-evitar.html


enum_applications
Con este script podremos listar las aplicaciones que se encuentran instaladas en el equipo víctima:


enum_logged_on_users
Un script que nos muestra los usuarios actualmente logueados y los recientemente logueados en el sistema:


usb_history
Script que nos muestra un historial de los dispositivos usb que se conectaron en el equipo:




bypassuac

El User Access Control (UAC), o control de cuentas de usuario, es una tecnología que introdujo Microsoft a partir de Windows Vista para mejorar la seguridad al impedir que aplicaciones maliciosas hagan cambios en el equipo. 

Para poder realizar acciones con privilegios, un programa debe correr como administrador y actuar de acuerdo al UAC. El UAC puede estar configurado de distintas maneras:

Siempre notificar: Es el nivel con mas restricción. Siempre notificará los intentos de ejecutar acciones con privilegios de administrador tanto de programas como de configuración de Windows.

Notificarme solo cuando los programas intenten realizar cambios en mi equipo: Es la opción que viene por default. Nos informará que una aplicación quiere realizar cambios en el equipo y nos solicitará las credenciales de administrador. No recibiremos notificaciones si deseamos realizar cambios en la configuración de Windows.

Nunca notificar: No se notificará cuando un programa quiera realizar cambios. Si el usuario es un administrador, los programas podrán realizar los cambios automáticamente. En cambio, si el usuario es un usuario estandar, se denegarán los permisos automáticamente.


Dentro de Metasploit podemos encontrar el exploit “bypassuac”. Este exploit nos dará una segunda shell que tendrá el flag UAC apagado. Si bien es un exploit y no se encuentra dentro de los módulos de post-explotación, lo contamos como tal dado que es necesario tener una sesión de meterpreter para poder utilizarlo. Cabe destacar que solo funcionará para los casos en que el User Access Control este configurado como “Notificarme solo cuando los programas intenten realizar cambios en mi equipo”. Para utilizarlo primero debemos dejar corriendo de fondo nuestra sesión de meterpreter. Esto lo hacemos con el comando background.


Luego, para usar el exploit ingresamos:

use  exploit/windows/local/bypassuac

Si ejecutamos el comando “show options” veremos que uno de los requisitos para poder lanzar el exploit es indicar el número de sesión de meterpreter:


Seleccionamos nuestra sesión (en este caso la número 2) con el comando:
set  SESSION  numero_sesión


Una vez seleccionada nuestra sesión, ejecutamos el exploit como siempre:


Si todas las acciones fueron realizadas correctamente y ningún antivirus nos bloqueó obtendremos nuestra Shell con privilegios de administrador.

Podemos encontrar la descripción de estos y otros módulos de post-explotación en:

https://www.offensive-security.com/metasploit-unleashed/post-module-reference/

Info sobre bypassuac en:

https://www.rapid7.com/db/modules/exploit/windows/local/bypassuac

Saludos y....

HAPPY HACKING!!!