FileUpload, SUID
Apache 서버 확인
Subdomain은 별거 없음
uploads 경로 확인
홈페이지 내 로그인 관련 내용 존재. Sources 탭 내에서 cdn-cgi/login
경로 확인
cdn-cgi/login
페이지 접근, Login as Guest로 서비스 이용 가능
Guest 권한으로는 Uploads 메뉴 이용 불가
Account 페이지에서 id 파라미터를 1로 변조 시 admin 계정 정보 확인 가능
Cookie의 user 필드를 앞서 확인한 admin의 AccessId로 변조하여 권한 상승
Uploads 페이지 접근 가능, Wappalyzer로 php 사용 확인
리버스 쉘 업로드
nc로 포트 오픈 후 앞서 무차별 대입 공격으로 확인한 경로 uploads/test.php
에 접근하여 리버스 쉘 접속. 웹 서비스는 www-data 계정으로 실행 중
/etc/passwd
에서 로그인 가능한 robert 계정 확인
admin 웹 서비스 경로에서 주요 파일 확인. db.php 파일에서 robert 계정 정보 탈취 가능
획득한 정보로 rober 계정 탈취 성공
robert가 속한 bugtracker 그룹 확인
bugtracker 그룹으로 실행 가능한 파일 확인, root SUID 부여되어 있음
bugtracker는 실행 파일. 오류 내용을 보았을 때, Bug ID를 받아와 cat
으로 해당 파일의 내용을 긁어옴. ../../root/root.txt
삽입 시 root 플래그를 탈취 가능하지만..원래 의도는 그게 아니므로 계속 진행해본다.
root 쉘 탈취를 위해 /bin/sh
로 새로운 cat
을 생성 후 실행권한 부여. 새로 생성한 cat 실행을 위해 환경변수에 해당 경로 추가
bugtracker 실행 시 /tmp/cat
이 실행되어 root 쉘 획득 가능