Post

[wargame] overthewire bandit 22 -> 23

Bandit Level 22 -> Level 23

user_id : bandit22
password : tRae0UfB9v0UzbCdn9cY0gQnds9GF58Q

목표

image

시간 기반 작업 스케줄러인 cron에서 일정한 간격으로 프로그램이 자동으로 실행되고 있습니다. /etc/cron.d/에서 구성을 확인하고 어떤 명령어가 실행되고 있는지 확인하십시오.

참고: 다른 사람이 작성한 셸 스크립트를 보는 것은 매우 유용한 기술입니다. 이 수준의 스크립트는 의도적으로 읽기 쉽게 만들어졌습니다. 만약 그것이 무엇을 하는지 이해하는 데 문제가 있다면, 그것이 출력하는 디버그 정보를 보기 위해 실행해 보세요.

어… 저번이랑 거의 다른 것은 없고 참고가 추가되었다

해결법

image

저번처럼 들어가서 cron에 연결된 파일을 후딱 읽어보면 이번에는 /usr/bin/cronjob_bandit23.sh파일로 연결되어있다고 한다

image

매우 간단한 스크립트가 있다

1
2
3
4
5
6
7
8
#!/bin/bash

myname=$(whoami)
mytarget=$(echo I am user $myname | md5sum | cut -d ' ' -f 1)

echo "Copying passwordfile /etc/bandit_pass/$myname to /tmp/$mytarget"

cat /etc/bandit_pass/$myname > /tmp/$mytarget

myname=$(whoami)

whoami명령어를 통해 유저 id를 넣는다

mytarget=$(echo I am user $mynamemd5sumcut -d ‘ ‘ -f 1)

I am user bandit23md5해시 변환 하고 ‘‘을 구분하여 첫번째 부분만 mytarget 변수에 넣는다

cat /etc/bandit_pass/$myname > /tmp/$mytarget

tmp/$mytargetbandit23의 비밀번호가 저장되게 된다

ezgif-3-6b2e5d6e92

우리는 현재 whoami를 하였을 때 bandit22가 나오고 우리가 찾고 싶은 것은 bandit23의 비밀번호이기에 찾기위해 그 부분을 직접 입력해주자

image

위에서 파일이 /tmp/$mytarget에 저장되어있다고 하였고 우리는 $mytarget8ca319486bfbbc3663ea0fbe81326349라는 것을 알아냈다

image

읽어보면 bandit23의 비밀번호를 알아낼 수 있다

비밀번호 : 0Zf11ioIjMVN551jX3CmStKLYqjk54Ga

This post is licensed under CC BY 4.0 by the author.