#
Overpass 본문

이 글은 THM의 Overpass 방 기반으로 작성 하였습니다.
문제
1. user.txt
2. root.txt
포트 스캔 결과, 22번 SSH, 80번 HTTP 포트가 활성화 되어 있는 것을 확인

서버 80 포트 웹페이지로 접근 시도

dirb 탐색 결과, /aboutust/, /admin/ 경로에 직접 접근하여 관리자 페이지 및 힌트로 보이는 내용이 노출되는 것을 확인

관리자 로그인 페이지에서 클라이언트 측 로그인 로직을 확인하기 위해 login.js 파일을 분석
해당 소스코드는 사용자 입력 값을 /api/login 으로 전송한 뒤, 서버 응답이 "Incorrect credentials" 아닐 경우
응답 값을 그대로 sessionToken 쿠키에 저장하고 /admin 페이지로 이동하도록 구현되어 있음
이로 인해 세션 토큰에 대한 검증이 클라이언트 측에서 이루어지지 않고 임의의 값으로도
세션 쿠키 설정이 가능한 것을 확인

OWASP Top 10 - Broken Access Control
참고

앞서 확인한 login.js 소스코드의 동작을 검증하기 위해, 개발자 도구를 이용해 세션 토큰을 수동으로 수정
Cookie.set("SessionToken","test")

페이지 새로고침한 결과, 관리자 페이지 엔드 포인트단에
James의 ssh 개인 키가 평문으로 노출되어 있는 것을 확인

James ssh 개인 키를 복사 붙여넣기

노출된 ssh 개인키를 ssh2john 도구를 이용해 분석한 결과,
James ssh password를 크랙으로 통해 찾을 수 있음


ssh 보안 정책에 따라 개인 키 권한을 600으로 설정한 뒤,
크랙한 패스워드를 이용해 사용자 James 계정으로 서버 접속에 성공한 것을 확인
cat /user.txt : flag 값 출력


todo.txt 파일을 확인한 결과,
"automated build script working and where the builds go" 문구를 통해
자동화 된 빌드 스크립트가 주기적으로 실행되고 있는 힌트를 찾음
그로 인해서 실제로 자동 실행되는 작업이 존재하는지 확인하기 위해
/etc/crontab 파일을 분석 시도 그 결과, root 권한으로 /downloads/src/buildscript.sh 스크립를 주기적으로 실행하는
크론 작업이 설정되어 있는 것을 확인

buildscirpt.sh가 참조하는 도메인 ( overpass.thm )의 IP 매핑을 확인한 뒤,
공격자 IP [ tun 0 ] 변경하여 cron 작업 실행 흐름을 제저할 수 있도록 조작함.


cron 작업에서 참조하는 /downloads/src 경로를 공격자 PC에 생성하고,
reverse shell code 삽입 된 buildscript.sh 파일을 작성한 뒤 python3 -m http.server로 호스팅하여
cron 작업 실행 시 해당 스크립트가 root 권한으로 실행되어 root revers shell 가능함.


nc 리스너에 root revers shell 연결되었으며, 해당 세션에서
cat root.txt : flag 값 출력

'3. Study > 3-1. THM' 카테고리의 다른 글
| RootMe (0) | 2026.05.15 |
|---|---|
| Thompson (0) | 2026.04.03 |
| Anonymous (0) | 2025.12.23 |
| Brooklyn Nine Nine (0) | 2025.12.22 |
| Ignite [ Fuel CMS ] (0) | 2025.12.22 |