30 septiembre 2012

Enlaces de la SECmana - 142


Leer más...

29 septiembre 2012




Disclaimer: Estimado lector, si has llegado a este artículo buscando ayuda con relación a algún análisis forense, formación relativa al tema o a una asociación existente, yo, Lorenzo Martínez, a título personal, te quiero hacer saber que ya no me encuentro en la ANTPJI. Por ello, si piensas que puede darte ciertas garantías que yo pertenezca a la misma, te ruego que leas el post relacionado con ANCITE, Asociación Nacional de Ciberseguridad y Pericia Tecnológica.

------------------------------------------------------------------------------------------------------------------------------


Fue a mediados de Abril cuando la ANTPJI (Asociación Nacional de Tasadores y Peritos Judiciales Informáticos), a la que tengo el honor de pertenecer, impartió su primer curso de Perito Informático Forense en Madrid.

Desde entonces, he sido requerido en la realización de varios peritajes, en los que he tenido que exprimir mis conocimientos forenses a fin de ayudar en la resolución de algunos casos, así como verificar la validez de las pruebas presentadas en cierto juicio. Es impresionante lo alegremente que se puede llegar a meter a alguien en prisión (al menos preventiva), basándose en pruebas absolutamente fuera de lugar, en los que la probabilidad de adulteración es altísima, o que simplemente no se ha mantenido en ningún momento la cadena de custodia.

Pero no sólo de manejar herramientas vive el perito. La elaboración del informe pericial, en el que plasmar los resultados obtenidos, con un lenguaje adaptado para un entorno de abogados y jueces, juega un papel tan fundamental como las habilidades técnicas demostradas. 

Asimismo, he tenido el placer de vivir, casi día a día, la evolución que ha tenido la asociación, y de ser partícipe de la ilusión demostrada de manera incansable por su presidente, Ángel Bahamontes. La cantidad de contactos hechos, de empresas, Organizaciones y Universidades a las que se ha dirigido, casos "famosos" en los que se han ofrecido servicios, han comenzado a dar sus frutos. 

De esta manera, la Universidad Politécnica de Valencia ha querido ser pionera en ofrecer a universitarios y profesionales, la posibilidad de asistir a la primera edición del curso de Perito Judicial Informático Forense. El evento se celebrará el viernes 19 y sábado 20 de Octubre en la Escuela Técnica Superior de Ingeniería Informática de la Universidad Politécnica de Valencia

El temario del curso contendrá lo siguiente:
  • El Perito Informático Forense
  • Derecho Informático, aspectos legales y jurídicos
  • Cómo extraer y recuperar datos y evidencias electrónicas
  • Aspectos legales de la LOPD
  • Preservación de la Evidencia Digital
  • La evidencia Telemática
  • Cibercrimen - Ciberataques - Ciberarmas - Ciberdefensa
  • Laboratorio Informático Forense
  • Cómo recuperar datos perdidos
  • Tecno vigilancia y las fuerzas de seguridad
  • Perito informático de Gestión y Mediación tecnológica
  • Pen-test, herramientas y programas forenses
  • Redacción de un informe pericial, protocolo
La forma de cubrir estos contenidos será en base a charlas magistrales, que se acompañarán con ejemplos prácticos y laboratorios en los que se explicará la metodología a seguir.

Para mí será un placer compartir plantel de charlas/profesorado con reconocidos profesionales de la seguridad como Chema Alonso o Pedro Sánchez.

Más información sobre el Curso de Perito Judicial Informático Forense 



Leer más...

28 septiembre 2012

Mi experiencia personal en Ekoparty 2012 #ekoparty2012




Como ya habéis podido leer en artículos anteriores, he tenido el placer de participar como ponente en la popular conferencia de seguridad informática Ekoparty 2012 en Argentina.

Como es costumbre en mí, empiezo a escribir en el avión de vuelta a Madrid, donde dispongo de "un ratito de 12 horas" de tranquilidad para contar mi experiencia. 

Decir por adelantado que nunca había estado en Buenos Aires y además, para evitar el fuerte impacto del jetlag (que últimamente voy de jetlag en jet lag y tiro porque me toca), me fuí unos días antes, a fin de adaptarme, conocer la ciudad y disfrutar de la amabilidad de mis amigos porteños.

Así pues, llegué el lunes 17 de Septiembre a Buenos Aires. Después de una merecida ducha y ropa limpia, me fui directo al recinto donde se estaban dictando los diferentes trainings de la Eko. Allí me encontré con mi buen amigo mexicano Roberto Martínez, que estaba ilustrando a unos cuantos alumnos en una sala sobre ataques de red. Como asistente se encontraba además, haciéndole los coros en el curso otro buen amigo común, Roberto Olaya de Ecuador. Igualmente, pude saludar a otros excelentes profesionales como Gustavo Presman y Sebastian Bortnik. Al rato, apareció Leonardo Pigñer, uno de los organizadores del evento, que como siempre, encantador, me presentó al resto de la organización: Juan Pablo, Francisco, Jerónimo y Fede.

Los dos primeros días, el protagonista indiscutible merecedor de la medalla de oro al mejor Cicerone fue mi buen amigo Matías Katz, que haciendo gala de ser un excelente anfitrión, se prestó a enseñarme la ciudad de arriba a abajo; sus calles, curiosidades, restaurantes, carnes, etc,... fueron testigos de interesantes conversaciones sobre economía, política, empresas, la vida,... y hasta seguridad informática!

Loable fue también el esfuerzo que hicieron Ángel Álvarez y su mujer Betsabé elaborándome, de forma absolutamente proactiva, un itinerario con mapas incluidos, con las cosas que no debía perderme en Buenos Aires.

