Mostrando entradas con la etiqueta Hacking Redes. Mostrar todas las entradas
Mostrando entradas con la etiqueta Hacking Redes. Mostrar todas las entradas

lunes, 12 de septiembre de 2016

Mr. Robot Pwn Phone. El teléfono de Elliot DIY


Si, todos estamos enganchados a Mr. Robot y no es un secreto que nos gustan todos sus juguetes. El ultimo ha sido su nuevo teléfono.


Elliot's phone
La escena en la que aparece acompañado con la frase "A phone loaded with 103 network monitoring and attack tools. A dream device for pentesters and hackers" nos capturo a todos.

La compañía que lo desarrolla incluso ha empezado un concurso debido al creciente interés sobre el dispositivo.
Si no somos de los afortunados y tampoco podemos desembolsar los mas de $1000 que cuesta el terminal todavía tenemos una opción bastante mas asequible. Realizarlo nosotros mismos.

El dispositivo sobre el que se basa el Pwn Phone de Pwnie Express es un Nexus 5 que ronda los 100 - 130 € de segunda mano.

* Nota: el siguiente proceso realiza un full wipe al dispositivo. Lo primero que debemos hacer es un Backup de lo que queramos conservar.

Vamos a necesitar el siguiente material:

y el siguiente Software:


Para todo el proceso vamos a utilizar Nexus Root Toolkit que simplifica toda la tarea, automatiza las descargas necesarias y dispone de numerosos asistentes que nos guiaran por todos los pasos.

Ventana principal Nexus Root Toolkit 

Preparación

Lo primero es descargar e instalar Nexus Root Toolkit (en adelante NRT). La primera vez que lo iniciemos nos preguntara por el modelo de dispositivo y la versión de Android instalada.

Selección de modelo

Luego necesitamos instalar/confirmar que tenemos los drivers ADB (Android Debugging Bridge) para ello desde NRT vamos a "Full Driver Installation Guide" y completamos el asistente.

Suele resumirse en activar la depuración USB en el dispositivo, pestaña "Step 3" del asistente de NRT, Install Google Drivers y comprobar que todo funciona desde la pestaña "Step 4".

ADB drivers install
El siguiente punto es desbloquear el Bootloader, este paso realizara un wipe a todo el dispositivo y lo restaura de fabrica.
También lo realizamos a través de NRT con la opción "Unlock" de la ventana principal y nos guiara por una serie de pasos en los que deberemos aceptar el Unlock en la pantalla del dispositivo.

Volvemos a activar la depuración USB. Esto lo tenemos que repetir cada vez que instalemos o restauremos el dispositivo para que NRT pueda seguir comunicándose con el móvil.

Por ultimo para poder realizar la instalación necesitamos partir de la versión 5.1.1 de Android, por lo que desde NRT seleccionamos "Flash Stock + Unroot" y en el asistente marcamos que queremos instalar la ultima revisión de Android 5.1.1.

Factory version 5.1.1 - LMY48M
NRT descarga la imagen de fabrica y realiza todo el proceso con un asistente como en el resto de casos. Cuando el dispositivo se inicie con el nuevo sistema solo queda volver a activar la depuración USB y ya estamos listos para instalar Pwn Phone.


Instalación

Llegados a este punto vamos a instalar la ROM de Pwn Phone (aopp-0.1-20160817-EXPERIMENTAL-hammerhead.zip).
En NRT entramos en "Advanced Utilities" pulsamos "Flash ZIP files from: (Computer)" y en la ventana vamos añadiendo los ZIPs con el botón "Add ZIP's to flash".
Añadimos los zips descargados, aopp-0.1-20160817-EXPERIMENTAL-hammerhead.zipUPDATE-SuperSU-v2.76-20160630161323.zip por este orden.
Ademas marcamos la opción de "Wipe Selected Partitions (Data, Cache, Dalvik)" y pulsamos en confirmar operación.

Instalación AOPP

Después de varios reinicios el dispositivo se inicia con el nuevo sistema. En el primer asistente debemos introducir una conexión Wireless para que el sistema AOPP pueda descargar todo el paquete de herramientas de Pwnie. Cuando termine de instalar pide un reinicio e instalara las actualizaciones disponibles.
Durante la primera instalación y actualización pide permisos de root y debemos concederlos para que termine correctamente.

