wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

Pentest my question MT&ET

Total questions: 60

Worksheet time: 30mins

Name
Class
Date
1.

Какой эффект даёт компиляция с -z execstack (в учебной среде)? (2 Points)

a)

Включает строгую проверку типов в стеке.

b)

Шифрует исполняемый файл в стеке.

c)

Отключает вывод в консоль из стека.

d)

Делает стек исполняемым.

e)

Включает автоматическое рандомизированное выравнивание в стеке.

2.

Почему переменные окружения считаются частью поверхности атаки? (6 Points)

a)

Потому что они не видны root и могут менять поведение запущенной программы.

b)

Потому что они полностью контролируются программой и могут менять поведение программы.

c)

Потому что они полностью контролируются пользователем и могут менять поведение программы.

d)

Потому что они не контролируются пользователем и могут менять поведение запущенной программы.

e)

Потому что они уничтожаются при fork() и могут менять поведение запущенной программы.

3.

Как работает stack canary (Stack-Guard) для обнаружения переполнения? (4 Points)

a)

Перенаправляет все входы в /dev/null.

b)

Записывает журнал всех операций memcpy().

c)

Увеличивает приоритет процесса при детектировании переполнения и рандомизирует базовые адреса (стек, heap, библиотеки), делая предсказание адреса shellcode ненадёжным.

d)

Вставляет специальное значение перед return address и проверяет его целостность после возврата; если изменено – аварийный выход.

e)

Блокирует system() вызовы stack canary (Stack-Guard) для обнаружения переполнения.

4.

Какие два условия необходимы для эксплуатации Shellshock? (2 Points)

a)

Клиент должен работать по протоколу RDP и иметь root-доступ к удалённому хосту.

b)

Процесс должен запускать bash и получать ненадёжные данные через переменные окружения.

c)

Процесс должен работать в режиме отладки и иметь открытую SSH-сессию.

d)

Нужен доступ к BIOS и отключен режим Shellshock.

e)

На машине должен быть установлен Perl и отключен режим Shellshock.

5.

Какая функция в C возвращает значение переменной окружения?

a)

getenv()

b)

setenv()

c)

putenv()

d)

getenv_s()

e)

getenvironment()

6.

Что может произойти при перезаписи адреса возврата на стеке? (2 Points)

a)

Увеличение скорости выполнения программы.

b)

Автоматическое восстановление исходного кода.

c)

Передача управления по произвольному адресу.

d)

Переход в безопасный режим ОС и сжатие стека.

e)

Сжатие стека и увеличение скорости выполнения программы.

7.

Какой аргумент функции main в C содержит указатель на массив переменных окружения? (2 Points)

a)

argc

b)

argv

c)

stdout

d)

stdin

e)

envp

8.

Какая команда GDB предлагается для получения адреса system()? (2 Points)

a)

disassemble system

b)

info address

c)

p system

d)

run /bin/sh/address

e)

set env SYSTEM

9.

Почему сервисный подход более безопасен, чем Set-UID программы? (6 Points)

a)

Потому что сервисы игнорируют файлы /proc и не зависят от переменных окружения пользователя.

b)

Потому что сервисы всегда однопоточные и не зависят от переменных окружения пользователя.

c)

Потому что сервисы не используют библиотеки и зависят от переменных окружения пользователя.

d)

Потому что сервисы работают с root-привилегиями централизованно и не зависят от переменных окружения пользователя.

e)

Потому что сервисы запускают только shell и зависят от переменных окружения пользователя.

10.

Представьте, что setuid-программа использует execlp() для запуска /bin/ls без полного пути. Какой вектор атаки наиболее вероятен? (6 Points)

a)

Переполнение стека через execlp().

b)

Переполнение стека с помощью setuid-программы для запуска /bin/ls без указания полного пути.

c)

Подмена программы ls в путях, указанных в переменной PATH, чтобы execlp() выполнил злоумышленный бинарник.

d)

Подмена программы execlp() в путях, указанных в переменной FIND, чтобы execlp() выполнил злоумышленный бинарник.

e)

Подмена программы ls в путях, указанных в переменной FIND, чтобы execlp() выполнил злоумышленный бинарник.

11.

Какова роль переменной окружения при экспорте функции в bash? (4 Points)

a)

Экспорт функции создаёт бинарный файл в /var/tmp, который затем дочерний bash распознает.

b)

Экспорт функции превращает её текстовое определение в строку NAME=() { ... } в окружении, которую дочерний bash распознает.

c)

Экспорт функции шифрует содержимое функции RSA-ключом.

d)

Экспорт функции отключает другие переменные окружения, что позволяет запускать пользовательские приложения.

e)

Экспорт функции переводит её в систему systemd unit.

12.

