ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 리눅스 스터디 (5) : Bandit Level 5 ~ 10
    보안/LINUX 2024. 3. 7. 09:00

    OverTheWire: Level Goal: Bandit Level 5 → Level 6 부터 공부했다.

    복붙=ctrl+우클릭

    Bandit Level 5 -> Level 6

    • 목표: inhere 이라는 디렉토리 안의 파일에 저장되어 있는 패스워드를 찾는데 이는 인간이 읽을 수 있고 1033 바이트이고 실행하는 파일이 아니어야 한다.
    • 문제 풀 때 필요할 수 있는 명령어: ls, cd, cat, file, du, find

    • 처음에는 디렉토리를 다 검사해볼 생각이었는데 디렉토리가 너무 많아서 사이즈를 찾아보기로 했다. 사이즈에 관한 내용은 나오지 않아 구글링했다.
    • find 명령어로 찾는 방법: find 경로 -size파일크기단위 (파일크기와 단위는 붙여쓰고 단위는 b: 블록단위(512KB), c:바이트, k:kbyte, w:2byte 라고 한다.)

    1. cd inhere 로 디렉토리 읽기
    2. 사이즈가 1033바이트인 파일을 찾기: -size 1033c (c는 바이트를 의미한다.)
    3. 파일이 하나 나온다. -> cat 으로 파일 내용 출력하기


    Level 6 -> Level 7

    • 목표: server 어딘가에 저장되어 있는 패스워드를 찾는데 server 는 bandit 7 사용자에게 주어져있고 group bandit 6에게 주어져있고 사이즈가 33바이트이다.
    • 문제 풀 때 필요할 수 있는 명령어: ls, cd, cat, file, du, find, grep

    • grep: 입력으로 전달된 파일의 내용 중 특정 문자열을 찾고 싶을 때 사용하는 명령어 grep[option][pattern][file]

    1. 파일 경로를 사용하자. 'server 는 bandit 7 사용자에게 주어져있고 group bandit 6에게 주어져있고 사이즈가 33바이트이다' 라는 조건에 맞게 find / -user bandit7 -group bandit6 -size 33c 를 친다.
    2. 다 앞에 find가 붙는데 /var/lib/dpkg/info/bandit7,password는 안 붙는 것을 확인한다.
    3. 파일이니까 cat으로 읽어준다.


    Level 7 -> Level 8

    • 목표: data.txt 라는 파일 안의 millionth 단어 옆에 있는 패스워드를 찾자
    • 문제 풀 때 필요할 수 있는 명령어: grep, sort, uniq, strings, base64, tr, tar, gzip, bzip2, xxd

    • grep: 입력으로 전달된 파일의 내용 중 특정 문자열을 찾고 싶을 때 사용하는 명령어 대상 파일에서 문자열을 검색하는 경우: grep "str" file

    1. 바로 문자열을 찾기 위해 grep 을 사용한다. grep millionth data.txt 혹은 grep "millionth" data.txt 를 친다.


    Level 8 -> Level 9

    • 목표: data.txt 라는 파일 안에 저장된 패스워드를 찾는데, data.txt 는 한 번만 나타나는 텍스트의 유일한 줄이다.
    • 문제 풀 때 필요할 수 있는 명령어: grep, sort, uniq, strings, base64, tr, tar, gzip, bzip2, xxd

    • sort: 텍스트 파일의 내용을 알파벳 순서대로 정렬한다. / 파일 열어서 sort 사용하는 방법: cat 파일명 | sort
    • uniqu: 중복된 내요으이 행이 연속으로 있으면 중복 없이 하나의 행으로 만들어준다 / 파일 열어서 사용 시 cat 파일명 | uniq
    • unique -u : 중복되지 않는 라인 표시/ sort 하고 uniq -u 가능

    (그냥 다 cat으로 해봤다가 너무 길어서 포기함)

    1. cat data.txt | sort | uniq -u로 dat.txt를 정렬하는데
    • sort 로 파일 내용을 줄 단위로 오름차순 정렬
    • uniq -u로 중복제거 후 중복 아닌 열 출력


    Level 9 -> Level 10

    • 목표: data.txt 라는 파일 안에 저장된 패스워드를 찾는데, data.txt는 인간만 읽을 수 있는 문자열 중 하나이고 몇 개의 '='가 앞에 있다.
    • 문제 풀 때 필요할 수 있는 명령어: grep, sort, uniq, strings, base64, tr, tar, gzip, bzip2, xxd

    • strings: 파일에서 인쇄 가능한 문자열을 출력한다.

    1. string을 이용해서 풀어보자. 몇 개의 '='을 가지므로 인쇄가능한 문자열은 '=' 이다. 이걸 grep에도 넣어서 풀어주면 strings data.txt | grep "=" 이다. (data.txt에서 인쇄 가능한 문자열을 출력하는데 특정 문자열dls = 을 찾기 위해 grep 사용

    truKLdjsbJ5g7yyJ2X2R0o3a5HQJFuLk

Designed by Tistory.