본문 바로가기
Hacking/CTF

Vulnhub - chili

by 알거음슴 2021. 6. 3.

CTF 문제풀이 - Chili

 

Scenario

Ø  Attack-system : Kail linux 5.10.0 version

Ø  CTF Image : Chili.ova (SHA1:1AC409DAA2F505073B62FADD08B7F793A8B4CF65)

Ø  Network : DHCP service – Enabled / IPv4 Address – Automatically assign

Ø  VM : VMware Workstation 16Pro 16.1.0 build

Ø  Goal : Get the root shell i.e.(root@localhost:~#) and then obtain flag under /root

Ø  Hint : “If you ever get stuck, try again with the name of the lab”

Ø  Vulnhub link : https://www.vulnhub.com/entry/chili-1,558/

Ø  Screenshots

1. netdiscover 을 통한 Target IP 획득

* netdiscover : APR 를 활용하여 Network Segment 연결된 Client를 검색하는 Scanner

# netdiscover –i eth0

2. 확인된 Target IP 기반으로 zenmap 을 활용 Scanning 진행

* 21/tcp ftp vsftp 3.0.3 service 80/tcp http Apache httpd 2.4.38 (Debian) service 확인가능.

* Target OS Debian Linux로 예상.

 

3. firefox 통해 Target Webserver 접속 시도.

# firefox http://192.168.10.134 &

* 크게 유용한 정보는 확인되지않는다.

* F12 개발자 도구를 통해 추가적인 정보 수집을 진행.

 

<meta name="description" content="We Are Still Alive!">
<meta name="keywords" content="Chili">
<meta name="robots" content="index, follow">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

* 몇가지 추가적인 정보들을 획득

1) description = We Are Still Alive!

2) keyword = Chili

 3) robots = index, follow

(예상) Web server 를 통해 얻은 정보 기반으로 ftp를 통한 사용자 접속이 필요할것으로 사료됨

 

4. Password crack 을 위한 hydra Tool 을 통한 Brute-force Attack 진행

#hydra –l chili –P /usr/share/wordlists/rockyou.txt ftp://192.168.10.134

* ftp user의 정보를 crack 성공 ID:chili / Password:a1b2c3d4 정보를 획득 할 수 있다

 

5. ftp 접속 및 취약점 확인.

# ftp 192.168.10.134

* Target /var/www/html .nano 다른 사용자 또한 권한이 부여되어있음을 확인가능.

* 해당 취약점을 통하여 Web Shell Attack 공격을 시도하기 위한 코드를 제작.

* pentestmonkey http://pentestmonkey.net/tools/web-shells/php-reverse-shell Reverse shell 을 통한 Traget system 접속시도, 해당 code 수정작업진행

* attack.php 으로 파일을 제작한다.

 

6. FTP를 통한 attack.php 전송.

* attack.php 파일은 전송 후 실행을 위한 777 Permission 부여

* 전송 전 실제 실행 되는 여부 local test 후 진행 필요함.

 

7. Web shell 접속

우선 공격자 시스템에서는 L:istener를 열고, 이후 Web 접속을 통한 Webshell 공격시도 2개의 터미널을 열어서 1번은 Listen 상태로 대기. 2번 터미널로는 Web 요청을 진행한다.

#nc –nvlp 8019

 * 1번 터미널에서는 Listener을 연다. (Port attack.php 와 동일해야한다)

 

# curl http://192.168.10.134/.nano/attack.php

 * 2번 터미널에서는 Webshell 로 접속 시도.

 * Web Shell 이 정상적으로 열린다 이후 id, uname –a Target system에 정상 접속 여부를 확인한다.

 

8. 사용자 권한 상승 및 root 접속

/etc/passwd 파일의 접근권한 확인 및 적합한 유저를 openssl 을 통해 생성한다.

#openssl passwd -1 –salt user01 user01

* 이후 생성된 password를 통해 직접 /etc/passwd 파일 내 user01 사용자의 권한을 root로 삽입 이후 su CMD를 통해 user01 사용자로 접속 및 id CMD 를 활용하여 권한 부여여부 확인.

 

9. Flag 확인.

* roothome 디렉토리로 이동, 해당 proof.txt file을 확인

 

시작은 웹해킹이나 시스템해킹 너무 재밋다 어셈블리어는 보면볼수록 지옥같지만 언젠가 CTF 가지고 노는 그날이 올꺼야~