Где можно увидеть переменные окружения процесса в Linux? (2 Points)

a)

В /etc/log/env

b)

В /var/log/environ

c)

В /proc/<PID>/environ

d)

В /usr/bin/environ

e)

В /etc/log/environ.conf

13.

Какая команда в Linux показывает все переменные окружения?

a)

env

b)

printenv

c)

set

d)

export

14.

Что такое стек (stack) процесса? (2 Points)

a)

Буфер в сетевом адаптере для пакетов, где хранятся локальные переменные.

b)

Пул потоков ОС, где хранятся адрес возврата и saved registers.

c)

Постоянное хранилище файлов на диске, где хранятся локальные переменные и адрес возврата.

d)

Раздел ядра для драйверов, где хранятся локальные переменные, адрес возврата и saved registers.

e)

Область памяти, где хранятся локальные переменные, адрес возврата и saved registers.

15.

Почему использование system() в setuid-программах опасно? (4 Points)

a)

Потому что system() автоматически удаляет переменные.

b)

Потому что system() требует сетевого соединения.

c)

Потому что system() не поддерживает execve.

d)

Потому что system() всегда запускает root-процесс.

e)

Потому что system() вызывает shell.

16.

Как называется обобщённая техника, которая связывает множество коротких фрагментов кода (gadgets)?

a)

Return-Oriented Programming (ROP)

b)

Address Space Layout Randomization (ASLR)

c)

Data Execution Prevention (DEP)

d)

Цепочка переполнения буфера

17.

Какая команда веб‑клиента используется в презентации, чтобы подставить произвольный User‑Agent? (2 балла)

a)

curl -A "..."

b)

wget --uh "..."

c)

curl -H "..."

d)

wget --ua "..."

e)

curl -U "..."

18.

Как новый процесс получает переменные окружения? (2 балла)

a)

Через драйверы ядра из файла /boot/config при завершении текущего процесса.

b)

Автоматически из сетевых настроек.

c)

Из файла /boot/config при завершении текущего процесса.

d)

Путём компиляции программы.

e)

Через наследование от родителя при fork() и execve().

19.

Что означает фраза «don’t mix code and data» в контексте вызова внешних команд? (4 Points)

a)

Ставить execute-бит на все файлы данных.

b)

Не разделять имя команды (код) и аргументы (данные), хранить исходный код и данные в одном бинарнике.

c)

Запускать данные как скрипт, не разделяя имя команды (код) и аргументы (данные).

d)

Загружать данные в раздел кода памяти.

e)

Не формировать командную строку, передаваемую shell, чтобы пользовательские данные не исполнялись как код.

20.

Какое поведение ОС/библиотеки делает exploit через LD_PRELOAD/LD_LIBRARY_PATH менее вероятным в setuid-контекстах, но не решает проблему Shellshock? (6 Points)

a)

Динамический линкер/glibc игнорирует некоторые LD_* переменные в «secure execution» (setuid), однако это не предотвращает уязвимости парсинга функций в bash.

b)

Сетевой стек шифрует переменные окружения и таким образом делает exploit через LD_PRELOAD/LD_LIBRARY_PATH менее вероятным в setuid-контекстах, но не решает проблему Shellshock.

c)

Systemd всегда очищает LD_PRELOAD/LD_LIBRARY_PATH перед запуском сервисов и таким образом делает exploit менее вероятным в setuid-контекстах.

d)

SSH при авторизации переписывает /etc/environment.

e)

Kernel автоматически блокирует все env-переменные при execve.

21.

Какой системный вызов запускает новую программу с передачей окружения?

a)

execve()

b)

fork()

c)

system()

d)

posix_spawn()

e)

clone()

22.

Что содержит переменная LD_PRELOAD? (4 Points)

a)

Параметры, которые необходимо заменить для locale.

b)

Путь к домашнему каталогу.

c)

Параметры, которые необходимы для запуска bash перед программой.

d)

Список общих библиотек.

e)

Настройки swap-память.

23.

Какое поведение предотвращает защита «non-executable stack (NX)»? (2 Points)

a)

Отключает отправку ICMP-пакетов через стек для записи в лог-файлы.

b)

Чтение с сетевого сокета в стек и запись в сетевой сокет.

c)

Выполнение кода, расположенного в области стека.

d)

Запись из стека в лог-файлы.

e)

Установление соединения TCP с помощью стека для чтения и записи.

24.

Что такое EUID (effective UID) процесса? (2 Points)

a)

Идентификатор пользователя в /etc/passwd.

b)

Размер стека процесса для эффективной реализации.

c)

Идентификатор, по которому система определяет привилегии процесса

d)

IP-адрес пользователя.

e)

Идентификатор группы процесса, по которому система определяет владельца группы.

25.

Какая разница между shell variables и environment variables? (2 Points)

