[OSCP]15.2.4. Password Manager
- 보안/OSCP
- 2024. 12. 16.
- Follow the steps outlined in this section to obtain the master password of the KeePass database on VM #1 (SALESWK01). Enter the password found with the title "User Company Password".
--> XOWV2yg3JVkYc5cOBYip
1단계: 시스템에서 KeePass 데이터베이스 파일 검색
우선, PowerShell을 사용해 시스템에서 .kdbx 파일을 검색했다. 검색 명령어는 다음과 같다:
Get-ChildItem -Path C:\ -Include *.kdbx -File -Recurse -ErrorAction SilentlyContinue
이 명령어는 전체 C 드라이브를 대상으로 .kdbx 확장자를 가진 파일을 검색하며, 오류가 발생하더라도 실행이 계속된다. 실행 결과로 아래와 같은 데이터베이스 파일을 찾을 수 있었다:
Directory: C:\Users\jason\Documents
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 5/30/2022 8:19 AM 1982 Database.kdbx
2단계: Kali Linux로 데이터베이스 파일 전송
발견한 KeePass 데이터베이스 파일을 Kali 시스템으로 전송했다. Kali에서는 보안 테스트를 위한 다양한 툴을 제공하므로, 실습 환경으로 적합하다.
3단계: KeePass 데이터베이스 해시 추출
KeePass 데이터베이스의 해시를 추출하기 위해 Kali에 기본적으로 설치된 keepass2john 스크립트를 사용했다. 명령어는 다음과 같다:
keepass2john Database.kdbx > keepass.hash
이 명령어는 데이터베이스 파일에서 해시를 추출하여 database: 문자열을 지우고 keepass.hash 파일에 저장한다.
추출된 해시는 아래와 같다:
$keepass$*2*60*0*d74e29a727e9338717d27a7d457ba3486d20dec73a9db1a7fbc7a068c9aec6bd*04b0bfd787898d8dcd4d463ee768...
5단계: Hashcat 모드 확인
KeePass 데이터베이스 크래킹을 위해 Hashcat에서 KeePass에 맞는 모드를 찾아야 한다.
아래 명령어를 사용해 모드를 확인 후 13400모드 확인
hashcat --help | grep -i "KeePass"
Hashcat을 사용해 데이터베이스 해시를 크래킹했다
크래킹 후 나온 패스워드로 로그인 후 플래그 확인
- Enumerate VM #2 and get access to the system as user nadine. Obtain the password stored as title "flag" in the password manager and enter it as answer to this exercise. Note that the flag is not formatted as OS{} for this exercise.
--> eSGJIzUp5nrr834QZBWK
1. Hydra를 이용한 RDP 브루트포스 공격
Hydra는 네트워크 서비스에 대한 인증 정보를 브루트포스 공격으로 탐색하는 강력한 도구다. 아래 명령어는 RDP 서비스에 대해 특정 사용자 이름(nadine)과 rockyou.txt 워드리스트를 활용해 공격을 시도한다.
sudo hydra -l nadine -P /usr/share/wordlists/rockyou.txt rdp://192.168.105.227 -T1
옵션 설명:
-l nadine: 사용자 이름을 nadine으로 설정
-P /usr/share/wordlists/rockyou.txt: 비밀번호 워드리스트 파일 지정
rdp://192.168.105.227: 공격 대상 IP 주소와 프로토콜
-T1: 작업 스레드 개수를 1로 설정 (서버 과부하 방지)
2. xFreerdp로 원격 접속 테스트
Hydra로 성공적으로 인증 정보를 얻었다면, 이를 활용해 원격 데스크톱 프로토콜(RDP)로 접속해보자. xFreerdp는 RDP 세션을 관리하는 오픈소스 도구다.
xfreerdp /u:nadine /p:123abc /v:192.168.105.227 /drive:share,/home/kali
옵션 설명:
/u:nadine: 사용자 이름
/p:123abc: 비밀번호
/v:192.168.105.227: 타겟 IP
/drive:share,/home/kali: 로컬 디렉토리를 원격 서버에 공유
3. Keepass2John과 Hashcat을 활용한 데이터베이스 크랙
KeePass는 비밀번호를 안전하게 관리하는 프로그램이지만, 해커가 데이터베이스 파일을 탈취하면 이를 공격 대상으로 삼을 수 있다. Keepass2John은 KeePass 데이터베이스를 해시 형식으로 변환해준다.
Keepass2John 실행:
keepass2john Database.kdbx > keepass.hash
생성된 keepass.hash 파일을 확인:
cat keepass.hash
Hashcat으로 크랙 시도: hashcat은 GPU 기반의 빠른 해시 크랙 도구다. 다음 명령어로 KeePass 해시 유형(13400)을 확인한다.
hashcat --help | grep -i "KeePass"
크랙 실행:
hashcat -m 13400 keepass.hash /usr/share/wordlists/rockyou.txt -r /usr/share/hashcat/rules/rockyou-30000.rule --force
옵션 설명:
-m 13400: KeePass 해시 유형
keepass.hash: 크랙 대상 파일
/usr/share/wordlists/rockyou.txt: 워드리스트 경로
-r /usr/share/hashcat/rules/rockyou-30000.rule: Hashcat 규칙 파일
--force: GPU 환경이 없을 경우 강제 실행
'보안 > OSCP' 카테고리의 다른 글
[OSCP] 15.3.1. Cracking NTLM (0) | 2024.12.20 |
---|---|
[OSCP]Hashcat으로 해시 크랙하기 – 실습 겸 공부 기록 🛠️ (0) | 2024.12.13 |
[OSCP]Password Cracking Fundamentals - 15.2.2 Mutating Wordlists (0) | 2024.12.12 |
[OSCP]Attacking Network Services Logins - 15.1 (0) | 2024.12.12 |
[OSCP] Antivirus Evasion - Detection Methods (0) | 2024.12.10 |