Mostrando entradas con la etiqueta Cracking. Mostrar todas las entradas
Mostrando entradas con la etiqueta Cracking. Mostrar todas las entradas

29 de noviembre de 2010

(Not) Advanced Encryption Standard

Esta mañana me he levantado, aparte de con un frío de perros y la resaca de las filtraciones de Wikileaks, con una de esas noticias de bombo y platillo. El AES de 128 bits ha caído, o esa era la cabecera de un mail que he recibido con el siguiente link.

Arduo y veloz me he puesto a devorar el documento, el cual os resumo por aquí. La IACR o Asociación Internacional de Investigación Criptográfica está formada por un grupo de gente que investiga sobre nuevos algoritmos criptográficos o como reventar los actuales, por ejemplo la semana pasada publicaban una propuesta con nuevos algoritmos para tecnologías móviles y, unas semanas antes, publicaban este paper que mostraba como romper el AES en escasos 3 minutos.

La curiosidad del ataque es que no emplean debilidades de los algoritmos matemáticos utilizados para cifrar, esto es, un algoritmo de sustitución por bloques con 10, 12 o 14 rondas según el tamaño de la clave. En este caso se utiliza el llamado "side channel attack", que son un tipo de ataques distintos basados en las vulnerabilidades de la infraestructura que soporta un criptosistema. Estos ataques se basan en la observación y comparación de como un algoritmo utiliza recursos de un sistema, por ejemplo por los tiempos de consumo de procesador, por como varía la memoria caché o por los cambios en la radiación electromagnética (el ataque TEMPEST del cual hicimos un simulacro hace unos meses ).

El Side Channel Attack en este caso se basa en la observación, se requiere que un proceso "espía" visualice como otro proceso realiza hasta 100 operaciones de cifrado, esto se consigue con apenas 2 KB de datos. No es necesario conocer el texto cifrado ni la clave (obviamente), en ese proceso de cifrado lo que hace el programa espía es ir visualizando el trozo de memoria utilizado por la librería de OpenSSL y el planificador de tareas de Linux, el "Completely Fair Linux Scheduler", a partir de ahí con una red neuronal especialmente enseñada para la ocasión lanza un pequeño proceso en background que calcula la clave (y 1 millón de cosas más) en no más de 3 minutos.

Cierto es que el ejemplo en Laboratorio es con un kernel de Linux y específico para OpenSSL, pero ello no quita que a partir de este estudio se pueda migrar a otros sistemas operativos (sobretodo de tipo Linux / Unix) con relativo esfuerzo. En el paper también se comenta que la implementación de este ataque para 192 o 256 bits es posible pero no se ha demostrado.

¿Qué supone este ataque? AES se había consolidado este último año como el algoritmo de cifrado simétrico de facto, organizaciones como el NIST o la NSA le aseguraban una robustez con 128 bits más allá del año 2015 (2030 para 256 bits ¬¬), muchos procesadores del mercado incorporan un juego de instrucciones dedicado para agilizar estas operaciones y a día de hoy no existe un algoritmo de cifrado que pueda ser considerado igual de robusto (¿3DES?). ¿Qué contramedidas implementar?, bueno en el paper se habla de no utilizar la memorica cache en los procesos de cifrado / descifrado(¿?), aunque delegar los cálculos a la RAM solo implicaría ajustar el timing de CPU, no permitir a un proceso saber el tiempo de CPU que consume otro (lo que puede complicar la planificación de tareas para el CFS u otros). Mi apuesta personal es que un sistema operativo basado en Sandboxies como Qubes podría proporcionar el aislado suficiente entre procesos para evitar este tipo de ataques "de entorno" del criptosistema. Por supuesto un buen antivirus, etc. para evitar el troyano de turno que ataque AES también ayuda.

Y eso es todo por hoy, ¡buena semana a todos!

Salu2

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!

26 de agosto de 2009

De la importancia de Ofuscar

Este Software no arranca ni a la de 3.
Respuesta: Espera un momento que levante el capó y vemos el código.

