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

100 lines
3.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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`.
## Установка
```bash
chmod +x setup.sh
# для пути по умолчанию (/usr/local/practice2) нужен root:
sudo ./setup.sh
# для тестирования без root:
PRACTICE2_DIR=/tmp/practice2 ./setup.sh
```
Скрипт создаёт структуру каталогов, копирует утилиты в `bin/` и выставляет права доступа.
### Добавить bin во временный PATH
```bash
export PATH="/usr/local/practice2/bin:$PATH"
# или для тестовой директории:
export PATH="/tmp/practice2/bin:$PATH"
```
После этого утилиты доступны без полного пути:
```bash
usermgr add alice
confaccess
bruteforce alice
```
## Использование
### usermgr — управление пользователями
```bash
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 — доступ к данным
```bash
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 — взлом пароля
```bash
bruteforce alice
bruteforce alice --max-length 4
```
Алгоритм хэширования: **SHA-256**.
Перебор выполняется напрямую по хэшу из passwd-файла.
Фиксируется время перебора и количество итераций до нахождения пароля.
Перебор останавливается автоматически при достижении лимита 8 часов.