Un servidor con Roberto Martínez y  Matías Katz

Igual no tengo más que palabras de agradecimiento para la organización del evento, que además de haber estructurado toda la agenda de forma impecable, promocionar actividades que inciten la camaradería (¿qué puede ser más motivador que la pizza y las cervezas en cantidades industriales?) incluso nos proporcionaron un teléfono móvil local a cada uno de los ponentes para poder comunicarnos con ellos, o entre nosotros. De los congresos que he estado, este es el único en el que han tenido ese detalle con los ponentes, lo que es un diferenciador además de una comodidad incalculable.

Con Leonardo Pigñer y la cabina de traductoras con espinacas y Red Bull para traducir a Ravi

El evento en sí era aún mejor de lo que me esperaba y me habían contado. El ambiente es sensacional, el lugar elegido tiene ese aire underground, que se presta a las mil maravillas para un congreso de hacking e inseguridad. Cierto es que no desearía vérmelas allí en medio de un incendio de ese edificio, con tantísima gente, dos únicos accesos y varios pisos de escaleras.

A lo largo de los tres días de Ekoparty, participé en una mesa redonda sobre la importancia (o no) de las certificaciones de seguridad, con Roberto Martínez, Roberto Olaya y Fernando Quintero, moderada por Leo Pigñer.


               Leo, moderando la mesa de debate. A la derecha
         Roberto Olaya, Roberto Martinez y Fernando Quintero




Además impartí un workshop sobre "Buenas prácticas de seguridad en entornos corporativos" para el que había dispuestas unas 30 sillas, y fue impresionante ver cómo un montón de gente se apelotonaba de pie haciendo lo imposible por distinguir algo en una pantalla de TV donde aparecía mi presentación, mientras agudizaba el oído para escuchar lo que podía decir sin ayuda de micrófono. 

Intenté asistir a cuantas charlas pude, pero la gran cantidad de lectores que pude desvirtualizar en el evento, incluso carismáticos colaboradores de SbD como Mariano del Río o su encantador compañero Héctor Jara, o los chilenos Zerial, los organizadores de la conferencia 8dot8, Claudio Caracciolo, Jorge Mieres, Efrén Sánchez o a los grandes Alejandro Eguía de Spamloco y Cristian Borghello de Seguinfo, así como un sinfin de nombres y nicks,... hacían que el tiempo se me pasara volando y no pudiese ver tantas charlas/workshops como me habría gustado.

       Una de tantas cenas ligeras que nos apretamos en Buenos Aires

Finalmente, el viernes después de un break, me tocó el turno de dar una charla desde el escenario de Ekoparty. Quise guardar las últimas locuras que he introducido en Skynet para un evento de tal envergadura. Salí francamente satisfecho del resultado que me manifestó el público en forma de aplausos y risas. El mejor pago por la charla es haber hecho que un montón de personas que incluso se sentaban en el suelo de los pasillos, se hayan entretenido gracias a mí durante 50 minutos de su vida.

A todos los que me dedicasteis menciones por twitter y os disteis el tiempo de acercaros en el evento a hablar conmigo: ¡Muchísimas gracias!

Y así, nace Skynet!

Fue una sorpresa tremenda también volver a ver a otros amigos que conocí en Manizales como 4v4t4rPedro Joaquín, o Carlos Mario Penagos; Igualmente un placer volver a ver al divertido y siempre atento Miguel Sumer, compañero de aventuras en los mercados callejeros de Santa Cruz de Bolivia! Fue una pena que a última hora nuestro buen amigo Álvaro Andrade de Bolivia, no haya podido asistir, puesto que se lo habría pasado de escándalo.

4v4t4r, Lorenzo y Roberto Olaya

Igualmente fue un honor para mí compartir escenario y desvirtualizar a personajes con una presencia mundialmente reconocida como César Cerrudo, Juliano Rizzo o Thai Duong.

Sin duda, uno de los mejores eventos en los que he participado y al que espero volver en futuras ediciones!
Leer más...

27 septiembre 2012

Ataque masivo de malware bancario.

Desde ayer se están recibiendo decenas de miles de correos electrónicos con un enlace que contiene malware bancario que afecta a usuarios de múltiples entidades financieras.

La gran mayoría de antivirus ya lo detectan, pero en estos casos, siempre acaban encontrando gente con menos conocimientos que acaban picando. Recordad que hay varios gratuitos como Antivir, AVG o Microsoft Security Essentials y los tres lo encuentran.

El correo tiene el siguiente aspecto:



Y textos similares:

"Querido cliente nos ponemos en contacto con usted para informarle de que podria ser victima de la manipulacion de su factura ya que se estan dando casos de enganos y falsificaciones por ello le pediriamos que nos hiciera llegar que le ha llegado dicha informacion pinchando en el archivo adjunto."


Con URLs diferentes y asuntos distintos, tales como:
  • Aunque puede
  • Falsificacion de facturas
  • Manipulacion de facturas
  • Pago no transferido
  • Pago fallido
  • Cuota no abonada
  • Su facturacion
  • La factura e-cologica
  • Error en la transferencia
  • Facturas respetuosas
  • Pongase en contacto con nosotros
  • Infiltracion en las facturas

Si os ha llegado alguno de estos correos, podéis dejar en un comentario el enlace que os haya llegado para tratar de cerrar los sitios lo antes posible.


Leer más...

Jugando entre capas

En este post me gustaría presentaros una herramienta y dar algunos ejemplos para jugar un poco con los protocolos Ethernet y TCP/IPv4 (en adelante TCP), en concreto para hacer Ethernet Forwarding y modificar el payload de los segmentos TCP.

La herramienta en cuestión está disponible en https://github.com/sch3m4/mitmreplace.

