Linux

이번 password는 data.txt 파일에 있는데, 영어 소문자와 대문자가 각각 13 글자씩 이동하였다. 즉, a는 n, b는 o, c는 p로 쓰인 것이다. ls data.txt 파일이 보인다. cat data.txt 문자열이 보이지만 13글자씩 밀려있으므로 구하고자 하는 password가 아니다. tr 명령어를 사용하여 글자를 치환해 보자. tr '바꿀문자' '바뀔문자'의 형식으로 명령어를 입력한다. 우리는 다시 13글자만큼 더 이동시켜야 하므로 A~Z를 N~Z, A~M으로 치환하고, a~z를 n~z, a~m으로 치환한다. cat data.txt | tr 'A-Za-z' 'N-ZA-Mn-za-m' 다음 레벨로 가기 위한 password가 보인다.
Level11 password는 data.txt 파일 안에 base64로 암호화 되어 들어있다. ls data.txt 파일이 보인다. cat data.txt base64로 인코딩된 문자열이 보인다. base64 -d data.txt base64는 어떤 내용을 base64로 인코딩 해주는 명령어이다. 이를 디코딩하려면 옵션 -d를 붙이면 된다. 그럼 Level11로 가기 위한 password가 보인다.
이번 password는 data.txt 파일 내용 안에 사람이 해석할 수 있는 텍스트 형식으로 이루어진 문자열 중 '='뒤에 오는 문자열이다. cat data.txt 문자들과 기호들이 섞인 해석할 수 없는 내용들이 보인다. strings 명령어를 사용하면 문자열만 추출할 수 있다. strings data.txt 문자열만 나오지만 양이 너무 많다. grep 명령어를 통해 =을 포함한 문장을 찾는다. strings data.txt | grep = 다음 레벨로 가기 위한 password가 보인다.
이 문제의 password는 data.txt 파일 안의 내용 중 중복되지 않은 유일한 행이다. cat data.txt 너무 많은 문자들이 보인다. 중복된 문장을 처리하는 명령어가 필요해 보인다. uniq : 연속해서 중복된 문장들 중 하나만 출력 uniq -u : 연속해서 중복된 문장들 모두 제거하여 출력 uniq -u data.txt uniq -u 명령어를 사용해도 중복되지 않은 문장 하나가 아닌 수많은 문자들이 보인다. 왜냐하면 uniq 명령어는 '연속해서' 중복된 문장들을 처리하기 때문이다. data.txt 파일 안의 문장들은 연속해서 중복된 것이 아니라 무작위 순서로 중복되어 있기 때문에 uniq 명령어가 먹히지 않았다. sort 명령어를 사용하여 문자열을 오름차순으로 정렬한 후 uniq -u 명..
이번엔 password가 data.txt 파일 안에 millionth 단어 옆에 있다고 한다. ls data.txt 파일이 보인다. cat data.txt 너무 많은 텍스트가 들어있다. 여기서 millionth 단어를 찾는 것은 어려워 보인다. grep 명령어를 이용하여 원하는 문자를 검색해보자. cat data.txt | grep millionth millionth 단어를 찾았고, 그 옆에 다음 레벨로 가기 위한 password가 보인다.
이번엔 현재 디렉토리가 아닌 서버 어딘가에서 위의 3가지 조건을 만족시키는 파일 속 비밀번호를 찾는 것이 문제이다. find / -user bandit7 -group bandit6 -size 33c 현재 디렉토리가 아닌 루트 디렉토리에서 찾아야 하므로 /를 붙인다. -user 옵션을 통해 user bandit7이 소유한 파일을 찾는다. -group 옵션을 통해 group bandit6가 소유한 파일을 찾는다. -size 옵션을 통해 33바이트 파일을 찾는다. 그럼 아래와 같은 결과가 나온다. permission이 denied되지 않은 파일은 /var/lib/dpkg/info/bandit7.password밖에 없다. cat /var/lib/dpkg/info/bandit7.password 다음 레벨로 가기 ..
이번에는 inhere 디렉토리 안의 파일들 중 위의 3가지 조건을 만족시키는 파일 속 password를 찾는 것이 문제이다. ls maybehere00, maybehere01, ... , maybehere17까지 디렉토리가 너무 많다. 일일이 확인할 수는 없을 것 같다. find 명령어를 통해 조건을 만족하는 파일을 찾자. find 옵션 중 -size를 통해 해당하는 용량을 지닌 파일을 찾을 수 있다. 바이트 단위는 c이다. find -size 1033c ./maybehere07/.file2 경로가 보인다. 다행인지 불행인지 1033바이트에 해당하는 파일이 하나밖에 없다. cat ./maybehere07/.file2 다음 레벨로 가기 위한 password를 확인할 수 있다. 하지만 이대로 넘어가기 찜찜하..
Level5로 가기 위한 password는 inhere 디렉토리 안에 사람이 읽을 수 있는 파일에 있다. ls inhere 디렉토리가 보인다. cd inhere inhere 디렉토리로 이동한다. ls -file00, -file01, ... , -file09가 있다. 파일들의 속성을 알아보기 위해 file 명령어를 사용한다. 파일 이름들이 -로 시작하므로, 옵션 앞의 문자가 아님을 명시해주기 위해 현재 디렉토리 안의 파일이라는 의미로 ./을 붙여준다. 또한, 10개의 속성을 한번에 알아보기 위해 *을 이용한다. file ./* 그러면 아래와 같이 파일들의 속성이 보인다. -file07만 ASCII text로 쓰여있어 사람이 읽을 수 있는 파일임을 알 수 있다. cat ./-file07 다음 레벨로 가기 위..
Level4 문제는 inhere 디렉토리 안의 숨겨진 파일 속 password를 찾는 것이다. ls inhere 디렉토리가 보인다. cd inhere inhere 디렉토리로 이동한다. ls 아무것도 보이지 않는다. 숨겨진 파일이라고 했으므로 -a 옵션을 사용하여 숨겨진 파일까지 확인한다. ls -a .hidden이라는 숨겨진 파일이 보인다. cat .hidden 다음 레벨로 가기 위한 password를 확인할 수 있다.
je1att0
'Linux' 카테고리의 글 목록 (3 Page)