Files
cyber-security/lab2
2026-03-16 12:08:42 +03:00
..
2026-03-03 10:21:13 +03:00
2026-03-03 10:21:13 +03:00
2026-03-16 12:08:42 +03:00
2026-03-16 12:08:42 +03:00
2026-03-03 10:21:13 +03:00
2026-03-16 12:08:42 +03:00
2026-03-03 10:21:13 +03:00
2026-03-16 12:08:42 +03:00
2026-03-03 10:21:13 +03:00
2026-03-03 10:21:13 +03:00
2026-03-03 10:21:13 +03:00

Lab 2 — Authentication, Authorization & Brute Force Research

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

Структура каталогов

$PRACTICE2_DIR/          # по умолчанию /usr/local/practice2
├── etc/passwd           # логин:sha256:id:права:ФИО
├── confdata/            # конфиденциальные файлы
├── bin/                 # утилиты (usermgr, confaccess, bruteforce)
└── log/                 # usermgr.log, access.log

Базовый каталог задаётся через переменную окружения PRACTICE2_DIR.
Если переменная не задана — используется /usr/local/practice2.

Установка

chmod +x setup.sh

# для пути по умолчанию (/usr/local/practice2) нужен root:
sudo ./setup.sh

# для тестирования без root:
PRACTICE2_DIR=/tmp/practice2 ./setup.sh

Скрипт создаёт структуру каталогов, копирует утилиты в bin/ и выставляет права доступа.

Добавить bin во временный PATH

export PATH="/usr/local/practice2/bin:$PATH"

# или для тестовой директории:
export PATH="/tmp/practice2/bin:$PATH"

После этого утилиты доступны без полного пути:

usermgr add alice
confaccess
bruteforce alice

Использование

usermgr — управление пользователями

usermgr add alice        # добавить пользователя (интерактивный ввод)
usermgr list             # список пользователей
usermgr edit alice --permissions rw
usermgr edit alice --full-name "Иванов Иван"
usermgr passwd alice     # сменить пароль
usermgr delete alice     # удалить пользователя

Права: r — чтение, w — запись, d — удаление.

Требования к паролю: первый символ — буква (AZ, az), далее — буквы, цифры и !@#$%^&*().

confaccess — доступ к данным

confaccess
# или с явным указанием базовой директории:
PRACTICE2_DIR=/tmp/practice2 confaccess

Режим проверки учётных данных (для bruteforce): confaccess --check <login> — читает пароли построчно из stdin, выводит 0 или 1 на каждую строку, exit 0 при первом совпадении.

После аутентификации доступны команды:

create <file>         создать новый пустой файл в confdata  [requires: w]
read <file>           вывести содержимое файла              [requires: r]
append <file> <text>  дописать строку в файл                [requires: w]
copy <src> <dst>      скопировать файл в confdata           [requires: r, w]
remove <file>         удалить файл из confdata              [requires: d]
help / exit

Пути к файлам указываются относительно confdata/ (или абсолютные).
Для copy: src — любой путь, dst — внутри confdata, перезапись запрещена.
Выход — exit или Ctrl+C.

bruteforce — взлом пароля

bruteforce alice
bruteforce alice --max-length 4

Перебор выполняется через утилиту access (confaccess): bruteforce не имеет доступа к passwd-файлу и проверяет пароли только через confaccess --check.
Алгоритм хэширования в access: SHA-256.
Фиксируется время перебора и количество итераций до нахождения пароля.
Перебор останавливается автоматически при достижении лимита 8 часов.