elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


Tema destacado: Java [Guía] Patrones de diseño - Parte 1


+  Foro de elhacker.net
|-+  Seguridad Informática
| |-+  Bugs y Exploits (Moderador: berz3k)
| | |-+  Explotando un Integer Overflow
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Explotando un Integer Overflow  (Leído 714 veces)
integeroverflow

Desconectado Desconectado

Mensajes: 60


Ver Perfil
Explotando un Integer Overflow
« en: 24 Febrero 2017, 02:18 »

que tal. la cosa es asi.

descubri una vulnerabilidad (quizas?) en un programa que funciona como cliente.
este consiste en una lista de servidores que uno puede agregar o quitar especificando la direccion ip y el puerto de escucha.

programe un servidor que responde a las consultas de este cliente, como si fuese un servidor legitimo del programa, pero al responder la consulta envio un entero demasiado largo (long long) que produce que el cliente muestre el mensaje de "integer overflow" y se cierre (crash).

mi idea seria, reemplazar el instruction pointer ingresando la direccion de memoria de donde empieza el paquete, enviando al inicio del paquete una shellcode que realize X accion.

seria esto posible?
que requisitos se deben presentar para poder reemplazar el IP de manera exitosa con un integer overflow?

se me ocurria algo como esto:

char X[] = "adsjkhdsakljhdsajklhdsakljhdsajklhdsakjlsdahjklsdahjklsdahjklsdhjkldshkjdlashdasjlkhakjhlkjsadhaslkjhs\x56\x54\x53\x53";
long long overflow = *(long long*) &X;

es decir, castear el payload a long long para que al desbordarse el entero en el instruction pointer quede la direccion de memoria del inicio del paquete, funcionaria de la manera que yo creo?

gracias.
disculpen si hay algo que ignoro, todavia soy nuevo en esto de explotar vulnerabilidades.
En línea

engel lex
CoAdmin
***
Desconectado Desconectado

Mensajes: 11.750



Ver Perfil
Re: Explotando un Integer Overflow
« Respuesta #1 en: 24 Febrero 2017, 02:28 »

no entiendo para que quieres atacar el cliente si tienes completo acceso a el :s si quieres atacar el servidor, lo que debes hacer es analizar la estructura de paquete enviado por el cliente y crear tu propio cliente... si quien hizo el programa sabe de programación, el servidor estará configurado bien y el cliente no te dará ningún permiso especial
En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
integeroverflow

Desconectado Desconectado

Mensajes: 60


Ver Perfil
Re: Explotando un Integer Overflow
« Respuesta #2 en: 24 Febrero 2017, 02:34 »

no entiendo para que quieres atacar el cliente si tienes completo acceso a el :s si quieres atacar el servidor, lo que debes hacer es analizar la estructura de paquete enviado por el cliente y crear tu propio cliente... si quien hizo el programa sabe de programación, el servidor estará configurado bien y el cliente no te dará ningún permiso especial

mi idea es meter un shellcode que descargue e instale mi programa para hacerlos parte de una botnet.

entonces solo tendria que publicar la ip en lugares donde haya gente que utilize este cliente (es un juego), invitarlos a jugar, pero con solo agregar la ip del servidor descargarian y ejecutarian mi programa, se entiende?
cabe destacar que la gran mayoria de usuarios ejecuta el programa como administrador ya que hay ciertos problemas de compatibilidad con las versiones nuevas de windows.

sobre la vulnerabilidad, lo que intento hacer seria posible?
En línea

engel lex
CoAdmin
***
Desconectado Desconectado

Mensajes: 11.750



Ver Perfil
Re: Explotando un Integer Overflow
« Respuesta #3 en: 24 Febrero 2017, 02:50 »

no, tu estás explotando el programa no el servidor... son cosas mu diferentes... es como tratar de explotar la seguridad de fb vulnerando tu navegador...

ve que tipo de peticiones hace el programa al servidor, si el servidor le da permisos especiales al programa, haces tu propio programa para mandar peticiones al servidor y listo...

Citar
pero con solo agregar la ip del servidor descargarian y ejecutarian mi programa

eso dependería muchisimo del tipo de servidor... y creeme si es una empresa algo respetable, que tenga por lo menos un encargado de seguridad, notaran algo raro en cosa de horas (o minutos)
En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
integeroverflow

Desconectado Desconectado

Mensajes: 60


Ver Perfil
Re: Explotando un Integer Overflow
« Respuesta #4 en: 24 Febrero 2017, 02:57 »

no, tu estás explotando el programa no el servidor... son cosas mu diferentes... es como tratar de explotar la seguridad de fb vulnerando tu navegador...

ve que tipo de peticiones hace el programa al servidor, si el servidor le da permisos especiales al programa, haces tu propio programa para mandar peticiones al servidor y listo...

eso dependería muchisimo del tipo de servidor... y creeme si es una empresa algo respetable, que tenga por lo menos un encargado de seguridad, notaran algo raro en cosa de horas (o minutos)

creo que no me estas entendiendo...
yo lo que quiero explotar es el cliente, utilizando un servidor programado por mi que responde las consultas de cualquier cliente que quiera comunicarse con mi servidor. ahi es donde envio el paquete que produce el integer overflow, desde el servidor que YO programe.

lo que quiero lograr es ejecutar codigo en cualquier cliente que se comunique con mi servidor, enviandole un paquete que produzca el desborde del entero y ejecute el shellcode, con el objetivo de instalar malware en todas las pc que agreguen mi "servidor" a su lista de servidores en su cliente. se entiende?

no me interesa vulenrar ningun servidor real de este programa. el CLIENTE es mi objetivo.

Funcionamiento normal:
SERVIDOR LEGITIMO
-Cliente 1 : envia y recibe datos normalmente
-Cliente 2 : envia y recibe datos normalmente
-Cliente 3 : envia y recibe datos normalmente

SERVIDOR FALSO (el que programe)
-Cliente 1: envia informacion y recibe el paquete mal formado -> Integer overflow -> Se ejecuta el shellcode y se infecta con mi malware
-Cliente 2: envia informacion y recibe el paquete mal formado -> Integer overflow -> Se ejecuta el shellcode y se infecta con mi malware
-Cliente 3: envia informacion y recibe el paquete mal formado -> Integer overflow -> Se ejecuta el shellcode y se infecta con mi malware
En línea

engel lex
CoAdmin
***
Desconectado Desconectado

Mensajes: 11.750



Ver Perfil
Re: Explotando un Integer Overflow
« Respuesta #5 en: 24 Febrero 2017, 03:10 »

ya! ahora si se entiende jejeje

ahora, cual es tu propuesta como tal?

si es posible? dependerá de la estructura del programa... aunque probablemente si te indica un overflow explicitamente lo más seguro es que si tiene protección y se cierra para asegurarse... normalmente ante el overflow o crashearía directamente (o con un mensaje inexacto), tendría un comportamiento inesperado o no reaccionaría en lo obsoluto
En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
integeroverflow

Desconectado Desconectado

Mensajes: 60


Ver Perfil
Re: Explotando un Integer Overflow
« Respuesta #6 en: 24 Febrero 2017, 03:27 »

ya! ahora si se entiende jejeje

ahora, cual es tu propuesta como tal?

si es posible? dependerá de la estructura del programa... aunque probablemente si te indica un overflow explicitamente lo más seguro es que si tiene protección y se cierra para asegurarse... normalmente ante el overflow o crashearía directamente (o con un mensaje inexacto), tendría un comportamiento inesperado o no reaccionaría en lo obsoluto

a decir verdad, el programa no crashea. yo lo hago crashear respondiendo con 15-20 paquetes. use este servidor para joder a unos amigos ya que al agregar mi servidor falso se les cerraba el cliente y al volver a arrancar el cliente teniendo mi servidor agregado volvia a enviar la consulta y se volvia a cerrar. haciendo que tengan que reinstalarlo jajajaja.

la cosa es asi, si respondo la consulta con el entero demasiado grande, sale el mensaje que dice "Integer overflow", pero el programa no se cierra. lo que hago para crashear el cliente es responder la consulta enviando ese paquete mal formado unas cuantas veces (20 veces), lo que produce que salgan muchas ventanas de "integer overflow" y crashee el programa.

ahora me pregunto, si ese MessageBox que sale diciendo "integer overflow" significara que esta protegido.

como deberia proceder para intentar reemplazar el ip?

En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Explotando el bug de buffer overflow remoto (NSIISlog.DLL) « 1 2 »
Bugs y Exploits
Rojodos 18 10,297 Último mensaje 7 Septiembre 2004, 02:23
por Man-In-the-Middle
Ayuda por intrusión MS ASN1 Integer Overflow TCP
Hacking Avanzado
Picto 0 2,207 Último mensaje 17 Marzo 2006, 21:08
por Picto
libsndfile 1.0.18 CAF Processing Integer Overflow Vulnerability
Bugs y Exploits
AlbertoBSD 4 2,285 Último mensaje 8 Marzo 2009, 16:27
por AlbertoBSD
Dudas con Integer Overflow « 1 2 »
Bugs y Exploits
Vaagish 13 2,066 Último mensaje 10 Septiembre 2015, 06:41
por Vaagish
MOVIDO: Dudas con Integer Overflow
Ingeniería Inversa
MCKSys Argentina 0 275 Último mensaje 10 Septiembre 2015, 04:48
por MCKSys Argentina
Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines