(1) Bandit
(2) 이전 문제 풀이
이전 문제는 cron을 활용해서 간단한 반복문 코딩으로 무차별 대입 공격?으로 비밀번호를 알아냈다.
Bandit 워게임 풀기 [level24 -> level25]
(1) Bandit (2) 이전 문제 풀이 이전 문제는 똑같이 cron을 사용하는 문제다. 자동으로 특정 디렉터리에 파일을 특정 사용자로 실행하고, 자동으로 삭제한다. 이 프로그램으로 쉽게 비밀번호를 복사
suhyeokdevlog.tistory.com
(3) level25 -> level26
이번 문제에서는 bandit26에 로그인은 쉽다고 합니다.
하지만 /bin/bash로 연결, 즉, 평범한 로그인 쉘이 아니라는 것입니다.
일단 파일에 ssh키가 있어 파일로 접속해 보면,
ssh명령어를 사용해서 연결해 보자
자세한 건 아래 블로그를 참고하자
Bandit 워게임 풀기 [level 13 -> level14]
(1) Bandit (2) 이전 문제 풀이 이전 문제는 여러 번 압축된 파일을 확장자를 변경하고 압축해제를 반복해서 푸는 문제였다. 엄청 여러운 문제는 아니지만 좀 까다로웠다. Bandit 워게임 풀기 [level 12 -
suhyeokdevlog.tistory.com
하지만, 접속하면 이런 문구가 뜬다
왠지 문제에서 준 힌트와 연관이 있을 듯하다.
로그인 쉘이 이상하다고 하였으니까, 관련 자료를 살펴보자
쉘에서 bandit26을 살펴보면 다음과 같다.
정상적인 쉘이 아닌, showtext라는 파일을 보여주는 것 같다.
저 파일을 열어보면
코드를 읽어보면 text.txt라는 파일을 열어주고 종료하는 것을 볼 수 있다.
파일을 bandit26에만 권한이 있어 알 수 없다.
하지만, 자세히 보면 more명령어를 사용한다.
more명령어는 기본적으로 cat명령어와 비슷하지만, 페이지로 나눠서 보여준다.
의도하지는 않았지만, 창을 작게 열어보니 다음과 같이 그냥 파일이 유지가 된다.
인터넷에 찾아보니, more명령어는 한 창에 파일을 다 읽을 수 없을 때, 스크롤하면서 볼 수 있도록
만든 명령어로 cat명령어와 비슷한 구조지만 창을 조절할 수 있다는 차이점이 존재한다고 한다.
또한, more명령어에서 "v"키를 누르면 바로 vi에디터로 접근이 가능하다.
여기서 vi에디터의 명령어창을 하나의 쉘로도 사용이 가능한데 자세한 건 기억이 안 나서
오랜만에 gpt에게 물어보려 했으나, 최근에 구글에서 "BARD"라는 새로운 AI가 나와서
물어보도록 하자
매우 상세하게 알려주고, 각각의 명령어도 세세하게 설명해 준다.
역시 구글은 신이다.
알려준 방식을 활용해서 ":e /etc/bandit_pass/bandit26"이라는 비밀번호가 저장된 파일을 읽어보자.
비밀번호를 알아냈다.
bandit26의 비밀번호는 "c7GvcKlw9mC7aUQaPx7nwFstuAIBw1o1"이다.