리눅스 명령어
-
OVer the wire :bandit 23레벨문제풀이/overthewire:bandit 2021. 11. 24. 13:49
이번문제도 저번문제와 같이 /etc/cron.d/ 에서 찾아보겠습니다 항상 실행되는데 bandit24.sh 쉘스크립트를 실행하는군요 쉘스크립트를 확인해봅시다. /var/spool/bandit24 의모든 스크립트를 실행한뒤 삭제한다고 나와 있습니다. 1분에 한번확인하는것 같네요 여기에 자신의 첫 번째 셸 스크립트를 짜라고하였으니 셸코드를 짜봅시다. 우선 mkdir /tmp/my23 로 작업공간을 만들어봅시다. 작업공간으로 이동한후 getpw.sh 라는 셸스크립트를 짜줍니다. 내용은 cat 명령어를 사용해 /etc/bandit_pass/bandit24 파일에서 읽은내용을 /tmp/my23/keyto24.txt 라는 파일에 출력하겠다는 내용입니다. 또한 bandit24에서 실행될 것 이기 떄문에 권한이 없을것..
-
OVer the wire :bandit 22레벨문제풀이/overthewire:bandit 2021. 11. 24. 13:49
이번 문제는 /etc/cron.d/ 폴더로 이동해서 거기에 있는 파일을 확인해보면 될 것 같습니다. cronjob_bandit23을 확인해보니 /usr/bin/cronjob_bandit23.sh 라는 파일과 관련이 있어보입니다. 저파일도 확인해 봅시다. 쉘스크립트로 이루어진 cron 이네요 echo I am user bandit23 | md5sum | cut -d ' ' -f 1 명령어를 이용해 bandit23 이라는 이름을 md5로 만든뒤 공백글자를 지운뒤 /tmp/ 에 파일명으로 저장되는데 이파일은 cat /etc/bandit_pass/myname을 한 결과 값 즉 bandit23의 비밀번호가 저장되어있는 파일입니다. 지금출력된 문자열을 /tmp/8ca319486bfbbc3663ea0fbe813263..
-
OVer the wire :bandit 20레벨문제풀이/overthewire:bandit 2021. 11. 24. 13:48
이번문제는 suconnect 프로그림이 명령줄 인수로 지정한 포트에서 localhost로 접속하게되는데 다른 터미널을 하나더 열어서 nc -l -p (port번호) 명령어를 입력해 자기자신의 포트에 연결하면 될 것같습니다. 비밀번호를 nc 명령어를 실행중인 터미널에 입력하니 다음 레벨로가는 비밀번호가 나왔습니다. 비밀번호:gE269g2h3mw3pwgrj0Ha9Uoqen1c9DGr overthewire bandit 20level clear
-
OVer the wire :bandit 19레벨문제풀이/overthewire:bandit 2021. 11. 24. 13:48
이번문제는 setuid 바이너리를 이용한문제네요. 권한이 없는 파일을 주나봅니다. bandit20-do 파일이 bandit20은 소유자 bandit19는 그룹이네요 bandit20 권한은 rws s는 특수 권한으로써 setuid를 의미합니다 setuid 는 다른 유저들이 소유자의 권한을 잠시 빌려 사용한다고 이해하면 될 것 같습니다. bandit19에도 x(실행권한)은 있으니 bandit20-do 파일을 실행시키는 동안 bandit20의 권한을 빌려 쓸 수 있으니 그때 cat /etc/bandit_pass/bandit20 명령어를 실행해서 비밀번호를 찾으면 비밀번호:GbKksEFF4yrVs6il55v6gwY5aVje5f0j overthewire bandit 19level clear