30 noviembre 2010

Predicciones Symantec 2010. ¿Se cumplieron?

Casi todas las compañías del sector de la seguridad desvelan a principios/finales de año cuáles van a ser las tendencias que detectan como trend-topic en el año siguiente. En 2009 ofrecimos un listado resumen de las más importantes.

El gigante de la seguridad Symantec, a finales de 2009, analizando el entorno de seguridad del momento y las tendencias a seguir, se pronunció ante cuáles serían las mayores amenazas para 2010.

Ahora y casi con el 2010 finalizado, veamos cuánto han acertado los expertos de Symantec.

Vamos allá con el análisis de las predicciones:
  • Un antivirus no es suficiente: Son tantos los diferentes frentes por lo que las amenazas nos acechan que, realmente, con tener antivirus y ya está, efectivamente no es suficiente: Cortafuegos, antispam, antimalware, antifugas de información y por supuesto antivirus, deberían ser parte de una completa suite de seguridad a disposición de diferentes sistemas operativos. Mi duda es si realmente esta predicción está pasada ya de fecha, puesto que ya hace años "con un antivirus (y ya está) no es suficiente".
  • Ingeniería social como el vector de ataque principal: La ingeniería social, además de existir desde la época de los fenicios, ha sido una de las mejores formas de acceso a datos protegidos: aprovechar la tontería/ingenuidad humana. Kevin Mitnick es un muy buen ejemplo del poder de la ingeniería social. Los sistemas  de información, cada vez tienen mejores mecanismos de protección, aunque a diario aparecen nuevas vulnerabilidades. Sin embargo, la que no hay manera de parchear son las brechas de seguridad que supone un humano sin la conveniente suspicacia o viveza para sospechar ante un posible engaño.
  • Los fabricantes de software de seguridad fraudulento multiplican sus esfuerzos: Tanto en SbD como en otros blogs como Spamloco con mayor frecuencia incluso, se publican este tipo de noticias, en las que un supuesto programa para incrementar la seguridad o mejorar el rendimiento de un PC tiene como objetivo comprometerlo. Lo que se suele llamar antivirus "rogue". Entre otras formas de expansión, cuando un usuario básico escucha que necesita un antivirus, lo primero que busca en Google es: "antivirus gratis" y gracias a prácticas de Bad SEO, este tipo de productos milagrosos (aunque maliciosos) aparecen muy bien posicionados, posibilitando justo lo contrario que el usuario desea conseguir. 
  • Aplicaciones de otros fabricantes para redes sociales serán el objetivo del fraude:  Las redes sociales han tenido su boom en estos últimos dos años, donde Facebook y Twitter, muchas veces también por sus deficiencias en seguridad, han sido protagonistas de Telediarios y portadas de ediciones físicas y digitales. Hoy en día, que hasta mi madre tiene perfil Facebook, es de esperar que no todas las famosas aplicaciones de terceros, a las que permitimos acceder a nuestro perfil completo para poder jugar a los granjeros virtuales, poder saber qué personaje de Lost somos, y demás cosas super interesantes, tengan buenas intenciones. Ya vaticinamos en SbD sobre las posibilidades del malware 2.0 en 2008 y en 2009 sobre aplicaciones maliciosas para Facebook
  • Windows 7 será el objetivo de los agresores: Sin duda, esta versión de Windows ha supuesto una sensible mejoría después del fraude que fue Windows Vista, demostrando además que Microsoft se ha propuesto invertir en que sus sistemas operativos sean cada vez más seguros. Lógicamente, habiendo batido récords de aceptación entre sus usuarios, partiendo de la cantidad de base instalada, es de esperar que Windows 7 sea objetivo de atacantes. Sin embargo, supongo que dado a las mejoras de seguridad incorporadas, no se ha oido hablar de cataratas de vulnerabilidades semanales, como ocurría en versiones anteriores de Windows. Aun así, siempre se descubre algún "detallito" que permite un buffer overflow saltándose UAC.
  • Aumentan las redes bot fast-flux: La utilización de la arquitectura fast-flux frente a las antiguas botnets que utilizaban la plataforma IRC como base de comunicación con los masters, no han arrancado como los oráculos de Symantec habían predicho para este año. Sin embargo, aún es posible que las grandes posibilidades para dificultar el tracking de equipos comprometidos y servidores de phising finales. 
  • El servicio de acortadores de URL se ha convertido en el mejor amigo de los phisers: A mediados de 2009, ya avisábamos desde SbD sobre los peligros intrínsecos de los acortadores de URL. Gracias a la incapacidad inicial de conocer el destino de una URL acortada, los distribuidores de malware, páginas con contenido peligroso e incluso utilizado en técnicas APT, esta funcionalidad se utiliza ya de forma masiva. Según Symantec, un 18% de los correos clasificados como Spam en Abril, llevaba algún enlace formado por una URL acortada.     
  • Aumentará el malware para dispositivos móviles y ordenadores Mac: Gracias a que se nos ha concienciado de la tendencia a tener acceso a Internet desde cualquier parte, y que nuestro teléfono móvil sea capaz de hacer de todo, incluso llamadas de teléfono y SMS, y por supuesto debido a la fuerte expansión del mundo Apple, los esfuerzos de ataque se empiezan a diversificar también hacia este tipo de dispositivos/arquitecturas. Hace poco comentábamos que Apple se estaba poniendo al día en seguridad. Se acabó aquello de: "Uso Mac OS X porque es más seguro que Windows". En parte, sí que lo era porque nadie se fijaba en él como objetivo de ataque, dado el bajo porcentaje de equipos, comparados con la aplastante mayoría de Windows. Sin embargo, ahora, se empiezan a portar malware para todas las plataformas y hay que anticiparse a que Apple parchee sus fallos. La gente en algunos pueblos dejan las puertas abiertas en sus casas todo el día. ¿Están seguros? Sí porque nadie tiene intención en el pueblo de entrar a robar a la casa de un vecino. El problema está en que ahora ese pueblo es de interés turístico y empieza a recibir demasiadas visitas de forasteros. En mi opinión, el malware para Mac y para dispositivos móviles (ya sean de Apple o no) se incrementará a mucha más velocidad que a la que estamos acostumbrados hasta ahora.
  • Aumentará el porcentaje de spam: Los porcentajes de correo no deseado suben y suben hasta el punto de que varios mecanismos diferentes antispam en las empresas y particulares, son imprescindibles. Tanto por campañas de publicidad agresivas como por botnets utilizadas únicamente para eso, unido a ingeniería social y phising, llevan a un mismo punto: Fraude. La tendencia al alza está clara, lástima no tener acciones de ese tipo de empresas!
  • Malware especializado: Casos sonados de este tipo de ataques los llevamos oyendo desde el hackeo memorable a Google en China. Varias empresas cayeron mediante malware diseñado exclusivamente para ellos, como Intel, Symantec o Northrop Grumman. Si el objetivo es suficientemente suculento (en este caso, no es dinero de forma directa, sino información, que después se convierte en dinero), está demostrado que se desarrolla todo el malware a medida que sea necesario.
  • Spam de mensajería instantánea: Esto tampoco es una novedad de 2010. A mediados de 2009, ya hablamos en SbD del incremento del Spim, o Spam over Instant Message. La gente sigue utilizando los servicios del tipo "quién ha mirado tu perfil en Facebook", o "quién no te tiene admitido en MSN", poniendo sus credenciales en cualquier web que luego no sabemos lo que hacen con ellas. Bueno pues gracias a eso, es viable el enviar Spam con tu propia cuenta a todos tus contactos. La única solución ante esto es fomentar la paranoia y la conciencia social: "Tus credenciales de MSN sólo las puedes usar en la web y en el cliente MSN".
  • El spam en idiomas distintos al inglés aumentará: La verdad es que mayoritariamente se recibe spam en inglés. Casi todo relacionado con la venta de relojes caros,  pastillas azules,  alargamientos de apéndices del cuerpo, bases de datos de correos existentes, ofertas de empleo irrechazables, el timo del nigeriano, etc,... Sin embargo, y en menor proporción, se ven correos en un "intento de español arapahoe" que se ve a la legua que está traducido usando un traductor online o por un ruso que veraneó en Salou una semana, porque la ucraniana de la foto que acompaña el correo y que, curiosamente, se ha fijado únicamente en mí y me lo dice por correo, para mí que se lo dice a todos eh?
