24 de diciembre de 2009

¡Feliz Navidad y Feliz Año Nuevo!

No está bien comenzar una felicitación navideña con una pequeña disculpa, pero estas dos últimas semanas han tenido demasiado ajetreo como para plantearme escribir algo medianamente interesante. Tanto trabajo se alinea con unas fechas en las que al menos a mí solo me apetece estar con la familia, disfrutar del hogar y los amigos y aprovechar el tiempo libre que estas mini-vacaciones y fiestas permiten.

Todo ello significa que voy a tener que hacer una mini-pausa en el blog y hasta mediados de Enero no volveréis a verme, lo siento, sé que me vais a echar de menos (sobretodo algunos compis del tiger-team que tantas veces me inspiran), pero,,, ¡descansad de tanto blog y daros una alegría!, aunque solo sea por que se acabó el año de LaPalabraQueNoVolverémosAPronunciar. Y es que parece que llevásemos toda la vida con esa palabreja, y si no me creeis mirad estos vídeos de Cruz y Raya:





Pero el 2009 se acaba, ¿que decíamos en 2008?, si recordais este año íbamos a hablar de virtualización, de protección antivirus,,, no íbamos mal encaminados. Personalmente creo que a nivel de blog se han conseguido los objetivos, con esta serán 94 entradas, lo que hacen unas 8 de media al mes, más o menos 2 a la semana. Destacaría especialmente tres en este año que creo han sido las que más han gustado:

También ha habido otras cositas que para mí al menos han sido importantes, como la serie dedicada a cuando conseguí sacarme el CISSP "Caminando al CISSP" o la serie de entradas de OWASP que tengo a medias. Un año bastante productivo en líneas generales, ¿de qué hablaremos en 2010?, aquí os traigo una mala noticia, sé que para vosotros es más aburrido, pero hay que hablar más de teoría, la parte de gestión y organización de la seguridad es muy importante y creo que el mercado resultante de LaPalabraQueNoVolverémosAPronunciar es muy consciente de ello, más regularización, más SOX, más PCI, más MIFID, etc. Ahora bien, las entradas "diver" son las de pen-test y análisis forense, por lo que intentaremos no dejarlas de lado (de hecho son con las que más aprendo).

¿Un reto para el 2010?, llevo varias semanas dándole vueltas a dos certificaciones, el Certified Ethical Hacker (CEH) del EC-Council y o el Computer Hacking Forensic Invectigator (CHFI) me interesan bastante, por lo que quizás en unos meses os esté hablando de esas experiencias. También me quiero regalar algún libro de seguridad estas navidades, por ejemplo de análisis Malware aunque hay otros focos que pueden ser interesantes, como la Belleza de la Seguridad. También hay algún que otro proyecto que requerirá refrescar conocimientos de programación (algo que siempre me acaba dando pereza, pero luego resulta satisfactorio), en resumen, muchas ideas para un 2010 que está a la vuelta de la esquina y que pinta muy bien para los Expertos en Seguridad (como ha publicado el Whashington Post) mientras este 2009 que tantas cosas inesperadas nos ha traído (léase Gripe A, léase el sexteto del Barça, la muerte de Michael Jackson, la agresión a Silvio Berlusconi o lo que queráis) se va apagando.

¡Es Ley de Vida!, disfrutad de esta Nochebuena, ¡será la primera del resto de vuestra vida! :-D


Feliz Navidad.

11 de diciembre de 2009

3 Propósitos Seguros para el 2010

¡Hola!

Seamos sinceros, el año está finiquitado. Si estáis a punto de apuntaros al gimnasio, reservad vuestras energías. Si acabáis de adquirir el último curso de Inglés, no os preocupéis, todavía tenéis tiempo (maybe later), con el tabaco ocurre algo parecido, de aquí a cuatro días no se podrá fumar en bares y discotecas, esperad un poquito más y “disfrutad” de vuestras últimas caladas. Guardar todas vuestras energías para empezar el año que viene como un toro, o como una botella de gaseosa, o sencillamente comenzad ya a hacer lo que realmente os gusta, dentro de 20 días tu y yo no recordaremos este post por que estaremos buscando uvas, pensando donde hacer el cotillón, buscando un disfraz de Ramón García, etc. Pero hasta que ese futuro llegue vamos a hacer unas cuantas cosas, son buenas prácticas, recomendaciones que estáis hartos de escuchar, consejillos de la abuela, todo eso que sabes que tienes que hacer y nunca haces, ahí va:

BACKUP

Este viejo concepto, antes lo llamábamos copia de seguridad, que pereza, ¿Verdad? Anda, no es para tanto, clasifica en tu equipo aquella información que realmente has generado tú, los apuntes y prácticas de la Universidad, las tablas Excel con tus cuentecillas, las fotos de las vacaciones y esas 4 cosejas más que todo usuario tiene. Instálate un programa de Backup, pero uno bueno, que permita cifrado, control de versiones, programación de tareas, etc. algo como AceBackup te puede valer, bájatelo, es gratis. Lo instalas, te creas un proyecto:

Y a hacer backup:

Si, puede tardar bastante pero,,, ¿no dejas el equipo toda la noche encendido para bajarte una peli compartir tus archivos? Luego lo vuelcas a un DVD (o 2), lo dejas en una tarrina y te aseguras de memorizar bien la contraseña (¡Invéntate Algún Truquillo De Memorización 2009! IATDM09). Tu disco duro se romperá el 1 de Enero de 2010, el Confincker en su versión Z reaparecerá más maligno y destructivo que nunca, lo perderás todo, si, TU.

