Passwords en claro con Procdump y Mimikatz Alpha

En este post me gustaría hablaros de una técnica que leí este verano y que no había podido poner en práctica hasta hace poco en un test de intrusión.

La técnica consiste en obtener las contraseñas en claro de un servidor sin ejecutar código “malicioso” en el mismo. De esta forma nos evitamos tener que lidiar con evasiones de antivirus y demás dolores de cabeza.

Herramientas necesarias:

[Read more…]

Feliz día de Internet

Hoy 17 de mayo celebramos el Día de Internet. Esta festividad relativamente joven, tiene como objetivos dar a conocer las posibilidades que ofrecen las nuevas tecnologías para mejorar el nivel de vida de los pueblos y de sus ciudadanos.

Desde S2 Grupo, queremos aportar nuestro granito de arena a este Día de Internet ofreciendo una serie de consejos de seguridad, pero haciéndolo de una forma un poco especial. Nos vamos a trasladar a un futuro próximo donde las nuevas tecnologías que están apareciendo en estos días y que se fomentan en eventos como el Día de Internet se han vuelto de uso común. En este futuro cercano, por desgracia, la tecnología todavía no está exenta de riesgos de seguridad y aparecen problemas nuevos que pueden afectar a los usuarios:

¡Feliz Día de Internet! En este año 2023 celebramos por 17º vez consecutiva el Día de Internet. Como hemos hecho en anteriores ediciones, desde S2 Grupo queremos regalar a todos los internautas una serie de consejos de seguridad para que puedan disfrutar de las nuevas tecnologías sin poner en riesgo su salud ni su privacidad:

  • Con la aparición del primer modelo de Google Glass, se inició la carrera imparable de las tecnologías de realidad aumentada. Pocas son las personas que utilizan todavía las gafas de cristal en detrimento de las pantallas transparentes, pero no todas las personas son conscientes de los riesgos asociados. Desde S2 Grupo recomendamos activar los filtros de privacidad así como evitar instalar software desde orígenes no confiables, ya que un malware en nuestras gafas daría acceso al atacante a nuestros movimientos en tiempo real.
  • Otra de las medidas importantes que recomendamos en materia de seguridad, va relacionada con los coches, o más bien, con los ordenadores de abordo. Últimamente se ha detectado que los dispositivos extraíbles (similares a los antiguos USB) están siendo activamente utilizados para infectar ordenadores de abordo. Por esto, recomendamos la instalación de un sistema antivirus que proteja nuestro coche y evite comportamientos no deseados.
  • Los materiales inteligentes han revolucionado nuestra vida con su amplio abanico de posibilidades. Por ejemplo, las etiquetas con GPS han mejorado enormemente los sistemas de monitorización de paquetería permitiéndonos saber en todo momento donde esta nuestra compra realizada en una tienda online. Sin embargo, debemos tener especial cuidado y destruir estas etiquetas una vez recibido el paquete. En caso contrario, podríamos permitir una invasión de nuestra privacidad si alguien accede a los datos GPS del envío.
  • Como último consejo, nos gustaría poner el foco de atención sobre los diferentes software que están instalados en nuestros ordenadores de bolsillo. Resultan muy útiles los diferentes consejeros que analizan nuestro comportamiento diario para sugerirnos acciones, pero debemos tener en cuenta que si perdiéramos este dispositivo, tendrían acceso a toda nuestra información, no solo digital, sino de nuestro día a día. Por esto, recomendamos activar las opciones de cifrado fuerte en todos los elementos en los que esté disponible.

Como habrán podido observar, muchos de los problemas del “futuro” son parecidos a los que sufrimos actualmente solo que con diferentes soportes. Esperemos que nuestras predicciones sean equivocadas y podamos disfrutar de un Internet mucho más seguro para todos.
A parte de estos consejos, en S2 Grupo queremos participar activamente en la celebración del Día de Internet. Por ello, hoy se va a realizar una sesión especial de concienciación de seguridad para padres e hijos, donde se va a preparar a los asistentes para enfrentarse a los problemas de seguridad del presente y del futuro.