A raíz de alguna de las entradas que Eduardo Abril publicó sobre ofuscación de exploits javascript y php recordé que una vez me bajé un interesante juego de cartas (bastante adictivo, añado) el cual exigía 10 eurazos por poder disputar las partidas completas, sino se te cortaban a la mitad de forma “casi” aleatoria.

Ni corto ni perezoso y dado que la interfaz me era familiar indagué, volví a indagar y descubrí que era un Visual Basic 6.0, la cosa me sonaba mucho así que me dije este código se puede de-compilar de un plumazo, y ahí está:

Visual Basic decompiler es una sencillísima herramienta de las muchas que hay para decompilar código, este caso en Visual Basic. Da igual que trabajeis con C#, C++, Java o php, salvo que el código esté protegido será posible sacarlo. Esto es especialmente problemático en Software distribuido como cliente pesado y si no es bien atajado surgen cracks como setas, solo hay que tener paciencia repasar el código… en este caso encontré que la casilla de introducción de clave del producto era un textbox donde se apilaba su valor y se invocaba a otra librería bien conocida:

….

loc_0096942B: call msvbvm60.dll.__vbaFreeVar

loc_0096942D: lea edx, var_24

loc_00969430: push 00430D74h ; "clave"

loc_00969435: push edx

loc_00969436: call 00925A50h

Las librerías también pueden ser de-compiladas, por lo que ya fue coser y cantar. Este pequeño ejemplo debe hacernos valorar si es necesario revisar el ciclo de vida de nuestros proyectos para implementar estos requisitos de seguridad, liberar un producto sin ofuscar puede ser una piedra lanzada contra nuestro propio tejado.

Un sector que tiene gran experiencia en este tema es el de los videojuegos, donde muchas empresas se han decantado por obligarte a “autenticarte” contra sus servidores cada vez que inicias el juego (aunque no juegues por Internet), es el caso de Half Life 2 o el futuro Command & Conquer 4.

Salu2

27 de mayo de 2009

Bromas Seguras

I'll buy your old bike for 1000 $

Response: Really?

Nah, was kidding.

De todos es conocido que la política de seguridad de las contraseñas es una de las piedras angulares de la Seguridad Informática. En ella se deben contemplar cositas como:

Ø Número de caracteres (alfanuméricos por supuesto).

Ø Caracteres especiales permitidos.

Ø Caducidad de la contraseña.

Ø Intentos fallidos de autenticación.

Ø Disponibilidad para la utilización de contraseñas antiguas.

Ø Etc.

Esto suele ser algo que los usuarios han asimilado poquito a poco, pero que muchas veces es una molestia, ¿Cuántos de vosotros tenéis realmente una contraseña para cada cosa? Ni tan siquiera con soluciones single-sign-on estamos salvados, tenemos que ir cambiando periódicamente y ya no sabemos que poner para acordarnos. Una forma sencilla de solucionar este problema de falta de inspiración / memoria es utilizar un generador de password tal como el siguiente:

Es uno de los muchos que hay disponibles en Internet, pero me ha gustado especialmente por la posibilidad de incluir una semilla que no sea la hora así como por la generación de los hash de las contraseñas. Con esto tendremos que pensar un poquito menos, ahora bien, ¿y si queremos generar una contraseña aleatoria con las características específicas que definen las GPO de mi maquina? Hacer esto desde Windows XP es muy sencillo, tanto como escribir:

¿Lo malo? Que no es necesario escribir la contraseña antigua y encima automáticamente te cambia la contraseña en el sistema. Esto está bien para esos momentos de poca inspiración o para… gastar una bromilla al despistado de turno que no bloquea la pantalla al abandonar su puesto, por que ante todo,,, ¡Concienciación!

Por que hay vida más allá de los correos invitando a paella los fines de semana.

Ah, y si alguien comienza a hacer pucheros pues… le pasais el Kon Boot :-p

Salu2!

8 de mayo de 2009

Kon Boot

Desde que hace un par de semanas me enteré vía genbeta de la publicación del kon_boot tenía ganas de echarle el guante. Hoy por fin he podido experimentar con él y el resultado ha sido agridulce. Pero no quiero adelantar los resultados.

