HTB-Devzat Write up
golang, git-dumper
웹페이지에서 회원가입 후 발급받는 auth 쿠키값을 확인 시 JWT 토큰 형식으로 되있는것을 확인 가능
JWT 헤더에서 kid의 파라미터 값이 로컬호스트 7070 포트에서 privKey.key를 가져오는 것을 확인하여 이를 현재 아이피주소로 bas64를 이용하여 변경
변조된 값의 JWT 값을 쿠키로 변경 후 nc를 이용하여 확인 시 정상적으로 privkey.key를 가져올려는것을 확인
ssh-keygen을 이용하여 rsa암호화 형식의 ssh 키값 생성
ssh-keygen -t rsa -b 4096 -m PEM -f jwtRS256.key
public키의 형식을 openssl 을 사용하여 변경
openssl rsa -in jwtRS256.key -pubout -outform PEM -out jwtRSA256.key.pub
획득한 두개의 public과 private key값을 JWT 서명칸에 입력 시 정상적인 토큰값으로 확인 가능
헤더에서 privKey.key 파일을 가져오니 심볼릭 링크 파일을 생성 후 획득한 JWT 값을 쿠키로 입력 시 Admin권한으로 접속하여 Admin Panel 페이지 생성(DATA에서 admin_cap : 1 로도 변경해줘야함)
ln -s jwtRS256.key privKey.key
admin panel 메뉴로 접근 시 업로드 파일 기능이 있음
view note의 글을 통해 해당 서버가 php로 작성되 있는것을 확인하여 php 웹쉘 업로드
bash 명령어를 사용하여 리버스쉘 연결 가능
linpeas.sh 를 통해 /tmp 폴더에서 읽을 수 있는 백업파일 발견
home.tar.gz 파일에서 noah 의 ssh 키 발견하여 해당 키를 통해 ssh 접근 가능