- •Отзывы и пожелания
- •Список опечаток
- •Нарушение авторских прав
- •Предисловие
- •Кому адресована эта книга
- •О чем идет речь в книге
- •Как извлечь максимум из книги?
- •Загрузка примеров
- •Загрузка цветных изображений
- •Условные обозначения
- •Атаки на веб-приложения. Введение
- •Правила применения оружия
- •Вопросы конфиденциальности данных
- •Очистка
- •Инструментарий тестировщика
- •Kali Linux
- •Альтернативы Kali Linux
- •Прокси-сервер
- •Burp Suite
- •Zed Attack Proxy
- •Облачная инфраструктура
- •Дополнительные источники
- •Упражнения
- •Резюме
- •Глава 2
- •Эффективное обнаружение
- •Типы тестирования
- •Построение карты сети
- •Masscan
- •hatWeb
- •Nikto
- •CMS-сканеры
- •Эффективная атака методом полного перебора
- •Средства сканирования
- •Постоянное картирование контента
- •Обработка полезной нагрузки
- •«Полиглот»
- •Запутывание (обфускация) кода
- •Дополнительные источники
- •Упражнения
- •Резюме
- •Глава 3
- •Легкая добыча
- •Анализ сети
- •Ищем вход
- •Определение учетных данных
- •Есть способ получше
- •Очистка
- •Дополнительные ресурсы
- •Резюме
- •Глава 4
- •Продвинутые способы атаки с использованием метода полного перебора
- •Распыление подбора пароля
- •Спросим LinkedIn
- •Метаданные
- •Кассетная бомба
- •За семью прокси-серверами
- •ProxyCannon
- •Резюме
- •Глава 5
- •Внедрение файлов
- •Удаленное внедрение файлов
- •Локальное внедрение файлов
- •Внедрение файла для удаленного выполнения кода
- •Резюме
- •Обнаружение и эксплуатация уязвимостей в приложениях с помощью внешних сервисов
- •Распространенный сценарий
- •Командно-контрольный сервер
- •Центр сертификации Let’s Encrypt
- •INetSim
- •Подтверждение
- •Асинхронное извлечение данных
- •Построение выводов на основе анализа данных
- •Резюме
- •Расширение функциональных возможностей Burp Suite
- •Нелегальная аутентификация и злоупотребление учетными записями
- •Швейцарский нож
- •Запутывание кода
- •Collaborator
- •Открытый сервер
- •Выделенный сервер Collaborator
- •Резюме
- •Глава 8
- •Вредоносная сериализация
- •Использование десериализации
- •Атака на пользовательские протоколы
- •Анализ протокола
- •Эксплойт для осуществления атаки
- •Резюме
- •Практические атаки на стороне клиента
- •Правила ограничения домена
- •Совместное использование ресурсов разными источниками
- •Межсайтовый скриптинг
- •Постоянный XSS
- •DOM-модели
- •Межсайтовая подделка запроса
- •BeEF
- •Перехват
- •Атаки с применением методов социальной инженерии
- •Кейлоггер
- •Закрепление в системе
- •Автоматическая эксплуатация
- •Туннелирование трафика
- •Резюме
- •Практические атаки на стороне сервера
- •Внутренние и внешние ссылки
- •Атаки XXE
- •Атака billion laughs
- •Подделка запроса
- •Сканер портов
- •Утечка информации
- •«Слепой» XXE
- •Удаленное выполнение кода
- •Резюме
- •Глава 11
- •Атака на API
- •Протоколы передачи данных
- •SOAP
- •REST
- •Аутентификация с помощью API
- •Базовая аутентификация
- •Ключи API
- •Токены на предъявителя
- •Postman
- •Установка
- •Вышестоящий прокси-сервер
- •Среда выполнения
- •Коллекции
- •Запуск коллекции
- •Факторы атаки
- •Резюме
- •Глава 12
- •Атака на CMS
- •Оценка приложения
- •WPScan
- •sqlmap
- •Droopescan
- •Arachni
- •Взлом кода с помощью бэкдора
- •Закрепление в системе
- •Утечка учетных данных
- •Резюме
- •Глава 13
- •Взлом контейнеров
- •Сценарий уязвимости в Docker
- •Осведомленность о ситуации
- •Взлом контейнера
- •Резюме
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
|
|
hang |
e |
|
|
|
|
|
||
|
|
|
C |
|
E |
|
|
|
|
|
|
|
C |
E |
|
|
|
|||||||
|
|
X |
|
|
|
|
|
|
|
|
|
X |
|
|
|
|
|
|
||||||
|
- |
|
|
|
|
|
d |
|
|
|
- |
|
|
|
|
|
d |
|
||||||
|
F |
|
|
|
|
|
|
|
t |
|
|
F |
|
|
|
|
|
|
|
t |
|
|||
|
D |
|
|
|
|
|
|
|
|
i |
|
|
D |
|
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
|
|
|
r |
|
|
|
|
|
|
|
|
|
r |
||||
P |
|
|
|
|
|
NOW! |
|
o |
P |
|
|
|
|
|
NOW! |
o |
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
|
|
|
|
|
BUY |
|
|
|
За семью прокси-серверами 101 BUY |
|
|
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
w Click |
to |
|
|
|
|
|
|
|
|
|
|
|
|
to |
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
m |
w Click |
|
|
|
|
|
|
|
m |
|||||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
|
|
|
||
|
w |
|
|
|
|
|
|
|
|
|
o |
|
|
w |
|
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
g |
.c |
|
|
. |
|
|
|
|
g |
.c |
|
|||||||
|
|
p |
|
|
|
|
|
|
|
|
|
|
p |
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
e |
В предыдущей конфигурации будет предпринято четыре попытки угадать |
|
|
e |
|
|||||||||||
|
|
|
df |
|
|
n |
|
|
|
|
|
|
|
|
df |
|
|
n |
|
|
|
|
||
|
|
|
|
-xcha |
|
|
|
|
|
|
|
|
|
|
-x cha |
|
|
|
|
|
пароль. Надеемся, наша атака останется незаметной и мы избежим блокировок. Чем больше пользователей обработаем, тем больше у нас шансов найти того, кто забыл изменить пароль.
Burp Suite Professional предоставляетопции для выполнения атаки с низкой и медленной скоростью. Их можно настроить на вкладке Options. Хотя бесплатная версия Burp Suite не допускает использование нескольких потоков или регулирование, OWASP ZAP применяет аналогичные типы атак с возможностью регулирования и увеличения количества потоков.
Загрузив список целевых пользователей и указав несколько паролей, можно приступать к делу, нажав кнопку Start attack (Начать атаку). На рисунке показано окно Intruder и все запросы, выполненные во время атаки методом распыления пароля.
Рис.4.8. Распыление пароля
За семью прокси-серверами
В наши дни более развитые компании довольно часто внедряют системы обнаружения и предотвращения вторжений и SIEM, которые предупреждают об опасности, если обнаружат правонарушение в отношении конкретного при- ложения.КогдаснеизвестногоIP-адресавыполняетсяслишкомбольшоечисло операций в отношении защищенного приложения за короткое время, системы обнаружения или предотвращения вторжений могутпринятьмеры против
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
|
hang |
e |
|
|
|
|
|
||
|
|
|
C |
|
E |
|
|
|
|
|
|
C |
|
E |
|
|
|
||||||
|
|
X |
|
|
|
|
|
|
|
|
X |
|
|
|
|
|
|
||||||
|
- |
|
|
|
|
|
d |
|
|
- |
|
|
|
|
|
d |
|
||||||
|
F |
|
|
|
|
|
|
|
t |
|
|
F |
|
|
|
|
|
|
|
t |
|
||
|
D |
|
|
|
|
|
|
|
|
i |
|
|
D |
|
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
|
r |
|
|
|
|
|
|
|
|
|
r |
||||
P |
|
|
|
|
NOW! |
o |
P |
|
|
|
|
|
NOW! |
o |
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
Глава 4.Продвинутые способы атаки с использованием метода полного... |
BUY |
|
|
|||||||||||||
|
|
|
|
to |
BUY 102 |
|
|
|
|
|
|
||||||||||||
w Click |
|
|
|
|
|
|
m |
w Click |
to |
|
|
|
|
|
|
m |
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
w |
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
|
|
|
||
|
w |
|
|
|
|
|
|
|
|
o |
|
|
w |
|
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
g |
.c |
|
|
. |
|
|
|
|
g |
.c |
|
||||||
|
|
p |
|
|
|
|
|
|
|
|
|
p |
|
|
|
|
|
|
|
||||
|
|
|
|
|
источника этих действий. Если мы осуществляем атаку методом распыления |
|
|
|
e |
|
|||||||||||||
|
|
|
df |
|
|
n |
e |
|
|
|
|
df |
|
|
n |
|
|||||||
|
|
|
|
-xcha |
|
|
|
|
|
|
|
|
|
-x cha |
|
|
|
|
|
пароля,то можем избежатьблокировок,но мы по-прежнему атакуем сервер из одного источника – с нашего компьютера.
Хороший способ обойти системы обнаружения – распределять запросы на соединение с компьютера злоумышленника по множеству IP-адресов, что обычно делают хакеры через сети скомпрометированных хостов. С появлениемоблачныхвычислений,когдавремявычислениястановитсявсеболеедешевым, а в некоторых случаях даже бесплатным, не стоит выходить за рамки закона и создавать ботнет.Сеть Torтакже является бесплатным и эффективным способом изменения публичного IP-адреса во время атаки.
Tor
Проект Tor был задуман с целью предоставить пользователям возможность анонимно путешествовать в интернете. На сегодняшний день это лучший и, самое главное,бесплатный способ анонимизироватьтрафик.Tor–это сеть независимо управляемых узлов, соединенных между собой для формирования сети,через которую можно маршрутизировать пакеты.
На рисунке показано, как пользователь Алиса подключается к Бобу по случайно сгенерированному пути или каналу через сеть Tor.
Как работает Tor : 2
Элис
Шаг 2: Tor-клиент Элис выбирает случайный путь к серверу назначения. Зеленые ссылки зашифрованы, красные ссылки – нет.
Дэйв
Узел Tor
незашифрованная ссылка зашифрованная ссылка
Джейн
Боб
Рис.4.9. Поток трафика в сети Tor (источник: https://www.torproject.org/)
Вместо прямого подключения к месту назначения клиентское соединение от Алисы к Бобу будет маршрутизироваться через случайно выбранный набор узлов в сети Tor. Каждый пакет зашифрован, и каждый узел может расшифровать только ту информацию, которой будет достаточно, чтобы направить ее на следующий переход по пути. Выходной узел является последним узлом в цепочке, который установит соединение с намеченным пунктом назначения
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
|
hang |
e |
|
|
|
|
|
||
|
|
|
C |
|
E |
|
|
|
|
|
|
C |
E |
|
|
|
|||||||
|
|
X |
|
|
|
|
|
|
|
|
X |
|
|
|
|
|
|
||||||
|
- |
|
|
|
|
|
d |
|
|
- |
|
|
|
|
|
d |
|
||||||
|
F |
|
|
|
|
|
|
|
t |
|
|
F |
|
|
|
|
|
|
|
t |
|
||
|
D |
|
|
|
|
|
|
|
|
i |
|
|
D |
|
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
|
r |
|
|
|
|
|
|
|
|
|
r |
||||
P |
|
|
|
|
|
NOW! |
o |
P |
|
|
|
|
|
NOW! |
o |
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
|
|
|
|
|
BUY |
|
|
За семью прокси-серверами 103 BUY |
|
|
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
w Click |
to |
|
|
|
|
|
|
|
|
|
|
|
to |
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
m |
w Click |
|
|
|
|
|
|
|
m |
|||||||
w |
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
|
|
|
||
|
w |
|
|
|
|
|
|
|
|
o |
|
|
w |
|
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
g |
.c |
|
|
. |
|
|
|
|
g |
.c |
|
||||||
|
|
p |
|
|
|
|
|
|
|
|
|
p |
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
от имени клиента. Когда пакет прибудет на компьютер Боба, запрос будет вы- |
|
|
e |
|
|||||||||||||
|
|
|
df |
|
|
n |
e |
|
|
|
|
df |
|
|
n |
|
|||||||
|
|
|
|
-xcha |
|
|
|
|
|
|
|
|
|
-x cha |
|
|
|
|
|
глядеть так, как будто он поступает с выходного узла, а не с публичного IPадреса Алисы.
Более подробную информацию о Tor найдете на официальном сайте https://www.torproject.org.
Хотя Tor важен для анонимности, на самом деле мы не заинтересованы в том, чтобы оставаться полностью анонимными. Однако мы можем использовать случайно выбранные выходные узлыдля маскировки своего общедоступного IP-адреса при атаке на приложение.
Пакеты Torдоступны в большинстведистрибутивов Linux.В случае с Kali его можно установить с помощью менеджера пакетов. С помощью команды aptget, данной в приведенном ниже коде, мы установим Tor, а также полезное приложение под названием torsocks:
root@kali:~# apt-get install tor torsocks
Torsocks–отличная утилита,которая может«торифицировать» приложения и даже предоставлять интерактивную оболочку, автоматически направляющую весь трафик через активный туннель Tor. Это позволит заставить приложения, которые изначально не поддерживают маршрутизацию через Tor, использовать анонимную сеть.
Torsocks можно найти в репозитории Tor Project Git https:// gitweb.torproject.org/torsocks.git.
Не так много нужно изменить в конфигурации Tor по умолчанию. Можем просто запуститьего из командной строки Kali,используядвоичный файл tor, как показано ниже.
root@kali:~# tor [notice] Tor 0.3.1.9
[notice] Read configuration file "/etc/tor/torrc".
[notice] Opening Socks listener on 127.0.0.1:9050
[notice] Parsing GEOIP IPv4 file /usr/share/tor/geoip. [notice] Parsing GEOIP IPv6 file /usr/share/tor/geoip6.
[warn] You are running Tor as root. You don't need to, and you probably shouldn't.
[notice] Bootstrapped 0%: Starting
[notice] Starting with guard context "default"
[notice] Bootstrapped 80%: Connecting to the Tor network
[notice] Bootstrapped 85%: Finishing handshake with first hop
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
|
|
hang |
e |
|
|
|
|
|
||
|
|
|
C |
|
E |
|
|
|
|
|
|
|
C |
|
E |
|
|
|
||||||
|
|
X |
|
|
|
|
|
|
|
|
|
X |
|
|
|
|
|
|
||||||
|
- |
|
|
|
|
|
d |
|
|
|
- |
|
|
|
|
|
d |
|
||||||
|
F |
|
|
|
|
|
|
|
t |
|
|
|
F |
|
|
|
|
|
|
|
t |
|
||
|
D |
|
|
|
|
|
|
|
|
i |
|
|
|
D |
|
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
|
r |
|
|
|
|
|
|
|
|
|
|
r |
||||
P |
|
|
|
|
NOW! |
o |
|
P |
|
|
|
|
|
NOW! |
o |
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
Глава 4.Продвинутые способы атаки с использованием метода полного... |
BUY |
|
|
||||||||||||||
|
|
|
|
to |
BUY 104 |
|
|
|
|
|
|
|||||||||||||
w Click |
|
|
|
|
|
|
m |
|
w Click |
to |
|
|
|
|
|
|
m |
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
|
|
|
||
|
w |
|
|
|
|
|
|
|
|
o |
|
|
|
w |
|
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
g |
.c |
|
|
|
. |
|
|
|
|
g |
.c |
|
||||||
|
|
p |
|
|
|
|
|
|
|
|
|
|
p |
|
|
|
|
|
|
|
||||
|
|
|
df |
|
|
|
|
e |
|
|
|
|
|
df |
|
|
|
|
e |
|
||||
|
|
|
|
[notice] Bootstrapped 90%: Establishing a Tor circuit |
|
|
|
|
|
n |
|
|
|
|
||||||||||
|
|
|
|
|
n |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
-xcha |
|
|
|
|
|
|
|
|
|
|
-x cha |
|
|
|
|
|
[notice] Tor has successfully opened a circuit. Looks like client functionality is working.
[notice] Bootstrapped 100%: Done
После инициализации Tor-клиента и выборатуннеля (канала) на локальном хосте запускается прокси-сервер SOCKS, слушающий на порту 9050. Чтобы форсировать трафик нашей атаки через сеть Tor и замаскировать свой внешний IP-адрес, можно настроить Burp Suite для использования недавно созданного прокси-сервера для всех исходящих соединений.Любые другие программы, которые не поддерживают SOCKS, можно «торифицировать» с помощью ProxyChains или ранее установленной утилиты torsocks.
ProxyChains доступна на всех дистрибутивах для тестирования на проникновение и на странице http://proxychains.sourceforge.
net/.
В Burp Suite на вкладке Project options (Опции проекта) можем поставить галочку напротив надписи Override user options (Переопределить парамет ры пользователя), чтобы включить поля конфигурации SOCKS. Значения для прокси-сервера SOCKS и порта – localhost и 9050 соответственно. Неплохо также просматривать DNS-записи через прокси-сервер.
Рис.4.10. Настройка вышестоящего прокси-сервера SOCKS в Burp
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
|
|
hang |
e |
|
|
|
|
|
||
|
|
|
C |
|
E |
|
|
|
|
|
|
|
C |
E |
|
|
|
|||||||
|
|
X |
|
|
|
|
|
|
|
|
|
X |
|
|
|
|
|
|
||||||
|
- |
|
|
|
|
|
d |
|
|
|
- |
|
|
|
|
|
d |
|
||||||
|
F |
|
|
|
|
|
|
|
t |
|
|
F |
|
|
|
|
|
|
|
t |
|
|||
|
D |
|
|
|
|
|
|
|
|
i |
|
|
D |
|
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
|
|
|
r |
|
|
|
|
|
|
|
|
|
r |
||||
P |
|
|
|
|
|
NOW! |
|
o |
P |
|
|
|
|
|
NOW! |
o |
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
|
|
|
|
|
BUY |
|
|
|
За семью прокси-серверами 105 BUY |
|
|
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
w Click |
to |
|
|
|
|
|
|
|
|
|
|
|
|
to |
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
m |
w Click |
|
|
|
|
|
|
|
m |
|||||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
|
|
|
||
|
w |
|
|
|
|
|
|
|
|
|
o |
|
|
w |
|
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
g |
.c |
|
|
. |
|
|
|
|
g |
.c |
|
|||||||
|
|
p |
|
|
|
|
|
|
|
|
|
|
p |
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
e |
Мыможемвыполнитьтестовыйзапрос,используямодульRepeater,кipinfo. |
|
|
e |
|
|||||||||||
|
|
|
df |
|
|
n |
|
|
|
|
|
|
|
|
df |
|
|
n |
|
|
|
|
||
|
|
|
|
-xcha |
|
|
|
|
|
|
|
|
|
|
-x cha |
|
|
|
|
|
io, и он должен показать случайно выбранный выходной узел Tor в качестве нашего внешнего IP-адреса.
На рисунке показан ответ на наш запрос к ipinfo.io.
Рис.4.11. Ответ модуля Repeater,показывающий выходной узел Tor в качестве нашего эффективного IP-адреса
Хотя Tor-клиент периодически обновляет IP-адрес, периодичность обновления может оказаться недостаточно быстрой для атаки методом полного перебора, когда для уклонения необходима ротация IP-адресов. Мы не хотим ограничивать наше соединение настолько сильно, чтобы сканирование не закончилось до завершения атаки.
Прокси-сервер Tor может быть вынужден обновить текущий канал с по мощью сигнала SIGHUP. Используя команды Linux killall или kill, мы можем подать сигнал HUP приложению Tor и заставить процесс выполнить ротацию нашего выходного узла.
Во-первых,мы можем заскочить в оболочку torsocks,чтобы перехватить все запросы curl и перенаправитьих через сеть Tor.Команду torsocks можно вызвать с помощью параметра --shell, как показано ниже.
root@kali:~# torsocks --shell
/usr/bin/torsocks: New torified shell coming right up...
root@kali:~#
Последующие сетевые запросы от приложений, созданных из оболочки torsocks, должны пересылаться через Tor. Чтобы увидеть результат обработки
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
|
hang |
e |
|
|
|
|
|
||
|
|
|
C |
|
E |
|
|
|
|
|
|
C |
|
E |
|
|
|
||||||
|
|
X |
|
|
|
|
|
|
|
|
X |
|
|
|
|
|
|
||||||
|
- |
|
|
|
|
|
d |
|
|
- |
|
|
|
|
|
d |
|
||||||
|
F |
|
|
|
|
|
|
|
t |
|
|
F |
|
|
|
|
|
|
|
t |
|
||
|
D |
|
|
|
|
|
|
|
|
i |
|
|
D |
|
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
|
r |
|
|
|
|
|
|
|
|
|
r |
||||
P |
|
|
|
|
NOW! |
o |
P |
|
|
|
|
|
NOW! |
o |
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
Глава 4.Продвинутые способы атаки с использованием метода полного... |
BUY |
|
|
|||||||||||||
|
|
|
|
to |
BUY 106 |
|
|
|
|
|
|
||||||||||||
w Click |
|
|
|
|
|
|
m |
w Click |
to |
|
|
|
|
|
|
m |
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
w |
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
|
|
|
||
|
w |
|
|
|
|
|
|
|
|
o |
|
|
w |
|
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
g |
.c |
|
|
. |
|
|
|
|
g |
.c |
|
||||||
|
|
p |
|
|
|
|
|
|
|
|
|
p |
|
|
|
|
|
|
|
||||
|
|
|
|
|
SIGHUP,можно использовать запросы curl к онлайн-сервису,который возвра- |
|
|
|
e |
|
|||||||||||||
|
|
|
df |
|
|
n |
e |
|
|
|
|
df |
|
|
n |
|
|||||||
|
|
|
|
-xcha |
|
|
|
|
|
|
|
|
|
-x cha |
|
|
|
|
|
щает наш текущий общедоступный IP-адрес, ipinfo.io.
root@kali:~# curl ipinfo.io
{
"ip": "46.165.230.5",
"hostname": "tor-exit.dhalgren.org", "country": "DE"
}
root@kali:~# killall -HUP tor root@kali:~# curl ipinfo.io
{
"ip": "176.10.104.240",
"hostname": "tor1e1.digitale-gesellschaft.ch", "country": "CH"
}
root@kali:~# killall -HUP tor root@kali:~# curl ipinfo.io
{
"ip": "195.22.126.147",
"country": "PL"
}
root@kali:~# killall -HUP tor root@kali:~# curl ipinfo.io
{
"ip": "104.218.63.74",
"hostname": "tor-exit.salyut-4.vsif.ca", "country": "CA"
}
root@kali:~#
Каждый запрос к IP-сервису возвращал новый выходной узел Tor. Мы также можем грубо автоматизироватьотправку сигнала HUP с помощью команды watch на отдельном терминале. Опция -n указывает, как часто нужно выполнять команду killall.В этом случае Tor будет выдавать SIGHUP каждые 10 секунд, одновременно выполняя ротацию нашего внешнего IP-адреса.
root@kali:~# watch -n10 killall -HUP tor
Например, если планируем атаковать приложение c2.spider.ml, используя распыление пароля, то можно настроить модуль Intruder в Burp Suite на применение атаки типа «кассетная бомба» наряду со списком распространенных имен пользователей и паролей. Между тем в фоновом режиме команда watch обновляет канал Tor каждые 10 секунд.Мы будем регулировать количество за-
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
|
hang |
e |
|
|
|
|
|
||
|
|
|
C |
|
E |
|
|
|
|
|
|
C |
E |
|
|
|
|||||||
|
|
X |
|
|
|
|
|
|
|
|
X |
|
|
|
|
|
|
||||||
|
- |
|
|
|
|
|
d |
|
|
- |
|
|
|
|
|
d |
|
||||||
|
F |
|
|
|
|
|
|
|
t |
|
|
F |
|
|
|
|
|
|
|
t |
|
||
|
D |
|
|
|
|
|
|
|
|
i |
|
|
D |
|
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
|
r |
|
|
|
|
|
|
|
|
|
r |
||||
P |
|
|
|
|
|
NOW! |
o |
P |
|
|
|
|
|
NOW! |
o |
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
|
|
|
|
|
BUY |
|
|
За семью прокси-серверами 107 BUY |
|
|
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
w Click |
to |
|
|
|
|
|
|
|
|
|
|
|
to |
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
m |
w Click |
|
|
|
|
|
|
|
m |
|||||||
w |
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
|
|
|
||
|
w |
|
|
|
|
|
|
|
|
o |
|
|
w |
|
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
g |
.c |
|
|
. |
|
|
|
|
g |
.c |
|
||||||
|
|
p |
|
|
|
|
|
|
|
|
|
p |
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
просов Burp на один запрос каждые 10 секунд, и это гарантирует, что каждая |
|
|
e |
|
|||||||||||||
|
|
|
df |
|
|
n |
e |
|
|
|
|
df |
|
|
n |
|
|||||||
|
|
|
|
-xcha |
|
|
|
|
|
|
|
|
|
-x cha |
|
|
|
|
|
попытка угадать пароль станет приходить с другого IP-адреса. Тем самым повысится наша анонимность. Следует отметить, что бесплатная версия Burp не поддерживаетограничениечастотызапросов.Туже функциональностьможно реализоватьсиспользованиемOWASPZAP,когдакомандаwatch работаетвфоновом режиме, циклически ротируя канал Tor.
На рисунке показана команда watch, запускающая команду killall в приложении Tor каждые 10 секунд, в то время как модуль Intruder выполняет атаку с целью подбора пароля.
Рис.4.12. Запуск атаки,нацеленной на подбор пароля с постоянно меняющимся IP-адресом выходного узла
Какиожидалось,журналсервераприложенияc2.spider.ml показывает,что атака происходит каждые 10 секунд с нового IP-адреса выходного узла.
Ниже видим пример веб-сервера PHP, где перечислены все HTTP-запросы, указаны время и исходный IP-адрес.
root@spider-c2-1:/var/www# php -S 0.0.0.0:80 Listening on http://0.0.0.0:80
Press Ctrl-C to quit.
[20:21:23] 163.172.101.137:58806 [200]: /?user=root&password=123456
[20:21:33] 144.217.161.119:58910 [200]: /?user=info&password=123456
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
|
|
hang |
e |
|
|
|
|
|
||
|
|
|
C |
|
E |
|
|
|
|
|
|
|
C |
|
E |
|
|
|
||||||
|
|
X |
|
|
|
|
|
|
|
|
|
X |
|
|
|
|
|
|
||||||
|
- |
|
|
|
|
|
d |
|
|
|
- |
|
|
|
|
|
d |
|
||||||
|
F |
|
|
|
|
|
|
|
t |
|
|
|
F |
|
|
|
|
|
|
|
t |
|
||
|
D |
|
|
|
|
|
|
|
|
i |
|
|
|
D |
|
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
|
r |
|
|
|
|
|
|
|
|
|
|
r |
||||
P |
|
|
|
|
NOW! |
o |
|
P |
|
|
|
|
|
NOW! |
o |
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
Глава 4.Продвинутые способы атаки с использованием метода полного... |
BUY |
|
|
||||||||||||||
|
|
|
|
to |
BUY 108 |
|
|
|
|
|
|
|||||||||||||
w Click |
|
|
|
|
|
|
m |
|
w Click |
to |
|
|
|
|
|
|
m |
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
|
|
|
||
|
w |
|
|
|
|
|
|
|
|
o |
|
|
|
w |
|
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
g |
.c |
|
|
|
. |
|
|
|
|
g |
.c |
|
||||||
|
|
p |
|
|
|
|
|
|
|
|
|
|
p |
|
|
|
|
|
|
|
||||
|
|
|
df |
|
|
|
|
e |
|
|
|
|
|
df |
|
|
|
|
e |
|
||||
|
|
|
|
[20:21:45] 96.64.149.101:44818 [200]: /?user=guest&password=123456 |
|
|
|
|
|
n |
|
|
|
|
||||||||||
|
|
|
|
|
n |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
-xcha |
|
|
|
|
|
|
|
|
|
|
-x cha |
|
|
|
|
|
[20:21:53] 216.218.222.14:16630 [200]: /?user=test&password=123456 [20:22:08] 185.220.101.29:44148 [200]: /?user=admin&password=123456
[...] [20:24:52] 89.234.157.254:42775 [200]:
/?user=test&password=123456789 [20:25:03] 87.118.122.30:42856 [200]: /?user=admin&password=123456789
Неинтенсивный и медленный характер атаки в сочетании с постоянно меняющимся исходным IP-адресом не позволяет средствам защиты отличить трафик атаки от легитимного трафика. Не исключено, что можно разработать эффективные правила, которые обнаружат атаки методом полного перебора, исходящие от множества IP-адресов во многих регионах, но сделать это без ложных срабатываний довольно сложно.
При осуществлении атак через сеть Tor возникает ряд проблем. Протокол маршрутизации действует медленнее,чем прямое соединение,так как Tor добавляетнесколькоуровнейшифрованияккаждойпередаче,икаждаяпередача пересылается через три узла Tor поверх обычной маршрутизации, необходи- мойдляинтернет-связи.Такойпроцессулучшаетанонимность,одновременно с этим значительно увеличивая задержку связи. Задержка заметна при обычном просмотре веб-страниц, но это приемлемо. При масштабном сканировании такой вариант вряд ли можно считать идеальным.
Также следует отметить, что Tor активно используется в тех регионах, где конфиденциальность данных имеет первостепенное значение. Проводить крупномасштабные атаки с помощью Tor не рекомендуется, так как это приведет к ненужному замедлению работы сети и затронет легитимных пользователей.Низкие и медленные атаки не должны вызывать проблем. В случае с некоторыми заданиями, которые выполняет Красная команда, может даже потребоваться тестирование из сети Tor, чтобы убедиться, что соответствующие правила систем обнаружения и предотвращения вторжений работают должным образом, но следует проявлять осторожность при проведении атак через общедоступную среду с ограниченными ресурсами.
Другая проблема состоит в том, что выходные узлы являются публичными. Межсетевые экраны, СОВ, СПВ и даже элементы управления на базе хоста могут быть настроены для прямой блокировки любого соединения с известными узлами Tor. Хотя с Tor работают легитимные пользователи, он также имеет долгую историю использования для незаконных целей. Риск вызвать раздра-