NEW
Font size
Worksheetspentest test
Total questions: 62
Worksheet time: 31mins
Основная цель SQLMap:
Перехват сетевых пакетов
Автоматизация SQL-инъекций
Создание ARP reply
Анализ XSS-скриптов
Брутфорс SSH
Основная цель XSS-атаки:
Внедрение и выполнение произвольного JavaScript-кода в браузере
Фильтрация IP-трафика
Модификация заголовков TCP
Взлом MAC-адресов
Перехват ARP-трафика
Что такое CSRF-атака?
Эксплуатация ошибки сериализации
Атака, подменяющая DNS-запросы
Перехват трафика по ARP
Анализ SQL-запросов
Атака, в которой злоумышленник заставляет браузер жертвы выполнить нежелательный запрос
Что такое Reverse Shell?
Локальный запуск команд
Инструмент фильтрации пакетов
Перехват ARP-пакетов
Подключение от атакуемой машины к атакующей системе
Утилита для логирования клавиш
Какой тип SQL-инъекции показывает ошибки SQL-сервера?
Time-based SQLi
Boolean-based SQLi
Union-based SQLi
Error-based SQLi
Blind-based SQLi
Что такое кейлоггер?
Записывает нажатия клавиш
Шифрует сетевой трафик
Определяет SQL-инъекции
Перехватывает ARP-запросы
Проверяет целостность диска
Какие Cookies уязвимы при MITM?
Cookies с SameSite=Strict
Cookies с HttpOnly
Шифрованные Cookies
Cookies с Secure
Session cookies без HTTPS
Какой метод XSS не зависит от взаимодействия пользователя?
DOM-based XSS
Stored XSS
Local XSS
Session XSS
Reflected XSS
Для каких целей используется обратная оболочка?
Для фильтрации
Для защиты от XSS
Для удаленного выполнения команд атакующим
Для сниффинга ARP
Для брутфорса
Что делает keylogger уровня kernel?
Выполняет XSS-фильтрацию
Анализирует SQL
Подменяет DNS
Шифрует трафик
Перехватывает нажатия до уровня пользователя
Как браузер непреднамеренно выполняет CSRF-запрос?
Через SQL-инъекцию
Используя ранее сохраненные Cookies
Благодаря CSP
Через ARP-таблицу
Из-за ошибок DNS
Почему MITM может перехватывать логины?
SQL-сервер открыт
XSS не активен
Cookies закодированы
CSRF-токены неверные
Передаются в незащифрованных HTTP-запросах
Почему DOM-based XSS сложнее обнаружить?
HTML не меняется
Код всегда отображается в HTML
Сервер генерирует ошибки
Обработка происходит полностью в браузере без участия сервера
Cookies не передаются
Какая техника XSS позволяет модифицировать структуру DOM?
Header Injection
Reflected
DOM-based XSS
Mixed Injection
Stored HTML Injection
Как скрыть вредоносный payload от антивирусов?
Уменьшить TTL
Установить SameSite
Увеличить ping
Применить CSP
Использовать packers и обфускацию
Почему SameSite=Lax не защищает полностью от CSRF?
Задает неправильную кодировку
Кэширует SQL-ответы
Фильтрует только POST
Некоторые переходы считаются «простыми», и Cookies все равно отправляются
Не блокирует XSS
Что делает ARP Poison?
Сканирует порты
Перехватывает HTTP cookies
Проводит XSS-атаку
Подменяет MAC-адрес в таблицах ARP
Впрыскивает SQL-код
Суть Race Condition уязвимости:
Неверная проверка входных данных
Два процесса обращаются к ресурсу одновременно
Утечка содержимого cookies
Неправильная настройка firewall
Ошибка в SQL-синтаксисе
Что делает ARP Poisoning в рамках MITM?
Проводит XSS-атаку
Изменяет доменное имя
Связывает IP жертвы с MAC атакующего
Как получить MAC-адрес жертвы для ARP Poison?
Создать reverse shell
Анализировать ARP-трафик в локальной сети
Проводить XSS
Выполнить SQL-запрос
Генерировать ICMP flood
Чем отличается Union-based SQLi?
Требует reverse shell
Работает через ARP
Использует оператор объединения для извлечения данных
Основана на ошибках
Изменяет структуру DOM
Почему ARP Poison работает только в локальной сети?
ARP не маршрутизируется за пределы локального сегмента
Зависит от DNS
Требует HTTPS
Выполняется только в браузере
Использует TCP
Чем опасен Time-based Blind SQLi?
Позволяет извлекать данные без ошибок в ответе
Меняет порты
Стирает ARP-кеш
Изменяет JavaScript
Перенаправляет трафик
Что делает backdoor, встроенный в веб-сервер?
Шифрует HTML
Устанавливает SameSite
Подменяет SQL-схему
Выполняет команды через HTTP-запросы
Изменяет ARP
Что делает backdoor?
Позволяет получить скрытый доступ к системе
Отображает заголовки ответов
Фильтрует ICMP-пакеты
Очищает ARP-таблицы
Проверяет права доступа
В чем опасность Stored XSS?
Код выполняется только на сервере
Код не выполняется без Cookies
Код сохраняется в базе и выполняется у всех пользователей
Код выполняется один раз у жертвы
Код искажается фильтрами
Как определить Blind SQLi?
Сервер перенаправляет на новую страницу
Сервер возвращает SQL-ошибки
Сервер закрывает соединение
Ответ сервера не содержит ошибок, но изменяет поведение при разных условиях
Сервер отказывается в выполнении запроса
Что делает ARP Poisoning в рамках MITM?
Изменяет доменное имя
Устанавливает TCP-сессию
Проводит XSS-атаку
Связывает IP жертвы с MAC атакующего
Создает SQL-туннель
Как злоумышленник может получить shell через SQLi?
Используя функции файловой системы и вызов системных команд
Модифицируя Cookies
Подменяя ARP
Вставляя HTML
Устанавливая CSRF-токен
Почему MITM может перехватывать логины?
Cookies закодированы
SQL-сервер открыт
XSS не активен
CSRF-токены неверные
Передаются в незащифрованных HTTP-запросах
Что делает упаковщик вредоносного ПО?
Генерирует домены
Фильтрует SQL
Ускоряет выполнение
Скрывает сигнатуры, изменяя структуру файла
Меняет MAC-адрес
Time-based Blind SQLi определяется по:
Отсутствию HTML
Перегенерации cookies
Задержке ответа при выполнении определенных условий
Изменению заголовков
Появлению ошибок
Что следует сделать перед понижением привилегий, чтобы избежать утечки возможностей?
Создать новую учётную запись root и удалить все записи о пользователях в системе в файле /etc/passwd.
Отключить сеть.
Удалить все записи о пользователях в системе из файла /etc/passwd.
Остановить все демоны.
Закрыть ненужные файловые дескрипторы (close).
Представьте, что setuid-программа использует execlp() для запуска /bin/ls без полного пути. Какой вектор атаки наиболее вероятен?
Подмена программы ls в путях, указанных в переменной PATH, чтобы execlp() выполнил злоумышленный бинарник.
Подмена программы ls в путях, указанных в переменной FIND, чтобы execlp() выполнил злоумышленный бинарник.
Подмена программы execlp() в путях, указанных в переменной FIND, чтобы execlp() выполнил злоумышленный бинарник.
Переполнение стека с помощью setuid-программы для запуска /bin/ls без указания полного пути.
Переполнение стека через execlp().
Что такое EUID (effective UID) процесса?
IP-адрес пользователя.
Размер стека процесса для эффективной реализации.
Идентификатор группы процесса, по которому система определяет владельца группы.
Идентификатор пользователя в /etc/passwd.
Идентификатор, по которому система определяет привилегии процесса.
Почему использование system() в setuid-программах опасно?
Потому что system() требует сетевого соединения.
Потому что system() не поддерживает execve.
Потому что system() автоматически удаляет переменные.
Потому что system() вызывает shell.
Потому что system() всегда запускает root-процесс.
Как новый процесс получает переменные окружения?
Из файла /boot/config при завершении текущего процесса.
Путём компиляции программы.
Через драйверы ядра из файла /boot/config при завершении текущего процесса.
Автоматически из сетевых настроек.
Через наследование от родителя при fork() и execve().
Какое поведение предотвращает защита «non-executable stack (NX)»?
Установление соединения TCP с помощью стека для чтения и записи.
Запись из стека в лог-файлы.
Чтение с сетевого сокета в стек и запись в сетевой сокет.
Выполнение кода, расположенного в области стека.
Отключает отправку ICMP-пакетов через стек.
Какая разница между shell variables и environment variables?
Shell variables хранятся в /etc/passwd, environment variables — в /etc/shadow.
Все environment variables наследуются дочерними процессами, shell variables — нет.
Environment variables видны только root.
Shell variables изменяются только через BIOS.
Environment variables исчезают при перезагрузке.
Почему ASLR усложняет эксплуатацию стекового переполнения?
Запрещает использование execve().
Делает кодовую страницу read-only.
Отключает вывод ошибок.
Увеличивает размер стека в два раза.
Рандомизирует базовые адреса (стек, heap, библиотеки).
Какой системный вызов запускает новую программу с передачей окружения?
execve()
execv()
system()
fork()
Какая команда веб-клиента используется для подстановки User-Agent?
curl -A "..."
curl -U "..."
curl -H "..."
wget --uh "..."
wget --ua "..."
Что обозначает бит Set-UID у исполняемого файла в UNIX/Linux?
Запуск в фоне.
Автошифрование файла.
Выполнение только от root.
Делает файл невидимым.
Программа получает эффективный UID владельца файла.
Какой аргумент main содержит указатель на массив переменных окружения?
envp
argv
stdout
argc
stdin
Почему сервисный подход безопаснее, чем Set-UID программы?
Игнорируют /proc.
Работают централизованно с root и не зависят от env пользователя.
Не используют библиотеки.
Всегда однопоточные.
Запускают только shell.
Какова роль переменной окружения при экспорте функции в bash?
Отключает другие env-переменные.
Переводит функцию в systemd unit.
Создаёт бинарник в /var/tmp.
Превращает функцию в строку NAME=() { ... } в окружении.
Шифрует функцию.
Что означает «don’t mix code and data»?
Ставить execute-бит на все данные.
Хранить код и данные в одном бинарнике.
Запускать данные как скрипт.
Загружать данные в сегмент кода.
Не формировать команду для shell из пользовательских данных.
Почему переменные окружения — часть поверхности атаки?
Уничтожаются при fork().
Не контролируются пользователем.
Контролируются программой.
Полностью контролируются пользователем.
Не видны root.
Условия эксплуатации Shellshock
Debug + SSH
Bash + ненадёжные env-данные
RDP + root
Perl
BIOS
Что снижает риск LD_PRELOAD в setuid, но не решает Shellshock?
glibc игнорирует LD_* в secure execution
Kernel блокирует env
Сетевой стек шифрует env
systemd всегда чистит env
SSH переписывает env
Что такое стек процесса?
Пул потоков
Файловое хранилище
Буфер сетевой карты
Область памяти с локальными переменными и return address
Раздел ядра
Отличие execve() и execvp() в setuid-контексте?
execve — только скрипты
execve всегда вызывает shell
execve требует явного пути, execvp использует PATH
execve всегда использует shell
execve валидирует данные
Команда GDB для получения адреса system()?
p system
disassemble system
set env SYSTEM
run /bin/sh/address
info address
Техника из gadgets
FHP
ROP
DKI
NOC
SOS
Эффект -z execstack
Делает стек исполняемым
Проверка типов
Рандомизация
Шифрование
Отключение вывода
Перезапись return address
Восстановление кода
Ускорение
Safe mode
Сжатие стека
Управление по произвольному адресу
Как работает stack canary?
Логирует memcpy
/dev/null
Блокирует system
Проверяет значение перед return address
Меняет приоритет
Где env процесса?
/proc//environ
/var/log/environ
/usr/bin/environ
/etc/log/env
/etc/log/environ.conf
Что содержит LD_PRELOAD?
Locale
HOME
Bash-параметры
Swap
Список общих библиотек
Как system() корректно вернётся в exit()?
Очистить регистры
jmp ebp+12
Изменить права
Положить exit() в fake-return (ebp+4)
Переписать GOT
Какая команда в Linux показывает все переменные окружения?
env / printenv
getenv()
get -all
Какая функция в C возвращает значение переменной окружения?
getenv()
env()
printenv
