본문 바로가기
Hacking/TryHackMe

[TryHackMe] Bolt Walkthrough

by st-og 2023. 9. 13.

 

What port number has a web server with a CMS running?

웹서버의 포트 번호를 알아보기 위해 nmap을 통한 포트 스캔을 진행했다

http 포트가 2개가 열려 있음을 확인할 수 있는데 해당 포트에 다 들어가 보자

 

80번

 

8000번

cms가 실행 중인 포트는 8000번 포트임을 확인했다

 

정답 : 8000


What is the username we can find in the CMS?

웹사이트에 접속해 스크롤을 조금만 내리면 이러한 문구를 확인할 수 있다

해당 문구를 읽어 보면 username이 bolt임을 알 수 있다

정답 : bolt

 

What is the password we can find for the username?

웹사이트의 홈 화면을 확인하면 이러한 문구를 확인할 수 있다

 

 

해당 문구에서는 자신의 password가 boltadmin123 임을 알려준다

정답: boltadmin123

 

What version of the CMS is installed on the server? (Ex: Name 1.1.1)

홈페이지의  하단을 보면 © 2023 • This website is Built with Bolt이라는 문구를 확인할 수 있다

해당 문구를 통해 웹사이트는 Bolt라는 CMS로 만들어졌음을 알 수 있다

 

Bolt CMS의 버전 정보를 알아내기 위해 Bolt CMS의 웹사이트로 접속을 해보았다

 

CMS의 사용 방법을 알아보기 위해 user manual에 들어가 보니

 

 

여러 사용 방법을 찾을 수 있었는데 현재 우리는 admin의 id와 pw를 다 알고 있으니 login 하는 방법만 알아내면 된다

그러므로 login에 들어가 보자

 

 

로그인을 하기 위해서는 나의 url 주소/bolt로 접속을 하면 된다는 것을 확인했다

그대로 접속을 해보자

 

 

로그인 화면을 확인할 수 있다.

아까 우리가 얻은 정보로 로그인을 해보자

 

어드민 페이지에 접속을 할 수 있게 되었고

왼쪽 하단에 Bolt 3.7.1 버전을 사용하는 것을 확인할 수 있다.

정답: bolt 3.7.1

 

There's an exploit for a previous version of this CMS, which allows authenticated RCE. Find it on Exploit DB. What's its EDB-ID?

Bolt CMS의 RCE 취약점을 찾기 위해 Exploit DB에 접속해 검색을 해보면

 

EDB-ID는 48296 인 것을 확인할 수 있다.

정답 : 48296

 

Metasploit recently added an exploit module for this vulnerability. What's the full path for this exploit? (Ex: exploit/....)

경로를 알아보기 위해서는 metasploit의 search 기능을 사용하면 된다

경로를 확인할 수 있었다.

정답:exploit/unix/webapp/bolt_authenticated_rce

 

 Set the LHOST, LPORT, RHOST, USERNAME, PASSWORD in msfconsole before running the exploit

설정을 하기 위해서는 먼저 해당 모듈을 장착해야 한다.

use명령어를 사용해 모듈을 장착하면 된다

 

그 후 설정을 위해 options명령어를 사용하여 필요한 설정값들을 확인할 수 있다.

 

필요한 값을 저장하기 위해서는 set 명령어를 사용하면 된다

 

필요한 값들이 다 설정이 되면 run 또는 exploit 명령을 사용하여 실행하면 된다

그럼 이렇게 root 계정의 쉘을 획득한 것을 확인할 수 있다.

 

Look for flag.txt inside the machine.

 

먼저 제대로 된 쉘의 모양으로 만들어 주자

 

그 후 flag.txt를 찾기 위해 find 명령어를 사용하여 파일을 찾아보았고 해당 경로에 flat.txt가 있는 것을 확인했다

 

해당 경로의 파일을 확인해 보면

정답을 확인할 수 있다.

정답:THM{wh0_d035nt_l0ve5_b0l7_r1gh7?}