본문 바로가기

InfoSec Log/Kali Linux

[Linux] 리눅스 40제 @segfault_academy

  • 기본 명령어 써보기 (5제)

1. 1.1.1.1 IP 주소로 ping 데이터를 3회 보내기. (옵션 이용)

 

 

2. 현재 경로에 있는 파일, 디렉토리 리스트 확인하기.

 

 

3. 현재 사용자의 ID 확인하기.

 

 

4. 현재 경로 확인하기.

 

Present Working Directory의 약자.

 

5. 이 컴퓨터의 IP 주소 확인하기.

 

 

  • 파일 생성 (5제)

1. /root/test_file 이라는 파일을 만들고, “It is my File” 이라는 글자 넣기.

 

 vi test editor를 'vi'라는 명령어를 열고, 'i'를 눌러, insert, 즉 입력 표시가 뜨면 그 이후, 스크립트 작성 가능하다. 스크립트 작성이 다끝나고 나면, Esc를 누르고, ':w [파일 저장 제목]'을 입력하면, 파일 저장 가능하다. ':q'를 통해 텍스트 에디터 창에서 나올 수 있다. 위 두 입력어를 한번에 입력 가능한데, 즉, ':wq' 명령어를 입력하면, 저장하고 텍스트 에디터 종료라는 명령을 수행하게 된다.

 

2. /tmp/tmp_file 이라는 파일을 만들고, “It is Test File” 이라는 글자 넣기.

 

 

3. /root/test_file 내용을 “Oh My Mistake...” 라는 글자로 수정하기.

 

'cat' [전달 인자] 를 이용하여, 전달 인자, 즉 특정 경로에 위치한 파일의 내용을 읽을 수 있다.

 

4. /root/test_file 기존 내용 아래에 “Number is 1” 그 다음 줄에 “Number is 2” ... 숫자를 1씩 증가시키며 총 10까지 10줄 추가하고 저장해서 vi 종료하기.

 

 

5. vi로 다시 test_file을 열고, Number 라는 글자로 커서 이동하기. (방향키 사용 금지.)

 

 '/[찾고자 하는 패턴]'을 입력하면, 해당 스크립트에서 찾고자 하는 패턴을 찾을 수 있고, 'n'을 누르면, 해당 스크립트 내에 존재하는 중복된 다음 패턴으로 넘어가게 된다. 대문자 'N' 같은 경우는 이전으로 돌아가게 된다.

 

  • 디렉토리 (10제)

1. /root 디렉토리에 path_file 이라는 파일을 만들고, “PATH : root” 라는 글자 넣기.

 

 

2. /root 디렉토리에 segfault_dir 이라는 디렉토리 만들기.

 

3. /root/segfault_dir 디렉토리로 현재 경로를 변경하기.

 

 

4. 해당 경로에서 path_file 이라는 파일을 만들고, “PATH : segfault_dir” 이라는 글자 넣기.

 

 

5. 현재 경로에서 상대 경로를 이용해 1에서 만든 path_file 읽어보기.

 

'..' 한단계 상위 경로를 의미한다. '.'의 경우, 현재 경로를 의미한다.

 

6. 현재 경로에서 상대 경로를 이용해 4에서 만든 path_file 읽어보기.

 

 

7. 현재 경로에서 상대 경로를 이용해 /etc/passwd 파일 읽어보기.

 

 'more' 명령어의 경우, 'cat'과 같이 파일의 내용을 읽는 명령어이지만, 현재 터미널의 크기만큼만 내용을 보여주고, 스페이스바를 누르면, 다음페이지로 넘어가는 형식으로 파일의 내용을 보여준다. 이와 반대로 'cat'의 경우는, 파일의 내용을 한번에 다 보여준다.

 

8. /root 디렉토리로 현재 경로를 변경한 뒤, 4번에서 만든 path_file 을 상대 경로를 이용해 서 읽어보기.

 

 

9. 1번에서 만든 path_file을 상대 경로로 이용해서 읽어보기.

 

 

10. cat /tmp/ 이 뒤에 글자를 붙여 명령어를 완성해서 4번에서 만든 path_file을 읽어보기.

 

 '>' Redirection하는 명령어로, 사람에게서 컴퓨터로 가는 데이터의 흐름을 '인풋', 반대로, 컴퓨터에서 사람에게로 가는 데이터의 흐름을 '아웃풋'이라 할 때, 이러한 방향의 흐름을 바꾸는 것이다. 즉 'cat' 명령어를 입력하면 원래, 전달 인자에 쓰인 경로의 파일 내용을 쉘에 나타내줘야 하지만, Redirection 명령어 '>'를 통해, 쉘에 출력하는 것이 아닌, '/dev/null' 이라는 경로에 가도록 만들었다. '/dev/null'의 경로는 GUI에서의 휴지통과 같은 경로 위치이다.따라서, /tmp 경로에 있는 tmp_file의 내용을 쉘에 출력하는 것이 아닌, 휴지통으로 보내고, Pipe 명령어인 '|'를 통하여, 명령어가 이어지도록 만들어, Home Directory의 segfault_dir 디렉토리의 path_file의 파일 내용을 쉘에 나타내도록 만들었다.

  • 파일 컨트롤 (10제)