PASSWORD

Sé sincero contigo mismo, no sabes ni cuantas contraseñas tienes. Te has dado de alta en tantos sitios que el botón de “forgot passord?” es un “must click” para ti. Haz un pequeño inventario, la del trabajo, la de Windows live, la de gmail, la de Facebook, la de tuenti, la de la universidad, la de tu equipo de casa, la del portátil, el PIN del movil, el de la tarjeta de crédito, tu contraseña de Amazon y Dios sabe que más,,, ¿ya las tienes todas? ¡Bien!, ¡Destrúyelas!, Ahora genera una contraseña robusta, nadie tiene cabeza para tantas cosas. Utiliza una fuertote (12 caracteres alfanuméricos, etc.) y cámbiala en todas tus aplicaciones, espera, este es un blog de Seguridad, no te puedo decir eso, no sería seguro. Vale, hagamos una cosa, utiliza un gestor de contraseñas que haga de memoria intermedia para ti, pero ya que lo utilizas cambia las que realmente te importen y llega al compromiso de hacerlo cada X tiempo, pero ya sabes, sin mezclar el trigo y la paja, ni confundir las churras con las merinas.

PRIVACIDAD

Parece que estamos en los años privados, todo el mundo está muy preocupado por sus datos, a cada semana surgen cuestiones en las noticias relacionadas con la privacidad, las redes sociales, nuestra presencia en Internet, teorías de la conspiración, etc. Y tu, ¿sabes lo que compartes en Internet?, date una vueltecita por 123people, o Yasni o si tienes algo de tiempo libre (quien no se pilla unos días ahora,,,) dale al Google. Sorpréndete, los detectives privados lo tienen chupado contigo, filtra, limpia, borra cosas, quéjate o comparte tu vida entera, pero tienes que saber que es lo que hay por ahí de ti, no por curiosidad, es por tu seguridad.

¿Has visto lo que ha ocurrido estos días con Facebook? Mark Zuckberg anunció que las políticas de privacidad cambiaban, ahora todo el mundo se regirá por las mismas normas:

as Facebook has grown, some of these regional networks now have millions of members and we've concluded that this is no longer the best way for you to control your privacy. Almost 50 percent of all Facebook users are members of regional networks, so this is an important issue for us. If we can build a better system, then more than 100 million people will have even more control of their information.

The plan we've come up with is to remove regional networks completely and create a simpler model for privacy control where you can set content to be available to only your friends, friends of your friends, or everyone.

Esto se traducía en que cuando entrabas te decía, “las políticas de privacidad de Facebook han cambiado, configura tus políticas de privacidad”, y te comparaba las “viejas” y las nuevas, ¡cuidado!, por defecto vas a compartir mucho más que antes (no tengo ningún pantallazo para enseñaroslo), así que leete cosas como esta y configúralo todo a tu gusto bajo esta sencilla regla:


Fijaros con qué poquito uno se toma las uvas mucho más tranquilo,,,

,,, una sencilla entrada mitad offtopic / mitad humor / mitad realidad para remover alguna conciencia, espero que os haya gustado :)

Salu2!

9 de diciembre de 2009

Cajeros ATM "Inseguros"

Hoy os traigo una pequeña curiosidad, si cuando os acercáis a los cajeros automáticos os gusta practicar la seguridad extrema:


Tengo una mala noticia para vosotros, no es suficiente. Como sabéis las autoridades siempre recomiendan cubrir el teclado con una mano u objeto al introducir vuestro PIN, he encontrado unas imágenes del departamento de policía de la Universidad de Texas en EE.UU. (si, yo también me he quedado a cuadros) que definen muy bien el por qué:

Metemos el lector de tarjetas de crédito...

Hay que fijarse bien para notar la diferencia, pero como nunca llevamos prisa no hay problema.

Unos pocos folletos informativos siempre ayudan.

Y ya estamos preparados para comenzar a capturar PINs.

Cuidado en estas fechas de alto consumo ^^

Salu2

5 de diciembre de 2009

Trusted Network Connect

Cuando a principios de Octubre hablamos de Trusted Execution / Trusted Plataform dentro del marco de arquitectura de procesadores segura dimos alguna pincelada de un término que a día de hoy es crucial en toda corporación, Trusted Network Connect.

Actualmente la ubicación del puesto de trabajo es dinámica, y cada vez lo es mucho más. Nuestro personal está sentado en sus oficinas, pero también está desplazado en un cliente y requiere conectividad contra servicios y recursos que tiene en su puesto de trabajo, también viaja y probablemente tanga una BlackBerry o similares con la que necesita revisar el correo corporativo, esto es solo la punta del iceberg: No todos los empleados son iguales, hay desarrolladores, gente de sistemas, comerciales, jefes, gerentes y directores. Becarios recién contratados y externos, muchos externos, ya que también hacemos Outsourcing. Este personal ajeno también necesita conectividad para dar su servicio, es más, probablemente lo hará todo desde sus propias oficinas o quizás tengamos un hueco para ellos en nuestra empresa.

El perímetro de la organización es maleable y se corre el riesgo de que no se puede dar una solución de acceso a sistemas y servicios segura y robusta. En definitiva, un problemón para los arquitectos de red y el personal de seguridad que requiere de soluciones. Es aquí cuando entran en juego los accesos de confianza.

