Введение
Восстановление пароля закрытого портала не доказывает, что он по-прежнему открывает текущий архив сотрудников. Сначала нужно связать старую запись с разрешённым текущим аккаунтом, затем проверить именно эту связь.
Создайте перечень последствий без паролей, различающий текущее повторное использование, отклонённые старые данные, человека вне разрешённого охвата и неразрешённую запись. John выполняет настоящее автономное восстановление, Hydra — ограниченную сетевую аутентификацию, а SSH позволяет наблюдать принятую учётную запись. Синтетическая цель и аудитор Kali — изолированные контейнеры с общим ядром одной VM.
Завершите предыдущую работу или знайте её процесс John, закрытых файлов и постоянных ID. Этот модуль объясняет Hydra и оценку последствий. В новой среде нет результатов предыдущей VM. Примерное время с чтением и обычными ошибками — 50 минут; это оценка автора.
Воссоздайте доказательства в новой среде
На этом шаге вы установите обычный доступ и восстановите оригинальную выгрузку этого модуля. Откройте Auditor в /home/auditor/project. Копировать что-либо из предыдущей VM не нужно. Начните с известного демонстрационного входа:
ssh -o UserKnownHostsFile=/etc/reuse/known_hosts -o StrictHostKeyChecking=yes -p 12222 demo@staff-archive whoami
Введите welcome-7 в запросе пароля; ожидайте demo и возврата к локальному приглашению. Ввод пароля невидим. Это подтверждает обычный доступ до проверки старых данных. При опечатке отмените через Ctrl+C и повторите. Ошибки соединения и ключа хоста не являются отказом в учётных данных; оставьте строгую проверку включённой.
Создайте закрытые результаты и повторите уже изученный процесс восстановления. umask действует в пределах сессии; повторите его после переподключения. Если findings существует, сохраните его и продолжайте.
umask 077
mkdir -m 700 findings
cat inputs/legacy.txt
cat inputs/candidates.txt
OMP_NUM_THREADS=2 john --format=sha512crypt --wordlist=inputs/candidates.txt --pot=/home/auditor/project/findings/audit.pot --session=/home/auditor/project/findings/recovery inputs/legacy.txt
john --show --format=sha512crypt --pot=/home/auditor/project/findings/audit.pot inputs/legacy.txt > findings/recovered.txt
cat findings/recovered.txt
Ожидайте portal-17:cedar42, portal-23:pebble7, portal-41:birch81 и сводку 3 password hashes cracked, 1 left. Повтор может использовать существующий pot; проверяйте --show, а не считайте отсутствие новых восстановлений ошибкой. portal-58 остаётся неизвестным при этом бюджете кандидатов.
После ошибки каталога используйте pwd и cd /home/auditor/project. Исправьте неправильно написанный путь и повторите затронутую команду. chmod 600 findings/recovered.txt исправляет избыточные права результата; при необходимости используйте тот же приём для другого закрытого файла. Не меняйте входные данные и текущие пароли архива.
Проверьте только точные разрешённые пары
На этом шаге вы решите, какие восстановленные записи разрешено проверять, и протестируете две точные пары с Hydra. Оставайтесь в Auditor. Отдельно прочитайте связи идентичностей и текущие разрешения:
cat inputs/legacy-roster.tsv
cat inputs/scope.tsv
Мысленно соедините файлы по employee_id, а не по отображаемому имени. portal-17 — это E101, чей текущий логин — mrivera. portal-23 — E102, теперь ncho. Другой Morgan Rivera — E103; для него нет разрешённого текущего аккаунта. Не придумывайте логин. У E104 есть разрешённый текущий логин, но старый пароль не восстановлен, поэтому в пределах бюджета старой пары для проверки нет.
Параметр Hydra -C читает пары login:password, по одной на строку. Так сохраняется каждая связь, вместо комбинирования каждого логина с каждым восстановленным паролем. printf, \n, одинарные кавычки и > работают как раньше. Сохраните только две разрешённые восстановленные пары:
printf 'mrivera:cedar42\nncho:pebble7\n' > findings/pairs.txt
cat findings/pairs.txt
В следующей команде -C выбирает этот файл, -s — SSH-порт, -t 1 ограничивает параллелизм одной задачей, -w 8 ограничивает ожидание ответа. -o сохраняет находки Hydra. ssh://staff-archive задаёт протокол и точную цель. Обычная обработка хоста Hydra отличается от проверки закреплённого ключа в штатном SSH; используйте только подготовленную внутреннюю цель. Разрешены две исходные восстановленные пары, а не расширение подбора.
hydra -C findings/pairs.txt -s 12222 -t 1 -w 8 -o findings/hydra.txt ssh://staff-archive
Дождитесь завершения. Ожидается строка успеха для mrivera с cedar42, затем 1 valid password found и сводка о завершении цели. Пара для ncho отклоняется. Вывод Hydra содержит открытые учётные данные и должен оставаться закрытым. Один лишь нулевой код выхода не доказывает рабочую пару: завершённый запуск без действительных паролей тоже может успешно закончиться.
cat findings/hydra.txt
Незавершённый запуск, ошибка соединения или отключённая цель не означают, что пароль отклонён. Сначала проверьте точные хост, порт и файл пар. Если вы намеренно повторяете завершённый запуск и Hydra спрашивает о hydra.restore, используйте ту же команду с -I, чтобы игнорировать старый файл возобновления. Это повторит два разрешённых запроса без расширения охвата. Не используйте остановку после первого успеха: решения нужны для обеих пар. Оценка наблюдает реальные решения аутентификации для точных исходных пар, включая отказ; скопированной строки успеха Hydra недостаточно.
Подтвердите аккаунт и зафиксируйте ограниченные последствия
На этом шаге вы увидите принятую учётную запись и подготовите передачу результатов без паролей. Оставайтесь в Auditor и используйте штатный SSH с восстановленным паролем:
ssh -o UserKnownHostsFile=/etc/reuse/known_hosts -o StrictHostKeyChecking=yes -p 12222 mrivera@staff-archive whoami
Введите cedar42 в запросе пароля. Ожидайте mrivera, затем локальное приглашение. Ограниченная команда архива возвращает реально аутентифицированный аккаунт, не открывая оболочку цели. Вы подтвердили, какой текущий аккаунт доступен со старыми данными. Здесь доказана успешная аутентификация, а не доступ ко всем ресурсам архива.
В findings/impact.tsv должны быть пять столбцов: record_id, employee_id, current_login, result, identity. Используйте -, если текущий логин недоступен или аккаунт не установлен успешной аутентификацией. Допустимые значения результата:
current-reused: разрешённый текущий аккаунт принимает восстановленный старый пароль этого сотрудника.current-not-accepted: именно эта восстановленная пара достигла сервиса и была отклонена. Это не доказывает отсутствие другого слабого пароля у аккаунта.out-of-scope: восстановление успешно, но разрешённого текущего аккаунта сотрудника нет. Не проверяйте придуманный.not-recovered: этот словарь не восстановил старый пароль. Текущее повторное использование неизвестно.
Запишите перечень без паролей, по строке для каждой старой записи:
printf 'record_id\temployee_id\tcurrent_login\tresult\tidentity\nportal-17\tE101\tmrivera\tcurrent-reused\tmrivera\nportal-23\tE102\tncho\tcurrent-not-accepted\t-\nportal-41\tE103\t-\tout-of-scope\t-\nportal-58\tE104\tlpark\tnot-recovered\t-\n' > findings/impact.tsv
cat findings/impact.tsv
Проверьте связи идентичностей и все четыре разных вывода. Исправьте опечатку в тексте printf и повторите команду. Порядок строк может отличаться, но связи должны оставаться целыми. Держите закрытыми pot, открытый текстовый экспорт, файл пар и результаты Hydra; перечень последствий служит передачей без паролей. Сохраните демонстрационный вход и все исходные аккаунты и пароли. Не меняйте пароли во время оценки: устранение — последующая задача с отдельными разрешением и планом.
Резюме
Вы связали старые записи с разрешёнными текущими аккаунтами, проверили точные пары с Hydra и увидели через SSH аккаунт с повторно используемым паролем. Перечень различает одно доказанное повторное использование, отклонённую пару, аккаунт вне охвата и неизвестную запись. Эти выводы относятся к ограниченной оценке, а не подтверждают безопасность всех паролей и сервисов. Самостоятельное задание переносит метод на другой список мастерской и другую цель.



