
.Net порт функциональности удаленного дампа SAM и LSA Secrets из impacket's secretsdump.py.
Порт .Net функциональности удаленного дампа SAM + LSA Secrets из impacket's secretsdump.py. По умолчанию выполняется в контексте текущего пользователя. Пожалуйста, используйте только в средах, которыми вы владеете или имеете разрешение на тестирование :)
SharpSecDump.exe -target=192.168.1.15 -u=admin -p=Password123 -d=test.local
Обязательные флаги
Необязательные флаги
Проект протестирован на Win 7,10, Server 2012 и Server 2016. Старые версии (win 2003 / xp) могут не работать с этим инструментом.
По умолчанию, если вы пытаетесь дампить кусты из локальной системы, вам необходимо запускать из контекста высокой целостности. Однако это не обязательно при работе с удаленными системами.
В настоящее время поддерживается дамп кустов реестра SAM + SECURITY для получения кэшированных учетных данных. Однако парсинг NTDS.dit / dcsync пока не поддерживается. Если вам нужна функциональность dcsync в проекте .Net, рекомендую sharpkatz.
Если система настроена на запрет RPC через TCP (требуется RPC через именованный канал — это не настройка по умолчанию), существует задержка в 21 секунду, прежде чем Windows переключится на RPC/NP, но соединение все равно будет разрешено. Это, по-видимому, ограничение использования вызовов API, которые используют SCManager для удаленной привязки к службам.
Этот код является портом функциональности из impacket от @agsolino и pypykatz от @skelsec. Вся заслуга принадлежит им за оригинальные шаги по анализу и расшифровке информации из кустов реестра.
Используемые структуры кустов реестра взяты из gray_hat_csharp_code от @BrandonPrry.
Наконец, исходная идея скрипта была основана на неполном порте Posh_SecModule от @Carlos_Perez, откуда была взята большая часть начального кода для парсинга SAM.