Files
cyber-security/lab2/README.md
2026-03-03 10:21:13 +03:00

3.8 KiB
Raw Permalink Blame History

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

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

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

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