Брут роутера с помощью thc-hydra (мануал для новичков)

Discussion in 'Беспроводные технологии/Wi-Fi/Wardriving' started by Kevin Shindel, 27 Jan 2016.

  1. Kevin Shindel

    Kevin Shindel Elder - Старейшина

    Joined:
    24 May 2015
    Messages:
    1,015
    Likes Received:
    1,200
    Reputations:
    62
    Карта брута.
    ******************
    TP-Link 741 ND
    D-link300NRU
    TP-Link TL-WR841N
    D-Link DSL-2640U
    Linksys EA2700
    ******************

    Для справки как определить методы запроса!

    Поясните разницу между HTTP методами GET и POST ?

    GET передает данные серверу используя URL, когда POST передает данные, используя тело HTTP запроса.

    Длина URL'а ограничена 1024 символами, это и будет верхним ограничением для данных, которые можно отослать GET'ом.

    POST может отправлять гораздо большие объемы данных. Лимит устанавливается веб-сервером и обычно равен около 2MB.

    Передача данных методом POST более безопасна, чем методом GET, так как секретные данные (например пароль) не отображаются напрямую в web-клиенте пользователя (в отличии от URL, который виден почти всегда).



    Добрый вечер любители вкусной и вредной пищи.

    Поговорим о такой вещи как Hydra из дистрибутива Kali.
    Вещь вроде бы уже давно всем знакомая, но не все умеюют ею пользоватся.
    Я тут немного посидел намедни и вроде бы чуток разобрался.
    Хочу поделится с сообществом своими знаниями.

    И так начнем.
    Hydra используется для взлома таких протоколов как ...

    " asterisk cisco cisco-enable cvs firebird ftp ftps http(s)-{head|get} http(s)-{get|post}-form http-proxy http-proxy-urlenum icq imap(s) irc ldap2(s) ldap3[-{cram|digest}md5](s) mssql mysql nntp oracle-listener oracle-sid pcanywhere pcnfs pop3(s) postgres rdp rexec rlogin rsh sip smb smtp(s) smtp-enum snmp socks5 ssh sshkey svn teamspeak telnet(s) vmauthd vnc xmpp "

    В данном случае мы будем брутить http-get и hhtp-post-form.

    Чем они отличаются и как определить....
    Знаний моих в HTML немного кого заинтересует может загуглить, я лишь визуально покажу где http-get а где http-post-form

    Начнем с http-get.
    Итак брутим TP-Link 741 ND
    версия прошивки - 3.13.2 Build 130618 Rel.34788n
    аппаратная версия - WR741ND v4 00000000

    Заходим на вебморду роутера. Адресс ай-пи можно узнать посмотрев состояние сетевого подключения. (в данном случае подключение совершено через вафлю.)

    [​IMG]
    [​IMG]
    [​IMG]

    Кликаем по трею сетевого подключения-> Ваша сеть-> Состояние->Сведения->Шлюз по-умолчанию

    С ай-пи разобрались в данном случае это 192.168.1.1
    Заходим через браузер и видим такое окошко.

    [​IMG]

    Такой вид авторизации называется http-get.
    Это очень легкая форма для брута.
    Лезем в консоль и набиваем...

    root@Anonymous: hydra -l admin -P router-pass.dic -t 1 -e nsr -vV -f -s 80 192.168.1.1 http-get /

    в данном примере я использовал в качестве логина -l admin, в качестве пасса словарик предварительно подготовленый -P router-pass.txt
    обратите внимание что от регистра завизит как гидра будет использовать предоставленые данные.
    -l admin
    -L admin.txt
    это разные вещи!

    -t 1 - кол-во потоков (для роутеров лучше использовать 1, потому как многопоточность авторизации они не поддерживают) да и скорость не отличается.

    -e nsr - "n" — пробовать с пустым паролем, "s" — логин в качестве пароля и/или "r" — реверс учётных данных, в данном случае проверка будет такая "", "nimda", "admin". далее брут пойдет по словарю.

    -vV - позволяет просматривать состояние брута
    -f остановится после удачной попытки взлома
    -s 80 - порт подключения
    192.168.1.1 - ай-пи адресс роутера
    http-get / - форма морды.

    В данном случае это "Изи катка"... вот пруф...

    [​IMG]

    Фуххх... первую часть закончил...сейчас попью чаю и продолжим...
     
    #1 Kevin Shindel, 27 Jan 2016
    Last edited: 18 Aug 2016
    pta53-68bis, wh0nixx, Buran and 20 others like this.
    1. Kevin Shindel

      Kevin Shindel Elder - Старейшина

      Joined:
      24 May 2015
      Messages:
      1,015
      Likes Received:
      1,200
      Reputations:
      62
      Итак ... давайте немного усложним задачу... возьмемся за брут http-post-form

      Давайте сбрутим морду D-link300NRU
      версия прошивки - 2.5.11
      аппаратная версия - DIR-300NRU rev.B5/B6

      Определяем ай-пи роутера... как в примере выше.
      заходим на морду.
      Итак что мы видим....

      [​IMG]

      Ага... данные нужно вводить в html странице...
      Такой метод авторизации - http-post-form, и тут нужно немношко повозится так как нам нужно понять как браузер отправляет роутеру данные.

      В данном случае и использовал браузер Chrome. (его аналог Chromium в Kali Linux, инсталится через apt-get install chromium)

      Сейчас нужно сделать одну очень глупую вещь... указать неверный логин и пасс...
      для чего увидим позже...

      Нажимаем F12 что бы перейти в режим редактирования веб-страницы.

      [​IMG]

      Переходим в
      Network-> Включаем галочку Preserv log.

      [​IMG]

      Вводим левый логин и пасс...

      [​IMG]

      Ну что за дела! Так не пойдет!
      (Более того после нескольких неудачных попыток входа, морда лочится на 180 сек!)

      переходим во вкладочку HEADERS
      ищем строку...
      Code:
       Request URL:http://192.168.0.1/index.cgi 

      отрезаем все до айпи адреса - /index.cgi ..... поздравляю мы нашли первую часть срикпта авторизации...
      идем дальше...
      переходим к владке FORM DATA и изменяем режим отображения на VIEV SOURCE

      [​IMG]
      [​IMG]
      Code:
      update_login=login&update_password=password&check_auth=y&tokenget=1300& 
      немношко обрежем....
      Code:
       update_login=login&update_password=password 

      бинго! мы нашли вторую часть скрипта авторизации!!! еще чуть чуть!!!
      теперь нужно найти страницу с фейлом...
      Нужно нажать на вкладку ELEMENTS

      [​IMG]

      и выбрать элемент HTML кода (CTRL+SHIFT+C) и выбрать окно с сообщением об ошибки...
      в данном случае - Authentication failed!

      [​IMG]

      так нас бросило сюда...
      Code:
       <span langkey="bad_auth" style="display: inline;">Authentication failed!</span> 

      выбираем
      Code:
       span langkey="bad_auth" 
      и немношко правим...
      bad_auth - все !!! практически ключ у нас в кармане...
      теперь мы можем полностью написать строку авторизации

      поехали....
      Code:
       index.cgi:update_login=login&update_password=password:bad_auth 

      теперь нужно подставить вместо login - ^USER^ и вместо password ^PASS^ и тогда строка будет иметь вид...
      Code:
       index.cgi:update_login=^USER^&update_password=^PASS^:bad_auth 

      прописываем полную строку для брута...
      root@Anonymous: hydra -l admin -P router-pass.dic -t 1 -e nsr -vV -f -s 80 192.168.0.1 http-post-form "/index.cgi:update_login=^USER^&update_password=^PASS^:bad_auth"
      обратите внимание что между частями скрипта двоеточие! это обязательно!

      после того как мы все указали правильно, начнётся брут...
      Кстати лока морды через гидру не происходило... это очень радует.

      [​IMG]

      Ну вот в принципе и все что я хотел поведать...
      Немного позже я покажу как сбрутить современную прошивку tp-link'a.

      Были использованые материалы...
      https://webware.biz/?p=4867
      http://blog.kplus.pro/hack/hydra-bruteforce-passwd.html

      Ссылка на мой словарик для роутеров...
      http://rghost.ru/8pcXNv4wv

      И краткий мануал по гидре.
      -R восстановить предыдущую прерванную/оборванную сессию
      -S выполнить SSL соединение
      -s ПОРТ если служба не на порту по умолчанию, то можно задать порт здесь
      -l ЛОГИН или -L ФАЙЛ с ЛОГИНАМИ (именами), или загрузить несколько логинов из ФАЙЛА
      -p ПАРОЛЬ или -P ФАЙЛ с паролями для перебора, или загрузить несколько паролей из ФАЙЛА
      -x МИНИМУМ:МАКСИМУМ:НАБОР_СИМВОЛОВ генерация паролей для брутфорса, наберите "-x -h" для помощи
      -e nsr "n" — пробовать с пустым паролем, "s" — логин в качестве пароля и/или "r" — реверс учётных данных
      -u зацикливаться на пользователя, а не на парлях (эффективно! подразумевается с использованием опции -x)
      -C ФАЙЛ формат где "логин:пароль" разделены двоеточиями, вместо опции -L/-P
      -M ФАЙЛ список серверов для атак, одна запись на строку, после двоеточия ':' можно задать порт
      -o ФАЙЛ записывать найденные пары логин/пароль в ФАЙЛ вместо стандартного вывода
      -f / -F выйти, когда пара логин/пароль подобрана (-M: -f для хоста, -F глобально)
      -t ЗАДАЧИ количество запущенных параллельно ЗАДАЧ (на хост, по умолчанию: 16)
      -w / -W ВРЕМЯ время ожидания ответов (32 секунды) / между соединениями на поток
      -4 / -6 предпочитать IPv4 (по умолчанию) или IPv6 адреса
      -v / -V / -d вербальный режим / показывать логин+пароль для каждой попытки / режим отладки
      -q не печатать сообщения об ошибках соединения
      -U подробные сведения об использовании модуля
      server цель: DNS, IP или 192.168.0.0/24 (эта ИЛИ опция -M)
      service служба для взлома (смотрите список поддерживаемых протоколов)
      OPT некоторые модули служб поддерживают дополнительный ввод (-U для справки по модулю)

      Post Scriptum:
      Не рекомендую пользоватся методом брутфорса перебором -x:6:6:1 потому как скорость перебора очень не большая,
      при очень хорошей связи скорость перебора составляет 500-600 комбинаций, это архимало.

      Post Post Scriptum:
      Мой чай во время написания этой статьи остыл ))))
      Хочу сказать спасибо моей жене Елене и моему сыну Захару, что дали мне время для написания этого мануала...

      \\Добавил в карту раздела.
       
      #2 Kevin Shindel, 27 Jan 2016
      Last edited: 18 Aug 2016
      fiwob, CyberTro1n, Shnaidt and 31 others like this.
      1. erwerr2321

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

        Joined:
        19 Jun 2015
        Messages:
        4,234
        Likes Received:
        26,223
        Reputations:
        147
        Вот так бывало заморочишься, а дня через три понимаешь, что чай уже остыл...:D

        С POST запросом, молодец! Если добавишь что по другим мордам с POST, то аще...
         
        Ruslan1993it, Triton_Mgn and J()KER like this.
        1. Turanchocks_

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

          Joined:
          11 May 2013
          Messages:
          1,325
          Likes Received:
          3,257
          Reputations:
          17
          Красава!
           
          1. J()KER

            J()KER Member

            Joined:
            17 Aug 2013
            Messages:
            132
            Likes Received:
            42
            Reputations:
            0
            а можешь на морду ubiquiti посмотреть? может допрешь как ее брутить.
             
            1. Kevin Shindel

              Kevin Shindel Elder - Старейшина

              Joined:
              24 May 2015
              Messages:
              1,015
              Likes Received:
              1,200
              Reputations:
              62
              скинь ай-пи в личку.
               
              1. Triton_Mgn

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

                Joined:
                6 Jul 2015
                Messages:
                3,665
                Likes Received:
                5,754
                Reputations:
                51
                Однозначно в memory/ Kevin Shinde благодарность за такой пост.
                 
                CyberTro1n likes this.
                1. Felis-Sapiens

                  Felis-Sapiens Reservists Of Antichat

                  Joined:
                  21 Jul 2015
                  Messages:
                  616
                  Likes Received:
                  3,833
                  Reputations:
                  171
                  Там вместо application/x-www-form-urlencoded используется multipart/form-data. Если я не ошибаюсь, hydra такие формы не поддерживает.
                   
                  TOX1C, J()KER and Triton_Mgn like this.
                  1. J()KER

                    J()KER Member

                    Joined:
                    17 Aug 2013
                    Messages:
                    132
                    Likes Received:
                    42
                    Reputations:
                    0
                    Сори, но у меня нет такого, еще летом натыкался на такой рутер, сбрутил тогда по 22 порту, если вдруг опять наткнусь скину.
                     
                    1. user100

                      user100 Moderator

                      Joined:
                      24 Dec 2011
                      Messages:
                      4,694
                      Likes Received:
                      17,568
                      Reputations:
                      374
                      Aвтор не раскрыл настройки брута веб форм, при работе авторизации с cookie, но все равно ТСу однозначно +.
                       
                      _________________________
                      Shnaidt, TOX1C and Triton_Mgn like this.
                      1. Triton_Mgn

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

                        Joined:
                        6 Jul 2015
                        Messages:
                        3,665
                        Likes Received:
                        5,754
                        Reputations:
                        51
                        Возникла идея добавить в прилепленые тем
                        Автор сделает это, подедившись с нами.
                         
                        1. Kevin Shindel

                          Kevin Shindel Elder - Старейшина

                          Joined:
                          24 May 2015
                          Messages:
                          1,015
                          Likes Received:
                          1,200
                          Reputations:
                          62
                          Продолжаем наш роутерный беспредел....
                          Итак у нас задача со звёздочкой....

                          Давайте сбрутим морду TP-Link TL-WR841N
                          версия прошивки - 3.15.9 Build 140625 Rel.64271n
                          аппаратная версия - WR841N v9 00000000

                          Честно говоря брут этого роутера заставил меня немного попотеть... сейчас увидите почему.

                          Начнем с того что роутер находился на айпишнике 192.168.0.1
                          Впринципе ничего нового....

                          [​IMG]

                          Морда вроде бы похожа на POST... но меня это почему то насторожило.

                          Переходим опять в режим редактирования страницы , нажимаем F12.
                          Что мы видим...

                          [​IMG]

                          Да этож бубль-гум!(с) т.е. http-get только не очень простой...

                          хм... чо ж делать то... давайте ковырятся.

                          [​IMG]

                          Вобщем котаны дело такого рода...

                          Броузир передаёт роутыру логин и пасс в виде пары

                          Code:
                            base-64( login+md5(pass) ) 
                          Строка аутентификации будет иметь вид:

                          Authorization=Basic%20YWRtaW467hDDFeuix1tAPqmRNvW0jQ%3D%3D

                          отрезаем лишнее - YWRtaW467hDDFeuix1tAPqmRNvW0jQ

                          Заливаем всё на base64.ru
                          получаем логин

                          YWRtaW467hDDFeuix1tAPqmRNvW0jQ-> base64 -> admin:md5(pass)

                          отлично осталась вторая часть - 7hDDFeuix1tAPqmRNvW0jQ

                          Гидрой тут к сожалению ничего не сделать (гидра не поддерживает шифрацию на лету ) прийдётся прибегнуть к BurpSuite
                           
                          #12 Kevin Shindel, 28 Jan 2016
                          Last edited: 18 Aug 2016
                          Vjubkmobr, Triton_Mgn, TOX1C and 8 others like this.
                          1. erwerr2321

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

                            Joined:
                            19 Jun 2015
                            Messages:
                            4,234
                            Likes Received:
                            26,223
                            Reputations:
                            147
                            Марафон!!! :D

                            Класс, старина! Так держать!
                            Только может стоит позже всё в шапку добавлять!? Как думаешь?
                             
                            1. fire-dance

                              fire-dance Elder - Старейшина

                              Joined:
                              12 May 2015
                              Messages:
                              996
                              Likes Received:
                              663
                              Reputations:
                              12
                              Очень познавательнно,чуствую буду я в етой статье ковыряться очень долго,
                              как всегда вопрос полюбому гидра подбирает пароль по словарю?
                               
                              1. amod-cccp

                                amod-cccp Member

                                Joined:
                                15 Jan 2014
                                Messages:
                                41
                                Likes Received:
                                14
                                Reputations:
                                0
                                Прям затягивает. Даешь еще примеры!
                                 
                                1. Felis-Sapiens

                                  Felis-Sapiens Reservists Of Antichat

                                  Joined:
                                  21 Jul 2015
                                  Messages:
                                  616
                                  Likes Received:
                                  3,833
                                  Reputations:
                                  171
                                  Спасибо за пост, но есть некоторые сомнения. У кого-нибудь получилось подобрать пароль таким образом? Можно скриншот?
                                  Уже писал, что они передаются через куки (пара логин:пароль, закодированная BASE64, в куки Authorization=Basic...; вместо пароля может быть хэш на основе md5)
                                  [​IMG]
                                  Code:
                                  hydra -l '' -p "Authorization=Basic YWRtaW46MjEyMzJmMjk3YTU3YTVhNzQzODk0YTBlNGE4MDFmYzM=" -f -s 80 43.242.242.128  http-get-form "/userRpm/LoginRpm.htm:Save=Save&^USER^:loginBox:H=Cookie\: ^PASS^"
                                   
                                  #16 Felis-Sapiens, 29 Jan 2016
                                  Last edited: 29 Jan 2016
                                  Triton_Mgn and user100 like this.
                                  1. chugunkin

                                    chugunkin Banned

                                    Joined:
                                    22 Dec 2015
                                    Messages:
                                    25
                                    Likes Received:
                                    13
                                    Reputations:
                                    0
                                    Спасибо за статью. Все очень красиво расписано.
                                    Сам пару дней не мог составить запрос на эти же роутеры. Очень все помогло.
                                    Не согласен для "-t 1" - это работает только для http-post-form и ну очень медленно.
                                    При дефаулте в 16 потоков http-get у меня выдает где-то 2500 tries/min.
                                    Есть вопрос.
                                    Никак не получается запустить с "-М" (в файл кидаю список IP полученный роутер сканом).
                                    Hydra вылетает с ошибкой - какой-то памяти ей не хватает.
                                    Help me. Спасибо.
                                     
                                    1. Kevin Shindel

                                      Kevin Shindel Elder - Старейшина

                                      Joined:
                                      24 May 2015
                                      Messages:
                                      1,015
                                      Likes Received:
                                      1,200
                                      Reputations:
                                      62
                                      Абсолютно верно, пасс был подобран верно, но это скорее случайность. После второго прохода, получилась накладка.
                                      Приношу извинения у сообщества. Но я добью этот роутер и выложу работу с кукями.
                                       
                                      V777, TOX1C, Payer and 1 other person like this.
                                      1. Kevin Shindel

                                        Kevin Shindel Elder - Старейшина

                                        Joined:
                                        24 May 2015
                                        Messages:
                                        1,015
                                        Likes Received:
                                        1,200
                                        Reputations:
                                        62
                                        есть несколько режимов.
                                        - l admin -p admin - гидра пытается ввести admin:admin
                                        -l admin -P pass.txt - гидра пытается войти под логином admin с пассами в словаре pass.txt
                                        -L login.txt -P pass.txt - пытается войти с логином и пассом из двух словарей
                                        -С log-pass.txt пытается войти из одного словаря с типом admin : pass
                                        -l admin -x 4:4:1 пытается войти под админом и сбрутить пасс 4 знака цифры с 0000 по 9999
                                         
                                        1. Triton_Mgn

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

                                          Joined:
                                          6 Jul 2015
                                          Messages:
                                          3,665
                                          Likes Received:
                                          5,754
                                          Reputations:
                                          51
                                          -L login.txt -P pass.txt - пытается войти с логином и пассом из двух словарей

                                          Перебор идет так:

                                          login.txt - admin, user, root
                                          pass.txt - 1, 2, 3, 4

                                          admin-1
                                          admin-2
                                          admin-3
                                          admin-4
                                          user-1
                                          user-2
                                          user-3
                                          user-4
                                          root-1
                                          root-2
                                          root-3
                                          root-4

                                          Имеется точка ну упрямая прям до жути. Здесь перебирали хендшейк безуспешно, нашел его в локалке месяц брута бесполезно. Один вариант выпиливать из эфира mdk3 до смены роутера на уязвимый) но это жестокий вариант)
                                           
                                          #20 Triton_Mgn, 29 Jan 2016
                                          Last edited: 29 Jan 2016
                                          amod-cccp and TOX1C like this.
                                          Loading...