El Trusted Computing Group da una serie de directrices genéricas independientes de la tecnología para orientarnos un poco en como deben ser esos accesos.

Network Access Control

Este concepto simplificado al extremo trata de que un “cualquiera” que llegue a tu organización no sea capaz de enchufarse a tu red bien, por que ahí hay una roseta vacía o bien por que la Wifi está abierta a invitados. Esto hoy en día es sencillamente intolerable, pero el NAC va mucho más allá definiéndose como un conjunto de medidas de seguridad que nos aseguren que solo accederá a nuestra red aquel que tenga los correspondientes permisos y cumpla con un mínimo de políticas de seguridad, NAC es:
  • 802.1X
  • DHCP
  • VPN
  • Cumplimiento GpO.
  • Actualizaciones y parches del Sistema Operativo.
  • Antivirus actualizado y homologado.
Pero esto no es todo, debemos ser capaces de proveer u
na infraestructura de acceso que a parte de cumplir con todo lo anterior sea capaz de dar acceso a los recursos necesarios según el perfil / rol del usuario, esto se debe apoyar de forma indudable en una arquitectura de red segura (con todo lo que implica a nivel de VLANs, firewall, routing, etc.). Además los permisos de acceso deben ir alineados con los recursos accedidos, probablemente una persona de desarrollo necesite ser administrador en su equipo y trabajar en un entorno aislado alejado de producción, de igual forma se debe evitar que un administrador de BBDD sea capaz de modificar los datos que gestiona, siendo esta capacidad exclusiva de sus usuarios (esto creo que lo llamaban segregación de funciones).

Ahora bien, todo esto no es nuevo, las conexiones de confianza pueden llegar mucho más lejos y alcanzar a todos los dispositivos de mi red, impresoras, telefonía VoIP, cámaras de seguridad, etc. cuya actividad también deberá estar regulada. De manera adicional se instalarán sondas, IDS/IPS que controlen y detecten la actividad de los dispositivos / usuarios en la red, aquí es cuando surge un elemento adicional, el IF-MAP (Interface Metadata Access Point) Para no perdernos echemos un ojo a la siguiente imagen:


En la misma tenemos nuestros clientes “de confianza”, seguridad a nivel de red 802.1x, switches, routers, radius, firewalls, Policy Decision Point y, como capa adicional antes de llegar a los controles de seguridad aparece IF-MAP, ¿Qué es esto?, Con IF-MAP tenemos un protocolo cliente – servidor basado en XML y que utiliza SOAP + HTTPS. Su misión principal es recolectar datos de los dispositivos de red, metadatos que nos den una idea de quien es, a qué accede, que está solicitando y haciendo, etc. La estructura de los mensajes que maneja es la siguiente:
  • ip-adddress (v4 or v6)
  • mac-address
  • identity aik-name:
  1. dns-name
  2. email-address
  3. kerberos-principal
  4. trusted-platform-module
  5. username
  6. sip-uri
  7. tel-uri
  8. other (vendor defined)
  • access-request
  • device
Como imagináis esto abre un abanico de posibilidades a la hora de controlar los accesos a la red que delega en el Metadata Access Point controles de seguridad que en tiempo real detectan accesos inapropiados, dispositivos que tratan de acceder a recursos que no deben, alarmas (falsas o no) alineadas con el resto de dispositivos, etc. No han sido pocos los fabricantes que se han subido al carro del IF-MAP, en esta pequeña diapositiva se pueden ver algunos de ellos.

El paradigma de acceso a la red seguro con un servicio de confianza está cambiando continuamente, hay mucha tela para cortar aquí ya que estamos hablando de confianza extremo a extremo, multitud de capas de acceso, ingeniería de conocimiento y redes bayesianas para decidir cómo actuar sobre un dispositivo, etc. Por suerte hay mucha información disponible en la red, herramientas Open Source como FreeRadius, OpenSea 802.1X, el proyecto libTNC, etc.

Precaución, amigo conductor (happy bridge).

Salu2!

1 de diciembre de 2009

Black Screen Of Death

Hay días -muy pocos por suerte- en que es peor el remedio que la enfermedad. Esto también se aplica en el mundo de la Informática y concretamente en el Software no puede ser obviado. Parece ser que el último boletín de parches de Microsoft provoca un Black Screen,,, pero sin death (BlSoD), es decir si el usuario hace Ctrl + Alt + Sup puede acceder al administrador de tareas y ejecutar algunas acciones. Esto obviamente puede ser un dolor de cabeza para los técnicos de microinformática, administradores, etc.

Al parecer en la publicación de parches de seguridad del 10 de Noviembre se modifican reglas ACL de Windows que impiden el acceso al registro e invalidan determinadas entradas del mismo, estos parches tenían como objetivo corregir la vulnerabilidad MS09-065 donde se detectaba un bug en el kernel de Windows (XP, Vista, 7, Server 2003, Server 2008), ahora bien el parche provoca el temido BlSoD en algunos equipor por lo que llega el eterno dilema, ¿actualizar o no actualizar?, ¿tapamos unos agujeros para que nos salga un fuego?

Está claro que la única solución es alcanzar un equilibrio aristotélico, asumimos los riesgos durante un pequeño periodo de tiempo equivalente a probar las actualizaciones en un entorno aislado, comprobar que no existen incompatibilidades con nuestro software, etc. Después parcheamos y carretera.