Nota: De aquí en adelante supondremos que estamos trabajando sobre redes Ethernet.

Como es sabido, la tarea más básica de cualquier router que se precie, es el de interconectar distintas redes. Esta tarea se lleva a cabo (simplificando) cambiando la cabecera Ethernet (origen y destino) así como la cabecera IP, guardándo las "equivalencias" en una tabla en la memoria del dispositivo.

De manera casi similar funcionan los puentes de red, cuya tarea seŕia la de unir varias redes en una, pero sin realizar los cambios de ambas cabeceras (lo que sí hace un router).

La herramienta en cuestión realiza un "mix" entre estos dos modos de funcionamiento, actúa como un puente de red entre una o más redes, ofreciendo la posibilidad de manipular el payload de los segmentos TCP.

Q: ¿Un puente sobre una única red?
A: Sí, dependiendo de los entornos que veremos a continuación trabajaremos sobre una red o sobre dos.

La idea para poder realizar esto, es lanzar la herramienta sobre una red en la que controlemos el tráfico, ¿cómo lo conseguimos? Pues entre otras opciones, tenemos el envenenamiento ARP y montar un punto de acceso falso. Por ello, si hacemos envenenamiento ARP trabajaremos sobre una única red, y si optamos por montar el punto de acceso trabajaremos con dos redes.

Veamos una imagen para ver más claro cómo funciona la herramienta en cada uno de estos entornos:

Nota: Las siguiente imagen no se corresponde con una arquitectura de red real, solo pretende mostrar el flujo de datos.

ARP Poisoning
En esta figura se puede ver el flujo de datos entre los PCs 4 y 5 siendo víctimas de un envenenamiento ARP por el PC 3, por lo que estos tres equipos están en el mismo segmento de red y solo disponen de una interfaz de red.

Es importante cuando ejecutemos la herramienta, desactivar el IP Forwarding en el sistema, ya que será la propia herramienta quien realice esta tarea. Otro detalle importante es que la herramienta no realiza NAT, por lo que debemos estar preparados para enrutar el tráfico sobre las IPs que a priori desconozcamos.

Si por el contrario hemos montado un punto de acceso (siendo nosotros el PC-3) tendremos dos interfaces, una interface por la que enrutar el tráfico de los clientes (modificado o no) y otra interface (Wireless) donde se conectarán los clientes.

Dicho esto, vamos a comenzar con algunos ejemplos sobre la herramienta en cada uno de estos entornos.

Lo primero como siempre, es descargarnos la herramienta:

$ git clone git://github.com/sch3m4/mitmreplace.git
Cloning into 'mitmreplace'...
remote: Counting objects: 56, done.
remote: Compressing objects: 100% (43/43), done.
remote: Total 56 (delta 12), reused 55 (delta 11)
Receiving objects: 100% (56/56), 286.47 KiB | 117 KiB/s, done.
Resolving deltas: 100% (12/12), done.
A continuación entramos en el directorio y compilamos (necesitaremos las siguientes librerías: glib-2.0, xml2, pcap):
$ ./configure && make
checking for a BSD-compatible install... /usr/bin/install -c
(...)
config.status: creating Makefile
config.status: creating src/Makefile
config.status: creating config.h
config.status: config.h is unchanged
config.status: executing depfiles commands
(CDPATH="${ZSH_VERSION+.}:" && cd . && /bin/bash /home/sch3m4/mitmreplace/missing --run autoheader)
rm -f stamp-h1
touch config.h.in
cd . && /bin/bash ./config.status config.h
config.status: creating config.h
config.status: config.h is unchanged
make  all-recursive
make[1]: se ingresa al directorio `/home/sch3m4/mitmreplace'
Making all in src
make[2]: se ingresa al directorio `/home/sch3m4/mitmreplace/src'
gcc  -g -O2   -o mitmreplace mitmreplace-checksum.o mitmreplace-forward.o mitmreplace-main.o mitmreplace-patterns.o mitmreplace-replace.o  -lglib-2.0 -lpcap -lxml2 -lpthread
make[2]: se sale del directorio `/home/sch3m4/mitmreplace/src'
make[2]: se ingresa al directorio `/home/sch3m4/mitmreplace'
make[2]: se sale del directorio `/home/sch3m4/mitmreplace'
make[1]: se sale del directorio `/home/sch3m4/mitmreplace'
Y tendremos la herramienta lista para ser ejecutada:

Ayuda del programa
Su uso es bastante intuitivo, los parámetros "ingw" y "outgw" corresponden a las direcciones MAC de los gateways legítimos tanto de entrada como de salida, para que el equipo que recibe los datos modificados "crea" que provienen del dispositivo legítimo.



Contenido Original
El objetivo en este caso va a ser un dispositivo Android que visitará http://safetybits.net Y lanzaremos la herramienta de manera que reemplazará todas las coincidencias de "libntoh" por "l33t.0f", este es el contenido legítimo que el objetivo visualizaría:

Para llevar a cabo este "ataque" la herramienta dispone de un archivo donde introduciremos los datos que queremos reemplazar. Este archivo es un XML donde especificaremos la cadena a encontrar y la cadena por la que será reemplazada. Si una de estas dos cadenas deben ser tratadas como datos binarios, debe indicarse mediante un atributo que pondremos a "1" o "0" en función de si alguna de las cadenas deben ser tratadas como datos binarios respectivamente, en cuyo caso las representaremos en hexadecimal.

El archivo en cuestión tiene el siguiente formato, y para este ejemplo no necesitaremos modificarlo pues ya tiene los reemplazos que necesitamos:

patterns.xml


