Vulnhub

[Vulnhub] Symfonos: 2 Walkthrough

jeff_kim 2024. 7. 4. 18:26

https://www.vulnhub.com/entry/symfonos-2,331/

 

symfonos: 2

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

 

실습 환경 : VirtualBox

 

Reconnaissance

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

Nmap scan report for 192.168.45.209
Host is up (0.00027s latency).
MAC Address: 08:00:27:10:C3:97 (Oracle VirtualBox virtual NIC)

└─$ cat ./recon/targetScan.gnmap | grep '209' | awk '{ print $2}'    
192.168.45.209

 

FTP

ProFTPD 1.3.5 버전인 것을 확인, 접속 해본다

다른 곳에서 얻은 정보를 통해서 접속할 수도 있으니 일단 진행한다

 

HTTP

웹 이니만큼 접속해서 정보 수집을 한다

 

gobuster를 이용한 디렉터리 브루트포싱 진행

정말,,별거 없군요.. 이번에는 뭔가 SMB와 FTP를 이용해서 취약점 진단과 익스플로잇을 해야할 것 같은 느낌입니다

 

Vulnerability

 

이전에는 enum4linux를 이용했는데 이번에는 cme(crackmapexec)를 통해서 anonymous 로그인이 가능한지 확인해봤습니다

anonymous share로 로그인이 가능하네요

 

접속하기전 그래도 enum4linux 돌려봐야겠죠?

# smb user

aeolus
cronus

└─$ cat log.txt                                                                                                                                              
root@symfonos2:~# cat /etc/shadow > /var/backups/shadow.bak                   
root@symfonos2:~# cat /etc/samba/smb.conf

....
root@symfonos2:~# cat /usr/local/etc/proftpd.conf

혹시 LFI가 가능하다면 /var/backups/shadow.bak  경로를 통해 /etc/shadow 를 읽을 수 있으니 해시크래킹을 해야할 수도 잇겠습니다.

smb설정파일, ftp 설정파일이 다있네요

smb 기본 경로 입니다.

 

ftp user&group 입니다

 

그렇다면 비밀번호를 알아야하는데 hydra를 이용하여 비밀번호 브루트포싱을 진행한다

 

Exploitation

 

브루트포싱을 진행 하던 도중 ftp 버전을 다시 봤다  ProFTPD 1.3.5 이전에 했던 ctf에서 이 취약점을 이용해서 썻던 기억이 있다. 그래서 서칭을 하던 도중 CVE-2015-3306 코드를 가지고 있는 공개 취약점이 있다는 사실을 파악.

 

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

 

# credentials

aeolus:sergioteamo

 

비밀번호를 입력해서 들어갔지만 smb와 똑같은 파일이다... 그렇다면 ProFTPD 1.3.5 의 취약점인 CVE-2015-3306를 이용하여 대상 호스트로 침투를 준비한다

 

ProFTPD 1.3.5의 모듈 mod_copy는 site cpfr 및 site cpto 명령을 통해 임의의 파일을 읽고 쓸 수 있도록 한다.

기본적으로 복사 명령은 ProFTPD 서비스의 권한으로 실행, nobody 사용자의 권한으로 실행된다

 

한번 시도해본다

이 방법을 사용해서 얻은 shadow 파일에 있는 해시를 복호화 하면 아래와 같은 결과가 나온다.

aeolus:sergioteamo

 

ssh로 접근해본다

 

 

Post-Exploitation

별다른 것이 없어.. linpeas.sh 스크립트를 오랜만에 이용한다

3306 8080 그리고 25 나 몰래 많이 돌리고 있었구나,.,

 

일단 8080으로 접속해봅니다

외부에서는 접속이 안되는 것으로 보아 로컬에서만 접속이 가능한듯하다

 

이런 경우 터널링이라는 기법을 사용한다 SSH로 칼리의 특정 포트를 대상 호스트의 특정 포트로 포워딩 시켜주는 것을 말한다

-L 칼리포트:대상 호스트 IP:포트 를 넣으면 된다

 

공격자PC에서 127.0.0.1:3333을 지정하면 대상 호스트의 8080포트로 포워딩 된다

로그인 할 수 있는 창이 뜬다. 내가 아는 계정 정보는 하나밖에 없다!

나이스다!!

 

내가 사용할 취약점은 47044.py 이다 

코드를 보니 리버스쉘을 얻는 것 같아서 nc를 이용하여 리스닝도 해준다

└─$ nc -nlvp 7777                                 
listening on [any] 7777 ...


└─$ python2 47044.py 
[!] Usage : ./exploit.py http://www.example.com cookies rhost rport

쿠키 값이 필요하다고 한다

3개 모두 복사해서 정리해준다

cookies 값들을 넣어줄때 띄어쓰기나 줄 바꿈에 주의해서 작성하면된다.

cronus 계정으로 리버스쉘 획득

 

Privilege Escalation

GTFObins 사이트를 참고해서 권한 상승을 진행습니다!

root@symfonos2:~# cat proof.txt
cat proof.txt

        Congrats on rooting symfonos:2!

           ,   ,
         ,-`{-`/
      ,-~ , \ {-~~-,
    ,~  ,   ,`,-~~-,`,
  ,`   ,   { {      } }                                             }/
 ;     ,--/`\ \    / /                                     }/      /,/
;  ,-./      \ \  { {  (                                  /,;    ,/ ,/
; /   `       } } `, `-`-.___                            / `,  ,/  `,/
 \|         ,`,`    `~.___,---}                         / ,`,,/  ,`,;
  `        { {                                     __  /  ,`/   ,`,;
        /   \ \                                 _,`, `{  `,{   `,`;`
       {     } }       /~\         .-:::-.     (--,   ;\ `,}  `,`;
       \\._./ /      /` , \      ,:::::::::,     `~;   \},/  `,`;     ,-=-
        `-..-`      /. `  .\_   ;:::::::::::;  __,{     `/  `,`;     {
                   / , ~ . ^ `~`\:::::::::::<<~>-,,`,    `-,  ``,_    }
                /~~ . `  . ~  , .`~~\:::::::;    _-~  ;__,        `,-`
       /`\    /~,  . ~ , '  `  ,  .` \::::;`   <<<~```   ``-,,__   ;
      /` .`\ /` .  ^  ,  ~  ,  . ` . ~\~                       \\, `,__
     / ` , ,`\.  ` ~  ,  ^ ,  `  ~ . . ``~~~`,                   `-`--, \
    / , ~ . ~ \ , ` .  ^  `  , . ^   .   , ` .`-,___,---,__            ``
  /` ` . ~ . ` `\ `  ~  ,  .  ,  `  ,  . ~  ^  ,  .  ~  , .`~---,___
/` . `  ,  . ~ , \  `  ~  ,  .  ^  ,  ~  .  `  ,  ~  .  ^  ,  ~  .  `-,

        Contact me via Twitter @zayotic to give feedback!

 

'Vulnhub' 카테고리의 다른 글

[Vulnhub] Symfonos: 4 Walkthrough  (0) 2024.07.07
[Vulnhub] Symfonos: 3.1 Walkthrough  (0) 2024.07.05
[Vulnhub] Symfonos Walkthrough  (0) 2024.07.03
[Vulnhub] Prime: 1 Walkthrough  (0) 2024.06.29
[Vulnhub] Digitalworld.local: Joy Walkthrough  (0) 2024.06.27