
CredsHunter - Credential Hunting scripts for Windows and Linux OS
credshunter — это программа для поиска учётных данных, доступная только для чтения, предназначенная для авторизованного пост-эксплуатационного использования. Она однократно обходит хост и выявляет секреты, которые можно повторно использовать — пароли, ключи, хэши и файлы с учётными данными — при этом не обращая внимание на облачные/SaaS токены, которые только создают шум.
Два варианта, одно поведение: credshunter.sh для Linux, credshunter.ps1 для Windows.
Пятиэтапная воронка, сужающаяся от где хранятся учётные данные до что внутри файлов. Каждый этап выводит свои результаты сразу по завершении.
Stage 1 OS credential stores registry · GPP · histories · vaults · keys · other
Stage 2 Confirmed containers .kdbx · .ppk · .pfx · .keytab · other
Stage 3 High-value file types keys · .env · backups · DBs · captures · other
Stage 4 Suspicious filenames *password* · *secret* · *credential*
Stage 5 Content scan 70+ tuned regexes, one pass per file
Этапы 1 и 5 выполняют основную работу; 2–4 — быстрые проходы по именам/расширениям файлов. Каждый результат проходит фильтр ложных срабатываний, прежде чем попасть к вам.
# Linux — full sweep, log to file
./credshunter.sh -p / -o loot.txt
# Targeted, skip the slow content scan
./credshunter.sh -p /var/www -p /home --no-stage5
# Windows — elevated sweep of C:\
.\credshunter.ps1 -Path C:\ -OutputFile loot.txt
# Web / DB box: also scan SQL & CSV dumps
.\credshunter.ps1 -Path D:\ -IncludeData
Поддерживает конвейер — добавьте --no-color / -NoColor и используйте grep для фильтрации по уровню.
Результаты сгруппированы по пяти уровням, от наиболее громких к наименее.
Код возврата 1 выдается, если что-то попадает в категории CRITICAL / HIGH / KEY — удобно для CI: ./credshunter.sh -p /etc && echo clean.
Шаблоны и списки типов файлов находятся в четко обозначенных массивах в верхней части каждого скрипта — измените одно место, больше ничего не требуется.
Вносит ли он какие-либо изменения в хост? Нет. Он записывает только в указанный вами файл журнала, никогда не обращается к сети и корректно завершает работу при нажатии Ctrl-C.
Почему игнорируются токены AWS / GitHub / Slack? По замыслу — они редко помогают при перемещении по сети и являются основным источником ложных срабатываний. Локальные файлы учётных данных облачных CLI по-прежнему перечисляются.
Этап 5 кажется медленным, или пароль был пропущен.
Подробные журналы — обычная плата; их объём ограничен лимитом размера. Сузьте область с помощью -p, пропустите сканирование содержимого с помощью --no-stage5 и убедитесь, что цель не превышает лимит размера, не находится в исключённом пути и не имеет расширения вне набора этапа 5 (используйте -All для уверенности).
Ознакомьтесь с документом Wiki для получения дополнительной информации о проекте.
Не стесняйтесь вносить свой вклад в проект!
| Тег | Значение |
|---|
[CRITICAL] | Подтверждённый контейнер учётных данных |
[HIGH] | Пароль для повторного использования · хэш · GPP cpassword |
[KEY] | Закрытый ключ или читаемый куст SAM/SYSTEM |
[INTEREST] | Ценный файл, заслуживающий внимания |
[NAME] | Подозрительное имя файла — подсказка для проверки |
| Что сделать… | Выполните |
|---|
| Ограничить область | -p / -Path для включения, -x / -ExcludePath для пропуска |
| Сканировать каждый файл | -a / -All |
| Добавить дампы SQL/CSV | -IncludeData (PowerShell) |
| Изменить лимит размера | -m N / -MaxFileSizeMB N, или --no-size-limit / -NoSizeLimit |
| Пропустить этап | --no-stageN / -NoStageN |