Como se puede ver, reemplazaremos "Acept-Encoding: gzip" por "Accept-Encoding: text" para poder acceder a la respuesta en bruto (sin comprimir). El siguiente patrón es el que realmente cambiará el texto que necesitamos.

Por lo tanto (como se aprecia en la imagen), debemos crear una entrada en este archivo siguiendo el formato estipulado por cada reemplazo que queramos realizar.



Lo primero que vamos a realizar es un envenenamiento ARP de un cliente (192.168.1.45), haciendo uso de arpspoof:

ARP Spoofing





Lo siguiente (no necesariamente en este orden) es desactivar el IP Forwarding, para ello usamos sysctl:

IP Forwarding Deshabilitado




Con nuestro escenario preparado, solo necesitamos lanzar la herramienta indicándole la puerta de enlace legítima y la interfaz que vamos a utilizar:

Ejecución

 A partir de ahora, será la herramienta quien realice el forwarding para mantener el acceso a la red del objetivo, y cada vez que encuentre un segmento TCP en el que exista alguna coincidencia con los datos especificados a través del fichero XML, lo sustituirá y enviará el segmento de vuelta a la red, causando el siguiente salida y efecto en el cliente:

Resultado en el cliente
Ha de quedar claro que la herramienta "no entiende" de protocolos de aplicación, el reemplazo solo se realiza en segmentos TCP, y como probáblemente más de uno se ha dado cuenta, las cadenas "libntoh" y "l33t.0f" tienen la misma longitud, ¿Por qué? La respuesta es bastante simple, si intentamos reemplazar "aabbcc" por "ABC" el resultado será "ABCbcc". Esto es así, por la limitación del MSS, ya que de sobrepasarlo habría que enviar otro segmento TCP, y de cualquier modo, si modificamos la longitud del segmento, habría que ajustar el número de secuencia en dicho punto de la conexión, lo que desestabilizaría la conexión ya que no estamos haciendo de proxy a nivel TCP.

Con esto ya podemos "jugar" cambiando URLs de javascripts, imágenes, PDFs, binarios, "https://" por " http://" (fíjate que hay un espacio ;-) ), etc.

Artículo cortesía de Chema García
Leer más...

26 septiembre 2012

Evidencias digitales con eGarante (ejemplo práctico)

Para los lectores mas asiduos del blog, seguro que les suena 'Mail Sellado' y 'Web Sellada' proyectos que lanzamos aquí desde hace tiempo y que, gracias al notable éxito que estaban teniendo, me ha motivado a crear un servicio mucho más profesional basado en ellos.

Podéis ver el nuevo servicio en: www.egarante.com

A modo de resumen diré que Mail Sellado y Web Sellada son dos servicios que permiten emplear un tercero de confianza que haga de 'notario', y certifique que un dato (sea un correo electrónico o una página web) está de una determinada forma en un determinado momento. Se certifica el contenido y el momento en el que se ha tenido constancia de ese dato

En el caso de Mail Sellado se certifica el correo electrónico (emisor, receptor, contenido y adjuntos) y la hora en la que se ha enviado dicho correo.

En el caso de Web Sellada, el contenido de una página web en un determinado momento

Los cambios en eGarante con respecto a los anteriores servicios son bastante sustanciales, de entrada, desaparece el firmado mediante clave GPG y cambia a un certificado digital X.509. Ese cambio ha permitido a su vez abandonar el sistema de múltiples ficheros (mail original, firma GPG, sello de tiempo) e integrarlo todo en un único fichero PDF que contiene la firma digital, el sello de tiempo y el contenido del correo.

Ahora, tanto Mail Sellado como Web Sellada entregan un único fichero PDF fácilmente verificable desde Acrobat Reader.

Otro cambio destacable -en Mail Sellado- es que, si bien antaño enviar los correos con copia a mailsellado en copia oculta (bcc) o copia normal (cc) daba igual, ambos generaban una evidencia digital que se enviaba SOLO al emisor. Ahora, si se emplea CC, la evidencia digital llegará a emisor y receptor.

Esto, que parece baladí, abre la puerta a nuevas posibilidades como por ejemplo el envío confirmado de datos con validez legal.

Vamos a ver un ejemplo sencillo de envío confirmado de datos. De entrada, hay que decir que este tipo de servicios siempre requieren cooperación por parte del destinatario.

Nadie que diga 'confirmación de lectura garantizada con solo enviar el correo' dice la verdad.

Antaño (felices años 90 ...) sí que había formas mas o menos ingeniosas de hacer confirmación de lectura 'ninja' sin intervención del receptor, en general se basaban en inyectar un fichero jpg invisible en un mail con formato HTML.

Entonces, cuando el receptor abría el mail, se cargaba ese fichero externo y era prueba irrefutable de que ese mail se había leído.

Hoy día, ningún (o casi ningún) lector de correo (web o cliente de escritorio) carga elementos externos, así que adiós a la confirmación de lectura 'ninja'.

Métodos para conseguir obtener la confirmación de lectura hay muchos, en el caso de eGarante he optado por uno muy sencillo de emplear que permite usarlo desde la aplicación de correo.

Lo vamos a ver con un ejemplo: Andrés pretende enviar un contrato de alquiler a Tomás y desea que tanto de ese contrato, como de la aceptación de Tomás, quede constancia fehaciente.

Lo primero que hace Andrés es enviar el contrato a Tomás poniendo como Cc a mailsigned@egarante.com

Click para agrandar la imagen


Cuando Tomás abra su correo electrónico, encontrará dos correos, por un lado el correo de Andrés y por otro, un correo de Mail Sellado que ha sido enviado a Andrés (emisor), pero también a Tomás (receptor) y que contiene la evidencia digital del primer correo

Click para agrandar la imagen

