(1) Bandit
(2) 이전 문제 풀이
이전 문제는 ssl암호화로 30001 포트에 현재 비밀번호를 보내는 방법이었다.
openssl로 30001번 포트에 보내서 비밀번호를 알아냈다.
Bandit 워게임 풀기 [level15 -> level16]
(1) Bandit (2) 이전 문제 풀이 이전 문제는 nc(netcat)명령어로 특정포트에 비밀번호를 보내 받은 응답으로 비밀번호를 해결했다. Bandit 워게임 풀기 [level14 -> level15] (1) Bandit (2) 이전 문제 풀이 이전 문
suhyeokdevlog.tistory.com
(3) level16 -> level17
이번 문제는 현재 비밀번호를 localhost의 31000 포트에서 32000 포트 안에서 보내면된다.
먼저 이 범위에서 듣는(활성화?) 포트를 찾고 SSL을 사용하는것과 아닌 것을 찾아야 된다.
이 중에서 한 개만 다음 비밀번호를 알려줄 것이고, 나머지는 그냥 다시 반환할 것이다.
일단 문제에서 보이는 것처럼 포트 스캔을 해야 된다.
포트스캔은 많이 알려져 있는 nmap을 사용하면 된다.
우린 특정 포트가 필요하므로 도움말처럼 사용한다.
도움말을 보면, -p옵션을 사용하면 된다. "nmap -p 31000-32000 localhost"처럼 말이다.
nmap으로 확인해 보면 31046, 31518, 31691, 31790, 31960 포트가 열려있는 것을 확인할 수 있다.
이후 -sV옵션으로 자세한 서비스를 확인해 보면
다음과 같이 나머지 3개는 그냥 반환하고, 31518, 31790 포트만 ssl을 제공한다.
그럼 아마 이 두 개 중 하나가 비밀번호를 반환해 줄 것이다.
아마 31518 포트에 echo와 동시에 있는 것으로 보아서 31790 포트가 더 유력하지만,
혹시나 모르니까 둘 다 해보자
저번에 사용한 openssl명령어를 다시 사용하면,
일단 31518 포트는 아니다.
31790 포트로 입력하니 private key가 나온다.
이 부분부턴 오래전에 했던 bandit13문제와 유사한 듯하다.
Bandit 워게임 풀기 [level 13 -> level14]
(1) Bandit (2) 이전 문제 풀이 이전 문제는 여러 번 압축된 파일을 확장자를 변경하고 압축해제를 반복해서 푸는 문제였다. 엄청 여러운 문제는 아니지만 좀 까다로웠다. Bandit 워게임 풀기 [level 12 -
suhyeokdevlog.tistory.com
저기서 나온 텍스트를 복사하여 임위의 파일로 프라이빗 키를 만들어주자
vi로 텍스트 파일을 ssh.private라고 임의로 만들어준다.
*그냥 바로 현재 경로에 저장할 시 권한 오류로 안 만들어질 수 있다.*
따라서 나는 그냥 tmp경로에 저장하였다.
그냥 로그인을 시도하면, publickey 즉, 권한이 너무 열려있어 접속이 안된다.
chmod명령어로 bandit16에만 권한을 귀속시킨다.
다시 권한을 주고 접속하면 정상적으로 로그인된다.
비밀번호는 "/etc/bandit_pass/[사용자]"에 저장되어 있다.
정상적으로 비밀번호를 알아냈다.
bandit17의 비밀번호는 "VwOSWtCA7lRKkTfbr2IDh6awj9RNZM5e"이다.
(4) 이런 방식이 가능한 원리
이게 되는 이유가 궁금해서 직접 알아보니
openssl 취약점이라고 한다.
구글링 해도 되지만, gpt에게 요약을 부탁하니
이렇게 많은 취약점이 있지만, 우리가 알아낸 것은 메모리에 있는 내용을 훔쳐온 것이라서,
아마 heartbleed취약점과 관계가 있을 것으로 예상된다.
이것만 봐서는 알기가 힘들어서, 관련 내용을 찾아보니 어느 블로거가 그림과 함께 요약을 해주었다.
OpenSSL 취약점 하트블리드(HeartBleed), 왜 위험한가?
OpenSSL 취약점 ‘HeartBleed’ 발견 2014년 4월은 보안시장에서 큰 이슈가 많이 발생한 달입니다. 4월 8일(한국시간), 13년 동안 우리의 인터넷 생활을 함께 해 온 XP 운영체제의 업데이트 지원이 종료되
blog.alyac.co.kr
Bandit을 하면서 느끼지만, 시스템 업데이트는 항상 새로운 버전이 나올 때마다 하는 것이 좋을듯하다.
특히 보안 관련 업데이트는 더더욱 말이다.