Leer más...

Manifiesto por una Red Neutral

Los ciudadanos y las empresas usuarias de Internet adheridas a este texto manifestamos:

   1. Que Internet es una Red Neutral por diseño, desde su creación hasta su actual implementación, en la que la información fluye de manera libre, sin discriminación alguna en función de origen, destino, protocolo o contenido.

   2. Que las empresas, emprendedores y usuarios de Internet han podido crear servicios y productos en esa Red Neutral sin necesidad de autorizaciones ni acuerdos previos, dando lugar a una barrera de entrada prácticamente inexistente que ha permitido la explosión creativa, de innovación y de servicios que define el estado de la red actual.

   3. Que todos los usuarios, emprendedores y empresas de Internet han podido definir y ofrecer sus servicios en condiciones de igualdad llevando el concepto de la libre competencia hasta extremos nunca antes conocidos.

   4. Que Internet es el vehículo de libre expresión, libre información y desarrollo social más importante con el que cuentan ciudadanos y empresas. Su naturaleza no debe ser puesta en riesgo bajo ningún concepto.

   5. Que para posibilitar esa Red Neutral las operadoras deben transportar paquetes de datos de manera neutral sin erigirse en "aduaneros" del tráfico y sin favorecer o perjudicar a unos contenidos por encima de otros.

   6. Que la gestión del tráfico en situaciones puntuales y excepcionales de saturación de las redes debe acometerse de forma transparente, de acuerdo a criterios homogéneos de interés público y no discriminatorios ni comerciales.

   7. Que dicha restricción excepcional del tráfico por parte de las operadoras no puede convertirse en una alternativa sostenida a la inversión en redes.

   8. Que dicha Red Neutral se ve amenazada por operadoras interesadas en llegar a acuerdos comerciales por los que se privilegie o degrade el contenido según su relación comercial con la operadora.

   9. Que algunos operadores del mercado quieren “redefinir” la Red Neutral para manejarla de acuerdo con sus intereses, y esa pretensión debe ser evitada; la definición de las reglas fundamentales del funcionamiento de Internet debe basarse en el interés de quienes la usan, no de quienes la proveen.

  10. Que la respuesta ante esta amenaza para la red no puede ser la inacción: no hacer nada equivale a permitir que intereses privados puedan de facto llevar a cabo prácticas que afectan a las libertades fundamentales de los ciudadanos y la capacidad de las empresas para competir en igualdad de condiciones.

  11. Que es preciso y urgente instar al Gobierno a proteger de manera clara e inequívoca la Red Neutral, con el fin de proteger el valor de Internet de cara al desarrollo de una economía más productiva, moderna, eficiente y libre de injerencias e intromisiones indebidas. Para ello es preciso que cualquier moción que se apruebe vincule de manera indisoluble la definición de Red Neutral en el contenido de la futura ley que se promueve, y no condicione su aplicación a cuestiones que poco tienen que ver con ésta.

La Red Neutral es un concepto claro y definido en el ámbito académico, donde no suscita debate: los ciudadanos y las empresas tienen derecho a que el tráfico de datos recibido o generado no sea manipulado, tergiversado, impedido, desviado, priorizado o retrasado en función del tipo de contenido, del protocolo o aplicación utilizado, del origen o destino de la comunicación ni de cualquier otra consideración ajena a la de su propia voluntad. Ese tráfico se tratará como una comunicación privada y exclusivamente bajo mandato judicial podrá ser espiado, trazado, archivado o analizado en su contenido, como correspondencia privada que es en realidad.