Tomás al responder el correo de Andrés pulsa 'Responder a todos':

Click para agrandar la imagen

Y escribe su correo.

Al haber pulsado en 'Responder a todos' también está añadiendo a mailsigned@egarante.com

Click para agrandar la imagen

De esa forma, genera otra evidencia digital que será enviada tanto a Tomás (Emisor) como a Andrés (receptor) del correo que ha escrito

Click para agrandar la imagen

Resumiendo de forma esquemática:

  1. Andrés envía correo a Tomás poniendo en CC a mailsigned@egarante.com
  2. Se genera una evidencia digital de ese correo que es enviada a Andrés (emisor) y Tomás (receptor). Ambos tienen la prueba de que ese correo se envió con ese contenido
  3. Tomás responde ese correo con 'Responder a todos' y por ende añadiendo en su respuesta a mailsigned@egarante.com
  4. Se genera una evidencia digital de ese segundo correo que es enviada a Tomás (Emisor) y Andrés (receptor)
De esa forma, toda la conversación por correo electrónico ha quedado 'sellada' y ambos participantes disponen de evidencias digitales de lo que se ha hablado. 

A partir de ahora, la típica frase: 'Vale, pero esto me lo pones por e-mail' debería cambiar a 'Vale, pero esto me lo pones por e-mail y añade en copia a mailsigned@egarante.com
Leer más...

25 septiembre 2012

Ekoparty 2012 - Crónica del Día 2 - #ekoparty2012




Seguimos con las diferentes charlas del segundo día de la edición 2012 del congreso EkoParty celebrado en Buenos Aires.

Por la mañana no pude asistir con los cinco sentidos hasta el momento de mi charla, por lo que describiré aquellas charlas en las que estuve íntegramente.


Welcome to your secure /home, $user!



Presentada por quien escribe este post, para la EkoParty quise explicar, además de las nuevas funcionalidades de Skynet, cómo lo he tenido que modificar para adaptarlo a las bajas prestaciones de mi Raspberry Pi! Sí, para aquellos que me preguntáis qué he hecho con el Raspberry Pi en todo este tiempo, prácticamente la totalidad de la funcionalidad de Skynet, excepto la grabación de movimiento, así como la detección facial, he movido el core de Skynet al juguetito de 35 dólares. Además he incorporado diversas funcionalidades domóticas, como bajar persianas y toldos mediante tecnología X-10 (siempre y cuando no llueva y no haya viento, según detecte mi estación meteorológica), así como funcionalidades de seguridad, cómo un modo vacaciones que aleatoriamente baja persianas y toldos (teniendo en cuenta las mismas premisas de antes) simulando que la casa está habitada, o el modo surveillance para la monitorización de la ubicación de mi coche por GPS, de manera que si aparco en un sitio del que no me fío y lo activo, al cambiar las coordenadas detectadas (dentro de un margen), me enviará notificaciones indicando que el vehículo se ha (o lo han) movido.

Por las manifestaciones de alegría que he visto por twitter, y que así me expresaron muchos asistentes, tengo la satisfacción del deber cumplido habiendo hecho una charla que agradó al público.  


4140 ways your alarm system can fail



El americano Babak y su compañero Keith, nos enseñaron TODO sobre el funcionamiento de las alarmas, los internals de la comunicación entre los sensores y la central, como resultado de su investigación. Es decir, las señales intercambiadas a través de un bus único compartido por los módulos de la central. Así lograban interceptar la contraseña introducida, mostraron en tiempo real una herramienta para hacer fuerza bruta de forma automática obteniendo contraseñas de usuarios válidos, e hicieron demostraciones en vivo con sistemas de alarma y diferentes teclados, con los que introducían códigos de forma remota. Como para replantearse si los sistemas de alarma profesionales son tan seguros como las centrales de alarma nos intentan vender.


VGA Persistent Rootkit



Los argentinos Diego Juarez y Nicolas Economou, dieron una genial charla, en la que flasheaban tarjetas de video, que ejecutaban código en los puntos que ellos deseaban. Mostraron ejemplos en los que añadían diversos gráficos en cualquiera de las pantallas mostradas por un ordenado desde la BIOS, el arranque de Windows, etc,… 





Mostraron incluso el flasheo de una tarjeta de video VGA de forma remota y como se puede ver, de forma persistente, aunque me despisté en la parte en la que explicaban, cómo hacían para inyectar el rootkit.



Dirty use of USSD codes in Cellular network



Tocó el turno a una de las charlas más esperadas, la de Ravi

Partió explicando lo que es un servicio USSD… es decir, servicios intercambiados entre un servidor y terminales móviles. Aunque hay diferentes servicios de datos interactivos, como mobile banking o incluso Twitter, mediante la utilización de SMS para enviar tweets, etc,.. ofrecidos por operadores en determinados países. Puso como ejemplos la India, Argelia, Nigeria o Sudáfrica, en los que se utilizan de manera habitual para mobile banking, poder consultar saldo, recargas, etc,...

Explicó la arquitectura utilizada normalmente por los operadores para proveer estos servicios, así como el resultado del análisis de la comunicación utilizada, demostrando así las debilidades que tienen este tipo de servicios.

En general, es posible desplegarlos a través de Internet, publicándolos en un servidor web.

La primera parte que explicó, es algo documentado en el RFC de telefonía correspondiente, y es que si se introduce erróneamente, 10 veces el código PUK de una tarjeta SIM, ésta queda directamente K.O. siendo necesario solicitar una nueva SIM en el operador de teléfono correspondiente.

Así fue como liberó una vulnerabilidad existente en Android por la que, al invocar al método TEL:[número] hace que Android llame a ese número, o ejecute ese servicio USSD, sin comprobar nada más.

