티스토리 뷰
Level Goal
The credentials for the next level can be retrieved by submitting the password of the current level to a port on localhost in the range 31000 to 32000. First find out which of these ports have a server listening on them. Then find out which of those speak SSL and which don’t. There is only 1 server that will give the next credentials, the others will simply send back to you whatever you send to it.
31000 ~ 32000 범위의 port에 서버가 열러있는 것 같다. 그 중에서도 SSL을 사용하는 서버를 찾아서 인증을 해야할 것 같다.
먼저 port를 scan해야하니 nmap이 떠올랐다.
nmap -p 31000-32000 localhost
이 명령을 통해 열려있는 port를 scan할 수 있었다.
5개가 떴다.
아까 문제에서 단 하나만이 서버라고 했으니 일일히 접속해보면 되지만 nmap에서 ssl인증을 사용하는 port를 찾는 법을 찾다가,
nmap --script ssl-enum-ciphers.nse localhost -p 31000-32000
--script 구문을 이용해서 SSL관련 정보를 가지고있는 포트들을 찾을 수 있었다.
ssl 정보가 나오는 포트가 2개 있었는데 바로 31518 과 31790 이였다.
하나 씩 접속을 해보니
31790이였다.
openssl s_client -ign_eof -connect localhost:31790
이 명령어로 접속을 해보니,
전 레벨의 키를 입력을 받고 이번에는 다음레벨의 키가 아닌 RSA 개인키가 나왔다.
이를 이용해서 다음레벨로 로그인 해주면 될 듯하다.
우리가 write를 할 수 있는공간은 /tmp에사 mkdir을 한 뒤 사용하면 된다.
저 RSA키를 저장 한 다음, 저번에 사용했던 ssh -i 옵션을 이용해서 로그인 해주면 될 것 같다.
적어준 다음
chmod로 권한 설정을 해줘야 한다.
소유자만이 권한이 있어야 하기에 600이나 700으로 셋팅해주면 된다.
성공적으로 bandit17계정으로 로그인이 되었다.
'pwnable > bandit' 카테고리의 다른 글
over the wire bandit18 -> 19 write-up (0) | 2018.06.03 |
---|---|
over the wire bandit17 -> 18 write-up (0) | 2018.06.03 |
over the wire bandit15 -> 16 write-up (0) | 2018.06.03 |
over the wire bandit14 -> 15 write-up (0) | 2018.06.03 |
over the wire bandit13 -> 14 write-up (0) | 2018.06.03 |
- rt_sigreturn
- tcache
- oob
- fsop
- ebp change
- 본선가고싶다
- stack reusing
- HackCTF
- srop
- pwnable.tw
- glibc
- TLS
- hacking
- overflow
- FSB
- heap
- SQLi
- pwnable
- fastbin
- pwable
- codegate
- 해킹
- exit
- fastbindup
- shellcoding
- Total
- Today
- Yesterday