Gimp para pentesters

En el post de hoy me gustaría compartir algunos de los trucos que he ido aprendiendo con el tiempo a base de escribir muchos informes de auditoría y pasar muchas horas con el Word abierto. Para ponernos en situación, imaginemos que acabamos de realizar un test de intrusión sobre la red de servidores de una organización con aproximadamente 100 servidores dentro del alcance. Como resultado de este test, hemos conseguido acceder a la gran mayoría de los servidores, hemos recopilado las evidencias e incluso hemos descubierto alguna nueva vulnerabilidad.

Ahora solo nos queda escribir el informe de la auditoría y podremos dar por terminado nuestro trabajo. Damos un repaso rápido a las evidencias tomadas (capturas de Metasploit, capturas de bases de datos, etc.) y nos damos cuenta que tenemos que editar cerca de 50 imágenes para incluirlas en el informe. Ahora me gustaría hacer la siguiente pregunta: Si cuidamos al máximo nuestra ortografía, redacción y claridad, ¿por qué no hacer lo mismo con las imágenes?

Por esto, voy a daros unos sencillos trucos para editar imágenes de forma rápida y con un resultado que haga justicia al trabajo que hemos hecho. Para ello, vamos a utilizar el conocidísimo software de edición de imágenes Gimp.

Lo primero que vamos a hacer es definir una serie de atajos de teclado que harán que trabajemos mucho más rápido. Para añadir estos atajos debemos ir al menú Editar -> Combinaciones de teclas. En el menú que se nos abre escribiremos “trazar selección”.

Asignaremos las combinaciones Mayús+Z y Mayús+A a las opciones “select-stroke” y “select-stroke-last-values” respectivamente. Luego escribiremos “Blur” y asignaremos la combinación Mayús + W.

Una vez configurado esto, ya estamos preparados para empezar a editar masivamente las imágenes. La primera acción que vamos a realizar es recortar la imagen dejando solo la información necesaria. Debemos evitar grandes espacios en blanco (o negro) que no aportan información y que solo hacen que la captura sea más grande y por tanto, la letra más pequeña y difícil de leer. El recorte lo haremos de la siguiente forma, primero seleccionamos el área que nos interesa y luego pulsaremos las siguientes combinaciones de teclas: Ctrl+C y Ctrl+Mayús+V para pegar en una imagen nueva obteniendo algo como lo siguiente.

Ahora toca ocultar los datos sensibles que no queremos que aparezcan visibles. En algunas ocasiones he utilizado la herramienta “Pixelar”, pero actualmente me gusta más la opción de “Blur”. Para ganar tiempo, vamos a realizar una selección múltiple de todos los elementos que queremos ocultar. Esto lo vamos a hacer pulsando la tecla Mayús mientras vamos seleccionando todos los datos sensibles. Luego solo nos queda pulsar la combinación Mayús + W las veces que sea necesario hasta que obtengamos el resultado buscado:

Una vez hemos sombreado las partes que queremos ocultar, es posible que queramos resaltar algún aspecto de la imagen. Típicamente se usa el color rojo por ser el más llamativo, sin embargo, yo prefiero usar otros colores que vayan en concordancia con los colores usados en el informe. Por ejemplo, yo voy a usar el azul del logo de S2 Grupo para resaltar y como color de la fuente usada para las aclaraciones.

Para marcar las zonas que queramos volveremos a usar la selección múltiple y luego pulsaremos Mayús + Z. Os pongo en la siguiente imagen cuales son las opciones que suelo usar:

Una vez hayamos hecho esto, y mientras no cerremos el Gimp, podremos usar Mayús + A para marcar las zonas de las diferentes imágenes sin tener que configurar las preferencias otra vez.
Ya solo nos queda guardar el resultado obtenido. Gimp por defecto guarda las imágenes en formato .xcf, por lo que deberemos exportar nuestra imagen. Una vez más, tenemos una combinación de teclas para ello, Ctrl + e, que nos abrirá el diálogo para guardar la nueva imagen.

