이 글은 THM의 Thompson 방 기반으로 작성 하였습니다
1. Compromise this machine and obtain user.txt
2. Escalate privileges and obtain root.txt
포트 스캔 결과 SSH(22), DNS(53), AJP13(8009), HTTP(8080) 가 활성화되어 있는 것을 확인.
이 중 8009번 AJP 포트가 열려 있는 것을 보고 Tomcat의 Ghostcat(CVE-2020-1938) 취약점 의심
AJP 커넥터를 통해 WEB-INF/web.xml 파일이 그대로 읽히는 것을 확인
<description> 부분에서 자격증명 노출
skyfuck / 8730281lkjlkjdqlksalk
획득한 계정으로 SSH 접근 시도 시 정상적으로 로그인 가능한 것을 확인
/home/merlin 디렉터리의 user.txt 플래그 값 확인 및 출력
skyfuck 홈에서 PGP 개인키(tryhackme.asc) 와 암호화된 파일(credential.pgp) 이 노출되어 있는 것을 확인.
scp 명령어를 통해 asc, pgp 파일 가져오기
gpg2john으로 tryhackme.asc에서 해시를 추출한 뒤 john에 rockyou 사전을 통해 진행한 결과
패스워드가 alexandru 가 나오는 것을 확인
개인키를 임포트해 credential.pgp를 복호화하니 merlin 계정 자격증명이 노출되는 것을 확인
merlin 계정으로 ssh 접근 시도 후, sudo -l 명령어 시
(root) NOPASSWD: /usr/bin/zip 권한을 가지고 있어 zip을 root 권한으로 비밀번호 없이 실행할 수 있는 것을 확인
(권한 상승)
zip을 root로 실행할 수 있으므로 GTFOBins에서 zip의 권한 상승 기법 확인
앞서 확인한 명령어 사용 시 root 셸로 접근이 가능한 것을 확인
/root 디렉터리내 root.txt 플래그 값 확인 및 출력