Использование Burp Suite в сценариях человек-посередине (MitM): сбор информации, перехват паролей, заражение бэкдорами

  • Автор темы HHIDE_DUMP
  • Дата начала
  • Просмотры 3K
  • На форуме работает ручное одобрение пользователей. Это значит, что, если Ваша причина регистрации не соответствует тематике форума, а также Вы используете временную почту, Ваша учётная запись будет отклонена без возможности повторной регистрации. В дальнейшем - пожизненная блокировка обоих аккаунтов за создание мультиаккаунта.
  • Мы обновили Tor зеркало до v3!
    Для входа используйте следующий url: darkv3nw2...bzad.onion/
  • Мы вновь вернули telegram чат форуму, вступайте, общайтесь, задавайте любые вопросы как администрации, так и пользователям!
    Ссылка: https://t.me/chat_dark_time

HHIDE_DUMP

Гость
H

HHIDE_DUMP

Гость
Burp Suite – это мощный комбайн с графическим интерфейсом. В умелых руках с его помощью можно очень легко делать замечательные вещи. В этой заметке я немного раскрою только одну из его функций.

Burp Suite имеет очень гибкий в настройке HTTP прокси. С его помощью ОЧЕНЬ удобно анализировать запросы и полученные ответы. Ещё Burp Suite имеет замечательную гибкую систему замены передаваемых данных на лету. Если рассматривать другие программы, которые можно было бы применить для этих же целей, то для анализа трафика приходят в голову Wireshark, а для подмены данных собственноручно написанные фильтры (Etterfilter) для Ettercap. Но пытаясь анализировать запросы и соответствующие им ответы в Wireshark (особенно при обильном трафике), можно сломать голову. Писать и компилировать фильтры Ettercap умеют тоже далеко не все. А в прокси Burp Suite всё это можно делать в графическом интерфейсе с огромным количеством опций. Подобная простата и гибкость позволит даже новичкам проводить атаки, которые при использовании других программ доступны только продвинутым тестерам на проникновение.

Небольшое примечание: Все команды в этой инструкции я выполняю от рута.
Если посмотреть документацию Burp, то там написано, как настроить браузер, чтобы он работал через прокси Burp. Эта полезная для анализа веб-приложений и сайтов функциональность, но мне больше нравится использовать прокси Burp в атаке человек-посередине.

С помощью сторонник приложений вам нужно начать ARP спуфинга. Его суть заключается в том, что компьютер жертвы вместо отправки трафика через роутер начинает думать, что отправлять трафик нужно теперь нам (атакующему). Наша машина переправляет трафик в Интернет, и ответы из Интернета переправляет жертве. Т.е. мы выступаем в роли роутера.

ARP спуфинга можно сделать в графическом интерфейсе. Если вам нужна подсказка, то посмотрите пример запуска Ettercap (там есть скриншоты).

Переключите вашу машину в режим пересылки (форвардинга).
Код:
echo "1" > /proc/sys/net/ipv4/ip_forward
Запускаем графический интерфейс (-G):
Код:
ettercap -G

В меню выбираем Sniff, далее Unified, выбираем желаемый интерфейс:

Теперь выбираем Hosts, в нём подпункт Scan for hosts. После окончания сканирования выберите Hosts list:

В качестве Цели1 выберите роутер (Add to Target 1), в качестве Цели2 выберите устройство, которое будете атаковать (Add to Target 2).

Теперь переходим к пункту меню Mitm. Там выберите ARP poisoning… Поставьте галочку на Sniff remote connections.

Теперь, когда сниффинг трафика начался, сделаем перенаправление трафика на порт 8080:
Код:
iptables -t nat -A PREROUTING -p tcp --destination-port 80 -j REDIRECT --to-port 8080
Запускаем Burp
Код:
burpsuite
Переходим во вкладку Proxy -> Options. Там в самом верху в Proxy Listeners нажимаем Add и добавляем новый прослушиватель: на 8080 порту. В качестве Specific Address выберите IP компьютера атакующего (т.е. той машины, где запущен Burp).



Здесь же перейдите во вкладку Request handling и поставьте галочку на Support invisible proxying (enable only if needed):


Когда добавите новый прослушиватель, поставьте галочку там, где Running (это будет означать, что он задействован в данное время):


Теперь спуститесь в самый низ, найдите Allow requests to web interface using fully-qualifyed DNS hostnames и поставьте там галочку:


Теперь перейдите в Proxy -> Intercept, отключите его:


Теперь должен начаться анализ полученных данных.
Анализ данных в прокси Burp очень прост. Например, здесь мы выдим запрос и ответ, которые передаёт и получает LibreOffice при проверке обновлений:


А здесь показана удачная базовая аутентификация:



Обратите внимание на строку Authorization: Basic cnUtYm9hcmQ6cnUtYm9hcmQ=. В ней (в виде хешей, которые очень легко поддаются брутфорсу), передан логин и пароль для аутентификации.

А на этом скриншоте видно, что выполнен вход на форум:



Интересная строка action=dologin&inmembername=f123gh4t6&inpassword=jhRh846Fj&ref=http%3A%2F%2Fforum.ru-board.com%2Fmisc.cgi%3Faction%3Dlogout. В ней присутствует логин и пароль:
Код:
inmembername=f123gh4t6

inpassword=jhRh846Fj
Более читаемо в таком виде:

Чтобы увеличить количество данных, передаваемых в открытом виде, в настройках прокси поставьте галочку напротив Convert HTTPS links to HTTP.
Необязательно ставить именно бэкдор – можно выбрать любую программу.

Алгоритм следующий:

  • ищем запросы с компьютера жертвы, которые сгенерировали программы в поисках обновления;
  • модифицируем полученные ответы, вставляя вместо реальных ссылок на обновлённые программы наш файл с бэкдором.
Эта схема не самая лучшая, поскольку нам придётся долго ждать, пока выйдет обновление какой-нибудь программы, которая установлена на компьютере цели. И даже если мы этого дождёмся, мы можем не успеть среагировать. Поэтому чуть улучшим наш алгоритм:

  • ищем запросы с компьютера жертвы, которые сгенерировали программы в поисках обновления;
  • модифицируем запрос с компьютера жертвы, создавая иллюзию, что обновление запрашивает программа с более низкой версией ИЛИ модифицируем ответ сервера, повышая версию программы, доступную для установки;
  • модифицируем полученные ответы, вставляя вместо реальных ссылок с обновлениями программ наш файл с бэкдором.
На самом деле, имеются ещё варианты:

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

На компьютере жертвы установлена программа Paint.NET (определили по сайту запроса и по передаваемым данным). Вот пример проверки обновлений:

  • Запрос:

Код:
GET /updates/versions.8.1000.0.x64.ru.txt HTTP/1.1
Host: www.getpaint.net
Connection: close
  • Ответ:

Код:
HTTP/1.1 200 OK
Content-Length: 558
Content-Type: text/plain
ETag: "22e-528995bee3b40"
Server: Apache
Last-Modified: Tue, 05 Jan 2016 17:13:41 GMT
Connection: close
Date: Fri, 10 Jun 2016 05:12:34 GMT

DownloadPageUrl=http://www.getpaint.net/download.html

StableVersions=4.9.5848.30436
BetaVersions=

4.9.5848.30436_Name=paint.net 4.0.9
4.9.5848.30436_NetFxVersion=4.6
4.9.5848.30436_InfoUrl=http://blog.getpaint.net/2016/01/05/paint-net-4-0-9-is-now-available/
4.9.5848.30436_ZipUrlList=http://www.getpaint.net/updates/zip/paint.net.4.0.9.install.zip,http://www.dotpdn.com/files/paint.net.4.0.9.install.zip
4.9.5848.30436_FullZipUrlList=http://www.getpaint.net/updates/zip/paint.net.4.0.9.install.zip,http://www.dotpdn.com/files/paint.net.4.0.9.install.zip
На целевом компьютере это выглядит так:



Подготовить бэкдор на основе имеющегося исполнимого файла можно, например, с помощью программы Backdoor Factory (BDF). Вариантов достаточно много и этой теме можно посвятить отдельную статью, поэтому пока не будем останавливаться на теме подготовки пропатченных исполнимых файлов.

Обратим внимание на строку:
Код:
StableVersions=4.9.5848.30436
Это самая свежая версия на сервере. Эту строку программа сравнивает со своей версией и исходя из этого принимает решение – есть обновления или нет.
В Burp переходим в Proxy -> Options. Находим там Match and Replace. Нажимаем Add для добавления нового правила:



Request header меняем на Response body. В качестве строки для поиска вставляем 4.9.5848.30436, в качестве строки, на которую менять, вставляем, к примеру, 5.9.5848.30436:


Добавляем ещё одно правило. Нам нужно строку
Пожалуйста, Вход или Регистрация для просмотра содержимого URL-адресов!
поменять на что-то наше – на ссылку установщика с бэкдором. Например, на
Пожалуйста, Вход или Регистрация для просмотра содержимого URL-адресов!


Добавляем правило:



После очередной проверки обновлений, оригинальный ответ:



Ответ после нашей модификации:


На компьютере жертвы дела обстоят так:


Видно, что программа считает, что нужно обновиться, но мы забыли поменять ещё одну запись которая выводиться пользователю – хорошо, что мы всё тестируем заранее ))

Создадим ещё одно правило – нам не трудно:
Меняем строку
Код:
Name=paint.net 4.0.9
На
Код:
Name=paint.net 5.0.9




Теперь на целевой машине:


Просто для хохмы:


На целевой машине теперь:



Чтобы программа сама начала обновление и установку файла, нужно передать ей подобный файл (например, если оригинальные обновления упакованы в zip, то в таком же формате и нужно пересылать установщик с бэкдором, если программа использует протокол HTTP, то его и нужно использовать (а не HTTPS)).

Burp Suite – это хороший инструмент для тестирования на проникновение веб-приложений. Но, как показано в этом разделе, благодаря гибкости настройки у него могут быть и необычные применения. В данном случае мы рассмотрели насколько удобно и наглядно в прокси Burp Suite можно анализировать HTTP трафик. А также как его легко модифицировать. Модифицировать можно ответы/запросы/заголовки/тело. Можно просто блокировать соединения по определённым параметрам. В общем, Burp Suite – это инструмент с большим количеством возможностей, но для полного использования его функционала необходимо углублённое изучение методов работы и стратегий в Burp.
 

О нас

  • Наше сообщество существует уже много лет и гордится тем, что предлагает непредвзятое, критическое обсуждение различных тем среди людей разных слоев общества. Мы работаем каждый день, чтобы убедиться, что наше сообщество является одним из лучших.

    Dark-Time 2015 - 2024

    При поддержке: XenForo.Info

Быстрая навигация

Меню пользователя