WAR GAME/Bandit

[OverTheWire: Bandit] level21 -> level22

jir4vvit 2020. 3. 1. 20:49

사용 툴: cygwin

 

1) 문제

level21 -> level22 문제

프로그램은 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 root root  120 Oct 16  2018 cronjob_bandit22
-rw-r--r--  1 root root  122 Oct 16  2018 cronjob_bandit23
-rw-r--r--  1 root root  120 Oct 16  2018 cronjob_bandit24
-rw-r--r--  1 root root  102 Oct  7  2017 .placeholder
bandit21@bandit:/etc/cron.d$

cronjab_bandit22가 네이밍이 조금 수상해보여서 열어보았다.

bandit21@bandit:/etc/cron.d$ cat cronjob_bandit22
@reboot bandit22 /usr/bin/cronjob_bandit22.sh &> /dev/null
* * * * * bandit22 /usr/bin/cronjob_bandit22.sh &> /dev/null
bandit21@bandit:/etc/cron.d$
  • @reboot bandit22 /usr/bin/cronjob_bandit22.sh &> /dev/null
  • * * * * * bandit22 /usr/bin/cronjob_bandit22.sh &> /dev/null

이 두 문장이 처음에 이해가 가질 않았다.

그래서 구글링을 해보았다.

 

  • 프로그램을 다시 시작할때마다 /usr/bin/cronjob_bandit22.sh을 휴지통에 버린다.
  • 매시간매분매초 /usr/bin/cronjob_bandit22.sh을 휴지통에 버린다.
bandit21@bandit:/etc/cron.d$ cat /usr/bin/cronjob_bandit22.sh
#!/bin/bash
chmod 644 /tmp/t7O6lds9S0RqQh9aMcz6ShpAoZKF7fgv
cat /etc/bandit_pass/bandit22 > /tmp/t7O6lds9S0RqQh9aMcz6ShpAoZKF7fgv
bandit21@bandit:/etc/cron.d$

저 파일을 읽을려고 시도해보니까 

bandit22의 패스워드를 복사해서 /tmp/t~파일에 저장한다고 한다.

 

그래서 저 파일을 cat 명령으로 읽으니까 패스워드가 나왔다.

 

SHJ@DESKTOP-CK691IG ~
$ ssh -p 2220 bandit22@bandit.labs.overthewire.org
bandit22@bandit:~$ id
uid=11022(bandit22) gid=11022(bandit22) groups=11022(bandit22)
bandit22@bandit:~$