a)

Shell variables изменяются только через BIOS.

b)

Environment variables исчезают при перезагрузке.

c)

Environment variables видны только root.

d)

Все environment variables наследуются дочерними процессами, shell variables — нет.

e)

Shell variables хранятся в файле /etc/passwd, environment variables хранятся в файле /etc/shadow.

26.

Почему ASLR усложняет эксплуатацию стекового переполнения? (4 Points)

a)

Потому что запрещает использование execve() и таким образом усложняет эксплуатацию стекового переполнения.

b)

Потому что рандомизирует базовые адреса (стек, heap, библиотеки), делая предсказание адреса shellcode ненадёжным.

c)

Потому что отключает вывод ошибок, делая предсказание адреса shellcode ненадёжным.

d)

Потому что меняет кодовую страницу на read-only.

e)

Потому что увеличивает размер стека в два раза и рандомизирует адреса ASLR.

27.

Что обозначает бит Set-UID у исполняемого файла в UNIX/Linux? (2 Points)

a)

Файл автоматически шифруется.

b)

Программа выполняется только от root.

c)

Программа запускается в фоновом режиме (daemon).

d)

При запуске программа получает эффективный UID владельца файла.

e)

Файл становится только для чтения и в UNIX/Linux системах становится невидимым.

28.

В чём отличие execve() от execvp() с точки зрения безопасности в контексте setuid? (4 Points)

a)

execve() требует явного пути и окружения, тогда как execvp() ищет команду через PATH, что делает её уязвимой к подмене через PATH.

b)

execve() всегда вызывает shell (/bin/sh -c), который использует PATH и переменные окружения, позволяя пользовательским данным превратиться в команды, а execvp() нет.

c)

execve() автоматически проверяет формат входных данных, execvp() — нет.

d)

execve() умеет выполнять только скрипты, execvp() — бинарники.

e)

execve() всегда использует shell, а execvp() — нет.

29.

Какое небольшое изменение помогает убедиться, что system() вернётся в exit() вместо краха? (4 Points)

a)

Поместить jmp на ebp+12.

b)

Очистить регистры перед возвратом, а затем записать адреса system() и exit().

c)

Перезаписать GOT system() на exit(), чтобы процесс корректно завершился.

d)

Изменить права файлов system и exit.

e)

Поместить адрес exit() в слот fake-return (ebp+4), чтобы процесс корректно завершился.

30.

Что нужно сделать, чтобы процесс корректно завершился? (4 Points)

a)

Остановить все демоны.

b)

Удалить все записи о пользователях в системе из файла /etc/passwd.

c)

Отключить сеть.

d)

Создать новую учетную запись root и удалить все записи о пользователях в системе в файле /etc/passwd.

e)

Закрыть ненужные файловые дескрипторы (close).

31.

Что делает ARP Poison?

a)

Проводит XSS-атаку

b)

Подменяет MAC-адрес в таблицах ARP

c)

Сканирует порты

d)

Перехватывает HTTP cookies

e)

Впрыскивает SQL-код

32.

Что такое CSRF-атака?

a)

Атака, подменяющая DNS-запросы

b)

Атака, в которой злоумышленник заставляет браузер жертвы выполнить нежелательный запрос

c)

Анализ SQL-запросов

d)

Эксплуатация ошибки сериализации

e)

Перехват трафика по ARP

33.

В чем опасность Stored XSS?

a)

Код сохраняется в базе и выполняется у всех пользователей

b)

Код выполняется один раз у жертвы

c)

Код выполняется только на сервере

d)

Код не выполняется без Cookies

e)

Код искажается фильтрами

34.

Основная цель XSS-атаки:

a)

Фильтрация IP‑трафика

b)

Внедрение и выполнение произвольного JavaScript‑кода в браузере

c)

Перехват ARP‑трафика

d)

Взлом MAC‑адресов

e)

Модификация заголовков TCP

35.

Что делает кейлоггер?

a)

Определяет SQL‑инъекции

b)

Шифрует сетевой трафик

c)

Записывает нажатия клавиш

d)

Перехватывает ARP‑запросы

e)

Проверяет целостность диска

36.

Для каких целей используется обратная оболочка?

a)

Для удалённого выполнения команд атакующим

b)

Для защиты от XSS

c)

Для сниффинга ARP

d)

Для брутфорса

e)

Для фильтрации

37.

Какие Cookies уязвимы при MITM?

a)

Cookies с Secure

b)

Cookies с HttpOnly

c)

Cookies с SameSite=Strict

d)

Session cookies без HTTPS

e)

Шифрованные Cookies

38.

Time-based Blind SQLi определяется по:

a)

Отсутствию HTML

b)

Изменению заголовков

c)

Перегенерации cookies

