728x90

 

 

쉘이 다르다고 한다. /etc/passwd에서 알아보면, 

 

정상이 아닌것 같긴 하다.

보아하니 , 

more이라는 명령어가 뭔지 몰랐는데 

화면 작게만들면 표시가 안나서 로딩중? 이라는 의미인것 같다 

이거 말하는거임

여기서 vi로 들어가서 :로 명령어 r /etc/bandit_pass/bandit26을 입력하면 

 

 

 

 

짜잔 마법입니다   

 

아마 위에서 로딩된 text.txt파일의 소유자가 bandit26이고, 그 파일을 실행중이니깐 접근 권한이 생긴것 같다.

5czgV9L3Xx8JPOyRbXh6lQbmIOWvPT6Z

728x90

'etc > bandit' 카테고리의 다른 글

[Bandit] Level 24 ~> Level 25  (0) 2020.09.22
[Bandit] Level 23 ~> Level 24  (0) 2020.09.22
[Bandit] Level 22 ~> Level 23  (0) 2020.09.22
[Bandit] Level 21 ~> Level 22  (0) 2020.09.22
[Bandit] Level 20 ~> Level 21  (0) 2020.09.22
728x90

무차별 대입을 하면 되고, 코드는 간단하게 작성할 수 있다. 

#!/bin/bash
for i in {0000..9999}
do 
	echo "UoMYTrfrBFHyQXmg6gzctqAwOmw1IohZ $i"
done

 

sh파일 결과를 txt로 저장하고, 이 txt를 nc에 넣어주면 된다. 

'

 

uNG9O58gUE7snukf3bvZ0rxhtnjzSGzG

728x90

'etc > bandit' 카테고리의 다른 글

[Bandit] Level 25 ~> Level 26  (0) 2020.09.22
[Bandit] Level 23 ~> Level 24  (0) 2020.09.22
[Bandit] Level 22 ~> Level 23  (0) 2020.09.22
[Bandit] Level 21 ~> Level 22  (0) 2020.09.22
[Bandit] Level 20 ~> Level 21  (0) 2020.09.22
728x90

쉘 스크립트를 작성해야한다니, 어려워 보이지만 사실 리눅스 명령어를 몇개 나열하면 된다.

 

cron에서 sh파일 찾는건 전이랑 같으므로 생략한다. 

#!/bin/bash

myname=$(whoami)

cd /var/spool/$myname
echo "Executing and deleting all scripts in /var/spool/$myname:"
for i in * .*;
do
    if [ "$i" != "." -a "$i" != ".." ];
    then
        echo "Handling $i"
        owner="$(stat --format "%U" ./$i)"
        if [ "${owner}" = "bandit23" ]; then
            timeout -s 9 60 ./$i
        fi
        rm -f ./$i
    fi
done

 

 

전부 실행시키고 지워버린다. 

그럼 해당 경로에 bandit_pass/bandit24파일을 따로 복사해놓으면 된다. 

#!/bin/bash
cat /etc/bandit_pass/bandit24 > /tmp/b/eing

 

이 쉘을 넣어주면 풀릴듯

아 그리고 이 쉘은 위에 코드를 보면 알수 있듯이 /var/spool/$myname(bandit24) 에 있는 모든 코드를 실행시키므로, 여기에 넣어준다. 

 

 

여러 삽질을 했는데, 

우선 내가 만들 파일에 권한을 줘야한다. (666)

그 다음, tmp에서 만든 sh파일을 복사해주고, 기다리면 키가 나온다. 

 

 

UoMYTrfrBFHyQXmg6gzctqAwOmw1IohZ

728x90

'etc > bandit' 카테고리의 다른 글

[Bandit] Level 25 ~> Level 26  (0) 2020.09.22
[Bandit] Level 24 ~> Level 25  (0) 2020.09.22
[Bandit] Level 22 ~> Level 23  (0) 2020.09.22
[Bandit] Level 21 ~> Level 22  (0) 2020.09.22
[Bandit] Level 20 ~> Level 21  (0) 2020.09.22
728x90

 

bandit22@bandit:~$ cd /etc/cron.d
bandit22@bandit:/etc/cron.d$ ls
cronjob_bandit15_root  cronjob_bandit22  cronjob_bandit24
cronjob_bandit17_root  cronjob_bandit23  cronjob_bandit25_root
bandit22@bandit:/etc/cron.d$ fiel cronjob_bandit23
-bash: fiel: command not found
bandit22@bandit:/etc/cron.d$ file cronjob_bandit23
cronjob_bandit23: ASCII text
bandit22@bandit:/etc/cron.d$ cat cronjob_bandit23
@reboot bandit23 /usr/bin/cronjob_bandit23.sh  &> /dev/null
* * * * * bandit23 /usr/bin/cronjob_bandit23.sh  &> /dev/null
bandit22@bandit:/etc/cron.d$ cat /usr/bin/cronjob_bandit23.sh
#!/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
bandit22@bandit:/etc/cron.d$ echo I am user bandit23 | md5sum | cut -d ' ' -f 1
8ca319486bfbbc3663ea0fbe81326349
bandit22@bandit:/etc/cron.d$ cat /tmp/8ca319486bfbbc3663ea0fbe81326349
jc1udXuA1tiHqjIsL8yaapX5XIAI6i0n
bandit22@bandit:/etc/cron.d$ 

 

 

 

 

 

