29 de noviembre de 2010
(Not) Advanced Encryption Standard
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
26 de agosto de 2009
De la importancia de Ofuscar
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á:
….
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
Ø 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:

¡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:

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.
La sintaxis de Pwdump es muy sencilla, con un sencillo “Pwdump nombre_maquina –u nombre usuario” puedes extraer de

13 de febrero de 2009
The Sessions por Madrid (I)
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 :-(

Y este es Dino, a sus 6o millones de años se conserva muy bien.
Entonces llegó el momento ansiado de cafés, bollitos y zumito pagado por el Tio Bill…
23 de octubre de 2008
Delito por Cracking
- 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.