Si por casualidad habéis tenido este problema la empresa que lo denunció (Prevx) ha publicado un pequeño parche que lo soluciona (¡antes que Microsoft!), yo no lo he probado (quizás no actualizo tan a menudo :-( ) pero si os animáis está aquí.

Adjunto imagen del comentado BISOD, no confundir con las típicas postales de “Cuenca de noche” o “Tenerife de noche” -->

Salu2!

NdA: Como habréis visto a través de meneame parece ser que al final la "culpa" de estos pantallazos no la tenían las actualizaciones, tal y como relata la gente de Prevx tiene que ver con la manera en que Windows almacena los Strings en el registro de Windows, requiriendo un carácter Null para finalizar el string, si ese carácter no aparece pueden surgir errores al leer los datos y no poder determinar cuando finaliza la cadena, de ahí el BlSoD. Las actualizaciones no están directamente relacionadas, lo que no significa que cierto software que acceda de forma incorrecta al registro provoque estos errores, lo que sí se ha demostrado es que el parche de Prevx funciona,,, en SysInternals tenéis un programa-demo de este error.

28 de noviembre de 2009

Firma Digital (in) Segura

¡Hola!

En el día de hoy vamos a cambiar de tercio hablando de una de las aplicaciones prácticas que la tecnología ha llevado a nuestros hogares / empresas para facilitarnos la vida, la firma electrónica. Esta firma está contemplada en nuestra legislación bajo la Ley 59/2003 de firma electrónica (que tenéis aquí) y cuyo mayor impacto es equiparar la firma manuscrita con la firma digital. Ahora bien existen distintos tipos de firma que la ley contempla:

1. La firma electrónica es el conjunto de datos en forma electrónica, consignados junto a otros o asociados con ellos, que pueden ser utilizados como medio de identificación del firmante.
2. La firma electrónica avanzada es la firma electrónica que permite identificar al firmante y detectar cualquier cambio ulterior de los datos firmados, que está vinculada al firmante de manera única y a los datos a que se refiere y que ha sido creada por medios que el firmante puede mantener bajo su exclusivo control.
3. Se considera firma electrónica reconocida la firma electrónica avanzada basada en un certificado reconocido y generada mediante un dispositivo seguro de creación de firma.
4. La firma electrónica reconocida tendrá respecto de los datos consignados en forma electrónica el mismo valor que la firma manuscrita en relación con los consignados en papel.

Esto es, tenemos 3 tipos de firma. La 1) que es la más sencilla garantizará el no-repudio. La 2) garantizará el no-repudio y la integridad del documento firmado, esto es, que no ha sido alterado por terceras partes. La 3) que garantiza a través de dispositivos seguros de creación de firma todo lo anterior haciendo a esta firma equiparable a la manuscrita en términos jurídicos y legales.

Claro está si se aprovecha el marco legal que esta Ley nos brinda esto puede facilitar trámites a ciudadanos y ahorrar chorros de tinta a las empresas, el Gobierno sabiendo esto enmarcó la factura electrónica dentro del Plan Avanza y presentó el portal Factura-e donde se explica lo que es una factura digital y se proporcionan utilidades a las pymes para que trabajen con ella, ejemplos de facturas electrónicas, etc. Una de las aplicaciones generadas por el ministerio es Facturae, que pinta así:

Interfaz de FacturaE

Incluye tu propio gestor de facturas, envío de las mismas desde servidores SMTP con SSL, listado de servidores OCSP para validar certificados X.509, etc. Parece una buena aplicación, ¿no creéis?

En el mismo marco este verano el Ministerio de Industria, Comercio y Turismo lanzó la EcoFirma, otra aplicación de firma digital de extrema sencillez que acerca la firma digital a ciudadanos y pymes, permitiendo firmar casi cualquier tipo de archivo, desde .doc a imágenes pasando por PDF a los que se pueden incrustar marcas de agua, etc. EcoFirma tiene el siguiente interfaz:

EcoFirma, tan sencillo como esto.

Puede importar certificados de nuestros exploradores habituales (IE, Mozilla) facilitándonos enormemente los procesos de firma y validación de otras firmas.

Todo esto está muy bien pero no puedo evitar lanzarme unas cuantas preguntas, y es aquí cuando viene el verdadero motivo de esta entrada, ¿las firmas que realiza el software que provee el ministerior, son firmas reconocidas? Supongamos que utilizamos los certificados de nuestro DNI electrónico (si tenéis curiosidad por todas las cosas que lleváis en la cartera cuando tenés dentro el DNI electrónico echad un ojo aquí) para firmar un archivo, estos son certificados reconocidos tal como marca la Ley, ¿es el software un dispositivo seguro de creación de firmas? Indagando sobre ello vemos que en Kriptópolis ya se hicieron la misma pregunta, llegando a conclusiones negativas. Repasemos la Ley:

2. Un dispositivo de creación de firma es un programa o sistema informático que sirve para aplicar los datos de creación de firma.
3. Un dispositivo seguro de creación de firma es un dispositivo de creación de firma que ofrece, al menos, las siguientes garantías:
a) Que los datos utilizados para la generación de firma pueden producirse sólo una vez y asegura razonablemente su secreto.
b) Que existe una seguridad razonable de que los datos utilizados para la generación de firma no pueden ser derivados de los de verificación de firma o de la propia firma y de que la firma está protegida contra la falsificación con la tecnología existente en cada momento.
c) Que los datos de creación de firma pueden ser protegidos de forma fiable por el firmante contra su utilización por terceros.
d) Que el dispositivo utilizado no altera los datos o el documento que deba firmarse ni impide que éste se muestre al firmante antes del proceso de firma.