형식이 다 나와있으므로 echo로 id를 확인해주면 주소가 나온다. 

 

jc1udXuA1tiHqjIsL8yaapX5XIAI6i0n

728x90

'etc > bandit' 카테고리의 다른 글

[Bandit] Level 24 ~> Level 25  (0) 2020.09.22
[Bandit] Level 23 ~> Level 24  (0) 2020.09.22
[Bandit] Level 21 ~> Level 22  (0) 2020.09.22
[Bandit] Level 20 ~> Level 21  (0) 2020.09.22
[Bandit] Level 19 ~> Level 20  (0) 2020.09.22
728x90

cron은 작업 예약 명령으로, 윈도우에선 시작프로그램처럼 자동으로 처리되는 프로그램인것 같다. 관련된건 구글링 

 

 

열어보니 sh명령을 백그라운드로 돌리고 있다. 가서 확인해보자.

가서 읽어보면 된다.

Yk7owGAcWjwMVRwrTesJEwB7WVOiILLI

728x90

'etc > bandit' 카테고리의 다른 글

[Bandit] Level 23 ~> Level 24  (0) 2020.09.22
[Bandit] Level 22 ~> Level 23  (0) 2020.09.22
[Bandit] Level 20 ~> Level 21  (0) 2020.09.22
[Bandit] Level 19 ~> Level 20  (0) 2020.09.22
[Bandit] Level 18 ~> Level 19  (0) 2020.09.22
728x90

뭐를 비교를 해서 같으면 다음 비번을 준다고 한다. 

터미널 두개를 열어놓고 송수신하면 풀릴듯.

htst.tistory.com/61

 

nc(netcat) 명령어

nc(netcat) 명령어 사용법 넷캣(Netcat)은 TCP나 UDP 프로토콜을 사용하는 네트워크 연결에서 데이터를 읽고 쓰는 간단한 유틸리티 프로그램이다. 일반적으로는 UNIX의 cat과 비슷한 사용법을 가지고 있�

htst.tistory.com

 

 이렇게 터미널1 에서 절대 안쓰고 있을것같은 포트를 열어주고, (사실 nmap으로 확인해봐야 하는데 귀찮음)

터미널2 에서 받아주면 된다. 연결된거임.

이제 터미널1에 비밀번호를 보내주면, 

짜잔

gE269g2h3mw3pwgrj0Ha9Uoqen1c9DGr

728x90

'etc > bandit' 카테고리의 다른 글

[Bandit] Level 22 ~> Level 23  (0) 2020.09.22
[Bandit] Level 21 ~> Level 22  (0) 2020.09.22
[Bandit] Level 19 ~> Level 20  (0) 2020.09.22
[Bandit] Level 18 ~> Level 19  (0) 2020.09.22
[Bandit] Level 17 ~> Level 18  (0) 2020.09.22
728x90

ls -al 명령어는 파일 세부사항 중 소유자와 그룹을 보여준다. 또한, 새로알게된 사실인데 파일을 실행하는 동안은 그 소유자 권한을 가진다고 한다. 

실행파일이니깐 cat과 같이 실행시키면 나온다. 

GbKksEFF4yrVs6il55v6gwY5aVje5f0j

728x90

'etc > bandit' 카테고리의 다른 글

[Bandit] Level 21 ~> Level 22  (0) 2020.09.22
[Bandit] Level 20 ~> Level 21  (0) 2020.09.22
[Bandit] Level 18 ~> Level 19  (0) 2020.09.22
[Bandit] Level 17 ~> Level 18  (0) 2020.09.22
[Bandit] Level 16 ~> Level 17  (0) 2020.09.22
728x90

 

 

지금은 localhost로 들어왔고, 

 

 

보시다시피 권한이 18로 설정되어 있다. 그럼 18명분으로 보면 된다. 18의 비번을 아니깐 가능하다. 

 

IueksS7Ubh8G3DCwVzrTd8rAVOwq3M5x

728x90

'etc > bandit' 카테고리의 다른 글

[Bandit] Level 20 ~> Level 21  (0) 2020.09.22
[Bandit] Level 19 ~> Level 20  (0) 2020.09.22
[Bandit] Level 17 ~> Level 18  (0) 2020.09.22
[Bandit] Level 16 ~> Level 17  (0) 2020.09.22
[Bandit] Level 15 ~> Level 16  (0) 2020.09.21

+ Recent posts