Гид по технологиям

Как взломать хэши в Linux с hashcat

8 min read Security Обновлено 05 Jan 2026
Как взломать хэши в Linux с hashcat
Как взломать хэши в Linux с hashcat

Показано использование hashcat для взлома хэшей в Linux

Введение

Если вы начинающий специалист по кибербезопасности и хотите изучать «наступательные» приёмы, важно понимать инструменты, которые используют pentester’ы и red team’ы. Одно из таких заданий — привилегированное повышение доступа, которое часто начинается с получения хэшей паролей. hashcat — мощный инструмент для брутфорса и атак по словарю, который помогает восстановить пароли по известным хэшам.

В этой статье вы найдёте:

  • Краткое объяснение хэшей и их свойств;
  • Обзор режимов атак hashcat;
  • Инструкции по установке на разных дистрибутивах Linux;
  • Пошаговый пример извлечения хэша из /etc/shadow и его расшифровки;
  • Альтернативные подходы, контрольный чеклист для ролей и рекомендации по защите.

Важно: все демонстрации выполняйте в контролируемой лаборатории с явным разрешением на тестирование. Несанкционированный взлом является незаконным.

Что такое хэши?

Хеширование — это односторонняя математическая функция, которая возвращает фиксированной длины значение независимо от размера входа. Основные свойства:

  • Быстро вычисляется;
  • Детeрминировано: одинаковый вход даёт одинаковый хэш;
  • Небольшие изменения во входе существенно меняют хэш;
  • Односторонняя операция: по хэшу восстановить исход не тривиально.

Краткое определение: хеш — уникальный идентификатор данных фиксированной длины, используемый для проверки целостности и хранения паролей.

Почему hashcat?

hashcat — многопоточный инструмент для восстановления паролей по хэшам. Его сильные стороны:

  • Поддерживает 300+ алгоритмов (MD5, SHA1, SHA512, bcrypt, NTLM и другие);
  • Много режимов атак: словарь, комбинатор, правила, брутфорс, гибриды;
  • Работает на Windows, Linux, BSD и macOS (при сборке);
  • Поддерживает работу на GPU для ускорения поиска.

Для практики и тестов hashcat — удобный выбор благодаря гибкости режимов и богатству опций.

Режимы атак в hashcat — кратко

  • Brute-force (брутфорс): перебор всех комбинаций в заданном наборе символов и длине. Гарантирует находку при достаточной длине, но часто непрактичен по времени.
  • Dictionary (словари): перебор значений из списка (wordlist). Быстро при наличии подходящих слов.
  • Hybrid: словарь + маска/брутфорс, например дописать цифры или символы.
  • Rule-based: применение правил к элементам словаря (подмена, добавление, удаление, капитализация и т.д.).
  • Combinator: сочетание слов из двух списков.

Ментальная модель: думайте о поиске пароля как об уменьшении пространства поиска — словари и правила сильно сокращают пространство по сравнению с чистым брутфорсом.

Установка hashcat на Linux

На многих дистрибутивах hashcat доступен в репозиториях. Примеры:

Для Debian/Ubuntu:

sudo apt-get update
sudo apt-get install hashcat

Для Fedora/CentOS/RHEL (dnf):

sudo dnf update
sudo dnf install hashcat

Для Arch Linux:

sudo pacman -Syu
sudo pacman -S hashcat

После установки рекомендуется просмотреть справку:

hashcat --help

Таблица основных опций (кратко):

ОпцияОписание
-mТип хэша (числовой идентификатор), по умолчанию 0 = MD5
-aРежим атаки: 0 = straight (словник), 1 = комбинированный, 3 = брутфорс
-oВыходной файл для найденных паролей
wordlistПуть к словарю паролей

Примечание: перед использованием убедитесь, что ваше железо соответствует требованиям hashcat (GPU-драйверы, доступ к OpenCL/CUDA и т. п.). Подробности — на официальном сайте hashcat.

Извлечение и взлом хэшей из /etc/shadow

Файл /etc/shadow хранит хэши паролей пользователей в Linux и доступен только root. Если вы получили содержимое этого файла (в рамках легального теста), можно попытаться восстановить пароли.

Пример: создадим пользователя alice и проверим её хэш (выполняйте в лаборатории):

sudo su
sudo useradd -c "Alice" alice
passwd alice

Проверим запись в /etc/shadow:

cut -d: -f1 /etc/shadow | grep alice

Пример строки (приведён вывод):

alice:$y$j9T$TANXgpk59y8r3jgPbDl/w/$UqiK6yahwqfyqhcegWLa1.z64TyePP5.VQpUnLqI3VD:19023:0:99999:7::

Сохраните строку хэша в файл hash.txt.

Определение типа хэша

Тип хэша часто можно определить по префиксу или по конфигурации системы. Например, в /etc/login.defs задаётся ENCRYPT_METHOD:

grep ENCRYPT_METHOD /etc/login.defs

Показан пример строки из login.defs с указанием метода шифрования

Также hashcat содержит список режимов с описанием; поиск по названию помогает найти числовой идентификатор. Например, для sha512 идёт ссылка на идентификатор 1800:

hashcat -h | grep sha512

Иллюстрация поиска SHA512 в справке hashcat

Запуск hashcat

Используем режим словаря (-a 0) с referenc’ом шифра (-m 1800) и словарём rockyou:

hashcat -m 1800 -a 0 hash.txt /usr/share/wordlists/rockyou.txt

Пример вывода, где найден пароль (в примере пароль — 12345):


.
.
$y$j9T$TANXgpk59y8r3jgPbDl/w/$UqiK6yahwqfyqhcegWLa1.z64TyePP5.VQpUnLqI3VD:12345
.
.

Примечание о словарях: в Kali rockyou.txt обычно предустановлен в /usr/share/wordlists. Чтобы найти словари на системе, можно выполнить:

locate wordlists | less

Поиск словарей в Kali Linux, показан вывод locate

Для других дистрибутивов rockyou можно скачать из репозитория SecLists на GitHub, например:

wget https://github.com/danielmiessler/SecLists/blob/master/Passwords/Leaked-Databases/rockyou-20.txt

Важно: из-за форматов файлов GitHub этот URL может вернуть HTML — используйте raw-ссылку или скачайте репозиторий целиком.

Пошаговая методика (мини-методология)

  1. Подготовка окружения: изолированная лаборатория, легальные права доступа, обновлённые драйверы GPU/CPU.
  2. Сбор хэшей: получаем целевые хэши (например, /etc/shadow) и сохраняем в файл.
  3. Определение типа хэша: по префиксу ($6$, $2y$ и т.д.) или через справку hashcat (-m).
  4. Выбор словаря и правил: rockyou, SecLists, подборка целевых слов; применить правила (-r).
  5. Запуск брутфорса/гибридов: маски и правила для ускорения.
  6. Анализ результатов: проверка файла вывода (-o), повторная итерация с другими словарями/правилами.
  7. Документирование и отчётность: время выполнения, параметры, найденные пароли и рекомендации по устранению уязвимости.

Практические подсказки и приёмы

  • Используйте опцию –show для быстрого просмотра найденных паролей:
hashcat --show -m 1800 hash.txt
  • Применяйте правила из папки rules/ hashcat для генерации вариантов слов.
  • Для GPU-ускорения убедитесь, что установлены корректные драйверы и что hashcat видит устройства (hashcat -I).
  • Если hashcat не поддерживает имя алгоритма, ищите числовой идентификатор (-m).

Альтернативные инструменты и подходы

  • John the Ripper: популярный инструмент для восстановления паролей, удобен для некоторых форматов и интеграций.
  • oclHashcat (историческое имя): ныне объединён с hashcat, но в отдельных сборках всё ещё встречается.
  • Hydra, Medusa: рассчитаны на сетевые атаки (онлайн bruteforce), а не на локальные хэши.

Когда выбирать альтернативы: если требуется поддержка специфического формата или встроенная предварительная обработка — John может быть удобнее; для масштабного GPU-брутфорса чаще выбирают hashcat.

Ментальные модели и эвристики

  • «Сделай пространство поиска меньше»: сначала словари и правила, затем маски и брутфорс.
  • «Сочетай знания о пользователе со словарём»: имена, даты, компании, популярные паттерны.
  • «Много правил — мало итераций»: комбинирование небольших правил часто эффективнее одного огромного брутфорса.

Роль‑базовые чеклисты

Для red team / pentester:

  • Убедиться в авторизации на тестирование;
  • Экспортировать хэши корректно и безопасно;
  • Начать с целевых словарей и правил;
  • Логировать время и параметры атак;
  • Очистить следы в лаборатории и оформить отчёт.

Для системного администратора:

  • Защитить /etc/shadow (правильные права доступа);
  • Использовать соли и современные алгоритмы (bcrypt/argon2 когда возможно);
  • Отслеживать привилегированные операции и попытки чтения;
  • Ограничить использование слабых паролей политиками и блокировками;
  • Периодически проводить аудит и тесты в контролируемой среде.

Для blue team / SOC:

  • Настроить детекцию массовых попыток брутфорса на сервисах;
  • Контролировать подозрительную активность с учетных записей;
  • Имплементировать MFA на критичных ресурсах;
  • Реагировать по инциденту: смена ключей/паролей и анализ вектора компрометации.