Luego SI, el software (un programa informático) puede considerarse un dispositivo seguro. Ahora bien, ¿quien me lo garantiza?, ¿los estándares internacionales?, ¿como se que no hay gato encerrado?. Simple y llanamente: no lo se y no podré saberlo. En última instancia siempre hay que confiar en alguien, el estado, las autoridades de certificación, la Ley. En mi opinión un software NUNCA debería estar considerado un dispositivo seguro, una combinación Sotware + Hardware SI, ¿por qué? Por que una appliance siempre será una combinación más robusta que código y más código (Maria José Caro de INTECO ofreció una ponencia sobre la seguridad de estos dispositivos bastante interesante). Más robusta y más cara claro, de ahí que se haya optado por la vía cómoda.

Lector de DNI Electronico

En un proceso judicial estas dudas que aquí nos surgen pueden ser indicadas a los jueces quienes inevitablemente tendrán que apoyarse en Peritos para que una firma electrónica no sea impugnada. Esto podría ser un grave problema si no fuese por que la Ley recoge que las partes pueden acordar previamente el sistema de firma electrónica a utilizar, si ese acuerdo se alcanza (y firma) no habrá apelación que valga. Ahora bien, ¿cuantos de vosotros habéis revisado los sistemas de factura electrónica de vuestros proveedores de telecomunicaciones, internet, banca, etc.?, ¿está el ciudadano indefenso viéndose obligado a aceptar y confiar en sistemas que desconoce? Parece que en parte, Si.

Una pequeña reflexión de fin de semana.

Salu2!

23 de noviembre de 2009

Sandboxie

Hoy presentamos una sencilla aplicación que hará las delicias de los muchas veces sufridos usuarios de máquinas virtuales. Una de las aplicaciones de estas últimas es disponer de un entorno “basura” en el que realizar nuestros experimentos, bajarnos esos archivos sospechosos o directamente analizar malware. Es probable que os pase como a mí, juntando fácilmente 4 o 5 de estas máquinas nuestro disco duro baja vertiginosamente, además se necesita mucha memoria RAM para que vayan decentemente ligeras.

Con SandBoxie se puede ahorrar bastante tiempo y recursos en maquinas virtuales, esta aplicación genera un entorno de virtual donde todo lo que se ejecute estará aislado del sistema operativo. Se integra en Windows perfectamente como una opción más del “botón derecho – click” y su complejidad es mínima:

Podemos trabajar con ficheros en un entorno virtual, darle los permisos que queramos sobre el entorno real, ubicar un espacio para almacenar aquellos archivos que querramos extraer de la cajita de arena, disponer de más de una sandbox, etc. Y todo esto de forma gratuita :)

Un detalle que me ha gustado es que no es trivial "salirse" de la sandbox, a pesar de que los procesos nuevos te aparezcan si haces un pslist lo que ellos generan está controlado y sus permisos restringidos. Por ejemplo, probad a ejecutar un cmd.exe en la sandbox y desde ahí un notepad, word, etc. No podréis grabarlos en la unidad física, casi casi como un appliance vmware. En la página de los autores hay un buen tutorial que os dejo por aquí , espero que os guste.

Happy Week!

21 de noviembre de 2009

El café está servido,,,

Microsoft’s Computer Online Forensic Evidence Extractor , COFEE () para los amigos, está circulando por Internet, o eso dicen multitud de blogs desde hace unos días. Y tiene que ser verdad aunque haya investigadores como Robert Graham que anuncien en su blog que la versión disponible solo aloja 45 utilidades / comandos, en lugar de los 150 que Microsoft anunció.

Pero, ¿Qué es Cofee? Bueno, en la primavera del año pasado surgieron comentarios y especulaciones como setas cuando Microsoft informaba al mundo de que entregaba COFEE a los cuerpos de policía y seguridad del mundo como herramienta de análisis forense, esto es, no había nada más que llegar con un pen drive a la escena del crimen, enchufarla y ella sola obtenía todos los datos de auditoría del equipo, se rumoreaba que aprovechaba puertas traseras desconocidas, que utilizaba algoritmos criptográficos avanzados para obtener las contraseñas de los usuarios (¿?¿?¿?), etc. Teoría conspiratoria al poder vamos.

Pues haciendo unas cuentas búsquedas en los corrillos de seguridad, descargando algún que otro torrent, etc. Efectivamente, damos con la herramienta en su versión 1.12. La misma incluye un completo manual de uso, instalación, configuración, generación de informes, etc. Su funcionamiento es sencillo, se instala en el equipo del investigador, generas un pen-drive personalizado con las herramientas asociadas a la investigación que se pretende realizar (puedes meter las 150, aunque se requerirá un USB de 2 GB para recolectar tanta evidencia), te vas al ordenador de la víctima y descarga todos los registros de auditoría y salida de los principales comandos de Windows y Sysinternals, también hace volcados de memoria por lo que está principalmente pensada para análisis forense en caliente. Una vez hecho esto se extrae el pen drive, el investigador vuelve a su “laboratorio” feliz y contento. Lo introduce en su equipo y,,, Cofee te genera un informe XML con todo lo que ha encontrado. Es decir, análisis forense for dummys.