Instalación Pwnie Tools

Finalmente tenemos un Pwn Phone casero como el del mismísimo Elliot. Aquí podemos ver el resultado.

    


Como bonus podemos seguir instalado herramientas para completar una de las mejores suites de Pentesting para nuestro dispositivo.

La Wiki del proyecto recomiendaHacker's Keyboard, Terminal IDE, Chrome, WiFi Analyzer, BlueNMEA y Fing.

Personalmente añadiría a la lista; cSploit, zAnti, Buigdroid, Intercepter-NG, Fing, Packet Capture, USB Keyboard, DriveDroid, Nipper, sqlmapchik, DroidSQLi, VNC, s/ftp, RDP, VTS y no dejar de visitar las recomendaciones de nuestro compañero Vasco.


Belane



martes, 2 de agosto de 2016

Bypass WAF

Buenas compañeros,

Esta entrada vamos a ver como evitar mecanismos de protección como son los WAF (Web Application Firewall). En muchas ocasiones en un proceso de auditoria web nos encontramos que nuestras peticiones  son bloqueadas o reseteadas antes de que lleguen y pueden llegar ser un dolor de cabeza, ya sea porque no han introducido nuestra IP en la lista blanca o en cambio la empresa quiere conocer como funciona su WAF y si un hacker ético es capaz de evitarlo.




Para comenzar si estamos auditando una web y observamos que se resetean las peticiones realizadas o tardan mucho, es un síntoma de que podría estar detrás un elemento defensivo de red.

A continuación, se detallan una serie de técnicas para evitar tanto manualmente como empleando herramientas:

 Herramientas

Herramientas para el descubrimiento de WAF:


 Wafwoof

