BANDiT 35

[OverTheWire: Bandit] level22 -> level23

사용 툴: cygwin 1) 문제 프로그램은 시간 기반 작업 스케줄러인 cron으로부터 일정한 간격으로 자동으로 실행되고 있다. /etc/cron.d/에서 구성을 살펴보고 실행 중인 명령을 확인해라.. NOTE: 다른 사람들이 쓴 shell 스크립트를 보는 것은 매우 유용한 기술이다. 이 스크립트는 의도적으로 읽기 쉽게 만들어진다. 이 기능이 무엇인지 이해하는 데 문제가 있는 경우 그냥 실행해 봐라.. 2) 문제풀이 bandit22로 로그인 해 준 후, 일단 홈디렉터리를 살펴보았다. bandit22@bandit:~$ ls -al total 20 drwxr-xr-x 2 root root 4096 Oct 16 2018 . drwxr-xr-x 41 root root 4096 Oct 16 2018 .. -rw-..

WAR GAME/Bandit 2020.03.03

[OverTheWire: Bandit] level21 -> level22

사용 툴: cygwin 1) 문제 프로그램은 cron으로부터 일정한 주기로 시작된다. /etc/cron.d/ 에 가보고 실행중인 명령을 확인해봐 2) 문제풀이 bandit21로 로그인해주고 홈디렉터리를 살펴보았는데, 딱히 단서로 건질만한게 없었다. 그래서 문제에 주어진 대로 /etc/cron.d/에 가보았다. bandit21@bandit:~$ cd /etc/cron.d/ bandit21@bandit:/etc/cron.d$ ls -al total 28 drwxr-xr-x 2 root root 4096 Dec 4 01:58 . drwxr-xr-x 88 root root 4096 Aug 3 2019 .. -rw-r--r-- 1 root root 189 Jan 25 2017 atop -rw-r--r-- 1 ro..

WAR GAME/Bandit 2020.03.01

[OverTheWire: Bandit] level20 -> level21

사용 툴: cygwin 1) 문제 홈 디렉터리에는 localhost에 연결하는 setuid 바이너리가 있다. 연결해서 bandit20의 패스워드를 전송하면 bandit21의 패스워드를 전송해준다. 2) 문제풀이 홈디렉터리에서 setuid가 걸린 파일을 찾아 실행시켜보았다. bandit20@bandit:~$ ls -al total 32 drwxr-xr-x 2 root root 4096 Oct 16 2018 . drwxr-xr-x 41 root root 4096 Oct 16 2018 .. -rw-r--r-- 1 root root 220 May 15 2017 .bash_logout -rw-r--r-- 1 root root 3526 May 15 2017 .bashrc -rw-r--r-- 1 root root 6..

WAR GAME/Bandit 2020.03.01

[OverTheWire: Bandit] level19 -> level20

사용 툴: cygwin 1) 문제 다음 레벨로 가기 위해선 홈디렉터리의 setuid 바이너리를 사용해야한다. setuid 바이너리를 사용하기 위해 알규먼트 없이 실행해봐라. 패스워드는 setuid 바이너리를 사용한 후 /etc/bandit_pass 아래서 찾을 수 있다. 2) 문제풀이 bandit19로 로그인해주고 홈디렉터리를 살펴본다. bandit19@bandit:~$ ls -al total 28 drwxr-xr-x 2 root root 4096 Oct 16 2018 . drwxr-xr-x 41 root root 4096 Oct 16 2018 .. -rwsr-x--- 1 bandit20 bandit19 7296 Oct 16 2018 bandit20-do -rw-r--r-- 1 root root 220 ..

WAR GAME/Bandit 2020.03.01

[OverTheWire: Bandit] level18 -> level19

사용 툴: cygwin 1) 문제 다음레벨의 패스워드는 홈디렉터리의 readme 파일안에 있다. 불행하게도 누군가가 .bashrc 파일을 변경했기 때문에 ssh에 로그인시도를 할 때 로그아웃되도록 설정했다. 2) 문제풀이 무척간단하다. bandit18로 로그인할 때 뒤에 cat readme를 사용하면 bandit19의 비밀번호를 알 수 있다. SHJ@DESKTOP-CK691IG ~ $ ssh -p 2220 bandit18@bandit.labs.overthewire.org cat readme This is a OverTheWire game server. More information on http://www.overthewire.org/wargames bandit18@bandit.labs.overthewi..

WAR GAME/Bandit 2020.02.29

[OverTheWire: Bandit] level17 -> level18

