이번 과제로는 HTB의 Sau라는 문제를 풀어봤다
Port Scanning
instance를 얻고 일단 바로 포트 스캔부터 해보았다.

그 결과 80번 포트는 모르겠지만 22, 55555번 포트가 열려있다고 나와있다.
그래서 웹 브라우저에서 55555번 포트로 접속을 시도했다.
웹 페이지 접속

접속을 하면 위와 같은 웹페이지가 나온다.
Create 버튼을 누르면 아래 페이지로 리다이렉트 된다.

그리고 위 적혀있는 페이지에 접속하고 다시 돌아오면 화면이 아래와 같이 바뀐다.

아마 http://10.129.229.26:55555/hzkibhe에 접속할 때의 HTTP Request 정보를 보여주는 것 같다.
그리고 해당 기능외 다른 기능도 있는 것 같았다.
오른쪽 위 톱니바퀴를 누르면 아래와 같은 화면이 나온다.

뭔지는 모르겠어서 일단 내 도메인 주소를 입력하고 Apply를 눌렀다.

이렇게 하고 아까 웹페이지에 적혀있는 url로 접속했더니 아래와 같이 출력문이 나왔다.

요청 전달이 실패했다는 메시지가 떴다.
여기서 요청을 전달한다는 말이 있어서 SSRF를 이용해봐야겠다고 생각을 했다.
SSRF
그래서 아까 Configuration Settings를 열어서 URL을 변경했다.

대신 입력할 때 아까 nmap에서 filtered라고 뜬 80번 포트를 붙여서 Apply해봤다.
그리고 다시 http://10.129.229.26:55555/hzkibhe에 접속을 해봤는데 이번엔 다른 화면이 출력됐다.

그리고 페이지 footer부분에 의미있는 정보를 발견했다.
Powered by Maltrail (v0.53)
어떤 서비스를 사용하고 어떤 버전까지인지 보여주고 있었다.
SSRF로 80번 포트의 서비스와 버전 정보를 알아낼 수 있었다.
Maltrail RCE
그래서 바로 구글링을 해서 PoC까지 얻어냈다

해당 Github에서 PoC 코드를 다운받고 로컬에서 nc로 4444번 포트를 개방해줬다.

그리고 PoC코드를 실행시켜줬다.

그 결과 reverse shell을 딸 수 있었고 user flag까지 획득할 수 있었다.

이제 root flag를 획득해야 한다.
privilege escalation
권한 상승을 위해 가장 먼저 sudo -l을 입력해봤다.

그 결과 systemctl status trail.service는 password 없이 sudo로 실행할 수 있다는 것을 알아냈다.
하지만 저기서 진행이 막혀서 어떻게 해야하나 고민 하던 중 구글에 systemctl status privilege escalation이라고 검색을 해봤다.

해당 웹페이지에서 sudo systemctl을 이용한 권한 상승 방법이 있을 거 같아 접속을 했다.
접속한 후 아래로 스크롤하면 다음과 같은 정보를 얻을 수 있다.

해당 방법을 이용하면 또다른 쉘을 띄울 수 있다고 설명을 해준다.
그래서 sudo systemctl status trail.service를 입력한 후 !sh를 입력해봤다.

그 결과 권한 상승이 성공했고 root flag도 획득할 수 있었다.

'Hack The Box' 카테고리의 다른 글
| [Hack The Box] Code Part Two (0) | 2026.04.24 |
|---|