Espero que os sirva este post para vuestros futuros informes y si tenéis algún truco no dudéis en dejarlo en los comentarios. Como fin del post, os dejo una pequeña chuleta para que tengáis a mano todos los comandos necesarios en orden de utilización:

  • Ctrl + C (Copiar)
  • Ctrl + Mayús + V (Pegar en imagen nueva)
  • Selección múltiple con Mayús pulsado
  • Mayús + W (Desenfocar)
  • Mayús + Z (Pintar selección con opciones)
  • Mayús + A (Pintar selección automático)
  • Ctrl + E (Exportar)

Casino Royale, ¿dónde están mis datos?

Esta entrada y la información que se referencia está basada en el Informe sobre Seguridad en Juegos Online 2012 [PDF, 2.4MB] publicado por S2 Grupo.

Siguiendo con las entradas relacionadas con el Informe sobre Seguridad en Juegos Online, hoy toca hablar sobre casinos online. Para ser más exactos, vamos a hablar sobre uno de los puntos que suele preocupar a los jugadores como es la privacidad de sus datos: los jugadores se enfrentan al problema de no saber dónde están almacenados los datos, ni qué medidas se están tomando para protegerlos.

En el caso de que los datos se encuentren en España, estas medidas están reguladas y determinadas por la Ley Orgánica de Protección de Datos (LOPD), que garantiza unos controles mínimos. El “problema” viene cuando una empresa sin domicilio social en España tiene los sistemas de almacenamiento y tratamiento fuera del territorio nacional, ya que ese caso no le es de aplicación la LOPD (en otro ámbito, este es el caso de multitud de servicios online gestionados por empresas estadounidenses).

[Read more…]

Vulnerabilidades en Steam

Hoy martes comenzamos con una serie de entradas sobre videojuegos, que desarrollaremos a lo largo de estos días, y cuya información está basada en el Informe sobre Seguridad en Juegos Online 2012 [PDF, 2.4MB] publicado hace unos días.

Steam es una plataforma de videojuegos desarrollada por Valve Corporation mediante la cual la compañía pone a disposición de los usuarios servicios tales como compra digital, actualizaciones instantáneas, listado de servidores disponibles, logros, servicio de mensajería instantánea entre jugadores, ofertas exclusivas, información de última hora, etc., todo de forma gratuita.

Para poder disfrutar de todos estos servicios es necesario estar registrado en el servicio mediante la creación de una cuenta gratuita a la que se vinculan los videojuegos comprados por el jugador. Estos juegos pueden ser aquellos que se ofrecen para la compra en el propio programa, como ciertos juegos comprados en tiendas físicas. La plataforma de Valve posee un total de 40 millones de cuentas activas y un catálogo de juegos que supera los 1500 títulos.

[Read more…]

Los 7 pecados tecnológicos de la Navidad

Ya ha llegado, sin avisar y sin pedir permiso al igual que todos los años. Ha llegado la época de las cenas de empresa, la de las comidas copiosas y los excesos con la bebida. Ha llegado el momento del año destinado a los reencuentros, al turrón, al belén, al árbol y al frío.

Como habréis imaginado, hablo de la Navidad y de los eventos y reuniones que están a la vuelta de la esquina. Desde S2 Grupo queremos aprovechar estas entrañables fechas para mandar nuestra especial felicitación navideña.

Esta felicitación está llena de buenos propósitos, pero también contiene lo que hemos definido como los 7 pecados tecnológicos de la Navidad.

[Read more…]

Securizando tu Android en redes Wi-Fi abiertas

Hace un par de meses, nuestro compañero Jose Vila habló sobre la potencia de los túneles SSH y mostró cómo evitar firewalls y eludir los diferentes filtros usando tráfico tunelizado.

En esta entrada voy a mostrar un enfoque diferente.

