Я использовал тестовые машины с использованием metasploit и смог получить хэши из файла SAM; Я пытался запустить команды, SYSTEM
чтобы получить их, но не могу этого сделать. Что является более переносимым методом для извлечения хэшей из файла SAM?
Я использовал тестовые машины с использованием metasploit и смог получить хэши из файла SAM; Я пытался запустить команды, SYSTEM
чтобы получить их, но не могу этого сделать. Что является более переносимым методом для извлечения хэшей из файла SAM?
Ответы:
Это не проблема разрешения - 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
HKLM\SYSTEM\CurrentControlSet\Control\HiveList
какие подключи соответствуют каким файлам.
Существует более простое решение, которое не требует управления теневыми томами или использования внешних инструментов. Вы можете просто скопировать 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:::
Редактировать: я решил редактировать после многих лет оставления.
Файл SAM SAM Windows заблокирован от копирования / чтения в отличие /etc/shadow
от систем Linux. Вместо этого, чтобы обойти эти инструменты будут извлекать хеши из памяти.
Есть способы обойти это, что я расскажу ниже:
Запустите мимикац с sekurlsa::logonpasswords
.
Схожая функциональность как мимикац. Запустите его, и хэши будут сброшены в локальные файлы.
Встроен в метр извлекает хеши из памяти.
Также возможно извлечь из реестра (если у вас есть SYSTEM
доступ):
reg save hklm\sam %tmp%/sam.reg
и reg save hklm\system %tmp%/system.reg
samdump2 system sam
Файл SAM также можно сохранить в резервной папке: C:\Windows\Repair\SAM
Я должен также упомянуть, что инструментам как минимум потребуются Administrator
привилегии; и большинство не получит все хэши, пока не будет получен SYSTEM
доступ.
Mimikatz
или fgdump
более переносимы, чем C & A, или отличаются от них? Насколько я могу судить, они все сторонние инструменты, которые не поставляются в комплекте с Windows и должны быть загружены отдельно. Кроме того, для моего собственного любопытства, каков вариант использования утилит для хэширования, когда существуют такие инструменты, как Ophcrack?
Метод 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 используйте вышеупомянутое в сочетании с
Хотелось бы указать дополнительный метод, который здесь не описан, так как в Red Teaming / Penetration Testing много времени недоступны, наиболее очевидные способы недоступны (отрицаются, контролируются Blue Team и т. Д.), И приятно знать все доступные методы.
Один из способов обхода доступа к файлам, с которыми система имеет ручки (не может копировать / удалять как обычно), vssshadow.exe
описан выше.
Второй - esentutil.exe
.
Точная команда для получения копии файла с дескриптором:
esentutl.exe /y /vss c:\windows\ntds\ntds.dit /d c:\folder\ntds.dit
Это относится к SAM, SYSTEM, SECURITY, NTDS.DIT и т. Д.
PS В esentutl.py
пакете Impacket есть:
https://github.com/SecureAuthCorp/impacket/blob/master/examples/esentutl.py