- •Отзывы и пожелания
- •Список опечаток
- •Нарушение авторских прав
- •Предисловие
- •Кому адресована эта книга
- •О чем идет речь в книге
- •Как извлечь максимум из книги?
- •Загрузка примеров
- •Загрузка цветных изображений
- •Условные обозначения
- •Атаки на веб-приложения. Введение
- •Правила применения оружия
- •Вопросы конфиденциальности данных
- •Очистка
- •Инструментарий тестировщика
- •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 162 Глава 7.Автоматизированное тестирование |
w Click |
to |
|
|
|
|
|
|
||||||||||||||
|
|
|
|
|
|
|
|
m |
|
|
|
|
|
|
|
m |
||||||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
|
|
|
||
|
w |
|
|
|
|
|
|
|
|
|
o |
|
|
w |
|
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
g |
.c |
|
|
. |
|
|
|
|
g |
.c |
|
|||||||
|
|
p |
|
|
|
|
|
|
|
|
|
|
p |
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
e |
Через панель администрирования Autorize удалось обнаружить вертикаль- |
|
|
|
e |
|
||||||||||
|
|
|
df |
|
|
n |
|
|
|
|
|
|
|
|
df |
|
|
n |
|
|
|
|
||
|
|
|
|
-xcha |
|
|
|
|
|
|
|
|
|
|
-x cha |
|
|
|
|
|
ное повышение привилегий на странице /admin/submit.php.
Рис.7.8. Autorize обнаружил проблему
Похоже, что хотя эта страница скрыта от обычных пользователей из-за ошибки 403 в точке входа панели администратора, она доступна напрямую и проверяеттолько, вошел ли пользователь в систему, а не наличие у него права администратора.
Нам не пришлось тщательно отслеживать все сделанные нами запросы, изменять идентификатор сеанса и воспроизводить их.Autorize сделал это за нас, и в результате мы получили интересную уязвимость, которую можно использовать для нелегальной авторизации.
Швейцарский нож
Одна из наиболее распространенных задач, которые мы выполняем, – со здание пользовательских списков слов на основе целевых данных, что увеличиваетшансынауспех,ноделатьэтонесколькоутомительно.Сценарийможно написать с помощью какого-нибудь языка вроде Python, но почему бы не сделать это напрямую в Burp?
Еще одна распространенная задача, которую вы выполняете, – запуск sqlmap-атак на определенный URL-адрес в приложении. Аутентифицированные атаки с использованием SQL-инъекций требуют, чтобы мы отправляли сеансовые куки-файлы в командной строке, а для атак через POST-запросы создание командной строки sqlmap может превратиться в трудоемкий про-
|
|
|
|
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 |
|
|
Расширение функциональных возможностей Burp Suite 163 BUY |
|
|
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
w Click |
to |
|
|
|
|
|
|
|
|
|
|
|
to |
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
m |
w Click |
|
|
|
|
|
|
|
m |
|||||||
w |
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
|
|
|
||
|
w |
|
|
|
|
|
|
|
|
o |
|
|
w |
|
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
g |
.c |
|
|
. |
|
|
|
|
g |
.c |
|
||||||
|
|
p |
|
|
|
|
|
|
|
|
|
p |
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
цесс. CO2 – это плагин для Burp Suite, предоставляющий ряд улучшений для |
|
|
e |
|
|||||||||||||
|
|
|
df |
|
|
n |
e |
|
|
|
|
df |
|
|
n |
|
|||||||
|
|
|
|
-xcha |
|
|
|
|
|
|
|
|
|
-x cha |
|
|
|
|
|
перехватывающего прокси-сервера, которые хорошо интегрируются с остальной частью пользовательского интерфейса и могут отлично управлять обменом данными между другими инструментами и Burp Suite.
Яужеговорилобэтомраньшеиещескажу.Будучиспециалистами,выполняющими тесты на проникновение, и членами Красной команды, мы знаем, что время–этонероскошь,котороймыделимсясплохимипарнями.Нашизадачи часто зависят от времени, а ресурсы на пределе. Копирование и вставка заголовка Cookie из Burp втерминалдля запуска sqlmap-атаки кажется небольшой проблемой,но ее нужно учитывать.Что,если приложение,являющееся объектом атаки,имеетнесколько потенциальныхточек SQL-инъекций? Что,если вы тестируете три или четыре разных приложения, которые не используют одни и те же учетные данные для входа? Автоматизация делает жизнь проще, позволяя нам действовать эффективнее.
Плагин CO2 можно скачать в BApp Store или на GitHub: https:// github.com/portswigger/co2.
Установить CO2 так же просто, как и любой другой плагин BApp Store. Он добавляет несколько опций в контекстное меню в Target, Proxy, Scanner и в других модулях. Многие запросы, сделанные через Burp, можно отправлять напрямую нескольким компонентам CO2. Это позволит заполнить большинство необходимых параметров, сэкономить время и снизить вероятность ошибки.
SQLMpper
CO2 предоставляет упаковку sqlmap в пользовательском интерфейсе Burp с метким названием SQLMapper. Если мы обнаружим потенциальную точку инъекции или, возможно, активный сканер Burp уведомит нас об уязвимости, где можно использовать SQL-инъекцию, мы можем отправить запрос прямо в SQLMapper с помощью контекстного меню (см. рис. 7.9).
На вкладке CO2 Extension раздел SQLMapper должен быть предварительно заполнен значениями из выбранного URL-адреса.
Наданном этапе можно настроитьSQLMapperтаким образом,чтобы он указывал на соответствующий сценарий sqlmap и двоичный файл python.
Дистрибутив Kali поставляется с уже установленной версией sqlmap, но самую последнюю и лучшую версию можно клониро-
вать из GitHub: https://github.com/sqlmapproject/sqlmap.
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
X |
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
NOW! |
o |
||||
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
||||
w Click |
to |
BUY 164 |
||||||||
|
|
|
|
|
|
m |
||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
-xcha |
|
|
|
|
Глава 7.Автоматизированное тестирование
|
|
|
|
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 |
|
|
|
|
Рис.7.9. Отправка запроса в контекстное меню SQLMapper из CO2
Кнопка Config позволит нам указать CO2 на нужные двоичные файлы для запуска sqlmap из пользовательского интерфейса. С помощью кнопки Run будет запущен новый терминал с sqlmap и всеми переданными опциями.
Рис.7.10. Всплывающее окно настройки SQLMap в CO2
В Kali утилита sqlmap находится в папке /usr/bin и не имеет расширения
.py. Если вы работаете с новейшей версией из репозитория GitHub,то можете указать полный путь.
Во-первых, мы можем клонировать самую последнюю версию sqlmap из GitHub, используя команду git clone.
root@kali:~/tools# git clone https://github.com/sqlmapproject/sqlmap
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|
|||
|
|
X |
|
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
|
r |
|
||
P |
|
|
|
|
|
NOW! |
o |
|
|||
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
Расширение функциональных возможностей Burp Suite |
|||
w Click |
to |
|
|
|
|
|
|||||
|
|
|
|
|
m |
|
|||||
|
|
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
|
. |
|
|
|
|
|
.c |
|
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
|
df |
|
|
|
|
e |
|
|
|
|
|
|
|
|
Cloning into 'sqlmap'... |
||||||
|
|
|
|
|
n |
|
|
|
|
||
|
|
|
|
-xcha |
|
|
|
|
|
remote: Counting objects: 60295, done.
remote: Compressing objects: 100% (22/22), done.
remote: Total 60295 (delta 26), reused 33 (delta 22), pack-reused 60251
Receiving objects: 100% (60295/60295), 59.88 MiB | 14.63 MiB/s, done.
Resolving deltas: 100% (47012/47012), done.
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
C |
E |
|
|
|||
|
|
X |
|
|
|
|
|||
|
- |
|
|
|
|
d |
|
||
|
F |
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
||||
165 BUY |
|
|
|||||||
|
|
|
|
|
|||||
w Click |
to |
|
|
|
|
m |
|||
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
g |
|
|
|
|
|
|
df |
|
n |
e |
|
||
|
|
|
|
-x cha |
|
|
|
|
Сценарий sqlmap.py будет находиться в созданном каталоге sqlmap.
root@kali:~/tools/sqlmap# ls -lah sqlmap.py -rwxr-xr-x 1 root root 16K Jun 1 15:35 sqlmap.py root@kali:~/tools/sqlmap#
sqlmap – это полнофункциональный инструмент со множеством опций для модификации чего угодно–от user-agent до инъекций и даже уровня агрессии каждого зонда.
Как правило, необходимо просмотреть документацию по утилите, чтобы найти нужную нам опцию, но с помощью плагина SQLMapper от CO2 можно быстро найти то,что нужно.
Рис.7.11. Плагин SQLMapper
|
|
|
|
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 166 Глава 7.Автоматизированное тестирование |
w Click |
to |
|
|
|
|
|
|
||||||||||||||
|
|
|
|
|
|
|
|
m |
|
|
|
|
|
|
|
m |
||||||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
|
|
|
||
|
w |
|
|
|
|
|
|
|
|
|
o |
|
|
w |
|
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
g |
.c |
|
|
. |
|
|
|
|
g |
.c |
|
|||||||
|
|
p |
|
|
|
|
|
|
|
|
|
|
p |
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
e |
Когда мы выбираем соответствующие опции и заполняем пробелы,CO2 соз- |
|
|
|
e |
|
||||||||||
|
|
|
df |
|
|
n |
|
|
|
|
|
|
|
|
df |
|
|
n |
|
|
|
|
||
|
|
|
|
-xcha |
|
|
|
|
|
|
|
|
|
|
-x cha |
|
|
|
|
|
дает команду sqlmap, которую можно запустить через пользовательский интерфейслибо скопироватьи запуститьнепосредственно втерминале,который вам нравится.
Рис.7.12. Запуск sqlmap с выбранными параметрами
Используя кнопку Run, мы открываем новое окно терминала и запускаем sqlmap с выбранными параметрами.
sqlmap будет сохранять сеанс каждой атаки в папке в домашнем каталоге: ~/.sqlmap/output/[target].
root@kali:~/.sqlmap/output/c2.spider.ml# tree
.
├── log
├── session.sqlite └── target.txt
0 directories, 3 files root@kali:~/.sqlmap/output/c2.spider.ml#
Веб-оболочки
CO2также обеспечиваетпростой способ создания веб-оболочек для определенного числа серверных языков. Если нам удастся загрузить оболочку в один из этих блоков, понадобится простая безопасная оболочка, чтобы повысить привилегии и достичь цели.
|
|
|
|
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 |
|
|
|
Расширение функциональных возможностей Burp Suite 167 BUY |
|
|
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
w Click |
to |
|
|
|
|
|
|
|
|
|
|
|
|
to |
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
m |
w Click |
|
|
|
|
|
|
|
m |
|||||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
|
|
|
||
|
w |
|
|
|
|
|
|
|
|
|
o |
|
|
w |
|
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
|
.c |
|
|
. |
|
|
|
|
|
|
.c |
|
|||||
|
|
p |
|
|
|
|
g |
|
|
Laudanum – это коллекция базовых веб-оболочек для различных бэкендов, |
|
g |
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
p |
|
|
|
|
|
|
|
|||||
|
|
|
df |
|
|
n |
e |
|
|
|
|
|
df |
|
|
n |
e |
|
||||||
|
|
|
|
-xcha |
|
|
|
|
|
|
|
|
|
|
-x cha |
|
|
|
|
|
поддерживающихASP,JSP,ASPX,JavaиPHP.Laudanumтакжепозволяетуказать случайный токен соединения и ограничить доступ по IP. Эти оболочки дают возможность выполнять код удаленно, и имеет смысл защищать их, пока не будет установлена более надежная реверсная оболочка.
В Laudanum можно указатьтип оболочки,которую нам нужно настроить,IPадреса, с которых будет разрешено подключение, и случайный токен, используемый для дополнительной защиты.
Процесс создания оболочки прост. Его шаги таковы:
1.Открываем вкладку Laudanum в CO2.
Выбираем тип оболочки. В нашем случае это PHP Shell.
2.Разделяем запятыми список IP-адресов без пробелов:
127.0.0.1,192.168.1.123.
3.Нажимаем кнопку Gen New Token,чтобы сгенерировать случайныйтокен.
Рис.7.13. Плагин Laudanum
Чтобы сохранить файл где-нибудь на диске, нажмите кнопку Generate File (Сгенерировать файл). Содержимое сгенерированной оболочки будет выглядеть как на рис. 7.14.
После ее загрузки в объект атаки, чтобы получить доступ к оболочке, нужно убедиться,что наш внешний IP-адрес совпадаетс одним из IP-адресов в белом списке, а также указать произвольно сгенерированный токен для каждого запроса.
Мы можем передать этоттокен, используя параметр URL-адреса laudtoken и команду для выполнения через laudcmd. Значения этих параметров также можно передать через метод POST.
Следует отметить, что даже с правильным токеном в URL-адресе запрос от неизвестного IP будет отклонен с ответом 404.
На рис. 7.15 мы тестируем простой веб-запрос с компьютера с Windows с помощью командлета PowerShell Invoke-WebRequest. Поскольку запрос не идет с какого-либо известного IP-адреса (которые мы указали при создании оболочки), запрос отклоняется.
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
X |
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
NOW! |
o |
||||
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
||||
w Click |
to |
BUY 168 |
||||||||
|
|
|
|
|
|
m |
||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
|
g |
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
-xcha |
|
|
|
|
Глава 7.Автоматизированное тестирование
|
|
|
|
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 |
|
|
|
|
Рис.7.14. Исходный код оболочки Laudanum
Рис.7.15. Отклоненный запрос к оболочке с неизвестного IP-адреса
Наш клиент оценит дополнительную проверку безопасности. В конце концов, мы здесь занимаемся поиском уязвимостей, а не создаем новые. Это должно быть совершенно очевидно, но это ненадежно. Данный файл должен бытьудаленприочистке,какилюбойдругойартефакт,которыймыпомещаем в объект атаки.
Имея надлежащий внешний IP-адрес итокен,можно получитьконтрольнад оболочкой с помощью модуля Repeater.
Для запроса заполняем минимальные заголовки GET-запроса,как показано наскриншоте.НамнужнонастроитьпараметрTarget (Цель)вправомверхнем углу вкладки Repeater, URL-адрес, запрашиваемый через метод GET, и значе-
ния для laudtoken и laudcmd.