A priori no hay “comandos secretos”, utilidades desconocidas, puertas traseras, etc. Solo una aplicación amigable que hace todo el trabajo de obtención de evidencias por nosotros, si esto es así, ¿Por qué Microsoft no la libera? Parece no tener mucho sentido por lo que dejo la pregunta en el aire. Ahora bien, no os emocionéis de sobremanera, tras bajar COFEE de distintas fuentes puedo constatar que la versión que se ha fugado es una 1.12 que, lamentablemente no he conseguido instalar y correr en un Windows 7, en un Windows Vista o en un XP. Parece que el instalador está corrupto (¿?), lo que sí se he podido ojear es el manual de la aplicación que confirma datos como, solo funciona en Windows XP con Framework 3.5 (es decir, que tiene que ser XP SP2), los comandos disponibles son conocidos y su principal beneficio es que proporciona la confianza de que las herramientas utilizadas no han sido comprometidas por un rootkit o similares, ya que cada una de ellas tiene su checksum una vez instalada en el dispositivo, si es alterada COFEE lo detectará.

Os dejo algunos pantallazos y la desilusión de no haber encontrado una versión que funcionase correctamente, será cuestión de tiempo supongo:


Interfaz de COFEE

Las herramientas secretas :-p

Recolectando evidencias...

Y nuestro informe XML.

Ahora copa y puro ;-)

Salu2!

Nota 26/11/2009 --> Por fin he conseguido solucionar el problema del instalador, si os lo bajáis y os ocurre lo que a mí probad con esta herramienta. Por cierto, ahora sí puedo corroborar todo lo contado :-D


17 de noviembre de 2009

La experiencia puede ser un riesgo

Disclaimer: Esta entrada es fruto exclusivo de las divagaciones personales del autor, no dispone de base científica y las opiniones vertidas no son siquiera demostrables, si piensas que el título de la entrada es un disparate quizás no debas seguir leyendo.

Tengo un colega dedicado al comercio de combustible, empresario él conoce todos los factores que pueden afectar a su negocio, que márgenes y umbrales son aceptables en sus negociaciones o cual es la tendencia actual del mercado. Como yo no tengo ni idea de por qué el gasoleo sube cuando hay un puente, o por qué si un día se enfada Chavez, al otro baja el barril de brent (o no) le propuse lo siguiente:

Quiero que me digas a cuanto va a estar el barril de petróleo mañana, dentro de una semana y dentro de un mes. Otros dos amigos míos tan ignorantes como yo hicieron sus apuestas, quedando el Excel de la siguiente forma:

Clark

Use

Pablo

GigA

Real

28-oct

77.93

77.86

77.22

76

77.74

04-nov

79.50

80.15

78.24

70

80.27

28-nov

82.69

85.06

77.77

85

El experto se aloja bajo el pseudónimo de Clark, hay que decir que ninguno de nosotros sabíamos las predicciones que el resto iban a hacer (si no estaríamos condicionados y Clark sería nuestra referencia). A día de hoy el brent ha bajado de nuevo a los 79$ el barril y salvo sorpresa no se prevé que se anime tanto como para llegar a los 85$ (mi apuesta). Hasta ahora nuestro experto (Clark) ha acertado 2 previsiones, igual que ha hecho Use, Pablo acertó 1 y yo (nunca fui bueno en las apuestas) ninguna. Sin embargo tenemos ya una conclusión: el experto no parece que vaya a acertar mucho más que el resto de ignorantes, en el mejor caso puede acertar todo (Use 2, Pablo1, yo 0), en el peor puede acertar menos que Use y 1 más que Pablo y que yo, en el normal Pablo Use y Clark tendrán 2 aciertos y yo ninguno.

Estaréis conmigo en que la muestra es pequeña, el valor real del experto quizás se podría apreciar mejor conforme pasa el tiempo, a 2 meses, 3 meses, 1 año, ¿verdad? Pues en opinión del experto esto no es así, la incertidumbre se dispara a futuro y el pasado cada vez es una referencia menos válida, si bien para el precio del crudo las variables económicas que interfieren son bien conocidas, podríamos decir que ocurre lo mismo exactamente en otros mercados como la Bolsa, el precio del Oro, el valor de las pipas o la posibilidad de que mi empresa cierre el año que viene.

Día a día me enfrento en el trabajo a análisis de riesgos, se detectan las amenazas sobre un sistema (que cubre una necesidad de negocio), se acotan, se mapean unas medidas compensatorias, se establecen controles de seguridad, se ofrecen indicadores sobre los controles, etc. Cuando has revisado 30 arquitecturas distintas riesgos, medidas, controles, etc. te van saliendo como churros. TODO ES SEGURO.

Mientras tanto el sol sigue saliendo por las mañanas, con un poco de suerte nuestra nómina va engordando poquito a poco, asumimos que todo va más o menos bien, hay Seguridad, la vamos manteniendo, los procesos de negocio se van ofreciendo con confianza, el barco avanza viento en popa a toda vela. Entonces un día algo hace “crack”, estalla la guerra en Pakistán, el precio del petroleo sube a 200 $ por barril (como vaticinaba cierto presidente 1 mes antes de comenzar la crisis), o quizás un miembro del Cuerpo Directivo ha estado aprovechando sus poderes para manejar cientos de millones en la sombra hacia ciertas áreas de interés, también es posible que nuestro Active Directory se infecte por un virus y tengamos cientos de usuarios que no pueden trabajar, además como ese virus es muy maligno se replica a servidores, puestos de trabajo, etc. Mierda, y el plan de continuidad de negocio desfasado, ¿Qué hacemos, a quien llamamos?, ¿Dónde estaremos mañana?