Ahora sólo falta encontrar una forma por la que el usuario acceda a este enlace: Mediante ingeniería social, phising, redes sociales o el mismo whatsapp, es bastante sencillo hacer una campaña de Spam con un enlace acortado por ejemplo, que redirija a una web que contenga un servicio USSD especialmente creado para forzar 10 veces el cambio de PUK.

De hecho, Ravi puso a disposición de quien así lo quiera un servicio para comprobar si tu teléfono es vulnerable o no a este problema de ejecución automática.

Si descargáis el contenido del fichero html, os aparece algo como esto, dentro del contenido HTML:

frame src="tel:*%2306%23"

Es decir, que escribís un número en formato USSD, de manera que o llame a un número, o ejecute el USSD que queramos.

En la implementación de los teléfonos Samsung, además es posible mediante la recepción de un inocente WAP PUSH SMS, no requiriendo interacción del usuario. Además, en los dispositivos Samsung Galaxy (I, II y III) existe un código USSD para dejar el dispositivo "de fábrica".




Ravi mostraba en tiempo real cómo se formateaba su Galaxy S III en 3 segundos, sin posibilidad de cancelación por parte del usuario, así como la inutilización de la tarjeta SIM. Para este ejemplo, utilizó un código QR leído con una aplicación con esta funcionalidad popular para Android, aunque podría haberlo recibido mediante un SMS con WAP o cualquier otro mecanismo de los indicados (aunque requeriría una mayor interacción con el usuario).


Es decir, si combinamos ambos ataques, con la ejecución del USSD de introducción del PUK erróneo 10 veces, inutilizando la SIM, pasaremos de tener un "smartphone" a que sea sólo "smart". Además, con el reseteo a configuración de fábrica, nos quedaríamos sin datos personales que poder utilizar en el dispositivo.

Imaginad lo que podría llegar a pasar si alguien se comprase un super bono de envío de SMS a todos los números de teléfono de cualquier país. Habría una denegación de servicio tremenda en las tiendas de los operadores porque la gente se quedaría sin SIM... y a las compañías telefónicas además perderían un montón de dinero por gente que no podría usar el teléfono hasta que comprase una SIM nueva.

Además, en los dispositivos de la marca coreana, es posible la combinación de esta vulnerabilidad mediante tags NFC (Next Field Communications).

Esto es lo que pude entender de la exposición hecha por Ravi, en un rapidísimo inglés con un marcado acento indio, que estoy seguro que hizo incluso dudar al equipo de traductoras simultáneas del evento.

UPDATE: Gracias a @Spamloco por el video con la demo que hizo Ravi


The CRIME Attack 



Y por fin llegó la charla más esperada, que como es costumbre en Ekoparty, dejan como broche de oro para culminar el evento: la charla impartida por Juliano Rizzo y Thai Doung, en la que se presentaría CRIME, la evolución de BEAST, como mecanismo para ser capaz de robar cookies de sesión, pero a través del tráfico HTTPS.

Inicilamente, Juliano introdujo de una forma muy muy sencilla y asequible los requisitos para que un ataque con CRIME sea efectivo: hay que estar en un entorno en el que se puedan dar condiciones para efectuar un ataque Man in The Middle; además has de visitar un enlace malicioso preparado para CRIME. 

Las siglas de Crime son: Compression Ratio Info-Leak Mass Explotaition. Se confirmaba entonces que, efectivamente, el fallo venía en algún punto de la implementación de los algoritmos de compresión utilizados por HTTP, que permitirían descrifrar tráfico HTTPS y permitir extraer cookies de sesión. Básicamente, Juliano explicó cómo haciendo un tcpdump de tráfico SSL/TLS, se puede ver en texto claro la longitud de lo que se pide y lo que se recibe. Es en base a esto. Según indicaron, BEAST abrió la puerta a CRIME, en el sentido que en ambos casos se hace mediante texto plano y se hace uso del URL Path para descifrar las cookies; aunque difieren en que con CRIME se descifran las cookies por no estar cifrada la longitud de las peticiones y respuestas dentro del SSL, en vez de aprovecharse de una vulnerabilidad del modo CBC con encadenamiento de IVs.

El ataque se presentó como algo muy rápido, dado que con ver pasar una media de 6 peticiones para descifrar 1 byte de cada cookie, siendo efectivo sobre navegación realizada en Firefox y Chrome. 

El ataque funciona el 100% de las veces en los servidores que implementen SPDY, como Gmail o Twitter, y un 40% de las veces en aquellos que usan SSL/TLS, como Github o Dropbox.  

Igualmente indicaron que el ataque es viable para TLS también por lo que aquellos protocolos que hagan uso de TLS, como OpenVPN por ejemplo, podrían ser vulnerables también.

En el momento de mostrarlo en modo live, no se sabe si por efecto del efecto demo, o por si ciertas modificaciones de última hora que llevó a cabo Thai sobre el código fuente del programa, no fue posible verlo en funcionamiento. Pese a todo, la credibilidad de Juliano y Thai, junto al video introductorio que corría por la red la semana antes del evento, nos hicieron aplaudir con fuerza la investigación criptográfica de estos dos geniales profesionales.

Las fotos de este post han sido por cortesía de @golmatt
Leer más...

24 septiembre 2012

URLCrazy

En la preparación de un ataque por phishing es muy importante el papel de la ingeniería social. Imaginad que Security by Default es uno de los bancos mas grandes y con mas clientes.
Tenemos el dominio:

http://securitybydefault.com