Hoy en día es peligroso conectar el smartphone sin protección a una conexión Wi-Fi libre. No es descartable que alguien está capturando el tráfico o que podamos sufrir un ataque de envenenamiento ARP. Entonces ¿cómo se puede estar seguro en una red Wi-Fi? Una vez más, con túneles SSH. ¿Y cómo construir túneles SSH con mi Android? Con túnel SSH.

[Read more…]

Instalando Touchatag en 2012

En septiembre de 2010, realizamos entre Roberto y yo una serie de entradas que profundizaban en la seguridad de las tarjetas RFID Mifare Classic. Han pasado los años, y los visitantes siguen intentando seguir el manual al pie de la letra. Como es normal, actualmente las cosas han cambiado y las versiones utilizadas ya no son compatibles en 2012.

Por ello, he decidido actualizar aquel artículo y mostrar cómo he conseguido instalar en mi máquina todo el software necesario para jugar con nuestro lector favorito: el touchatag. Para ello, he utilizado una Ubuntu 12.04 (no me ha dado tiempo a probar Ubuntu 12.10 todavía) aunque la instalación se puede hacer en otras distribuciones con cambios mínimos.

El primer paso es la instalación de las librerías y programas que vamos a necesitar:

dlladro@vm:~$ sudo apt-get install build-essential subversion automake autoconf libusb-dev 
libpcsclite-dev libusb-0.1-4 libpcsclite1 pcscd pcsc-tools libtool flex libccid doxygen libacsccid1

Una vez hecho esto, pasamos a descargar e instalar las librerias LibNFC:

dlladro@vm:~/rfid$ wget https://libnfc.googlecode.com/files/libnfc-1.5.1.tar.gz
dlladro@vm:~/rfid$ tar -xvzf libnfc-1.5.1.tar.gz
dlladro@vm:~/rfid$ rm libnfc-1.5.1.tar.gz
dlladro@vm:~/rfid/libnfc-1.5.1$ cd libnfc-1.5.1
dlladro@vm:~/rfid/libnfc-1.5.1$ autoreconf -vis
dlladro@vm:~/rfid/libnfc-1.5.1$ ./configure --enable-doc
dlladro@vm:~/rfid/libnfc-1.5.1$ make
dlladro@vm:~/rfid/libnfc-1.5.1$ sudo make install
dlladro@vm:~/rfid/libnfc-1.5.1$ cd ..

Ahora podemos conectar el lector, y utilizar los siguientes comandos para asegurarnos que lo hemos instalado bien:

dlladro@vm:~/rfid$ pcsc_scan 
dlladro@vm:~/rfid$ nfc-list

Vamos ahora a instalar las herramientas que necesitaremos. La primera de ellas se llama mfcuk e implementa el ataque llamado “darkside” descrito en http://eprint.iacr.org/2009/137.pdf. Este ataque aprovecha la poca entropía que se utiliza en el cifrado Crypto-1 para obtener mediante fuerza bruta la clave de un sector.

dlladro@vm:~/rfid$ svn checkout http://mfcuk.googlecode.com/svn/trunk/ mfcuk-read-only -r r62
dlladro@vm:~/rfid$ cd mfcuk-read-only
dlladro@vm:~/rfid/mfcuk-read-only$ autoreconf -is
dlladro@vm:~/rfid/mfcuk-read-only$ ./configure

Editar el fichero src/Makefile y dejar la linea 112 como la siguiente:

LIBS = $(LIBNFC_LIBS)

Compilamos e instalamos:

dlladro@vm:~/rfid/mfcuk-read-only$ make
dlladro@vm:~/rfid/mfcuk-read-only$ sudo make install
dlladro@vm:~/rfid/mfcuk-read-only$ cd src

Una vez instalado, lo ejecutamos con la orden:

dlladro@vm:~/rfid/mfcuk-read-only/src$ ./mfcuk -C -v 2 -R 3:A -M 8

-C     Para realizar la conexión
-v 2   Modo very verbose
-R 3:A Recuperar la clave A del sector 3
-M 8   Tipo de tag Mifare Classic 1K

Obtenemos el siguiente resultado:

