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

  • Автор темы klobald
  • Дата начала
K

klobald

Original poster
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).

02-2.jpg


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


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


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


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


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


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



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

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



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

inpassword=jhRh846Fj

Более читаемо в таком виде:
13.jpg

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

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

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

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

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

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

  • Запрос:
31.jpg

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

  • Ответ:
32.jpg

Код:
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

На целевом компьютере это выглядит так:

33.jpg


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

Обратим внимание на строку:
Код:
StableVersions=4.9.5848.30436

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



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


Добавляем ещё одно правило. Нам нужно строку

Авторизируйтесь или Зарегистрируйтесь что бы просматривать ссылки.

поменять на что-то наше – на ссылку установщика с бэкдором. Например, на

Авторизируйтесь или Зарегистрируйтесь что бы просматривать ссылки.



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



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



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


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


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

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

На
Код:
Name=paint.net 5.0.9



72.jpg


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


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


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



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

41.jpg
Burp Suite – это хороший инструмент для тестирования на проникновение веб-приложений. Но, как показано в этом разделе, благодаря гибкости настройки у него могут быть и необычные применения. В данном случае мы рассмотрели насколько удобно и наглядно в прокси Burp Suite можно анализировать HTTP трафик. А также как его легко модифицировать. Модифицировать можно ответы/запросы/заголовки/тело. Можно просто блокировать соединения по определённым параметрам. В общем, Burp Suite – это инструмент с большим количеством возможностей, но для полного использования его функционала необходимо углублённое изучение методов работы и стратегий в Burp.
 
Название темы
Автор Заголовок Раздел Ответы Дата
Emilio_Gaviriya Статья Использование фреймворка Empire C2. Вирусология 0
H Основы Linux для начинающего "Хакера" - Использование скриптов запуска Корзина 0
A Использование JavaScript, для взлома сети Уязвимости и взлом 0
M Использование мобильного интернета без денег на счету. Полезные статьи 12
J Использование SSH-туннеля Полезные статьи 0
K Использование Windows при помощи DDE эксплойта Microsoft Office (MACROLESS) Уязвимости и взлом 0
C Использование API ключа rucaptcha | Проекты Private Keeper С/C++ 0
J Использование freekassa - к беде Новости в сети 0
Emilio_Gaviriya Статья Что такое Burp Suite. Уязвимости и взлом 0
S Клонировать подарочные карты можно вооружившись Burp Intruder и кардридером за $80 Новости в сети 0
АнАлЬнАя ЧуПаКаБрА Burp Suite professional 1.7.13 + crack Бруты/Парсеры/Чекеры 0
S Burp Suite Pro 1.7.11+рабочий загрузчик на год вперед Софт для работы с текстом/Другой софт 0
B Брут любой страницы авторизации с Burp Suite Уязвимости и взлом 0
P Продам Скрипт rtb exchange suite - система перепродажи трафика dsp/ssp в реальном времени. Сайты/Хостинг/Сервера 1

Название темы