본문으로 바로가기
728x90
반응형

설명을 읽었을 때 Easy Level이라고 간단히 풀어볼 겸 도전해봤지만 전혀 Easy하지 않았다. 꽤나 복잡한 스킬들이 들어가기에 Part를 2개로 나누었다. 

nmap으로 scan부터 시작해봅시다

nc -sC -sV {EXPORT_IP} -oN ChillHack.log

보이는 건 21 ftp, 22 ssh, 80 http를 확인할 수 있다. FTP가 Anonymous 로그인이 가능하니 접속해서 note.txt를 읽어보면 다음과 같은 파일이 보입니다.

영어는 잘 못하지만 내용을 읽어보니 어떤 필터링이 걸려있고 작성자가 "Apaar"인 것 같습니다. 이어서 http에 gobuster를 이용해 접근 가능한 경로를 얻어봅시다.

gobuster dir -w {WORDLIST_FILE} -u {http://EXPORT_IP}

여러 가지 경로를 얻었는데 그중 secret이라는 경로가 눈에 띕니다. 들어가 봅시다.

입력 폼이 있고 Command Injection이 가능한 것처럼 보여 입력해봤더니 필터링되어 실행이 안 되고 있습니다. 필터링을 우회시켜보기 위해 다음과 같이 입력해봅시다. 

명령어 사이에 역 슬래쉬(\)를 입력해 주었더니 성공했습니다. 이후 images, index.php가 나오는 걸 확인할 수 있는데 images는 gobuster를 이용했을 때 접근 가능한 경로였음을 확인했으므로 넘기고 "c\at index.php"를 입력하고 페이지 소스 보기로 index.php를 읽어봅시다.

blacklist에 revershell을 얻을 수 있거나 정보를 얻을 수 있는 명령어는 필터링되어 있는 듯이 보입니다. 이미 Command Injection을 Bypass 할 수 있는 방법을 알고 있으니 bash Reverse Shell을 이용해 Reverse Connection을 맺어 봅시다.

Reverse Shell Connection

Reverse Shell을 얻기 위해 위와 같은 과정대로 진행해봅시다. shell.sh 파일을 만들어 bash Reverse Shell 내용을 써주고 저장한 뒤 간단한 서버를 만들어서 대기하고 입력 폼에 하단의 curl 명령어를 이용해 대상 서버에 shell.sh를 다운로드하게 하고 이름을 bash로 저장해준 뒤 포트 하나를 열어서 대기해줍시다. 위와 같은 과정을 수행하면 아래와 같이 Connection이 맺어집니다.

하지만 Shell이 불안정해서 작업을 하기 불편하니 Stabillize Shell을 적용해봅시다.

Stabilize Shell

로그인된 User가 www-data이므로 sudo -l을 이용해 user escalation을 시도해봅시다.

apaar의 권한으로 .helpline.sh를 실행할 수 있다 나와있습니다. .helpline.sh의 내용을 읽어봅시다.

내용을 읽어보니 msg로 받은 값을 그대로 실행시켜주는 동작을 하는 것 같습니다. 파일을 실행한 뒤 /bin/bash를 입력해줍시다.

apaar 유저의 권한을 얻었습니다. 이후 apaar의 홈 디렉터리로 가서 첫 번째 플래그를 읽어줍시다.

Root Privilige Escalte는 다음 파트에서 적도록 하겠습니다. 

728x90
반응형

'Pentest > TryHackMe' 카테고리의 다른 글

JPGChat : ServerSide Injection  (0) 2021.03.11
[Try Hack Me] : Chill Hack ( part.2 Root)  (0) 2020.12.12
[TryHackMe] : StartUp  (0) 2020.12.05
[TryHackMe] : Anonforce  (0) 2020.11.07
[Try Hack ME] : Bolt  (0) 2020.09.30