d)

Задержке ответа при выполнении определенных условий

e)

Появлению ошибок

39.

Как браузер непреднамеренно выполняет CSRF‑запрос?

a)

Благодаря CSP

b)

Из‑за ошибок DNS

c)

Через ARP‑таблицу

d)

Используя ранее сохранённые cookies

e)

Через SQL‑инъекцию

40.

Какой метод XSS не зависит от взаимодействия пользователя?

a)

DOM‑based XSS

b)

Stored XSS

c)

Reflected XSS

d)

Local XSS

e)

Session XSS

41.

Что делает backdoor, встроенный в веб-сервер?

a)

Выполняет команды через HTTP-запросы

b)

Устанавливает SameSite

c)

Подменяет SQL-схему

d)

Изменяет ARP

e)

Шифрует HTML

42.

Чем отличается Union-based SQLi?

a)

Работает через ARP

b)

Использует оператор объединения для извлечения данных

c)

Изменяет структуру DOM

d)

Основана на ошибках

e)

Требует reverse shell

43.

Почему DOM-based XSS сложнее обнаружить?

a)

Сервер генерирует ошибки

b)

Обработка происходит полностью в браузере без участия сервера

c)

Код всегда отображается в HTML

d)

HTML не меняется

e)

Cookies не передаются

44.

Почему MITM может перехватывать логины?

a)

CSRF-токены неверные

b)

SQL-сервер открыт

c)

Cookies закодированы

d)

Передаются в незашифрованных HTTP-запросах

e)

XSS не активен

45.

Как злоумышленник может получить shell через SQLi?

a)

Вставляя HTML

b)

Устанавливая CSRF‑токен

c)

Модифицируя cookies

d)

Подменяя ARP

e)

Используя функции файловой системы и вызов системных команд

46.

Какая Linux‑команда показывает сетевой трафик в реальном времени?

a)

tcpdump

b)

wireshark

c)

netstat

d)

top

47.

Какой тип веб‑атаки позволяет выполнить JavaScript на стороне клиента?

a)

XSS (Cross‑Site Scripting)

b)

CSRF

c)

Clickjacking

d)

SQL‑инъекция

48.

Какая утилита Linux показывает активные сетевые соединения?

a)

netstat

b)

ss

c)

ifconfig

d)

ping

49.

Какой протокол используется для перехвата HTTPS при MITM посредством прокси‑инструментов?

a)

TLS/SSL

b)

HTTP

c)

SSH

d)

FTP

50.

Какой модуль Python чаще применяется в кейлоггерах для работы с клавиатурой?

a)

pynput

b)

requests

c)

numpy

d)

pandas

51.

Какой HTTP-метод чаще всего используется злоумышленниками в CSRF для тихого изменения данных?

a)

GET

b)

POST

c)

PUT

d)

DELETE

52.

Какой метод перехвата трафика требует установки ложного шлюза в локальной сети?

a)

ARP spoofing (ARP poisoning)

b)

DNS-туннелирование

c)

Port mirroring

d)

SSL stripping

53.

Какой протокол обычно применяют кейлоггеры для скрытой отправки логов через DNS-запросы?

a)

SMTP

b)

DNS (UDP)

c)

ICMP

d)

FTP

54.

Какой формат чаще всего используют для хранения захваченных сетевых пакетов?

a)

JSON

b)

PCAP

c)

CSV

d)

XML

55.

Какой термин описывает вредоносную программу, предоставляющую удалённый контроль над системой?

a)

Бэкдор (Backdoor)

b)

Руткит

c)

Антивирус

d)

Фаервол

56.

Какая DLL Windows обычно перехватывается кейлоггерами для HOOK-инъекции?

a)

kernel32.dll

b)

user32.dll

c)

wininet.dll

d)

ntdll.dll

57.

Какая Web API-функция в браузере чаще всего эксплуатируется для DOM XSS?

a)

innerText

b)

innerHTML

c)

querySelectorAll

d)

addEventListener

58.

Какой MITM-инструмент позволяет внедрять JavaScript в незашифрованные HTTP-сессии?

a)

Wireshark

b)

Bettercap

c)

Nmap

d)

OpenSSL

59.

Какой системный ключ реестра Windows отвечает за автоматическую загрузку программы при старте пользователя (автозапуск кейлоггера)?

a)

HKLM\Software\Microsoft\Windows\CurrentVersion\Run

b)

HKCU\Software\Microsoft\Windows\CurrentVersion\Run

c)

HKCU\System\CurrentControlSet\Services

d)

HKCR\Shell\Open\Command

60.

Какой атрибут cookie предотвращает CSRF в браузерах при включённой SameSite-защите?

a)

Secure

b)

HttpOnly

c)

SameSite=Strict

d)

Path=/