메타 스플로 잇을 사용하여 테스트 시스템을 이용했으며 SAM 파일에서 해시를 얻을 수있었습니다. 명령을 실행하려고 시도했지만 SYSTEM
그렇게 할 수 없습니다. SAM 파일에서 해시를 추출하는 더 편리한 방법은 무엇입니까?
메타 스플로 잇을 사용하여 테스트 시스템을 이용했으며 SAM 파일에서 해시를 얻을 수있었습니다. 명령을 실행하려고 시도했지만 SYSTEM
그렇게 할 수 없습니다. SAM 파일에서 해시를 추출하는 더 편리한 방법은 무엇입니까?
답변:
권한 문제는 아닙니다. Windows는 SAM 파일에 대해 독점적 인 잠금을 유지합니다 (내가 아는 한,로드 된 레지스트리 하이브의 표준 동작 임). 다른 프로세스가이 파일을 열 수 없습니다.
그러나 최신 Windows 버전에는 "볼륨 섀도 복사본"이라는 기능이 있는데,이 기능은 주로 백업을 위해 전체 볼륨의 읽기 전용 스냅 샷을 생성하도록 설계되었습니다. 파일 잠금은 데이터 일관성을 보장하기 위해 존재하므로 전체 파일 시스템의 스냅 샷이 작성되는 경우 불필요합니다. 따라서의 스냅 샷을 생성하고 C:
마운트하고 SAM
파일을 복사 한 다음 스냅 샷을 삭제할 수 있습니다.
이 작업을 수행하는 방법은 Windows 버전에 따라 다릅니다. XP에는 외부 프로그램이 필요하고 Vista 및 7에는 vssadmin create shadow
, Server 2008에는 diskshadow
명령이 있습니다. Live Domain Controllers에서 해시 안전하게 덤프 페이지 에는이 프로세스에 대한 자세한 내용과 지침 및 스크립트가 있습니다.
또는 samdump
메모리에서 직접 모든 암호 해시를 추출하기 위해 다양한 방향에서 LSASS 프로세스를 남용하는 도구가 있습니다 . VSS 스냅 샷보다 훨씬 빠를 수 있지만 시스템 충돌의 위험이 높습니다.
마지막으로 Google은이 스 니펫을 제공합니다.이 스 니펫은 메타 스플로 잇을 사용한 적이없는 것으로 평가할 수 없습니다.
meterpreter> use priv
meterpreter> hashdump
HKLM\SYSTEM\CurrentControlSet\Control\HiveList
어떤 하위 키가 어떤 파일에 해당하는지 확인할 수 있습니다.
섀도우 볼륨을 관리하거나 외부 도구를 사용할 필요가없는 더 간단한 솔루션이 있습니다. reg
Microsoft에서 제공 한 명령 (Windows 7 및 Windows Server 2008에서 테스트)을 사용하여 SAM 및 SYSTEM을 간단하게 복사 할 수 있습니다 .
reg save hklm\sam c:\sam
reg save hklm\system c:\system
(마지막 매개 변수는 파일을 복사 할 위치입니다)
그런 다음 samdump2 패키지 (Debian에서 사용 가능)가있는 Linux 시스템에서 해시를 추출 할 수 있습니다 apt-get install samdump2
.
$ samdump2 system sam
Administrator:500:aad3b435b51404eeaad3b435b51404ee:c0e2874fb130015aec4070975e2c6071:::
*disabled* Guest:501:aad3b435b51404eeaad3b435b51404ee:d0c0896b73e0d1316aeccf93159d7ec0:::
편집 : 나는 수년간의 포기 후 편집하기로 결정했습니다.
/etc/shadow
Linux 시스템 과 달리 Windows SAM 파일이 복사 / 읽기에서 잠 깁니다 . 대신이 도구를 해결하려면 메모리에서 해시를 추출하십시오.
이 문제를 해결하는 방법은 다음과 같습니다.
로 mimikatz를 실행하십시오 sekurlsa::logonpasswords
.
mimikatz와 유사한 기능. 이를 실행하면 해시가 로컬 파일에 덤프됩니다.
meterpreter에 내장; 메모리에서 해시를 추출합니다.
레지스트리에서 추출 할 수도 있습니다 ( 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 등에 적용됩니다.
추신 esentutl.py
: 패키지는
https://github.com/SecureAuthCorp/impacket/blob/master/examples/esentutl.py에 있습니다
PSS esentutl PoC 이미지