자 오늘은 Level 15 -> 16을 해보도록 하겠다.
(Login ID : bandit15 / Password : 8xCjnmgoKbGLhHFAZlGE5Tmu4M2tKJQo
1. 문제 내용
https://overthewire.org/wargames/bandit/bandit16.html
OverTheWire: Level Goal
We're hackers, and we are good-looking. We are the 1%. <!-- Please read and accept the Rules! --> 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/TLS encryptio
overthewire.org
-> SSL/TLS 암호화를 이용하여 현재 레벨의 암호를 localhost 300001 로 보내야 다음 레벨로 가는 비밀번호를 얻을 수 있다고 한다.
2. 문제 풀이
PASSWORD=$(cat /etc/bandit_pass/bandit15)
우선 현재 레벨의 비밀번호를 $PASSWORD 변수에 저장한다. (추후에 보내야 하니.)
nmap -p 30001 localhost
localhost 의 30001 포트도 열려 있는 상태인 것도 확인하였다. 그러면 ssl 암호화를 이용하여 호스트와 연결을 시도하여 보도록 하자.
openssl s_client -connect localhost:30001
localhost의 30001번 포트로 ssl 통신 연결을 하겠다라고 보면 되겠다. 저렇게 하면 어마무시한 글들을 쌸라쌸라하고 나올텐데, 마지막에 보면 어떤 입력을 대기하고 있는 상태를 확인할 수 있을 것이다.
저기에 아까 PASSWORD 저장한 것을 echo 로 불러와서 복붙하여 입력값으로 줘보도록 하자.
※ 아싸리 아래 명령어를 통해 password 값을 바로 입력값으로 보내 보려고 했는데, 이건 잘 작동을 안 하는 것 같다. 그래서 그냥 복붙 하였는데 다른 방법이 있는지는 확실히 잘 모르겠다.
$PASSWORD | openssl s_client -connect localhost:30001
3. 요약
☞ openssl 을 통하여 상대방 호스트와 암호화 된 데이터를 주고 받을 수 있다. (그 외에 다양한 기능도 있음.)
'해킹&보안' 카테고리의 다른 글
[반딧 워게임 : OverTheWire] Level 17 -> 18 (리눅스/해킹/보안 공부) (0) | 2025.03.17 |
---|---|
[반딧 워게임 : OverTheWire] Level 16 -> 17 (리눅스/해킹/보안 공부) (1) | 2025.03.17 |
[반딧 워게임 : OverTheWire] Level 14 -> 15 (리눅스/해킹/보안 공부) (0) | 2025.03.16 |
[반딧 워게임 : OverTheWire] Level 13 -> 14 (리눅스/해킹/보안 공부) (0) | 2025.03.16 |
[반딧 워게임 : OverTheWire] Level 12 -> 13 (리눅스/해킹/보안 공부) (0) | 2025.03.15 |