Si no lo conocéis kon_boot es un live! CD o una imagen de disquete (1.4 MB!) que permite arrancar equipos con Sistema Operativo Linux o Windows sin conocer la contraseña o el usuario. Básicamente parchea el kernel del sistema operativo conforme es cargado en RAM. Aquí viene el primer inconveniente, si la partición del sistema operativo tiene solo 300-400 MB libres el kon_boot peta. Otro problema surge en equipos antiguos que no son compatibles con el Estándar “El Torito” de arranque por CD-ROM, si bien es un estándar de 1995 a mi me ha dicho que no era compatible con un equipo del 2001 y claro, tampoco ha arrancado. Entiendo que todo esto es resultado del estado “prototipo” que tiene el proyecto en la página de sus creadores.

Por cierto, ¿conoceis Bleach? Es la serie de anime en la que sale nuestro protagonista, Kon, que no es nada más que un alma modificada cuya misión inicial es acabar con los hollow (espiritus malvados) pero que lo que le mola realmente es levantar faldas y demás menesteres, de ahí que se refugie en un peluche como el que guardo en el coche:

¿A que es mono? :-p

¡Ah!, ¿por dónde iba? Bueno, como imagináis el kon-boot es muy útil para acceder al equipo en esas ocasiones en las que olvidamos la contraseña, si solventamos esos dos problemas de antes entraremos como administrador. El doble uso de esta herramienta es bien conocido, acceder de forma ilegítima, la solución también es conocida, eliminar el arranque por dispositivos externos, proteger la BIOS, cifrar el disco duro, proteger físicamente la CPU (candado o similares), contratar a un Terminator que colabore con las tareas domésticas, etc. ya sabemos que los chicos malos están a la expectativa y en cuanto pueden sueltan el Bankai:

Ah por cierto, dos últimos detalles, algunos antivirus lo detectan como virus / malware (lo que puede ser hasta normal) y si ya estáis probando la Release Candidate de Windows 7 un compi me ha soplado que es probable que os encontréis con esto al utilizar el kon boot:

Efectivamente, un BSOD en Windows 7

Eso me recuerda que me falta un capi de la saga de BSOD por publicar, pero eso será otro dia.

Happy Weekend!

18 de abril de 2009

Sam Cracking

¿Sábes cómo se entra aquí?

Respuesta: No lo se, pero estoy seguro que el Tio Sam si.

Si hay una combinación de herramientas dentro del mundo del Cracking que tiene historia y de la que “casi” todo el mundo ha oído hablar es la de Pwdump + L0pthcrack, con una extraes los hash de la SAM de Windows (del que estés usando o de uno remoto), y con la otra aplicas ataques por fuerza bruta (principalmente). Forman parte del “kit de herramientas” con el que todo white/black hat va tirando en el día a día.

La sintaxis de Pwdump es muy sencilla, con un sencillo “Pwdump nombre_maquina –u nombre usuario” puedes extraer de la SAM todos los hash (de los que ya hablamos), siempre y cuando dispongas de permisos claro (esto si tienes acceso físico no es un problema, como ya sabemos). El resultado te lo muestra en pantalla:

También puede ser redireccionado a un fichero, el cual puede servir como entrada para L0pthcrack. Ahora bien, esta última herramienta cuyo soporte  era labor de Symantec ya no es mantenida (desde el 2006), por lo que voy a aprovechar para presentaros su homóloga, el Opthcrack:

Aparte de aceptar el fichero de salida de Pwdump, puede obtener directamente el SAM por ella misma y mostrarte los usuarios del sistema, si tienen contraseña y el hash de la misma. Si queremos “recuperarlas” tendremos que bajarnos las Rainbow Tables por ejemplo de aquí (válidas para Windows XP). Con todo ello solo debemos seleccionar la opción de “Crack” y a los pocos minutos (dependiendo de la robustez de las contraseñas estas pueden tardar más tiempo o no llegar a ser extraídas de forma razonable) tendremos el premio:

Por que un olvido lo puede tener cualquiera, y si aun así no lo conseguimos, siempre nos quedará el Hiren's Boot :-P

