전체 글

보안 전문가가 되기 위한 노력들
1. 문제 data.txt 안에 있는 여러개의 = 으로 나눠져있는 곳에 저장되어 있다고 합니다.  2. 명령어2.1 strings바이너리 파일에서 출력 가능한 문자열을 찾아서 표시하는데 사용 strings filename (출력 가능한 문자열 찾기) 3. 풀이 grep 으로 일단 ======= 문자열을 찾으려고 했는데 grep 명령어는 기본적으로 text를 찾기 위해서 사용되는 명령어라서 바이너리 파일에는 기본 명령으로는 사용할 수 없습니다.하지만 -a 옵션을 사용하면 바이너리 파일에서도 text를 찾을 수 있습니다. 또한 strings 명령어로 출력 가능한 문자들만 출력하면 된다.   대충 ======= 추가 해놓고 해보자 strings data.txt | grep -a "======"
1. 문제 data.txt 안에 저장되어 있고 딱 한번만 나타나는 텍스트 줄이라고 합니다. 2. 명령어2.1 uniq텍스트 파일에서 중복된 줄을 찾아내거나 제거하는 데 사용 주로 sort명령어로 정렬한 후 사용한다.uniq 파일명 (파일에서 연속적으로 중복된 줄을 제거해서 표시)sort filename | uniq 2.2 sort파일 내용을 행 단위로 정렬할 때 사용 sort 파일명 (알파벳순으로 정렬)sort -n 파일명 (숫자 기준으로 정렬)sort -r 파일명 (역순으로 표시)sort -u 파일명 (중복된 줄을 제거하며 정렬) 3. 풀이 어 이렇게 저장되어 있다.......  uniq 명령어는 중복 줄만 제거 가능하기 때문에 sort 명령어로 줄 단위로 정렬을 실시한다. sort data.txt |..
1. 문제 data.txt 라는 파일안에 millionth 단어 옆에 비밀번호가 있다고 한다.  2. 명령어2.1 head파일의 시작 부분에서 특정 수의 줄을 출력할 때 사용 head 파일명 (파일 첫10줄 출력)head -n N 파일명 (n줄 출력하기) 2.2 grep특정 패턴이나 문자열을 검색할 때 사용 grep "검색할 문자열" 파일명 (파일 내에서 문자열 검색)grep "검색할 문자열" 파일명1 파일명2 (여러파일 내에서 문자열 검색)grep -r "검색할 문자열" 디렉터리경로 (디렉터리 내 모든 파일에서 문자열 검색)grep -i '검색할 문자열' 파일명 (대소문자 구분하지 않고 검색)grep -E '정규표현식' 파일명 (정규 표현식 사용해서 검색)3. 풀이 head 명령어로 data.txt를 ..
1. 문제 server 어딘가에 저장되어 있고 다음과 같은 특성을 가진다. 1. bandit7 이라는 user가 소유하고 있다.2. bandit6 그룹에 소유되어 있다. 3. 33bytes의 사이즈이다.  2. 풀이 / 디렉터리 부터 시작해서-type f (일반 파일 대상)-user bandit7  유저가 bandit7인 것 검색 -group bandit6  그룹이 bandit6인 것 검색-size 33c 33byte 크기의 파일을 검색해보자   find / -type f -user bandit7 -group bandit6 -size 33c  permission denied가 매우 많다. 이 중에서 접근 권한이 있는 파일을 보니 bandit7.password라는 파일이 보인다. cat으로 읽으니 비밀번호..
1. 문제 inhere 디렉토리안의 파일 어딘가에 저장되어 있고 파일의 특성은 아래 3가지이다. 2. 명령어 2.1 find파일이나 디렉터리를 검색할 때 사용합니다. find 경로 -name 이름 (특정 파일 이름 찾기)find / -user username (특정 사용자가 소유한 파일 찾기)find / -size 크기 (특정 크기의 파일 찾기) 3. 풀이 inhere안에는 20개의 디렉터리가 존재하고 그 안에 또 다양한 파일들이 존재한다. 파일의 특성이 있으니 find 명령어를 사용해보자   -size 1033c 로 1033 byte 크기의 파일을 찾고 ! -executable 로 실행 불가능한 파일을 찾는다.find -size 1033c ! -executable  바로 나옴cat으로 읽으면 끝
1. 문제 inhere 디렉터리 안에 사람이 읽을 수 있는 파일에 저장되어 있다고 한다. 무슨 뜻일까...?  2. 풀이 inhere 디렉터리에 들어가보니 파일이 겁나 많다. 한개만 읽어보자   얘는 사람이 읽을 수 없다.  그럼 한번에 다 열어보자 head로 상위 10줄만 출력하고 ./-file* 을 사용하여 -file로 시작되는 모든 파일들을 읽는다. 잘 보니 -file07에 사람이 읽을 수 있는 문자가 저장되어 있다.
1. 문제 숨겨진 inhere이라는 디렉터리안에 숨겨진 파일에 저장되어 있다고 합니다. 2. ls -a , 숨김 파일/디렉터리ls -a ls -a 는 숨겨진 파일이나 디렉터리를 모두 표시해준다. 숨김 파일/디렉터리리눅스에서 파일이나 디렉터리를 생성할 때 . 을 붙이면 숨겨진다.  3. 풀이 cd 명령어로 inhere로 들어가서 ls -a (숨겨진 파일이나 디렉터리를 모두 표시해줌) 명령어로 숨겨진 파일을 찾았다. cat 으로 읽주자 ** 숨김 파일이나 폴더는 .[파일이름] 하면 만들어진다. 즉 . 으로 시작하면 숨겨짐
1. 문제 패스워드는 공백이 포함된(spaces in this filename) 파일에 저장되어 있다고 합니다. 2. 파일 이름에 공백이 포함된 경우 리눅스에서는 공백을 사용하여 명령어의 인자들을 구분하기 때문에 그냥 처리하려고 하면 오류가 발생한다. 1. " " 으로 묶기 2. \ 를 사용하여 처리3. Tab 자동 완성으로 처리하기  해당 방법 중에서 1번을 사용하여 해결해보자  3. 풀이 " " 로 묶어서 풀어보았는데 TAB 누르니깐 알아서 \를 사용하여 처리해준다. ( 더 간편한듯... )
1. 문제 패스워드는 home 디렉터리의 " - " 라는 이름의 파일에 저장되어 있다고 합니다.  2. dashed filename" - " 문자는 리눅스 명령어에서 옵션을 사용하기 위한 것으로 오해할 수 있다. - 로 된 파일을 읽기 위해서는 파일의 명확한 경로를 지정해줘야 한다. 명확한 경로는 절대경로 또는 상대경로의 방식으로 할 수 있지만 상대경로가 편하다. ex) 현재 디렉터리에 - 파일을 읽기 위해서는 아래와 같이 상대경로로 파일명을 명확히 해서 지정할 수 있다. 명령어 ./-  3. 풀이 위의 dashed filename을 읽는 방법을 적용하여 상대경로로 파일을 읽어보자
스우스우03
스우스우