CTF

[9월 3일] CTF_Venus

ljm 2025. 9. 3. 17:49

Venus 머신의 MAC 주소 확인

 

MAC주소로 Venus머신의 IP주소 확인

 

nmap으로 열려있는 포트와 버전 탐지 및 스캔

 

192.168.16.13:8080 접속

 

guest/guest 를 입력한 모습

 

dirb 명령어로 웹 콘텐츠 스캔 > admin 발견

 

 

dirb 란? 
dirb는 웹 서버에서 숨겨진 디렉터리나 파일을 찾아내는 데 사용되는 웹 콘텐츠 스캐너이다.
dirb는 무차별 대입(brute-force) 방식을 사용한다. 미리 정의된 단어 목록(wordlist)에 있는 단어들을 URL 뒤에 붙여 하나씩 요청을 보낸다.

 

 

 

 

192.168.16.13:8080/admin 접속

 

 

 

딱히 얻을 수 있는 정보도 더 없고,
로그인 화면에 guest/guest 정보가 제공되어 있는 게 수상해서,
Burp Suite 으로 로그인 과정에서 일어나는 requests, responses 을 관찰하기로 함.

 

쿠키 값에 auth="Z3Vl....." 발견

 

base64로 인코딩된 문자열을 디코딩

 

 

Z3Vlc3Q6dGhyZmc=  :  guest:thrfg

Password에서 thrfg는 guest를 뜻하므로 thrfg는 어떤 문자로 인코딩된건지 확인하기로 함.

 

 

패스워드는 ROT13으로 인코딩 되는 것을 확인

 

 

또 다른 Username을 찾기위해 hydra 명령어 실행

 

1000만개 정도 분량의 유출된 Usernames를 담고있는 txt파일을 다운받기 위해서, SecLists를 git clone 했다.

 

 

guest, magellan, venus 발견

 

 

얻은 정보들을 바탕으로 인증 토큰을 만들 수 있을 것 같다.

Burp Suite에서 사용할 인증토큰을 base64로 인코딩하여 만들어보자.

아마도 magellan:thrfg / venus:thrfg 를 인코딩하면 될것같다.

 

 

왜냐하면 ID: guest / PW: guest 가 로그인 성공하여 넘어간 인증토큰의 값이 guest:thrfg 라는 정보를 알게됐으니,

ID:magellan / PW:? 또한 인증토큰이 magellan:thrfg 의 값으로 넘어갈것이기 때문이다.

 

 

 

CyberChef 에서 base64로 인코딩 magellan:thrfg

 

 

venus:thrfg 또한 base64로 인코딩

 

 

Repeater에서 magellan의 정보를 이용하여 쿠키 토큰인증값 수정

 

 

 

Burp Suite 에서 Intercept 한 데이터를 Repeater에 보낸 후, Repeater 에서 쿠키값 수정

token 값 뒤에 auth 값을 추가하고 username은 magellan 으로 수정

(auth값은 magellan:ththg를 base64로 인코딩한 값)

 

 

 

Send 하고 Response를 보면

Set-Cookies 값이 바뀐것을 알수있다.

Inspector에서 디코딩한 결과값은  "magellan:irahfvnatrbybtl1989"

 


 

그러면 여기서 과연 "irahfvnat rbybtl1989" 이것이 비밀번호일까라는 의문이 든다.

 

 

우리는 guest/guest 로그인을 했을때의 쿠키값을

base64로 디코딩하여 guest:thtrg라는 값을 얻었고,

이것을 ROT13으로 디코딩하여 guest:guest라는 사실을 알았다.

 

 

그렇다면 지금 쿠키값을 base64로 디코딩 한 결과값이 "magellan:irahfvnatrbybtl1989" 이므로, 

이것을 ROT13으로 디코딩해야만 실제 패스워드를 얻을 수 있다.

 

 

 

ROT13 디코딩 결과 venusiangeology1989 값 획득

 

 

 

magellan의 패스워드 :  venusiangeology1989 

 

마찬가지로 venus의 비밀번호도 알아내보자.

 

 

venus 토큰인증값 수정

 

 

디코딩 하고싶은 부분을 선택하여 더블클릭하면 Inspector에서 디코딩 결과를 볼 수 있다.

 

 

venus 토큰의 base64 디코딩값은 "irahf" 임을 확인

irahf를 ROT13으로 디코딩해보자. 

 

 

 

 

 

venus 의 패스워드 : venus

 

 

얻은 정보를 활용하여 SSH 접속을 시도해볼 수 있다.

 

(아까 발견했었던 admin 사이트에서도 접속이 가능할지도 모르니까 시도했지만 실패했다) 

 

서버 에러가 난 것을 보아, 여기는 아닌것같다.

 

 

magellan 계정으로 SSH 접속을 시도해보자.

 

magellan SSH 접속 성공

 

 

(venus 계정으로도 SSH 접속을 시도해보았지만, 비밀번호가 다른 것 같다.)

 

 

 

다시 magellan 계정으로 돌아와 User_Flag 획득

 

user_flag 획득

 

SUID를 이용하여 실행가능한 파일이 있는지 찾아보자.

 

실행가능한 파일 중에서 polkit-agent-helper라는 파일을 발견
find / -perm -u=s -type f 2>/dev/null 명령어에 대한 자세한 설명

 

 

polkit이라는 파일을 발견.


재부팅 후 Venus 머신의 IP가 192.168.16.13 → 192.168.16.55 로 변경

 

 

 

 

polkit 검색 결과, CVE-2021-4034의 취약점을 발견했다.

wget으로 취약점 스크립트를 다운받아 8000번 포트로 전달

 

8000번 포트 오픈
megellan에서 8000번 포트로 취약점 스크립트 다운로드

 

CVE-2021-4034 unzip 및 스크립트 실행한 결과 root 권한획득
root_flag 획득

'CTF' 카테고리의 다른 글

[9월 8일] CTF_Momentum2  (0) 2025.09.08
[9월 4일] CTF_Momentum  (0) 2025.09.04
[9월 3일] CTF_Grotesque2  (0) 2025.09.03
[9월 2일] CTF_Mercury  (0) 2025.09.02
[9월 1일] CTF_Grotesque  (0) 2025.09.01