Donde vemos que ha encontrado la clave A del sector 3. Este ataque, según los creadores dura unos 5 minutos, pero en mis pruebas no ha bajado de 20. Como veis, obtener las 30 claves (en el caso que sean todas diferentes) nos podría tomar demasiado tiempo.

Ahora vamos a utilizar el programa mfoc para obtener todas las demás claves. Mfoc utiliza el llamado “Nested-Authentication attack” que se basa en el conocimiento de una clave para atacar a los sectores restantes. Su instalación es la siguiente:

dlladro@vm:~/rfid/mfcuk-read-only/src$ cd ../../libnfc-1.5.1
dlladro@vm:~/rfid$ svn checkout http://nfc-tools.googlecode.com/svn/trunk/ nfc-tools-read-only 
   -r r1090
dlladro@vm:~/rfid$ cd nfc-tools-read-only/mfoc
dlladro@vm:~/rfid/nfc-tools-read-only/mfoc$ autoreconf -vis
dlladro@vm:~/rfid/nfc-tools-read-only/mfoc$ ./configure
dlladro@vm:~/rfid/nfc-tools-read-only/mfoc$ make 
dlladro@vm:~/rfid/nfc-tools-read-only/mfoc$ sudo make install
dlladro@vm:~/rfid/nfc-tools-read-only/mfoc$ cd 
dlladro@vm:~$ sudo bash -c "echo /usr/local/lib >> /etc/ld.so.conf.d/loc_lib.conf"

Para usar la clave que hemos obtenido anteriormente hay que volver a compilar el archivo mfoc.c que está en ./mfoc/src/mfoc.c y buscar el vector de claves por defecto:

Solo hay que añadir la clave siguiendo el mismo patrón. Luego hacemos un:

dlladro@vm:~/rfid/nfc-tools-read-only/mfoc/src$ make

y ya lo tenemos a punto.

La ejecución del programa la hago de la siguiente forma:

dlladro@vm:~/rfid/nfc-tools-read-only/mfoc/src$ ./mfoc -P 100 -O salida.mdf

-P 100   Reintentos
-O         Archivo de salida

Veremos algo como esto:

Esta parte todavía no es el ataque, aquí mfoc está comprobando si las claves que tiene por defecto funcionan con algún sector.

Primero hace una pasada probando las claves A. Como se deduce, la clave a884…. es la clave A del sector 0.

Después de esto, empezará el ataque donde irá obteniendo las claves una a una. En el caso de que las obtenga todas en las 100 repeticiones, hará el volcado del tag en el archivo salida.mdf , sino, yo recomiendo apuntar las claves e ir introduciéndolas en el archivo mfoc.c.

Por último, una vez tengamos todas las claves podemos crearnos con un editor hexadecimal un archivo llamado keys.mdf. Este archivo lo podemos crear a partir del salida.mdf poniendo todo a ceros excepto los sectores tráiler de cada bloque.

Y con el archivo keys.mdf ya podemos operar con el tag con las funciones de la librería libnfc:

dlladro@vm:~$ nfc-mfclassic w a contenido_nuevo.mdf keys.mdf

w                     Escritura
a                     Clave A
contenido_nuevo.mdf   Archivo de entrada
keys.mdf              Archivo con las claves

Con esta última orden hemos escrito un tag Mifare Classic con un contenido modificado.

Espero que esta entrada ayude a los lectores que han intentado “jugar” con su touchatag y han tenido problemas con la instalación.

Curioseando tráfico HTTPS en aplicaciones Android

En la pasada Rooted, estuve hablando unos minutos con Sebastián Guerrero y le pregunté como hacía él para descifrar el tráfico cifrado que enviaban las aplicaciones. Me comentó que la forma más fácil para él, era modificar la aplicación para que mostrara las peticiones que se estaban enviando. Esta me parece una buena opción cuando se está analizando una aplicación en concreto, pero me parece un poco engorrosa si solo quieres curiosear que es lo que están enviando tus aplicaciones.

