11

Я использовал тестовые машины с использованием metasploit и смог получить хэши из файла SAM; Я пытался запустить команды как SYSTEM чтобы получить их, но не могу этого сделать. Что является более переносимым методом для извлечения хэшей из файла SAM?

4 ответа4

10

Это не проблема разрешения - Windows сохраняет монопольную блокировку файла SAM (что, насколько я знаю, является стандартным поведением для загруженных кустов реестра), поэтому любой другой процесс не может открыть его.

Однако в последних версиях Windows имеется функция "Теневое копирование тома", которая предназначена для создания моментальных снимков всего тома только для чтения, в основном для резервного копирования. Блокировки файлов предназначены для обеспечения согласованности данных, поэтому они не нужны, если сделан снимок всей файловой системы. Это означает, что можно создать снимок C: смонтировать его, скопировать файл SAM , а затем сбросить снимок.

Как именно это сделать, зависит от вашей версии Windows: XP нужна внешняя программа, Vista и 7 имеют vssadmin create shadow , а Server 2008 имеет команду diskshadow . На странице Безопасный сброс хэшей с контроллеров домена Live есть более подробная информация об этом процессе, а также инструкции и сценарии.

Кроме того, существуют такие инструменты, как samdump которые злоупотребляют процессом LSASS в разных направлениях, чтобы извлечь все хэши паролей непосредственно из памяти. Они могут быть намного быстрее, чем снимки VSS, но имеют более высокий риск сбоя системы.

Наконец, Google выявляет этот фрагмент, полезность которого я не могу оценить, никогда не использовал metasploit самостоятельно:

meterpreter> use priv
meterpreter> hashdump
8

Существует более простое решение, которое не требует управления теневыми томами или использования внешних инструментов. Вы можете просто скопировать SAM и SYSTEM с помощью команды reg предоставленной Microsoft (протестировано в Windows 7 и Windows Server 2008):

reg save hklm\sam c:\sam
reg save hklm\system c:\system

(последний параметр - это место, куда вы хотите скопировать файл)


Затем вы можете извлечь хэши в системе Linux с помощью пакета samdump2 (доступен в Debian: apt-get install samdump2):

$ samdump2 system sam
Administrator:500:aad3b435b51404eeaad3b435b51404ee:c0e2874fb130015aec4070975e2c6071:::
*disabled* Guest:501:aad3b435b51404eeaad3b435b51404ee:d0c0896b73e0d1316aeccf93159d7ec0:::
5

Редактировать: я решил редактировать после многих лет оставления.


Файл SAM SAM Windows заблокирован от копирования / чтения в отличие от /etc/shadow в системах Linux. Вместо этого, чтобы обойти эти инструменты будут извлекать хеши из памяти.

Есть способы обойти это, что я расскажу ниже:

Mimikatz

Запустите mimikatz с помощью sekurlsa::logonpasswords .

fgdump

Схожая функциональность как мимикац. Запустите его, и хэши будут сброшены в локальные файлы.

hashdump

Встроен в метр извлекает хеши из памяти.

реестр

Также возможно извлечь из реестра (если у вас есть доступ SYSTEM ):

  1. reg save hklm\sam %tmp%/sam.reg и reg save hklm\system %tmp%/system.reg
  2. Скопируйте файлы и запустите: samdump2 system sam

Резервные копии

Файл SAM также может быть сохранен в резервной папке: C:\Windows\Repair\SAM

Я должен также упомянуть, что инструментам как минимум потребуются права Administrator ; и большинство не получит все хэши, пока не будет получен доступ SYSTEM .

1

Метод Obscuresec преодолевает ваши трудности локально на любом компьютере с Windows PowerShell 1.0. Оставляет некоторые цели, которые я знаю, но эй, хорошая работа! (спасибо Крис).

Примечание. Для выполнения такой операции всегда требуются права администратора.

Вы могли бы использовать

http://gallery.technet.microsoft.com/scriptcenter/Get-PasswordFile-4bee091d

или из другого источника (более поздний, я мог бы добавить)

https://github.com/obscuresec/PowerShell/blob/master/Get-PasswordFile

Рекомендуемое чтение:

Для захвата удаленных систем ульев SAM и SYSTEM используйте вышеупомянутое в сочетании с

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .