Target ip는 10.10.31.242이다.
Port scanning 결과 21, 22, 80 port 가 열려져 있다.
ftp에 anonymous아이디로 접근을 하였더니 접속이 되었다.
ftp id : anonymous
pw : anonymous
그 후 ls -a 옵션으로 list를 확인해보았다.
.ssh_creds.docx, hiya, temporary_pw.txt 파일을 확인 하였다.
get 명령어로 3개의 파일을 다운 받았다.
cat 명령어로 temporary_pw.txt파일을 읽었다.
파일의 내용은 docx 파일을 찾아서 읽으라고 한다.
docx 파일은 아까 다운받은 .ssh_creds.docx 파일을 읽으면 될 것이다.
먼저 libreoffice를 다운 받는다.
libreoffice 다운 명령어 : apt-get install libreoffice
libreoffice --cat [읽을 docx파일] 명령어를 이용하여 해당 docx 파일을 읽을 수 있다.
.ssh_creds.docx 파일 내용
Hey, I created this document for you so you know my name right? That’s my ssh id.
Encoded password just in case Y2F0Y2htZSFAIw==
해석
안녕 나는 너를 위해 이 문서를 만들었어 그래서 너는 내 이름 알지? 내 이름은 나의 ssh 아이디야!!
혹시몰라서 패스워드 인코딩 해놨음 "Y2F0Y2htZSFAIw=="
exiftool을 이용하여 해당 파일의 메타데이터를 확인하였다.
마지막에 Creator가 harry라고 되어있다.
문서 만든 사람 이름이 harry라고 추측이 가능하다.
id : harry
base64로 디코딩을 하니 catchme!@#라는 문자열이 나왔다.
pw가 catchme!@#라고 알 수 있다.
pw : catchme!@#
22번 포트가 열려있으므로 ssh로 harry 계정에 접속을 하였다.
find 명령어를 이용하여 / 경로부터 이름이 user.txt인 파일을 찾았는데 user.txt파일이 많았다.
grep 명령어를 이용하여 -r(하위디렉토리까지) GROOT{ 로 시작하는 파일을 찾았다.
GROOT{ 는 flag format이다.
user.txt : GROOT{C4TCHME_S3CRETS}
flag.txt는 find명령어로 안나온다. 권한이 높아서 못 읽는것 같다.
sudo -l 옵션을 이용하여 sudo 설정을 확인하였다.
harry는 find명령어를 패스워드 없이 root 권한으로 사용할 수 있도록 설정 되어있다.
sudo find 를 이용하여 flag.txt 파일의 위치를 알아냈다.
flag.txt location : /root/flag.txt
find / -type f -perm -4000 -exec ls -h {} \; 2>/dev/null
위 명령어를 이용하여 setuid가 걸린 파일을 찾을 수 있다.
base64가 setuid가 걸려있다.
이를 이용하여 flag.txt파일을 base64로 변환하여 출력한 후 그것을 base64로 디코딩하여 읽을 수 있을것이다.
base64를 이용하여 flag.txt를 base64로 인코딩하였다.
이를 디코딩 하였지만 base64형태로 나왔다.
애초에 flag.txt가 base64로 인코딩되어 있었던 것이다.
이를 또 base64로 디코딩하니 flag가 나왔다.
result of decoding flag.txt : GROOT{C4tCl+lME!fy0Uc4N}
sudo find . -exec /bin/bash \; -quit
위 명령어를 이용하여 root 권한으로 권한 상승이 가능하다.
아까 find가 sudo가 nopassword로 걸려 있었기 때문에 권한 상승이 가능하다.
-exec /bin/bash \; 는 bash쉘 열으라는 뜻인데 sudo명령어로 인해 root권한의 bash 쉘을 연다.
find는 sudo나 setuid가 설정되어있으면 취약하다.
'Pentesting CTF > tryhackme GROOT' 카테고리의 다른 글
그루트 OSINT - Passive OSINT (0) | 2023.05.26 |
---|---|
그루트 시큐리티 - Rootme (0) | 2023.05.24 |
그루트 시큐리티 - RemoteWebAdm (0) | 2023.04.16 |
그루트 시큐리티 - 해킹 시연 실습 데모 (0) | 2023.04.16 |
그루트 시큐리티 - Tmux 사용법 (0) | 2023.04.16 |