Yo no se vosotros pero yo veo muy relacionado el precio del barril de crudo, la economía de Mongolia y que mi CPD no se caiga, llámalo efecto mariposa, llámalo Cisne Negro:

Pero la realidad es que todo va bien, exactamente igual que un pavo estamos 300 días seguidos siendo alimentados 3 veces al día, sin sospechar que el día 301 es el “Thanks Giving Day” entonces nuestro cuello es cortado, nos rellenan de Dios sabe qué y “al horno”. Es muy oportuno hablar de estos cambios en “tiempos de crisis”, cuando hace 18 meses no había Crisis (por activa y por pasiva) y hoy en día todos corren por salir los primeros de ella, los analistas hacen sus estimaciones económicas a 1 año (se equivocan), los Directivos establecen su plan de negocio para los siguientes 2 – 3 años (se vuelven a equivocar) y los más ávidos se imaginan como serán su negocio dentro de 5 años o estiman que la jubilación en el 2030 será a los 67 años por que la economía no será sostenible para entonces (supongo que por que ahora si es sostenible). Todos se equivocan y no pasa nada, ¡nadie puede predecir el futuro!, y es verdad, nosotros no somos una excepción. Estamos hechos para pensar de pasado a presente, en base a ello definir un futuro “probable” o no. Pasábamos el relajado verano de 2008 viendo cómo Kaminsky anunciaba una vulnerabilidad en los DNS a todo el mundo, y todos estuvimos esperando que los fabricantes sacaran los respectivos parches y auditando si éramos vulnerables (efectivamente, lo éramos), quizás el verano que viene se publique una nueva que comprometa seriamente (aun más) el HTTP – SSL, y veremos que tenemos que tocar todos nuestros servidores web o cambiar el paradigma de seguridad en los frontend ya que nos hacen un deface (en el mejor de los casos) día si y día también. Pero estos serían casos menores, es posible que el CPD de google se hunda por que han decidido dejarlo en alta mar y llegó un maremoto, un avión se puede estrellar contra nuestros edificios o la Gripe A que ya a nadie preocupa ha mutado y no vamos a quedar nadie para contarlo, ¿quien sabe?

Los sucesos inesperados a la par que improbables son (vaya paradoja) periódicos, esto también ocurre en nuestro mundo acotado a protocolos y tecnologías, sin embargo se olvida. No se si a vosotros os pasa pero a mi sí, se comienzan a suponer cosas, el SSL cifra muy bien, las VPN nos proporcionan acceso seguro a través de redes inseguras, mis certificados no caducan hasta el 2020 así que no hay prisa, al final es todo SOTA, CABALLO y REY. Entonces surge el riesgo (muy pocas veces materializado) de que aparezca el JOKER y se ría de nosotros, puede tener cualquier cara (es un JOKER) y no nos lo esperaremos, pero cuando se haga realidad su impacto negativo será enorme. También es posible que ocurra al revés, que un día os hagáis en vuestra casa una herramienta para hablar con vuestros colegas, no se, algo como “Facebook”, y resulta que empieza a extenderse como un reguero de pólvora y en 4 años estás tomando copas con Larry Page , Bill Gates, Linus Torvalds y Chad Harley (curiosa fiesta).

En fin, este es un tema sobre el que me gusta debatir mucho, la experiencia es sin duda un buen aliado pero nunca podemos suponer en exceso, siempre hay gente por ahí que se olvida de todo lo que hay y crea algo nuevo, que nadie preveía, ese alguien podemos ser nosotros, y ese algo puede ser maravilloso, pero también puede ser terrible.

¿Y vosotros, os arriesgáis por vuestra experiencia?

Salu2

PD: ¿A cuanto estará el brent el 28/11?

14 de noviembre de 2009

Joomla SQL Injector & Bruteforce

Los sitios Web basados en el gestor de contenidos Joomla se han extendido como moscas, los éxitos en Internet son así. Hace 4 años nadie apostaba un duro por una compañía llamada youtube y hoy sus creadores nadan en piscinas de oro, con joomla ha ocurrido algo parecido, apareció en el 2005, gustó y triunfó. Ahora cualquiera tiene su sitio web basado en joomla (Powered with Joomla!).

Actualmente corre una versión estable 1.5, lo que significa que en 4 años no han existido grandes revoluciones en su motor, eso sí, las plantillas existentes se cuentan por miles. Basado en PHP Joomla también tiene sus “cositas” de Seguridad, RFI, SQL Injection, XSS, etc. concretamente ayer me encontré con un SQL Injector escrito en Python muy sencillo de usar, incluye las alrededor de 123 vulnerabilidades de este tipo disponibles, en la página de descarga van actualizando el script a medida que se hacen públicas más vulnerabilidades, lo ejecutamos indicándole que cargue la lista de sitios web de list.txt y:

|---------------------------------------------------------------|

| beenudel1986[@]gmail[dot]com |

| Joomla Sql Injection Scanner 2.5.6 |

| 11/2008 joomsq.py |

| Do Visit www.BeenuArora.com & darkc0de.com |

| Total: 123 Vulns |

|---------------------------------------------------------------|