Para que la gente llegue a este dominio puede llegar de varias formas, un enlace en el correo, buscando en Google o escribiendo el dominio a mano. Es por eso que puede haber equivocaciones por parte de los usuarios y que al final acaben en el sitio que no esperaban.
Un ejemplo de esto con la URL anterior sería por ejemplo que el usuario cuando escriba la dirección de Security By Default escribiera:

http://secritybydefault.com

A simple vista puede no apreciarse la diferencia, en este caso se habla de un problema de typo squatting un error tipográfico en la URL. Este y alguno mas son errores que pueden ser aprovechados para ataques de phishing, infección de malware o lo que el criminal le parezca ;).


Tal y como comentaba antes seguro que para Security By Default es muy importante que sus clientes no se equivoquen e introduzcan sus datos donde no toca. Una de las posibles defensas que incorporan los bancos es detectar cuando llegan peticiones con un REFERER parecido al suyo. 

Si en un phishing a Security By Default cuando ya te han pedido los datos y los has introducido te redireccionan a la web original, es posible que puedas detectar un phishing potencial. Existen herramientas para poder generar posibles URL que serían usadas para ataques de phishing, malvertising, abusos de marca u otro fines.
Una de esas herramientas es URLCrazy, esta herramienta de gran facilidad de uso nos ayudará en esta tarea, veamos unos ejemplos al respecto.


Nos descargamos la herramienta URLCrazy

Como dependencia necesitaremos ruby 1.8.

Ejecutamos la herramienta para ver las opciones disponibles:


seifreed@darkmac:~/tools/fingerprint/urlcrazy-0.5:./urlcrazy

URLCrazy version 0.5
by Andrew Horton (urbanadventurer)
http://www.morningstarsecurity.com/research/urlcrazy

[...] (Recortado)

Usage: ./urlcrazy [options] domain

Options
 -k, --keyboard=LAYOUT Options are: qwerty, azerty, qwertz, dvorak (default: qwerty)
 -p, --popularity Check domain popularity with Google
 -r, --no-resolve Do not resolve DNS
 -i, --show-invalid Show invalid domain names
 -f, --format=TYPE Human readable or CSV (default: human readable)
 -o, --output=FILE Output file
 -h, --help This help
 -v, --version   Print version information. This version is 0.5



Vamos ha hacer una prueba con uno de los dominios mas visitados en Internet, Gmail :)

Ejecutamos la herramienta:



Sería plausible que entre algunos de estos dominios se encontrara un dominio fraudulento.
Si por ejemplo hacemos la prueba con alguno de ellos:


seifreed@darkmac:~/Desktop:wget gmnail.com
--2012-09-17 22:31:12--  http://gmnail.com/
Resolving gmnail.com... 74.86.197.160, 208.87.34.15, 23.23.210.22
Connecting to gmnail.com|74.86.197.160|:80... connected.
HTTP request sent, awaiting response... 302 Found
Location: http://global-adsrv.com/?sov=gmnail.com [following]
--2012-09-17 22:31:14--  http://global-adsrv.com/?sov=gmnail.com
Resolving global-adsrv.com... 174.129.23.154
Connecting to global-adsrv.com|174.129.23.154|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 160 [text/html]
Saving to: ‘index.html’

100%[===========================================================================================================================================>] 160         --.-K/s   in 0s      

2012-09-17 22:31:17 (19.1 MB/s) - ‘index.html’ saved [160/160]


Como podéis ver el dominio se parece mucho al original, un usuario podría equivocarse al escribirlo o podría venir promocionado en un correo electrónico. Hago un wget para bajarme el index y me encuentro con un 302, es decir que redirecciona a otro dominio.
En la imagen de la web que redirecciona, seguro que a mas de uno/a le sonará habérsela encontrado:


Parece que he ganado algo :D

En el siguiente ejemplo que te también acaba en publicidad es de paypal.
El usuario vuelve a equivocarse e introduce paypall.com que sólo es una l mas en el dominio original.
Al final después de dos redirecciones acabamos con una oferta de Jazztel:


Otro ejemplo de dominio usado para promocionar servicios.

URLCrazy nos puede ayudar de manera proactiva en la detección de phishing, abusos de marca etc...
Además combinado con otras herramientas podría enfocarse para la detección de fraude.

Artículo cortesía de Marc Rivero López
Leer más...

23 septiembre 2012

Enlaces de la SECmana - 141

Leer más...

22 septiembre 2012

Documental: Informe Semanal - El rastro digital

Aprovecho un día tranquilo como hoy para dejaros un documental que podéis facilitar a vuestros familiares y amigos menos cercanos al mundo tecnológico.

Aunque parezca mentira, este caso tan popular es repetido una y otra vez en los juzgados. Esperemos que la sentencia sea ejemplar.


Leer más...

21 septiembre 2012

Ekoparty 2012 - Crónica del Día 1 - #ekoparty2012



Como ya indicamos en Security By Default, hemos tenido el gran honor de haber participado en la edición de 2012 de la popular Conferencia de Seguridad Ekoparty en Buenos Aires, Argentina.

Debido a la gran cantidad de lectores de Security by Default que he ido desvirtualizando y conociendo (no sabéis que alegría nos da que nos saluden nuestros lectores), lamentablemente no pude asistir a todas las charlas, así que detallo la crónica-resumen de las que estuve.


Inception of the SAP Platform's Brain: Attacks to SAP Solution Manager
Lamentablemente, no madrugué lo suficiente para llegar al principio de esta charla, pero Juan Pérez demostró cómo vulnerar de varias formas un servidor donde corría SAP Solution Manager, ejecutando código con permisos de dicha aplicación.  