사용 툴: cygwin 1) 문제 홈디렉터리에 두개의 파일이 있다. 다음 레벨의 패스워드는 passwords.new 파일에 있고, .old 파일과 .new 파일의 다른점이 패스워드이다. NOTE: 문제를 해결하고 bandit18로 로그인을 시도할 때 Byebye! 문구를 발견한다면 이것은 bandit19에 로그인할 때와 관련있다. 2) 문제풀이 diff 명령어만 잘 알고있다면 간단하다. -c옵션은 두 파일간 다른 부분을 !을 통해 표시해준다. bandit17@bandit:~$ diff -c passwords.old passwords.new *** passwords.old 2018-10-16 14:00:27.742867000 +0200 --- passwords.new 2018-10-16 14:00:27.7..

WAR GAME/Bandit 2020.02.29

[OverTheWire: Bandit] level16 -> level17

사용 툴: cygwin 1) 문제 31000에서 32000 사이의 포트번호로 로컬호스트에 bandit16번 패스워드를 제출하면 다음레벨로 갈 수 있다. 수신대기 중인 포트, SSL를 사용하는 포트를 찾아야하고, 만약 정답이 아닌 포트를 찾게된다면 내가 무엇을 보내던 나한테 다시 돌려보낸다고 한다. 2) 문제풀이 일단 포트스캐닝을 통해 어떤 포트가 열려있는 지 찾아야한다. bandit16@bandit:~$ nc -zvn 127.0.0.1 31000-32000 (UNKNOWN) [127.0.0.1] 31790 (?) open (UNKNOWN) [127.0.0.1] 31518 (?) open bandit16@bandit:~$ 31790번 포트와 31518포트가 무슨 프로그램인지는 모르겠지만 열려있다고 한다. ..

WAR GAME/Bandit 2020.02.29

[OverTheWire: Bandit] level15 -> level16

사용 툴: cygwin 1) 문제 다음 레벨로 가기위한 패스워드는 localhost의 30001번 포트에 SSL 암호화를 사용해서 현재 레벨의 패스워드를 제출하면 얻을 수 있다. 2) 문제풀이 간단하다. bandit15 계정으로 로그인 한다. bandit15@bandit:~$ openssl s_client -connect 127.0.0.1:30001 엔터치고 출력결과가 다 나온 후, 커서가 깜빡깜빡 거리면 bandit15의 패스워드를 제출하면 된다. 그러면 바로 bandit16의 패스워드로 추정되는 문자열을 뱉어낸다. bandit16으로 로그인해보고 검증해보면 끝! SHJ@DESKTOP-CK691IG ~ $ ssh -p 2220 bandit16@bandit.labs.overthewire.org bandi..

WAR GAME/Bandit 2020.02.29

[OverTheWire: Bandit] level14 -> level15

사용 툴: cygwin 1) 문제 localhost에게 포트 300000으로 현재 레벨의 패스워드를 전송하면 다음 레벨의 패스워드를 얻을 수 있다. 2) 문제풀이 bandit14로 로그인한다. nc -l 명령어를 써서 30000포트를 열어준다. 이제 다른 터미널을 켜서 로컬호스트의 30000번 포트로 접속할 것이다. 다른 터미널에서 bandit14로 접속해준 후 bandit14의 패스워드를 전송해주면 바로 다음 레벨의 패스워드를 알려준다 다시 로그아웃하고 방금 얻은 패스워드로 bandit15로 로그인에 성공해 확인해보니 저 문자열이 bandit15의 패스워드가 맞다는 것을 확인할 수 있었다. ssh -p 2220 bandit15@bandit.labs.overthewire.org id

WAR GAME/Bandit 2020.02.27

[OverTheWire: Bandit] level13 -> level14

사용 툴: cygwin 1) 문제 패스워드는 /etc/bandit_pass 아래 저장되어있고, bandit14 계정만 오직 읽일 수 있다고 한다. 이 레벨에서는 다음 패스워드를 얻는 것이 아니다. private SSH key를 얻어야한다. NOTE: localhost는 자신의 pc를 가리키고 있는 주소를 뜻한다. (localhost = 127.0.0.1) 2) 문제풀이 private SSH key란 간단히 설명하자면 사용자의 패스워드 대신 로그인에 성공할 수 있는 것이다. 이정도만 알아도 일단 문제를 풀 수 있으니, 문제풀이를 진행해보도록 하겠다. 일단 bandit13으로 로그인하고 홈 디렉터리를 살펴보았다. sshkey.private 파일이 수상해보여서 file로 파일을 확인해보았다. 저렇게 빨간 네모..

WAR GAME/Bandit 2020.02.27