Europa, y España en particular, se encuentran en medio de una crisis económica tan importante que obligará al cambio radical de su modelo productivo, y a un mejor aprovechamiento de la creatividad de sus ciudadanos. La Red Neutral es crucial a la hora de preservar un ecosistema que favorezca la competencia e innovación para la creación de los innumerables productos y servicios que quedan por inventar y descubrir. La capacidad de trabajar en red, de manera colaborativa, y en mercados conectados, afectará a todos los sectores y todas las empresas de nuestro país, lo que convierte a Internet en un factor clave actual y futuro en nuestro desarrollo económico y social, determinando en gran medida el nivel de competitividad del país. De ahí nuestra profunda preocupación por la preservación de la Red Neutral. Por eso instamos con urgencia al Gobierno español a ser proactivo en el contexto europeo y a legislar de manera clara e inequívoca en ese sentido.
Leer más...

29 noviembre 2010

Vulnerabilidad en Twitter

Algo sabíamos que se estaba cociendo cuando mediante un RT de reverseskills nos hacia participes de un agradecimiento del equipo de seguridad de Twitter por reportar una vulnerabilidad.

Francisco Alonso, contribuidor en este blog en varias ocasiones, y compañero de aventuras en la NcN descubrió una vulnerabilidad en el servicio del pájaro azul. 

Ahora que esta solucionada, nos cuenta los detalles con una nota de seguridad que saldrá publicada en breve en otras listas de correo y que copio integra aquí.

Desde SbD nuestra enhorabuena a Francisco por este hallazgo en uno de los servicios que posiblemente más se auditen y por una técnica tan trabajada.


