https://www.vulnhub.com/entry/symfonos-2,331/
실습 환경 : 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 |