El problema en las aplicaciones de Android reside en que si intentas hacer un man-in-the-midle y el certificado no está firmado por una CA de confianza, no aparece ningún mensaje para que decidas confiar o no en ese certificado, sino que directamente no deja establecer la comunicación.

Con este problema, empecé a buscar alguna solución y encontré la pareja mitmproxy y proxydroid. La primera de ellas como bien indica su nombre, se trata de un proxy con capacidades de realizar ataques mitm. Es muy similar a Burp o ZAP, pero para línea de comandos. Está escrita en python y permite modificar tráfico automáticamente mediante scripts. La segunda es una aplicación que instalaremos en nuestro móvil y que añadirá reglas en el firewall para redirigir todo el tráfico HTTP/S hacia mitmproxy.

Para montar nuestro laboratorio, primero deberemos instalar en nuestra máquina mitmproxy. En Debian/Ubuntu se puede hacer con:

# apt-get install python-pip
# pip install mitmproxy

Una vez instalado, iniciamos mitmproxy para que nos genere la CA. Los certificados los podemos encontrar en /home/usuario/.mitmproxy/. En nuestro caso, nos interesa el archivo mitmproxy-ca-cert.cer que tendremos que copiar a nuestro dispositivo Android en la carpeta /sdcard/Downloads/. Una vez copiado el certificado en la memoria del teléfono, ya lo tenemos casi hecho. Para instalarlo en Android 4 (En otras versiones no debe diferir mucho) hay que ir a Ajustes -> Seguridad -> Instalar desde almac dispositivo. Nos aparecerá un popup con los datos y a partir de este momento podremos ver el certificado en el apartado Credenciales de confianza

Hecho esto, cuando mitmproxy genere los certificados para cada sitio, la CA que acabamos de instalar le garantizará al móvil que son confiables y podremos descifrar el tráfico.

Ahora solo nos queda redirigir todo el tráfico hacia nuestra máquina para analizar ese tráfico cómodamente. Para ello, utilizaremos proxydroid (necesitamos ser root), y lo configuraremos mínimamente con la dirección IP donde está corriendo el mitmproxy, el puerto y el tipo de proxy:

Ahora solo nos queda arrancar mitmproxy y empezar a jugar:

Para no arruinar la diversión, os remito a la web de mitmproxy.org para que veáis como se pueden modificar las peticiones a mano o con scripts.

Crónica de la RootedCON · Día 3

Llegamos al último día de la RootedCon con el cuerpo cansado pero con ganas de disfrutar las últimas charlas de esta edición.

Durante la primera charla, tocó apagar los teléfonos móviles ya que José Picó y David Pérez presentaron los Nuevos escenarios de ataque con estación base falsa GSM/GPRS. Para los que no hayan visto una charla de los compañeros de Taddong, decir que siempre traen consigo una jaula de Faraday para evitar que los ataques se produzcan sobre los móviles de los asistentes y mantener el escenario controlado. Durante la charla mostraron como se puede realizar una denegación de servicio contra un teléfono móvil mediante una estación base falsa. El ataque consistía en devolver la misma respuesta que devuelven los operadores cuando la tarjeta ha sido bloqueada, de esta forma el teléfono entendía que su tarjeta no era válida y desistía de conectarse a cualquier estación base hasta que reiniciara el móvil.

Después de esta charla llegó Sebastián Guerrero con Pimp Your Android, que hizo un repaso de la seguridad en Android y explicó cuáles son los pasos a seguir para analizar aplicaciones en Android y para hacer un análisis forense. Además de la metodología, también apuntó diversas herramientas para llevar el análisis a buen puerto, como son Understand, dex2jar, JD-GUI y un largo etcétera. También mostró el problema de perder el móvil y la cantidad de información que se puede sacar de él. La frase que usó el mismo Sebastián y que creo que resume muy bien lo que intentaba transmitir fue “Si pierdes el móvil, te llevas un huevazo en la cara”. Por último, explicó cuales son las características que incluyen los nuevos malware, como por ejemplo exploits para convertirse en root, módulos de conexión al C&C…

[Read more…]