Descarga: git clone [https://github.com/EnableSecurity/wafw00f.git]

Instalación: python setup.py install




Ejecución:

wafw00f URL 

Entre los parámetros más interesantes:

Options:

  -a, --findall         Find all WAFs, do not stop testing on the first one

  -l, --list            List all WAFs that we are able to detect

Ejemplo:

''wafw00f -a ********.es''

                                 ^     ^
        _   __  _   ____ _   __  _    _   ____
       ///7/ /.' \ / __////7/ /,' \ ,' \ / __/
      | V V // o // _/ | V V // 0 // 0 // _/
      |_n_,'/_n_//_/   |_n_,' \_,' \_,'/_/
                                <
                               

    WAFW00F - Web Application Firewall Detection Tool

    By Sandro Gauci && Wendel G. Henrique

Checking http://********.es
Generic Detection results:
The site http://*******.es seems to be behind a WAF or some sort of security solution
Reason: Blocking is being done at connection/packet level.
Number of requests: 12


Es capaz de detectar los siguientes fabricantes de WAF:

wafw00f -l

Profense

NetContinuum

Incapsula WAF

CloudFlare

USP Secure Entry Server

Cisco ACE XML Gateway

Barracuda Application Firewall

Art of Defence HyperGuard

BinarySec

Teros WAF

F5 BIG-IP LTM

F5 BIG-IP APM

F5 BIG-IP ASM

F5 FirePass

F5 Trafficshield

InfoGuard Airlock

Citrix NetScaler

Trustwave ModSecurity

IBM Web Application Security

IBM DataPower

DenyALL WAF

Applicure dotDefender

Juniper WebApp Secure

Microsoft URLScan

Aqtronix WebKnight

FireEye Digital Security SecureIIS

Imperva SecureSphere

Microsoft ISA Server


SQLmap

SQLmap puede emplearse para evadir la protección de los WAF's. Además tiene módulos detectar y evadir el WAF.

Identificación WAF--identify-waf

Evitar WAF/IDS/IPS:  --skip-waf    




Cambio de IP

Se puede conectar a través de TOR para "camuflar" la IP y evitar un bloqueo del WAF a nivel de IP.

Para ello, se cuentan con los siguientes módulos:

 --tor                              Use Tor anonymity network

 --tor-port=TORPORT  Set Tor proxy port other than default

 --tor-type=TORTYPE  Set Tor proxy type (HTTP (default), SOCKS4 or SOCKS5)

 --check-tor                  Check to see if Tor is used properly

 --delay=DELAY         Delay in seconds between each HTTP request

Es recomendable introducir pequeños delays para evadir posibles bloqueos del WAF por control de timer.

Burpsuite - Bypass WAF

Consiste en un plugin para burpsuite para saltarse el WAF que automáticamente configura las cabeceras siguientes:


 X-Originating-IP: 127.0.0.1

 X-Forwarded-For: 127.0.0.1

 X-Remote-IP: 127.0.0.1

 X-Remote-Addr: 127.0.0.1

De esta manera, el WAF analiza estas cabeceras y observa que la IP que está realiza las peticiones es localhost que se debe encontrar en la lista blanca.

Descarga: git clone https://github.com/codewatchorg/bypasswaf.git

Para más información: https://github.com/codewatchorg/bypasswaf

Nmap




Nmap dispone de un script para detectar

nmap -p80 --script http-waf-detect <host>


Manual

La mayoría de los WAF's bloquean a nivel de IP. Para evitar este bloqueo se pueden emplear diferentes técnicas:

 -Ir cambiando de IP conectándonos a TOR y forzar a que nos cambie de IP. Requiere de un trabajo extra y está en contra de la "usabilidad" pero a veces es lo que toca!

 -"Jugar" con las cabeceras. Se pueden emplear las siguientes cabeceras:


  • X-Originating-IP: Indica el origen de la IP. Se puede establecer el valor de localhost para engañar al WAF y pensar que se producen desde su origen. Otro método es añadir IP internas o privadas,      sin embargo, en este caso puede ocurrir que por políticas de seguridd no sean alcanzables y no podamos evadir el WAF.
  • X-forwarded-for: Indica la IP origen desde que se hace la petición. Útil para tratar con proxies.
  • X-remote-IP
  • X-remote-addr


Una dupla de valores que se les pueden asignar sería:

x-forwarded-for: 184.189.250.x  (I'm you cache server) - La IP pública de la página web.

x-remote-IP: 184.189.250.x (I'm your proxy)

x-remote-addr: 192.168.1.X (Internal user, let me in!) -> 127.0.0.1

x-remote-IP: (* or or %0A) -> 127.0.0.1


Otra solución directamente es añadir a todas la cabeceras el valor 127.0.0.1

El objetivo que se busca con el uso de cabeceras es obtener una IP interna o privada que se encuentre en la lista blanca del WAF, y de esta manera, evitar sus acciones.

Analizar las cabeceras de respuesta así como las páginas de error para verificar si está correctamente configurado o por el contrario, se muestran características del WAF o su propio nombre.


Se recomienda la lectura del siguiente artículo para evitar el WAF empleando queries de SQL en un inyección de código SQL para más detalle:


https://www.owasp.org/index.php/SQL_Injection_Bypassing_WAF


Si se consigue identificar el WAF, se tiene ya mucho ganado, pues la jugada es buscar las reglas de correlación para identificar ataques así como posibles bugs.

Espero que os haya gustado y os sea útil cuando os toque pegaros con uno. Para cualquier cosa, usad los comentarios y estaré encantado de contestaros.

La finalidad de esta entrada es con fines educativos y formativos con objeto de emplearse en entornos controlados y con permiso. No nos hacemos responsables de su utilización para ámbitos distintos.

Saludos.

NaxHack5

La mejor defensa es un buen ataque.


miércoles, 2 de marzo de 2016

Evil GO.ogle

Buenas hackers!
En esta prueba de concepto os explicare como una persona con fines mal intencionados puede obtener el correo electronico Gmail de los empleados de una organización a través de Twitter como medio de propagación.



A traves del bypass del hsts conocida por @ShargonXL, el link http://www.google.es/?gws_rd=ssl fuerza el http saltandote el https, capturando la cookie de sesión de la cuenta de Gmail si ese usario previamente esta logeado en el navegador. Es un fallo de seguridad ya que un usuario mal intencionado puede enviar ese link a traves de ingenieria social y con un ataque man-in-the-middle obtener la cookie y sesión de Gmail.
¿Se consideraria un fallo de seguridad el degradar de https a http? Si se da el caso o la opinión de que no lo es, ¿por qué se implementa el sistema de seguridad hsts? El hsts precisamente consiste en evitar que una pagina web nunca vaya por http, porque es un protocolo inseguro, entonces ¿por qué el hsts de Google no funciona con ese link?, si la medida de seguridad hsts no funciona un atacante mal intencionando mediante Man-In-The-Middle tiene una capacidad enorme para interceptar las peticiones y respuestas entre un usuario y un servidor de aplicaciones web, es decir, se manda el link,  se abre un esnifer para capturar el trafico, pincha la victima y se obtiene la cookie y el email, saltando el https de Google.

Proof of concept by naivenom,
El empleado con conocimientos de hacking y con sintomas de Burnout (esta quemado con su trabajo :S), realizará un ataque Man-In-The-Middle estando en medio de la comunicación interceptando la información entre el emisor y receptor. Para ello tendrá que estar en la misma red LAN, y utilizar el protocolo IPv4 para el intercambio de datos.
El ataque esta basado en ARP Spoofing, donde el atacante con malas intenciones se colocará entre el router y la victima. Cuando el router envie tráfico a la victima, este pasara primero por la maquina del atacante.
El protocolo ARP permite el conocimiento de la dirección física de otro dispositivo partiendo de la base que conoce una dirección IP.




El planeamiento del ataque deberá ser meticuloso y saber el medio de propagación del link. En este caso el atacante usará el Twitter y mediante ingenieria social convencera al personal de la empresa para seguir esa cuenta. Propagará el link con un mensaje privado a todo el personal diciendo que el lugar del restaurante donde van a cenar es este: http://www.google.es/?gws_rd=ssl

Una vez planeado el ataque, empieza el ataque Man-In-The-Middle:

PASO 1: 

Será necesario que el atacante tenga un portatil y acceso a la red. Cumple de sobra estos requisitos. Abrira el programa EvilFOCA para realizar el ataque Man-In-The-Middle.


Una vez envenenado la tabla ARP de la victima, todos los paquetes enviados entre router y victima pasarán por nosotros.

PASO 2: 

Ahora procedemos a abrir un esnifer de paquetes de red como por ejemplo Wireshark.
Quizas sea este el paso más delicado y dependemos de varios factores:
  • Tiempo que haya de interacción entre victima y el software Twitter
  • Si la victima pincha el enlace o no. Se presupone de nuestra previa habilidad en convencimiento y confianza que le ofrecemos a la victima. 
Una vez que la victima pincha el enlace desde su maquina, se le abrirá la pagina de google y si hay suerte de que tenga ya logeada la cuenta de Gmail, obtendremos la cookie y el correo.


Guardamos la captura en .pcap

PASO 3:

Analizaremos la captura hecha con el software Fiddler.
Podemos observar que a través de la petición GET, obtenemos el Gmail de la victima con tan solo estar logeada.


Con el correo electronico podemos realizar ataques de phishing o envio de malware, obteniendo una shell del sistema victima.

PASO 4: 

Al capturar el tráfico, obtenemos unas cookies. De un modo u otro instalando una extensión en chrome podemos replicar esas cookies y tener la sesión loegada del Gmail victima en nuestra maquina. También deberemos modificar el user-agent con otra extensión proporcionada por Chrome:





Replicamos las cookies que obtenemos en la captura de Wireshark o Fiddler y la añadimos o editamos en nuestro navegador:


Actualizamos con la replica de las cookies obtenidas mediante el esnifer y escribimos la URL del link:



Como pueden observar es fácil a traves de un ataque Man-in-the-middle y el bypass del hsts, obtener información sensible como puede ser el correo electronico o el nombre y apellidos.

P.D Esta prueba de concepto esta realizada con fines educativos siempre en un entorno de trabajo propio, usando la propia red LAN y cuenta de correo (en este caso) de Gmail. No nos hacemos responsables de su mal uso.


Google Analytics