1. /root 경로에 file_control 이라는 디렉토리 만들기.

 

'~' 는 Home Directory를 의미한다. 'root' 계정에서의 홈 디렉토리는 '/root' 이며, 최상위 경로는 '/'이다.

 

2. 1에서 만든 디렉토리로 현재 경로를 변경하기.

 

 

3. co_file 이라는 파일을 생성하고, “Core Core!” 라는 글자 넣기.

 

 

4. 3번에서 만든 파일을 /tmp 디렉토리에 절대 경로를 이용해 복사하기.

 

 절대 경로는 상대경로와 반대로 최상위 경로인 '/' 부터 시작하여, 파일의 위치경로를 표시해줘야 한다. 하지만 상대 경로의 경우, '.' 나 '..'을 이용하여 디렉토리의 경로를 변경할 수 있다.

 

5. 3번에서 만든 파일을 /tmp 디렉토리에 상대 경로를 이용해 co_file_copy 라는 이름으로 복사하기.

 

 

6. 4번, 5번에서 만들어진 두 개의 파일을 /root/file_control 이라는 디렉토리로 이동시키기.

 

 

7. 6번에서 만들어진 file_control 디렉토리를 /tmp 디렉토리에 복사하기.

 

파일이 아닌 디렉토리를 복사할 때는 'cp' 명령어에 옵션 '-r'을 추가해줘야 한다.

 

8. 7번에서 복사된 /tmp에 복사된 디렉토리 이름을 security_dir 이라고 변경하기.

 

 

9. /root 경로에 있는 file_control 디렉토리 안에 있는 파일만 삭제하기. (file_control 디렉 토리는 지우지 말것.)

 

 

10. /tmp/security_dir 디렉토리 삭제하기.

 

remove의 명령어인 'rm' 또한 파일이 아닌 디렉토리를 지우기 위해서는 옵션 '-r'을 사용해줘야 한다.

 

  • 리다이렉션 & 파이프 활용 (10제)

1. ifconfig 명령어 결과 중 IP 주소가 있는 줄만 출력하기.

 

 아이피에 관한 정보를 나타내는 'ifconfig' 명령어를 입력하고, 파이프로 연결하여, 정보 중, 'inet'이라는 단어가 포함된 줄만 쉘에 출력되도록 만들었다.

 

2. 1번의 출력 결과를 ip_address 라는 파일로 해서 저장하기.

 

 Redirection을 이용하여, 특정 정보를 쉘에 표시하지 않고, /root/file_control 경로에 ip_address라는 파일로 정보를 저장하도록 만들었다.

 

3. 현재 실행 중인 프로세스 중 init 이라는 프로세스의 pid 확인하기. (프로세스 확인 명령 어 : ps -ef)

 

 

4. 현재 실행 중인 프로세스의 리스트를 current_process 라는 파일로 저장하기.

 

 

5. vi로 4번에서 만든 프로세스를 열고, zsh 이라는 글자 찾아보기.

 

 

6. /etc/passwd 라는 파일에서 kali 계정 정보만 화면에 출력하기.

 

 

7. 6번에서 출력한 결과를 kali_info 라는 파일로 저장하기.

 

 

8. id kali 명령어의 결과를 kali_info 파일 아래에 추가하기. (기존 내용 삭제하지 않고!)

 

 기존 내용을 삭제 하지 않기 위해서는 꺾쇠를 두번, 즉 '>>'입력해주면, 기존 파일의 내용이 지워지지 않고, 그 밑에 이어서 저장되게 된다.

 

9. ifconfig 명령어의 결과를 kali_info 파일 아래에 추가하기. (기존 내용 삭제하지 않고!)

 

 

10. kali_info 파일을 cat 명령어로 출력한 결과에서 uid 라는 글자만 검색하기.

 

문제 출처 @segfault_academy

'InfoSec Log > Kali Linux' 카테고리의 다른 글

[Linux] 포트 스캔 셸 스크립트  (0) 2023.10.08
[Linux] 파일 및 디렉토리 권한 관리  (0) 2023.10.07