Критерии приёмки

  • Хэш корректно распознан (верный -m для hashcat);
  • Инструмент запускается и использует доступный ускоритель (CPU/GPU);
  • Пароль либо найден и подтверждён, либо пространство поиска исчерпано;
  • Все шаги задокументированы и воспроизводимы в тестовой среде.

Когда методы не сработают (контрпримеры)

  • Современное хеширование с сильной солью и адаптивным алгоритмом (bcrypt, argon2) существенно замедляет брутфорс и делает восстановление непрактичным.
  • Длинные и случайные пароли (high-entropy) практически не поддаются словарным атакам.
  • Если хэши частично повреждены или используют нестандартный формат, это усложняет или делает невозможным обработку стандартными инструментами.

Тестовые случаи и приёмка результатов

  • Тест 1: распознать SHA512-хэш и найти пароль из rockyou — ожидаемый результат: пароль найден.
  • Тест 2: применить правило uppercase + добавить 2 цифры — ожидаемый результат: найти варианты, не покрываемые базовым словарём.
  • Тест 3: попытка брутфорса с маской ?l?l?l?d?d (3 буквы + 2 цифры) — ожидаемый результат: успешная проверка ограниченного пространства.

Рекомендации по защите (жёсткая защита)

  • Не храните пароли в открытом виде; применяйте адаптивные алгоритмы (bcrypt/argon2) с настройкой времени/памяти;
  • Используйте уникальную соль для каждой записи;
  • Внедрите многофакторную аутентификацию для критичных учетных записей;
  • Включите блокировки/затримки логина после нескольких неудачных попыток;
  • Проводите регулярные учения по восстановлению после инцидента.

Юридические и приватные соображения

  • Любые действия по сбору или взлому хэшей возможны только с явным разрешением владельца системы;
  • Обработка персональных данных должна соответствовать локальному законодательству о защите данных (например, GDPR в ЕС) — сообщите о рисках и минимизируйте сведения, которые вы храните как доказательства;
  • При тестировании фиксируйте разрешения и границы теста.

Краткая сводка по инструментам и словарям

  • rockyou.txt — один из самых распространённых словарей для тестирования (в Kali находится в /usr/share/wordlists по умолчанию);
  • SecLists — большой репозиторий словарей и списков для тестов безопасности;
  • Правила (rules) — мощный способ расширить словарные атаки без полного брутфорса.

1‑строчный глоссарий

  • Соль (salt): случайные данные, добавляемые к паролю перед хешированием для уникализации хэшей;
  • Маска: шаблон для брутфорса (например, ?l?l?d означает две строчные буквы и цифру);
  • -m: числовой идентификатор алгоритма в hashcat;
  • -a: режим атаки в hashcat.

Факт‑бокс (ключевые числа и ссылки)

  • Поддержка алгоритмов: 300+;
  • Часто используемый идентификатор для SHA512 в hashcat: 1800;
  • Популярный локальный словарь в Kali: /usr/share/wordlists/rockyou.txt;
  • Команда просмотра помощи: hashcat –help

Примеры вывода и отладка

Если hashcat выдаёт ошибки:

  • Проверьте драйверы GPU и доступность OpenCL/CUDA;
  • Убедитесь, что формат хэша корректен и соответствует выбранному -m;
  • Используйте –debug-mode и –debug-file для подробного логирования при необходимости.

Заключение

hashcat — универсальный инструмент для восстановления паролей по хэшам, полезный для pentest’ов и аудитов безопасности. Эффективность атак зависит от выбранной стратегии: сначала словари и правила, затем маски и брутфорс. Администраторам важно применять современные схемы хранения паролей, использовать соли и адаптивные алгоритмы, а также внедрять MFA и мониторинг аномалий.

Важно: соблюдайте юридические ограничения и проводите тесты только в рамках разрешённой и изолированной среды.

Короткое резюме ниже.

Краткое резюме:

  • hashcat позволяет восстанавливать пароли по хэшам разными методами;
  • начинайте с идентификации типа хэша и использования целевых словарей;
  • защищайте системы современными алгоритмами, солью и MFA.
Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Сочетания клавиш для панели задач Windows
Windows

Сочетания клавиш для панели задач Windows

Fire TV: вылеты и перезагрузки — решение проблем
Техподдержка

Fire TV: вылеты и перезагрузки — решение проблем

Улучшить качество видеозвонков на Mac
Руководство

Улучшить качество видеозвонков на Mac

Быстрый доступ к сканированию Windows Security
Windows Security

Быстрый доступ к сканированию Windows Security

Как быстро прикреплять изображения к твитам
Социальные сети

Как быстро прикреплять изображения к твитам

Steam Deck для видеомонтажа — настройка и советы
Руководство

Steam Deck для видеомонтажа — настройка и советы