ssh userId@host -p port리눅스 명령어를 배우는 사이트ssh를 통해 접속을 하면 다음 레벨로 갈 수 있다고 한다접속을 해보자패스워드에 bandit0를 입력하면로그인 성공!
ls, cd, cat, file, du, findls -option디렉토리 목록을 출력한다cd path디렉토리를 이동한다cd . cd .. cd / - 상위 디렉토리로 이동 cd cd ~ cd $HOME - 홈 디렉토리로 이동cd $\[변수명] - 해당 변수로 이동cd
wildcard character\- 의 이름을 가진 파일을 실행하는 문제다나는 와일드카드를 이용하여 파일을 실행시켰다하지만 문제에서 제공한 링크를 들어가보면 redirection에 대한 내용이 나온다redirection에 대해 알아보자명령어 실행 시 특수한 기능을 지
escape character spaces in this filename의 파일을 실행하는 문제 파일명에 공백이 있어 cat filename을 하면 아마 실행이 안될것이다 를 통해 문자로 처리해주자
hidden file숨겨진 파일을 실행하는 문제문제설명을 따라 inhere로 이동해보자숨겨진 파일이라서 ls를 해도 해당 파일을 찾지 못할 것이다ls -al 을 통해 숨겨진 파일을 확인 후 실행하면 성공
file 명령어 응용사람이 읽을 수 있는 파일에 비밀번호가 있다고 한다그래서 cat < -file00으로 전부 실행해봤다보기도 어렵고 이게 맞나 싶어서 구글링했더니file명령어로 문제를 푸는 걸 확인이래서 다른분들 풀이도 봐야하는구나 ;;
find path -option지정된 파일의 크기로 file을 찾는 문제find 명령어에 대해서 상세하게 알아보자지정된 크기의 파일을 찾는다\-size +/-nbckw\+n : n보다 크다\- n : n보다 작다b : 512 bytec : bytek : kilobyte
fd> /dev/nulluser, group, size를 모두 만족하는 파일을 찾는 문제이전 문제에서 조건만 추가하면 쉽게 풀 것 같다답이 나오긴 했는데 문제가 의도한 바는 아닌가보다출력값을 필터링해보자이전에 배운 file descriptor를 이용해보자stderr =
grep -option "pattern" filename이제 사용할 명령어가 많아지고, 처음보는 명령어들이 생겼다일단 data.txt파일을 실행해보자find -name data.txt -exec cat {} \\;결과가 끝도없이 나와서 사진을 못올린다;;grep을 사용
sortuniq한번만 나타나는 라인에 비밀번호가 있다고 한다즉, 중복되는 라인을 제거하는 문제다제공된 명령어중 uniq를 사용하는 것 같다연속적으로 중복되는 결과를 제거하는 명령어uniq -option\-c : 중복되는 행 count\-u : 중복되지 않는 행만 출력\
string=문자 이후로 읽을 수 있는 문자로 저장되어있다고 한다일단 data.txt를 실행시켜보자알 수 없는 글자들과 함께 나온다 grep을 이용해서 필터링 해보자binary file은 grep을 할 수 없다고 한다;;문제에서 제공하는 strings명령어를 알아봐야
base64 이번엔 base64로 encode되었다고 한다 cyberchef를 이용할 수 있지만 제공된 base64 명령어에 대해 알아보자 base64 >base64 -[option] [filename] --decode default option은 encode로
tr알파벳이 13자리 뒤로 rotate되었다고 한다카이사르 암호를 말하는 것 같다cyberchef로 풀 수 있지만 제공된 명령어 tr에 대해 알아보자string1을 string2로 translate해주는 명령어이다tr -option 'string1' 'string2'\
xxdgzipbzip2tar압축된 파일을 다른 디렉토리로 복사한 후 해제하라는 문제관련 명령어를 몰라서 writeup을 보면서 풀었다binary 파일을 hexdump로 보여주는 명령어xxd -option filename\-r : hexdump를 binary로 바꾼다\-
private keyssh -i "privateKeyFile"private key를 이용하여 다음 레벨로 가야한다key를 찾아보자base64인것 같아 decode를 해봤지만 별 의미는 없었다그래서 그냥 key를 만들어주고 접속해줬다
nclocalhost 30000포트에 비밀번호를 제출하는 문제NetCat은 TCP/UDP 프로토콜을 이용하여 명령줄 통신을 한다여러 기능을 제공하는 네트워크 툴이다nc -option portdefault는 TCP통신이며 -u 옵션을 통해 UDP로 통신가능하다nc를 이
openssl현재 레벨의 비밀번호를 locahost 30001로 SSL을 이용하여 보내라고 한다우선 SSL이 무엇인지 알아보자Secure Sockets LayerSSL은 웹사이트와 브라우저 사이(또는 두 서버 사이)에 전송되는 데이터를 암호화하여 인터넷 연결을 보호하기
nmap31000~32000포트의 localhost에서 비밀번호를 입력하면 증명서를 보내준다고 한다해당 범위의 포트를 수색해보자n번 포트부터 m번 포트까지 탐색하는 명령어nmap host -p n-m하나의 포트만 무언가를 제공해준다 하니 그냥 다 접속해보자31790포트
diff두 파일중 유일한 라인을 찾는 문제다눈으로 찾기에는 힘들 것 같다제공된 명령어 중 diff를 알아보자https://ko.wikipedia.org/wiki/Diffdiff file1a : addedd : deletedc : changed해당 라인과 설명
ssh접속을 하자마자 로그아웃이 된다고 한다접속과 동시에 명령어를 실행하게 하는 문제같다ssh명령어 옵션을 살펴보자destination뒤에 command옵션이 있다접속이 되면 해당 command를 실행하는 옵션이라고 생각된다직접 실행해보자해당 옵션이 잘 실행되는걸 확인
EUIDsetuid binary를 통해 비밀번호를 찾으라고 한다무슨말일까, binary를 실행시켜보자다른 유저의 권한으로 명령어를 실행하라고 나온다일시적으로 파일 소유자의 권한을 얻는다파일을 이용하여 id를 실행하면 euid가 추가된걸 확인할 수 있다이를 이용하여 ba
무슨말인지 모르겠다실행부터 해보자portnumber를 입력해서 받은 정보가 passwd와 일치하면 다음 레벨의 passwd를 제공해주나 보다22번 port에 연결했더니 ssh정보가 나온다nmap으로 열린 포트에 다 연결해봤지만 비밀번호를 제공하는 포트는 없었다내가 따로
/etc/cron.d/ 에서 실행가능한 command를 찾아보라고 한다해당 경로로 이동해보자파일이 잔뜩 나온다지정한 유저의 권한으로 설정 시간에 맞춰 command를 실행하는 도구man 5 crontab으로 설명을 확인each user , daemon, command,
다른 사람이 사용한 shell scripts가 유용할거라고 한다무슨말인지 모르겠으니 일단 실행해보자whoami를 통해 파일이름을 만드는 과정으로 보인다23번계정이 만들었으니 나도 똑같이 만들어보자
이전 문제와 비슷한것 같아 코드부터 확인해보자/var/spool/bandit24/foo 경로로 이동하며 실패할 경우 종료한다해당 경로의 모든 스크립트를 실행하고 삭제한다모든 파일에 대해 ., ..이 아니면 통과파일의 소유자가 bandit23이면 해당 timeout을 통
brute force shell script 현재 레벨의 비밀번호와 4자리 숫자를 입력하여 해결하는 문제 스크립트를 작성하고 결과를 input.txt에 넣자 이걸 다시 출력하고 그 결과를 nc로 넘겨주자
etc/passwdmorebandit26 user의 shell이 /bin/bash가 아니라고한다무슨말인지 도저히 몰라서 writeup을 참고했다/etc/passwd는 사용자 계정에 대한 정보를 담고있는 파일이다cat /etc/passwd파일의 구조는 다음과 같다출처 h
서둘러 bandit27의 비밀번호를 얻으라고한다명령어도 ls뿐이니 그냥 비밀번호만 얻는 레벨인것 같다
gitgit clone을 이용하여 패스워드를 획득하는 문제다다운받아보자다운로드에 실패한다현재 디렉토리에는 권한이 없나보다/tmp 에 하나 만들어서 해보자22번 포트로 연결되면서 실패한다포트를 지정해주는 방법을 알아보자git clone ssh://host:port/rep
git logcommit이전과 동일한 문제인가보다 했는데 파일의 내용이 다르다저게 비밀번호일리는 없어서 다운받은 파일을 싹다 찾아봤는데 특별한건 찾지못했다writeup을 보니 git log라는 명령어가 있다고 한다\-p옵션을 이용하면 상세한 내용을 볼 수 있다이런 신기
git branchgit checkoutgit merge문제는 이전과 동일하다git에 대해서 아는 것이 하나도 없어서 생각할것도 없다writeup을 보자출처 https://mayadevbe.me/posts/overthewire/bandit/level30/bra
숨겨진 branch가 packed-refs에 있다고 한다
git add / commit / pushlevel 30 부터는 writeup보고 따라하는 git 실습 느낌이다이번내용은 git에 파일을 push하는 과정이다파일을 만들어주고 git에 올려보자순서는 add -> commit -> push 로 진행한다성공하면 이런식으로
sh$026레벨에서 봤던 특이한 SHELL이다writeup을 살펴보자출처 https://twoicefish-secu.tistory.com/46https://heirloom.sourceforge.net/sh/sh.1.html봐도 무슨말인지 모르겠다...
다양한 언어에 대한 이해24번문제를 풀면서 해킹을 하기위해서는 정말 다양한 언어를 알고있어야 한다고 느꼈다. shell script라는것을 들어본적도 없었는데 비밀번호를 얻기위해 공부하고 있는 것을 보며, 해킹의 기본은 컴퓨터와 언어에 대한 이해인것 같다고 생각했다실습