-- [ SOBRE MI

Francisco Alonso - ReverseSkills
Security researcher from Spain. *Nix lover & Hardware Hacking ░▒▓

-- [ SOBRE EL SERVICIO

Extraido de la Wikipedia :

Twitter es un sitio web de microblogging que permite a sus usuarios enviar y leer micro-entradas de texto de una longitud máxima de 140 caracteres denominados como "tweets". El envío de estos mensajes se puede realizar tanto por el sitio web de Twitter, como vía SMS (short message service) desde un teléfono móvil, desde programas de mensajería instantánea, o incluso desde cualquier aplicación de terceros.


-- [ DESCRIPCION DE LA VULNERABILIDAD

Un fallo de seguridad en los perfiles de usuario, permite subir ficheros para el avatar que no son realmente imágenes, directamente desde el formulario de la web. Cuando un usuario quiere modificar su imagen de perfil, puede subir una imagen cualquiera en tres formatos diferentes JPG, PNG y GIF. Al subir la imagen en cualquiera de los tres anteriores se generan otros dos ficheros con diferentes tamaños para ciertas partes del perfil. Si se intenta subir una imagen JPG y PNG al ser tratadas por la librería GD del backend de Twitter elimina cualquier tipo de contenido extra de la imagen y comprueba de forma correcta la cabecera.

Esto no pasa con la aplicación que trata los ficheros GIF, permitiendo a un usuario subir contenido que realmente no es un fichero GIF, simplemente modificando las cabeceras del mismo. Combinado con la posibilidad del formulario de definir el Content-type del fichero enviado podemos subir contenido HTML y JavaScript (XSS, Weaponized, etc) y contenido binario/ejecutable para distribuir Malware directamente desde los servidores de Twitter (Alojados en Akamai y Amazon S3).

El poc más sencillo y menos preocupante es este:


También podíamos jugar un poco con el filtro de nombre de imagen subida.

--[ Form POST

Content-Disposition: form-data; name="profile_image[uploaded_data]";
filename="namefile"\r\nContent-Type:
application/octet-stream\r\n\r\n\r

Esto podemos hacerlo al enviar el fichero en el formulario del perfil,añadiendo un NOP (x:ö) al nombre de fichero. Por lo que el filtro eliminaba toda la cadena "filename.html" pero era subido correctamente.

http://a2.twimg.com/profile_images/xxxx/

Por motivos de seguridad no se han realizado más pruebas de este tipo, pero existe la posibilidad de que el usuario pudiese moverse un directorio atrás y sobreescribir ficheros legítimos de Twitter o imágenes de otros perfiles. No se ha probado, pero creo que es totalmente factible.

--[ IMPACTO DE LA VULNERABILIDAD

- Un usuario malintencionado puede modificar su imagen de perfil para atacar clientes de Twitter ya sea mediante aplicaciones o acceso desde la Web.

- Puede ser usado para distribuir o alojar Malware en los servidores de Twitter.

- Técnicamente es posible modificar ficheros legítimos dentro de ese Bucket (HTML, Javascript o imágenes por defecto de Twitter)

--[ SOLUCIÓN

Mejorar el filtro de subida de imágenes para permitir correctamente la subida de ficheros GIF, tratando en todos los casos las imágenes como una nueva y eliminando contenido no validado en la cabecera del fichero.(Ya ha sido arreglado por twitter)

--[ LÍNEA DEL TIEMPO

27/09/10 - Encontrado el fallo de seguridad
08/11/10 - Twitter ha sido notificado sobre este fallo
08/11/10 - Twitter responde (en apenas 7 minutos)
16/11/10 - Twitter parchea gran parte del fallo de seguridad, ya no es
posible hacer uso del mismo.

--[ AGRADECIMIENTOS

- Un tiempo de respuesta inigualable en Twitter security team, gracias a Bob Lord
- Gracias a todo el equipo de http://www.securitybydefault.com / @secbydefault
Leer más...
Ya, ya sé que no es R. Madrid - Barcelona el partido, que se juega en el Camp Nou y debería haber escrito Barcelona - Real Madrid, pero aquí me salen mis victoriosos colores y pongo primero al importante :-)

Ahora que he dejado mis gustos futbolísticos claros (aunque la realidad es que no sigo ningún deporte, ni me gustan demasiado), quisiera pedir disculpas porque esta misma entrada se publicó en blanco la semana pasada. ¡Spoiler!

La verdad es que toda esta información solo busca la caspa que arrastra cualquier cosa relacionada con el partido, esto no es más que una extensión de "que cenaron el día antes del partido" que se puede ver en televisión desde primera hora de la mañana, versión "somos frikis".

Si queréis ver el futbol, lo mejor es que llaméis a unos colegas, os vayáis a un bar, os bebáis unas cañas y sobre todo, lo disfrutéis. Todo lo demás... solo es teoría.

1.- Roja Directa y Futbolarg

Como muchos lectores ya saben, existen páginas, que posiblemente tengan más visitas que el Marca, donde se listan streams públicos a los que se puede acceder para visualizar deportes, como son rojadirecta o futbolarg.  y que ya sea mediante un navegador y alguna de las múltiples páginas que lo emiten o un cliente P2P de video como SopCast o TvAnts.

El problema de este sistema (además de la calidad de la imagen, con el que no podremos hacer nada), es que existen limitaciones por tiempo y país de origen. Algunas páginas webs cortan el acceso tras 15 minutos o no te dejan ver el encuentro si en el país donde se emite se distribuye en canales de pago.

Para saltarse estos pequeños controles se pueden utilizar proxies web o VPN gratuitas con las que podremos cambiar de dirección de IP y por lo tanto simular estar en el país que queramos.

En este caso las mejores opciones son las páginas de casinos online.


2.- Digital+


Update: 
Parece que se retransmite en Canal+ Liga, y este no está incluido en el streaming.


La plataforma Digital+ se ha renovado, si tenemos un amigo/familiar  que sea cliente de este servicio podemos pedirle su usuario y contraseña para acceder al servicio online de streaming que acaban de inaugurar y por el que retrasmitirán el partido. Ojo, no se puede utilizar dos sesiones simultáneamente, por lo que a una persona le toca en la TV y a la otra online.


(En esta opción, si tenemos la ética relajada, también podemos usar las credenciales de alguien a quien se las hayamos robado :-/, (aunque lo mismo no interesa cometer un delito de suplantación de identidad para ver un partido de fútbol))

3.- Decodificadores con cardsharing

En el artículo "Pirateando al pirata", explicaba Reverseskills como conectarse a decodificadores de satélite marca "DreamBox", que publican en Internet su interfaz y tienen nombre de usuario y contraseña por defecto: root/dreambox

Estos decodificadores que corren Linux, permiten hacer streaming y que conectarse remotamente con un cliente VLC. 

Aunque en teoría es muy chuli,  nos encontramos con varios problemas y requisitos:
  1. Encontrar un decodificador que soporte está opción, ya que no todos los modelos de dreambox son lo suficientemente potentes como para hacer streaming
  2. Encontrar un decodificador con una línea potente y que esté conectado a una línea rápida, para que no nos corte el partido con un "buffering"
  3. Encontrar el decodificador antes del partido, ya que con el direccionamiento dinámico estos sistemas cambian de dirección IP cuando se reinicia el router y luego no podremos usarlos.
Lo que se puede hacer para encontrar decodificadores, además de utilizar shodan con la consulta "dreambox country:es" tal y como comentaba el artículo original, es lanzar nuestros propios Nmaps a rangos de direccionamiento de los pool de las principales compañías de ADSL y esperar...

Otra opción es buscar el nuevo interfaz, que define el string "TwistedWeb/8.2.0" como Server, y del que también se pueden encontrar de forma rápida un par de centenares en shodan (y estos por defecto, sin contraseña, jijiji). También hay configurados algunos con otras versiones de TwistedWeb, así que se puede eliminar la versión 8.2.0 de la consulta para obtener otros resultados.


4.- QoS de IPTV

En la inmensidad de la Red por la que viajan conexiones de todos los tipos, hay unos pequeños chismes que medien la calidad de la señal TV cuando esta es transmitida por IP. Su único objetivo es asegurar que los usuarios de una plataforma de pago como Imagenio, reciben correctamente la señal en sus televisores.

Uno de estos dispositivos es el que fabrica IneoQuest y su modelo Cricket5, que entre sus características permite hacer streaming para comprobar si la señal se ve bien.

Su número es muy limitado, shodan (al rescate), tiene pocas coincidencias aunque yo he encontrado bastantes más buscando a mano, en la próxima entrada explico como.

He de confesar que no me he llegado a conectar a ninguno, ya que asumo que el streaming solo se hace en su interfaz interno.
Ah... casi se me olvida, según el manual se accede con el usuario "Admin"  y  la contraseña "Su".



¡Hala Madrid!
Leer más...

28 noviembre 2010

Enlaces de la SECmana - 47

Leer más...

27 noviembre 2010

Los hackeos memorables de SecurityByDefault

La sección de Hackeos Memorables del blog es una de las secciones más aclamadas por todos nuestros visitantes. Nos hacen recordar experiencias, nos hacen ver como cualquiera puede "caer" (país, foro, web..), los detalles sobre cómo ocurrió...Y es una de nuestras secciones que lleva con nosotros en el blog desde que comenzó su andadura allá por el 2008.

Es por ello que hoy hacemos una parada en el camino, simplemente por realizar esta recopilación de todos los hackeos memorables a aquellos lectores que nos acompañan desde hace relativamente poco tiempo, por estricto orden de aparición:
Y habrá más, muchos más, tanto de otras épocas, como seguro sobre lo que está por llegar....
Leer más...
Ya se han confirmado las agendas, o por lo menos los speakers (anglicismo para decir tíos que dan la chapa)  de dos eventos en los que voy a participar el próximo año. En ambos repetiré la buena experiencia del pasado curso.

El 23 de Febrero estaré en la Universidad de Cádiz, donde la asociación Adwys ha organizado unas jornadas de tres días de ingeniería web y seguridad. 

Los ponentes son muy interesantes y variados, entre los que se encuentran:
  • Vicente Aguilera - Director de OWASP en España
  • Chema Alonso - Microsoft Security MVP, Informática64
  • Martín Álvarez - Responsable oficina W3C España
  • Jordi Collell - EyeOS Team
  • Jose Emilio Labra Gayo - Director Escuela de Ingeniería Informática (Universidad de Oviedo)
  • José Picó y David Pérez - Taddong S.L.
  • Bernardo Quintero - Hispasec
  • Alejandro Ramos - Tiger Team Manager SIA, Editor de Security By Default
  • Pedro Sanchez - ATCA, ConexionInversa
  • Niko - Creador de Cálico Electrónico
Justo un día después, en la otra punta del país, empieza el GSIC, otros tres días en la Universidad de Coruña, otro buen momento para aprender, en charlas, talleres y hasta un concurso de hacking con estos figuras 
  • Chema Alonso
  • Ángel Prado 
  • Rubén Santamarta 
  • Pedro Sánchez 
  • José Palazón
  • Francisco Jordano 
  • Roi Mallo
  • Raúl Benito
  • Gildas Avoine
  • Marcelo Rivero
  • Alejandro Ramos
  • David Barroso
  • Diego Pérez
  • Luciano Bello
Y para todos aquellos de Madrid, el martes de la semana que viene está el DISI en la Universidad Politécnica de Madrid, en este evento no participo, pero estaré por allí ¡¡espero que me saludéis!!

Leer más...

26 noviembre 2010

Montando tu propio servidor VPN PPH

Todos sabemos lo inseguro que es navegar sin protección por una red que no sabemos si puede estar o no comprometida, y más ahora con todo el revuelo montado alrededor de Firesheep.

Hace unos días Yago Jesús comentaba aquí los métodos que disponemos para defendernos de esta extensión. Como resumen decir que se comentaban tres métodos, la utilización de aplicaciones que inyectaran ruido en el tráfico desconcertando a la extensión, la utilización de extensiones que fuercen el uso de SSL y el uso de VPNs para cifrar todo el tráfico y evitarnos las miradas indiscretas. Como podemos observar, la mejor solución es esta última.

Todos conocemos el universo Cloud y la cantidad de servicios asociados a él que no paran de aparecer. Uno de los que más me llamó la atención desde que le conocí (y ahora empieza a aparecer competencia) es el tema del alquiler de recursos/instancias por tiempos muy cortos (principalmente suelen ser intervalos de una hora). El más conocido es EC2 de Amazon pero como ya he dicho, hay otras compañías de hosting que se están subiendo al carro y ofrecen servicios muy competitivos.

Entrando ya en el tema del artículo, ¿por qué no usar estos servicios para montarnos un servidor VPN que estará activo únicamente cuando lo necesitemos? Ésto, que es tan simple, tiene dos grandes ventajas. La primera es que somos nosotros los que estamos administrando el servidor y por lo tanto no dependemos de terceros (y lo fiables que sean o no) y la segunda es que el gasto mensual cae estrepitosamente (en mi caso he pasado de pagar un servicio VPN de 12e, a una factura mensual alrededor de 1e).

Resumiendo un poco, la finalidad de este artículo es que seamos capaces de montarnos nuestro propio servidor VPN utilizando estas instancias y que esté activo únicamente cuando lo necesitemos, tardando un par de minutos en estar operativo y costándonos desde un céntimo la hora.

Como ya he comentado anteriormente, el servicio más conocido es EC2 de Amazon pero existen otros que pueden llegar a ser una mejor opción si la VPN va a ser de uso personal y no necesitamos tantos recursos. Yo recomiendo el servicio cloud de OVH pues nos ofrece una instancia muy similar a la de Amazon pero comenzando con 256mb de ram y un coste de 1c la hora, lo cual es más que suficiente para un solo usuario.

El servicio VPN va a ser a través de OpenVPN y la gestión de los usuarios se va a realizar a través de OpenLDAP ya que es más flexible y cómodo que la utilización de certificados de cliente, pues nos evitamos el crear uno para cada cliente y el manejo de las blacklists, etc.

No voy a explicar cómo utilizar el servicio cloud de OVH pues en su página web disponen de videos bastante explicativos de todo el proceso (puesta en marcha, evolución, archivado/detención y eliminación).

En primer lugar vamos a instalar y configurar OpenVPN, posteriormente haremos lo mismo con OpenLDAP y finalmente, utilizando el plugin openvpn-auth-ldap, los enlazaremos. Toda la explicación se basa en una instalación en Debian 5 de 64 bits (también ha sido probada en Ubuntu Server 10.04).

¡Comencemos con la instalación!

1. Instalación de OpenVPN

Instalamos  y configuramos OpenVPN (aseguraros de tener instalado OpenSSL y sudo): código

Creamos/configuramos el script para el fowarding/iptables que habrá que ejecutar cada vez que queramos arrancar el servicio openvpn o añadirlo al cron: código

Creamos/configuramos las llaves y certificados. Posteriormente reiniciamos el servicio: código

Una vez reiniciado el servicio tendremos completamente operativo nuestro servidor OpenVPN. Podemos instalarnos un cliente y comprobar que funciona, copiando en la carpeta de configuración el certificado del servidor (ca.crt), y el certificado/llave del cliente (luis.crt y luis.key) además del archivo de configuración (si habéis modificado la configuración del servidor tendréis que comprobar que concuerdan con los del cliente): código

2. Instalación de OpenLDAP:

En primer lugar instalaremos y configuraremos slapd.

En este caso utilizaré como dominio de ejemplo “example.com”. Si utilizáis cualquier otro, acordaros de cambiarlo en todos los ficheros de configuración y de utilizarlo posteriormente cuando hagáis referencia a algún usuario/grupo. código 

Creamos un nuevo schema para añadir el campo accessVPN a los usuarios que creemos. De esta forma podremos indicar si tiene acceso o no a la VPN (1 tiene acceso, cualquier otro valor se le deniega la conexión): código

Creamos el grupo VPN al que pertenecerán los usuarios: código

Creamos los usuarios del grupo VPN.

En primer lugar creo el usuario openvpn que utilizaremos posteriormente para conectarnos desde OpenVPN a LDAP y comprobar los credenciales (creo un usuario para evitar dejar activo el usuario anónimo). Posteriormente creo los demás usuarios que seguirán su mismo perfil, modificando sus datos (cn, password, etc) y el uidNumber. Como apunte final, decir que podemos administrar LDAP utilizando aplicaciones con “FrontEnd” como por ejemplo phpldapadmin: código

3. Enlazando OpenVPN y LDAP:

Como ya he dicho al comienzo del artículo, para enlazar ambos servicios utilizaremos el plugin de OpenVPN openvpn-auth-ldap.

Si nos encontramos en Debian, tendremos que agregar un nuevo repositorio al archivo sources.list pues éste plugin no se encuentra en los que vienen por defecto (otra opción es bajar el plugin e instalarlo manualmente). código

Una vez instalado nos ponemos a configurarlo.

Hacemos uso del fichero de configuración de ejemplo, eliminando toda referencia a conexión cifrada, pues LDAP se encuentra en el mismo servidor y no nos vamos a complicar. Además, modificamos el fichero de configuración de OpenVPN añadiendo la localización del plugin y establecemos que el cliente no necesita un certificado para conectarse. código

Ya para terminar solo queda reiniciar los servicios (slapd y openvpn), modificar el fichero de configuración del cliente eliminando las referencias a los certificados de cliente y añadiendo auth-user-pass y auth-nocache (la autenticación es mediante usuario y contraseña y no guarda en cache los credenciales).

4. Anotaciones finales:

Con respecto a LDAP, en la mayoría de las configuraciones que me he ido encontrando, siempre se deja activado el usuario anónimo, permitiendo obtener acceso en modo lectura a todo el directorio.

Ésto, bajo mi punto de vista, es un grave problema de fuga de información pues cualquiera que pueda conectarse al servidor (o hacer uso de cualquiera de las aplicaciones web que permiten la administración de LDAP) podrá ver todos los usuarios y su información personal.

Por ese mismo motivo, aconsejo aplicar una serie de medidas que eviten que incluso se pueda ver dicha información entre usuarios autenticados, es decir, que cada uno solo pueda verse a sí mismo y todo lo demás permanezca oculto.

Para activar este comportamiento, basta con añadir/modificar las siguientes líneas en el archivo de configuración de slapd. código 

Bueno, como podéis ver, es relativamente sencillo tener funcionando nuestro propio servidor VPN. Además éste tiene un cobro por horas manteniendo la información, del disco luego tenemos a nuestra disposición un servicio VPN a un clic que nos costará muy poco al mes.

Ya para terminar...

Aprovecho para enlazar un artículo que publicó Alejandro Ramos aquí sobre la instalación de un servidor PPTP para navegar de forma segura en Android (exportable también a iPhone y demás dispositivos que lo permitan).

Como todos sabemos, y podemos acudir aquí donde Chema Alonso expone las distintas opciones de VPN y su seguridad, OpenVPN es de las más seguras pero tiene el inconveniente de requerir una aplicación externa.

Como veis, hay muchos usos interesantes que se les puede dar a estos servicios cloud. Otro que se me ocurre es un túnel DNS para saltarse los portales cautivos (tan de moda ahora en cafés/restaurantes). Ya escribió sobre este tema Alejandro Ramos aquí y aquí.

Artículo cortesía de: Luis Delgado J.
Leer más...

25 noviembre 2010

¿Quien está tocando las rutas?

El tema del routing y 'las maldades' que se pueden hacer no es un asunto nuevo, el hecho de que habitualmente se usen protocolos de routing como BGP que no es especialmente seguro (de hecho existe un S-BGP, de Secure-BGP) hace que implementar ataques a ese nivel sea algo que lleva sucediendo desde hace tiempo.

Lo último que ha saltado a la palestra ha sido la supuesta redirección de tráfico de organismos militares y gubernamentales de EEUU hacia (sorpresa!) China.

Evidentemente este tipo de ataques son complejos de mitigar y evaluar, más desde el punto de vista de un usuario/cliente que necesariamente en algún punto tiene que 'entregar' su tráfico a un router y cruzar los dedos para que haga el camino correctamente.

Lo que si se puede hacer es monitorizar las rutas que un paquete toma y averiguar si hay cambios significativos.

Con esta premisa, hemos desarrollado otro 'juguetito' más, disponible en el repo de SbD en Google. Su nombre: route-ids.

Esta herramienta permite monitorizar la ruta que toma un paquete desde tu equipo hasta otro servidor (como ejemplo, www.facebook.com, pero vale cualquiera) e identificar en qué momento cambia el Path. Adicionalmente, y usando la base de datos GeoIP de MaxMind, se localiza la procedencia geográfica del nuevo router.

Por defecto route-ids te avisará cuando aparezca un nuevo país en el camino que toma un paquete desde tu equipo hasta Facebook, es decir, si el camino es España --> Francia --> UK --> EEUU y de repente cambia a España --> Francia --> Ukrania --> Rusia --> EEUU te avisará que ha cambiado el path y los nuevos paises por los que transita tu tráfico.

Requisitos:
  1. Tener instalado TcpTraceroute
  2. Instalar el modulo Perl Geo::IP
  3. Descargar la base de datos GeoLiteCity
  4. Ejecutarlo como root (necesario para usar tcptraceroute)
Ejemplo de ejecución:
# perl route-ids.pl

        Ruta inicial

Hop [213.229.84.141]  United Kingdom Windsor and Maidenhead Maidenhead
Hop [94.76.244.25]  United Kingdom Windsor and Maidenhead Maidenhead
Hop [92.48.95.10]  United Kingdom Windsor and Maidenhead Maidenhead
Hop [195.66.225.69]  United Kingdom London, City of London
Hop [74.119.78.182]  Canada Ontario Oshawa
Hop [204.15.23.111]  United States California Palo Alto
Hop [74.119.77.45]  Canada Ontario Oshawa
Hop [69.63.190.14]  United States California Palo Alto

Y si algo cambia ..

Alerta nuevo Pais en la ruta: Germany en Hop 3 IP 77.67.67.137
Leer más...

24 noviembre 2010

Construyendo tu Host IPS a medida

Sí, bueno, ya sé que igual es un poco ambicioso el título, pero no sé qué nombre puede encajar mejor para el mecanismo de defensa que os voy a proponer a continuación.

Después de muchos años integrando, configurando y afinando este tipo de dispositivos en diferentes organizaciones, me dí cuenta que los IPS comerciales son capaces de detectar/bloquear un amplio porcentaje de ataques dirigidos hacia las redes internas. Sin embargo, debido a que se basan en ataques que son de "sota, caballo y rey", no resultan efectivos para detectar/bloquear aquellos eventos que para mí son una amenaza, aunque para otros puedan no serlo.

Perl es un lenguaje de programación que personalmente me encanta. Con perl eres capaz de hacer lo mismo que en lenguajes de más bajo nivel, siempre y cuando el rendimiento al milisegundo no sea tan importante, permitiéndote lograr tu cometido en pocas líneas de código, con un nivel de abstracción muy grande. Se pensó inicialmente para el tratamiento de cadenas de texto y ficheros por lo que para lo que pensamos hacer, nos viene como anillo al dedo.

Lo primero que debemos saber, es qué queremos proteger, qué servicios tenemos expuestos al exterior, o son importantes y por ello debemos prestarles nuestra máxima atención. El siguiente paso es conocer la ubicación y la estructura de los diferentes ficheros de log en los que estos servicios registran su actividad.

Utilizaremos el módulo File::Tail de Perl para hacer lo mismo que el comando tail en UNIX. Por cada línea escrita en el fichero, nuestro IPS lo monitorizará y podrá reaccionar según definamos.

Vamos allá con un ejemplo práctico. Supongamos que disponemos de un servidor QMail que requiere autenticación para SMTP. Para nosotros una amenaza ante la que reaccionar podría ser un ataque de fuerza bruta que intente averiguar un par de usuario/contraseña válida. 

El formato de una línea de una autenticación errónea es el siguiente:

Nov  8 11:51:52 s_sys@Carmen vpopmail[18129]: vchkpw-smtp: vpopmail user not found guyt@:123.123.123.123

#!/usr/bin/perl

use File::Tail; #el módulo nombrado
my $tail_file_smtp="/var/log/maillog"; #fichero donde se registra la actividad SMTP
my $puerto_destino_smtp=25; #puerto que queremos proteger

$file_maillog=File::Tail->new(name => $tail_file_smtp, maxinterval=>1); 
while (defined($linea=$file_maillog->read))  #si hay linea nueva en el fichero
        {
                if ($linea=~ m/vchkpw-smtp: vpopmail user not found/) #Si coincide con el patrón que queremos bloquear
                {
                        my @trozos=split (/:/,$linea); 
                        my $ip=$trozos[5]; #La IP atacante. En el ejemplo 123.123.123.123
                        chop ($ip) #Eliminamos el retorno de carro
                        blacklistea ($ip,$puerto_destino_smtp,"correla_smtp vpopmail user not found"); #Reaccionamos
                }
        }

En este caso, la reacción es llamar a una función que se llama blacklistea y que recibe como parámetros la IP atacante, el puerto destino, y una descripción. El contenido de la función blacklistea es bastante más complejo, con comprobaciones varias en base a  llamadas a otras cuantas funciones. Fundamentalmente lo que hace es añadir al IPTables de la máquina una regla que bloquea el acceso al puerto 25 desde la IP considerada como atacante y notificar a quien corresponda que se ha bloqueado esa IP a ese puerto por la razón especificada como "Descripción". Asimismo esa misma información queda reflejada junto con la fecha/hora en una base de datos. Hay otro proceso que cada minuto lee de esa base de datos y, si ha pasado un tiempo especificado desde que se añadió esa IP, quita la regla de bloqueo. Si alguien tiene interés en más detalle, que nos lo indique y se lo enviaré o lo publicaré en una segunda parte.

Al igual que se hace con el fichero /var/log/mailog para ese tipo de ataque, se puede proteger los accesos incorrectos a otros servicios como: FTP, POP3, HTTP, HTTPS, etc,… siendo una defensa reactiva fabricada a medida para ajustarse a nuestros servicios según nuestro criterio, ante lo que es un ataque y lo que no lo es.

Para ampliar la detección y reacción a otros servicios, lo mejor será lanzar un thread por cada uno de ellos, además de una adaptación de GeoIPS, y de una rutina de comprobación de diferentes checks de la máquina. Esto quedará de la siguiente manera en el arranque del programa principal:
#MAIN
.... 
<snip>
.... 
$thr_www = threads->new(\&correla_www); #Comprobaciones para el servidor web
$thr_vpop3s = threads->new(\&correla_vpop3s); #Para Pop3s
$thr_qmail_log = threads->new(\&correla_qmail_log); #Antispam
$thr_smtp = threads->new(\&correla_smtp); #SMTP
$thr_ftp = threads->new(\&correla_ftp); #FTP
$thr_geo_firewall = threads->new(\&geofirewall); #Adaptación propia de GeoIPS
$thr_checks=threads->new(\&do_checks); #Checks varios de carga, espacio en particiones,...

#Bucle infinito
for (;;)
{
        chequea_bloqueadas; #Función que valida si una IP en cuarentena debe ser ya desbloqueada o no
        sleep ($frecuencia_chequeo);
}

Leer más...

23 noviembre 2010

Pandora FMS y Patriot NG

Pandora FMS es un framework de monitorización que sirve para monitorizar y medir todo tipo de elementos. Monitoriza sistemas, aplicaciones o dispositivos. Permite saber el estado de cada elemento de un sistemas a lo largo del tiempo.

Normalmente Pandora FMS es empleado para monitorizar aspectos como CPU/Memoria/Disco/Conectividad. Uno de los puntos fuertes de Pandora es la posibilidad de añadir fácilmente nuevos elementos a monitorizar, este caso vamos a integrar los eventos de seguridad de Patriot NG dentro de Pandora.

Esto nos permitiría disponer de algo parecido a una consola central de eventos de seguridad de Patriot NG. También podríamos integrar con la misma técnica, eventos de Antivirus, y gracias a la habilidad de Pandora, podríamos tener un inventario de los paquetes instalados en los equipos y por supuesto saber quien está usando el equipo, cuando está apagado, etc... las posibilidades son infinitas.

Existe multitud de documentación sobre como montar Pandora FMS, y no pretendemos explicar paso a paso, desde cero, como hacerlo, ya que sería demasiado extenso.

Patriot NG por defecto, envía los eventos de seguridad al visor de eventos de windows (eventlog) y con un agente Pandora FMS para Windows, podemos “capturar” esos eventos y mandarlos a Pandora FMS. Una vez ahí, podemos asociar alertas, para poder, por ejemplo, enviar un email cada vez que algo ocurra en cualquiera de nuestras máquinas. También podemos hacer informes y muchas otras cosas con los datos recibidos.

Configurar Pandora es realmente sencillo, vamos a seguir los pasos siguientes:

1.Se instala un agente de Pandora FMS para Windows.

2.Se configura un modulo para capturar los eventos de windows:

module_begin
module_name PatriotNG
module_type async_string
module_logevent
module_description Events coming from Patriot NG
module_source Application
module_application Patriot-NG 1.0
module_end

3.Una vez que nos llegue un evento, tendremos ya datos para visualizar, como en este caso que tenemos dos eventos detectados por un agente:






4.Por supuesto otra buena idea es verificar que Patriot-NG está ejecutándose y que nadie nos lo ha cerrado, para ello podemos usar este módulo:

module_begin
module_name PatriotNG_Running
module_type generic_proc
module_proc stoper.exe
module_description Patriot NG is running
module_end


5.Para poder notificar automáticamente cuando nos llegue un evento. Se configura una plantilla de alerta, para que salte en cualquier recepción de evento.



Configuramos la alerta para que envíe un email personalizado, los umbrales son para que envíe un máximo de cinco mensajes por cada dos horas, para no saturar.



6.Ahora usaremos esa plantilla de alerta para que por cada evento, nos envíe un email con los datos del evento. Aquí estamos usando una acción ya configurada (Email Sancho) que envía el email a una dirección concreta.



7.Podemos crear informes personalizados de forma que nos muestre un listado de eventos de tipo “Patriot NG” en todos los sistemas, simplemente usando la vista de eventos.




Otro punto interesante es que podemos recibir cómodamente las alertas por correo electrónico:



-----

Artículo cortesía de Sancho Lerena, Director técnico de Artica ST
Leer más...

22 noviembre 2010

Los clusters de GPU de Amazon. ¿Cuanta pri$a tienes?



Hace unos días muchos blogs, como Slashdot, se hacían eco de una noticia: un cluster de Amazon era utilizado para romper contraseñas en la nube. Con la palabra "cluster", "nube" y "Amazon", es normal que transcendiese como si realmente fuera algo nuevo, que no lo es, o una ganga, que tampoco. La realidad es otra y vamos a ver detalladamente y con algunas pruebas el por qué.

Amazon Elastic Compute Cloud, o Amazon EC2 ofrece un servicio en el que por 2.10$ la hora (no es muy barato que digamos), nos permite disponer de una instancia con 22Gb de RAM, 33.5 EC2 (2 x Intel Xeon X5570, quad-core “Nehalem”), y 2 NVIDIA Tesla “Fermi” M2050 GPUs.

Tesla es la primera generación de GPUs de NVIDIA diseñadas como GPGPU (General Purpose GPU), y dispone de una amplia gama de productos con precios que pueden rondar los 13.000$ por equipos completos.


En el artículo original "Cracking Passwords In The Cloud: Amazon’s New EC2 GPU Instances", se utiliza CUDA-Multiforcer, para romper una lista de 14 hashes SHA1, con contraseñas de 1 a 6 caracteres en 49 minutos. No entiendo muy bien porque el autor decidió usar esta herramienta, cuando ha quedado demostrado que oclHashcat es prácticamente el doble de rápido.

Decidí probar el servicio yo mismo y compararlo con el rendimiento de mi equipo y estos son los resultados usando oclHashcat y su comando de ejemplo (example.sh/example.cmd) para romper una lista de hashes MD5:

En mi Windows 7 con GTX460: 2 minutos 23 segundos


En Amazon EC2 con 2 Tesla M2050: 2 minutos 39 segundos


Las 2 Nvidia Tesla M2050 son más lentas que una tarjeta diseñada para su uso doméstico.

El único caso en el que merece la pena el servicio de Amazon es cuando se dispone de varias instancias (a multiplicar el precio) durante varias horas, con un máximo de 8 sin necesidad de una petición especial. ¡Ah! y habiendo desarrollado alguna herramienta o método para distribuir el trabajo, ya que en la actualidad no existe ninguna.

De esta forma, un día completo con 8 instancias corriendo son 403,2$ y una semana 2822,4$. Un poco más en detalle en la siguiente tabla con instancias por horas consumidas:



1 4 8
1        2,10 $              8,40 $               16,80 $
24      50,40 $         201,60 $            403,20 $
168 (7 días)    352,80 $      1.411,20 $         2.822,40 $


Pagando 8 instancias durante 7 días equivaldría al procesamiento de un solo equipo durante 56 días, es decir, habría una diferencia de 49 días. ¿Quién se lo puede permitir?


1 4 8
1 1 hora 3 horas 7 horas
24 1 día 3 días 7 días
168 (7 días) 7 días 21 días 49 días


Como curiosidad, el ejercicio de ejemplo  hecho sin GPU y con hashcat tiene una duración de 22 minutos y 45 segundos (unas 10 veces más lento), recuperando 2906 hashes frente a 1359.



Otras pruebas se están haciendo con Pyrit con resultados similares.
Leer más...