Bandit level15
OverTheWire 문제풀이 - Bandit
* Bandit 는 리눅스 관련 문제입니다.
* 리눅스 명령어를 연습하기에 아주 좋습니다.
* 개인적인 문제풀이로 해답을 보시기 전에 직접 풀어보시기를 권해드립니다.
Bandit level15
Level Goal
The password for the next level can be retrieved by submitting the password of the current level to port 30001 on localhost using SSL encryption.
Helpful note: Getting “HEARTBEATING” and “Read R BLOCK”? Use -ign_eof and read the “CONNECTED COMMANDS” section in the manpage. Next to ‘R’ and ‘Q’, the ‘B’ command also works in this version of that command…
Commands you may need to solve this level
ssh, telnet, nc, openssl, s_client, nmap
Helpful Reading Material
Secure Socket Layer/Transport Layer Security on Wikipedia
OpenSSL Cookbook - Testing with OpenSSL
레벨 목표
다음 레벨의 암호는 SSL 암호화를 사용하여 localhost의 포트 30001에 현재 레벨의 암호를 제출하여 검색 할 수 있습니다.
도움이되는 메모 : "HEARTBEATING"및 "Read R BLOCK"이 나온다면 -ign_eof를 사용하고 man 명령어의 "CONNECTED COMMANDS"을 읽으십시오. 'R'과 'Q'옆에 'B'명령이 해당 버전에서도 작동합니다 ...
이 레벨을 해결하는 데 필요할 수있는 명령
ssh, telnet, nc, openssl, s_client, nmap
유용한 읽기 자료
Secure Socket Layer/Transport Layer Security on Wikipedia [링크]
OpenSSL Cookbook - Testing with OpenSSL [링크]
[문제 풀이]
이번 문제는 SSL의 openssl, s_client 을 이용한 문제이다. openssl의 HEARTBEATING 취약점을 이용한 풀이인데 나도 이 부분은 자세히 몰라 구글링하면서 풀었다.
문제를 풀기전에 다음 포스트의 s_client 부분을 보고 풀면 도움이 될 수도 있다..
OpenSSL/s_client [링크]
OpenSSL 취약점 [링크]
#> openssl s_client -connect localhost:30001
30001 포트로 접속을 시도하여 현재 패스워드를 입력해도 HEARTBEATING read R BLOCK 메시지만 출력되고 다음 레벨의 패스워드는 출력되지 않는다. 현재 openSSL 버전이 1.0~1.0.1f 버전인것을 알 수 있다.
#> openssl s_client -connect localhost:30001 -ign_eof
힌트에서처럼 -ign_eof 옵션으로 파일의 끝에 도달하여도 프로그램이 중단되는 것을 막아준다면 위와 같은 다음 레벨의 패스워드를 획득할 수 있다.
next level password : cluFn7wTiGryunymYOu4RcffSxQluehd
'War Game > bandit' 카테고리의 다른 글
Bandit level17 (0) | 2017.04.06 |
---|---|
Bandit level16 (0) | 2017.04.05 |
Bandit level14 (0) | 2017.04.03 |
Bandit level13 (0) | 2017.04.03 |
Bandit level12 (1) | 2017.03.30 |