Salu2

13 de febrero de 2009

The Sessions por Madrid (I)

Tito GigA, tito GigA, ¡ese señor me da miedo!
Respuesta: No sufras pequeñín, es Maligno pero inofensivo.

Resumir alrededor de 5 horas de conferencias de seguridad en unas pocas palabras, con la síntesis de los mensajes que nos lanzaron, es mi objetivo de hoy (bueno, también es echarme un par de cervezas más tarde, pero eso no viene a cuento xD). Como os conté ayer la gira de los Technet de Microsoft: Up to Secure llegaba hoy viernes a Madrid, donde además terminaba (para descanso de el Maligno & cia). Ya a primera hora se encontraba Justo Uceta con las pilas cargadas para contarnos su Business Integration y cómo proteger la información, ese activo crítico para la empresa.

Business Integration: Esta charla nos pilló con las neuronas en pijama, no obstante la misma se basaba en una serie de recomendaciones de seguridad genéricas y las soluciones que los distintos proveedores ofrecían (si, Microsoft incluido). Ahí pudimos ver cositas de autenticación robusta (que es la formada por al menos dos elementos de algo que tienes, algo que sabes y algo que eres), firma digital, network Access control (NAC), seguridad en dispositivos USB, gestión de derechos digitales, protección perimetral y un concepto que innovador, monitorización pre-admisión (antes de autenticarte, etc.) y monitorización post-admisión (ya estás dentro, pero no te pierdo el ojo). Soluciones como la de Quest Software que vimos más adelante iban en esta línea.

Están son las XBOX que NO nos regalaron :-(

D-Link: Redes Wifis, Problemas y Soluciones: Xavi Campos consiguió en sus comienzos que viéramos las tecnologías wifi como método anticonceptico del siglo XXI (¿?) y tras sacarnos una sonrisa rápidamente le cambió la cara y comenzó a hablarnos de ataques, packet sniffing, análisis de tráfico, suplantación de puntos de acceso, MITM, inyección de paquetes, denegación de servicio, todo ello con demo en directo de Commview + Cain en Windows 7 partiendo candados WPA2 – PSK. No está nada mal, ¿verdad?, un par de apuntes que tomé fue la programación de Wireless Lan Scheduler, que son las políticas que desactivan nuestras Wifi en el trabajo fuera de horario de oficina y el control de potencia de los puntos de acceso para impedir en la medida de lo posible que nuestras ondas a 2.4Ghz pululen más allá de donde debieran :-)


Y este es Dino, a sus 6o millones de años se conserva muy bien.

Quest Software: Auditoría de Seguridad y Forense: Cuando ya empezaba a picarnos el gusanillo del café que Spectra nos iba a pagar by the face llegó Carles Martín y su mascota dino (¿?). Dino es un dinosaurio que vigila al público de Carles para que se porte bien, así que allí estábamos todos como soldaditos de plomo. Así pudimos atender sin parpadear al framework de seguridad / autidoria / análisis forense que Quest ha desarrollado llamándolo Intrust. Esta herramienta me recordó al metadirectorio del cual os hable por la variedad de conectores que tiene para todos los sistemas, estos conectores actúan como una capa adicional de seguridad capaces de monitorizar todos los eventos que deseemos en base a las políticas de seguridad del sistema. En el ejemplo vimos a un mega-ultra-administrador de Windows 2k8 que era bloqueado por la herramienta cuando trataba de borrar una GPO, además se le cerraba la sesión y se enviaba un correo electrónico a los responsables de seguridad, lo que viene muy bien para evitar que alguien meta la pata y nos fastidie el Active Directory por desconocimiento (o malicia).

Entonces llegó el momento ansiado de cafés, bollitos y zumito pagado por el Tio Bill…


23 de octubre de 2008

Delito por Cracking