Enter the DB prefix or press Enter to use default

Do you think target has salted or unsalted version ! press y for yes or n for n o y

[+] JoomlaPath: www.*********gital.es

[+] Vuln. Loaded: 123

[+] Testing...

[-] Done

[+] JoomlaPath: www.p******o.com

[+] Vuln. Loaded: 123

[+] Testing...

Decepción, no me encuentra nada. Y es que a no ser que encontréis una página desarrollada con un Joomla antiguo (anterior 1.5) no funcionará. Desanimado pruebo un Joomla BruteForce Cracker también disponible en el sitio de “Dark Codes”, me descargo un pequeño diccionario (23000 palabras), ejecuto y:

|----------------------------------------------|

| rsauron[@]gmail[dot]com v1.0 |

| 7/2008 joomlabrute.py |

| - Joomla Administrator Panel BruteForcer |

| Usage: joomlabrute.py [options] |

| -h help darkc0de.com |

|----------------------------------------------|

[+] Proxy Not Given

[+] BruteForcing:http://www.p*********.com/administrator/

[+] Username:pluks

[+] Words Loaded: 213560

[+] [12:10:47]

[!] Login Successfull: pluks:aa

[-] [12:10:49]

[-] Total URL Requests 1

[-] Done

¿Suerte? No lo creo, confirmo la sospecha, es un “falso positivo”. ¿Cómo puede ser?, bueno los mensajes de error en Joomla son configurables, el script solo busca en la página web si aparece la palabra “username”, si no está supone que hay autenticación exitosa (un poco cutre quizás), sustituimos esa palabra por nuestro mensaje de error, ejecutamos nuevamente y:

|----------------------------------------------|

| rsauron[@]gmail[dot]com v1.0 |

| 7/2008 joomlabrute.py |

| - Joomla Administrator Panel BruteForcer |

| Usage: joomlabrute.py [options] |

| -h help darkc0de.com |

|----------------------------------------------|

[-] Proxy Not Given

[+] BruteForcing: http://www.p**********o.com/administrator/

[+] Username: pluks

[+] Words Loaded: 213560

[+] [13:28:04]

[-] Login Failed: aa

[-] Login Failed: aal

[-] Login Failed: aalii

Esto tiene mejor pinta, ahora es solo cuestión de tiempo. Como vemos los administradores de sitios web basados en Joomla tampoco pueden relajarse en términos como robustez de contraseñas, actualización de parches, etc. Si no pueden encontrarse fácilmente con un deface :-p

Buen fin de semana!

9 de noviembre de 2009

reCAPTCHA

Creo que la medida de seguridad que hoy voy a presentar a pesar de ser bien conocida -a la par que odidada en algunas ocasiones- añadirá un puntito adicional a su favor que otras soluciones parecidas no disponen: bajo coste y robustez. Hablábamos hace un par de entradas de “encuestas seguras”, su cada vez mayor presencia y relevancia en los medios de comunicación que pueden (y no es erróneo decirlo) engañar a la opinión pública. Pues bien, una aplicación práctica de reCAPTCHA es la protección contra ataques por repetición en las encuestas. Claro está a alguno le puede parecer exagerado para una encuesta, es solo un ejemplo, seguro que se os ocurren otras muchas aplicaciones.
Entrando en detalle, reCAPTCHA es un servicio que puede incrustarse de forma gratuita en cualquier aplicación web, incluye 2 palabras distintas que deben escribirse separadas, lo cual añade un puntito más de robustez. Además incluye compatibilidad para discapacitados permitiendo la emisión de CAPTCHAs en forma de sonido. Para instalarlo es necesario darse de alta en el sistema con el dominio que se vaya a utilizar, con esto se nos proporcionarán dos claves, una pública y una privada. Al incrustar el siguiente código javascript en nuestro frontal web:

Se hará una llamada a los servidores de recaptcha y se incrustará el desafío en el frontal, lo que vayamos a hacer con él ya es nuestra decisión. Ahora bien dependiendo del lenguaje de nuestra aplicación web deberemos acudir aquí para obtener los recursos que analicen y verifiquen el CAPTCHA, por ejemplo en ASP deberemos añadir una librería a nuestro proyecto que contiene una serie de llamadas para verificar el CAPTCHA, este proceso se realiza nuevamente contra servidores externos, para mayor claridad:

Es decir, en 1) el usuario carga la página web que tiene incrustado el CAPTCHA, en 2) el browser solicita a los servidores de reCAPTCHA el reto, esta petición la hace con la clave publica del servidor. Después en 3) el usuario soluciona el reto y esa solución es enviada al servidor de aplicaciones (o el frontal web dependiendo de la arquitectura), en 4) este servidor contacta con el API Server, aquí es cuando se utiliza la clave privada para verificar que efectivamente la petición no ha sido manipulada en su recorrido, el API server devuelve el resultado del desafio, esto lo recogerá el servidor de aplicaciones proporcionando una respuesta dependiendo de si se ha superado el desafió o no.


¿Sencillo? A mi me parece que sí, como detalle final añadir que el API Server detecta las IP de los clientes que solucionan “muchos” CAPTCHA en pocos minutos, evitando así que en caso de que el desafío se haya visto comprometido se realicen ataques por repetición bloqueando la IP origen temporalmente.


Bueno, bonito y barato, lo ideal para comenzar la semana :)

Salu2


PD: Entrada relacionada de Breaking CAPTCHAS.