One firmware to monitor 'em all
Estos chicos argentinos (Matías Eissler y Andrés Blanco) nos contaron cómo cambiaron el firmware de los chips BCM 4329 o 4330 usados generalmente para controlar tarjetas wireless, ampliamente distribuidos a lo largo del mundo digital, sobre todo en dispositivos móviles, tanto Apple como Android. Lograron hacer que se pudiera configurar en modo monitor en un tablet o smartphone Apple o Android, incluso montar un FakeAP desde ellos. Como conclusión, los expertos ya no bastará con no conectarse a una red wireless si ves a alguien con un montón de antenas, sino que un inocente usuario con una tablet cualquiera puede estar comprometiendo la red wireless.


HTExploit, Bypassing your HtAccess and beyond!
Los argentinos Matías Katz y Maxi Soler nos sorprendieron con una turbo charla, en la que nos contaron los últimos avances que han implementado (así como los que van a implementar) en la herramienta HTExploit, incluida en la distribución de seguridad Backtrack 5 R3. El funcionamiento de dicha herramienta ya la describimos en la crónica del día 2 del EHConference. Actualmente incluso está disponible un script que la ejecuta para Nmap, realizado por el gran desarrollador mexicano  para Nmap, Paulino Calderón 
Importante destacar la cantidad de ideas que estos chicos quieren añadir como funcionalidades de HTExploit. Sin duda, una herramienta con futuro



The future of automated malware generation 
Stephan Chanete, director de R&D de uno de los patrocinadores del evento, hizo una presentación realmente interesante en la que nos habló de diferentes tipos de malware ofrecidos como "Exploits as a Service", el funcionamiento del mismo, estadísticas de infección de diferentes exploit kits como Blackhole, Incognito, Sakura, etc,… en su estado actual. Asimismo, resumió las técnicas utilizadas por los desarrolladores de malware para evadir la detección y complicar la ingeniería inversa.




Cryptographic Flaws in Oracle Database Authentication Protocol
Increíble estuvo Esteban Fayo revelando las debilidades de la autenticación de diferentes versiones de sistemas gestores de bases de datos Oracle. Demostró un muy alto nivel de análisis del protocolo del fabricante, habiendo desarrollado sus propias herramientas para obtener una cookie y un hash necesarios para alimentar otro programa que efectuará un ataque de fuerza bruta con un rendimiento impresionante. 




Satellite Baseband Mods: Taking control of the Inmarsat GMR-2 Phone Terminal
Estos dos fenómenos argentinos, nos deleitaron con una muy amena última charla de la jornada. Básicamente hicieron se lo pasaron pipa sobrescribiendo zonas de memoria de un teléfono vía satélite. Nos demostraron en vivo cómo efectuaban determinadas funciones, como el envío de un SMS con el teléfono o incluso un tweet, que era modificado en tiempo real por el firmware reescrito, de manera que añadía o quitaba texto.  



En resumen, un gran día en la EkoParty... y mañana más!!

Leer más...

20 septiembre 2012

Algo falla en seguridad

Lo siento pero hoy no quiero hablar de nada técnico, hoy me apetece lloriquear un poco

Cada día nos despertamos con una derrota nueva en las batallas contra el malware. Poco a poco la guerra parece no tener sentido. El número de muestras diarias es incalculable. Las compañías de antivirus no son capaces de analizar cada una de ellas y buscan las mejores formas de solucionar el problema. Soluciones que son insuficientes.

Analistas aplican ingeniería inversa para despiezar cada nueva familia de bichos en millones de trozos y buscar patrones que los identifiquen. Patrones que sirvan para todos ellos y que no requieran que cada mínima variación sirva para evadir su detección. Pero la técnica falla, y no una o dos veces, falla demasiadas. Incluso auto-detectandose así mismos como malware.

Dejas de leer twitter para escribir un correo electrónico y cuando vuelves la mirada, te encuentras con un 0-day en Java que son incapaces de parchear u otro para Internet Explorer que llega a salpicar hasta su más reciente y fortificada versión 9, incluso sobre en el intocable Windows 7 con ASLR.

Aplicaciones programadas por los mejores hackers para automatizar los análisis y las protecciones a todos los niveles: UEFI/BIOS, sistema operativo, aplicaciones, plugins... Nada parece funcionar. 

Ni siquiera Google y toda su fuerza tecnológica ha podido solucionar los problemas en el correo electrónico. Estamos terminando 2012 y aún seguimos recibiendo  phishings de paypal, o de cualquier otra entidad.


Pero como no recibirlo, si cualquiera puede mandar estos correos, comprando en el mercado negro kits para explotar vulnerabilidades e infectar equipos. Vulnerabilidades, que por cierto, son implantadas antes en estos frameworks de fraude que parcheadas por los fabricantes. Tal y como ha ocurrido con el último fallo de Java.

La seguridad perimetral parecen unas rodilleras para saltar desde el Empire State Building. 

Fabricantes con un increíble prestigio en seguridad como F5 son pillados en renuncios ridículos. Tecnología de seguridad que puede ser esquivada de 150 formas distintas. Consultoras especialistas, contratadas por el gobierno como compañías punteras, son penetradas con una vulnerabilidad de hace 10 años.  Empresas que deciden fumarse con papel reciclado vulnerabilidades reportadas hace 13 años.

¿Y nos sorprende lo que hace anonymous? Analizándolo fríamente, es incluso poco.

Por cada iniciativa que busca soluciones innovadoras a los problemas de forma defensiva, tal y como hacen en Bluehat Prize Contest, nacen tres empresas dispuestas a vender vulnerabilidades a un cuarto de millón de dólares o concursos que premian al hacker más rápido en hacer saltar por los aires la seguridad de un navegador. El fin podría ser el mismo, mejorar la seguridad, pero ¿lo es?

Es mi sensación o ¿el avance en materia de seguridad es demasiado lento?

Leer más...