Publicó El País en el día de ayer una noticia sobre la primera sentencia aplicada en España contra un cracker, concretamente en Pontevedra. Si os leis la noticia seguramente resaltaréis varias cosas:
  • Afirman que es la 1ª vez que la justicia condena a un “cracker”, algo que quizás produzca duda sobre los términos usados, ya que si yo “crackeo” la wifi de mi vecino, también puedo ser un cracker, o si busco un crack para Windows Vista, también puedo ser un cracker, o si, o si… en resumen, el término en mi opinión está mal aplicado, yo diría que es una sentencia emitida a raíz de un delito informático contra la propiedad intelectual de un software (de estas yo creo que ya hay varias, sin necesidad de ponerme a buscar).
  • El imputado y su defensa se han declarado conforme con la sentencia. La cual afirma que desde 2003 ha estado elaborando y poniendo en circulación diversos “cracks” o programas informáticos para anular los sistemas de protección anticopia. Donde poner en circulación significa que, encima, los distribuia por Emule y eDonkey (la sentencia realmente dice eDonky).
  • Se le condena por delito continuado contra la propiedad intelectual (Art. 270) con 5000 € de multa + costas (1000€ solo) + prision 6 meses, en los cuales no puede trabajar en nada relacionado con la informática.

Desconociendo el procedimiento judicial llevado a cabo, y teniendo 1º de Derecho sin matricular, el artículo 270 nos dice:

1. Será castigado con la pena de prisión de seis meses a dos años y multa de 12 a 24 meses quien, con ánimo de lucro y en perjuicio de tercero, reproduzca, plagie, distribuya o comunique públicamente, en todo o en parte, una obra literaria, artística o científica, o su transformación, interpretación o ejecución artística fijada en cualquier tipo de soporte o comunicada a través de cualquier medio, sin la autorización de los titulares de los correspondientes derechos de propiedad intelectual o de sus cesionarios.

2. Será castigado con la pena de prisión de seis meses a dos años y multa de 12 a 24 meses quien intencionadamente exporte o almacene ejemplares de las obras, producciones o ejecuciones a que se refiere el apartado anterior sin la referida autorización. Igualmente incurrirán en la misma pena los que importen intencionadamente estos productos sin dicha autorización, tanto si éstos tienen un origen lícito como ilícito en su país de procedencia; no obstante, la importación de los referidos productos de un Estado perteneciente a la Unión Europea no será punible cuando aquellos se hayan adquirido directamente del titular de los derechos en dicho Estado, o con su consentimiento.

3. Será castigado también con la misma pena quien fabrique, importe, ponga en circulación o tenga cualquier medio específicamente destinado a facilitar la supresión no autorizada o la neutralización de cualquier dispositivo técnico que se haya utilizado para proteger programas de ordenador o cualquiera de las otras obras, interpretaciones o ejecuciones en los términos previstos en el apartado 1 de este artículo.

Entendiendo que el chaval no tenía animo de lucro (al menos no se demuestra), y que el software no está clasificado como “obra literaria, artística, o científica” (aunque el artículo 10.1 así lo recoge), también es dificilmente clasificable dentro de la propiedad industrial. El software no es lo que se vende, sino una licencia de uso, que nos dá derecho a copia privada, pero no a modificar la obra, ahora bien, se me plantean las siguientes preguntas (perdonad por el enmarasijo legal y de conceptos):

- ¿Cómo han demostrado que el imputado es quien “crackeó el programa, y además en 3 ocasiones?
- ¿Cómo han demostrado que él fue el 1º en distribuir el crack, por las redes p2p?
- Si lo han descubierto a través de la IP, ¿cómo han asociado IP con persona?

Evidentemente, y llamando al sentido común, el imputado debía ser el culpable, por que no rechistó, también es cierto que la condena es del minimo que impone la ley, y viendo los precios del PRESTO, pues se puede entender que tampoco es excesivamente cara la “multa”. No obstante, espero y deseo que que haya algo más detrás, por que no me creo que un “cracker” accidentalmente comparta su "obra", o que reitere en su “hazaña” por diversión (…), o que desconozca la legislación que le ampara y concretamente las diversas formas para defenderse que su abogado podría haber interpelado, o que no haya cometido otros delitos si le han intervenido el equipo...

Pongo la mano en el fuego, y no me quemo, cuando digo que seguramente, hay mucho más detrás.