
우리가 일반적으로 쓰는 윈도우는 GUI 기반의 운영체제 이다.GUI 기반의 운영체제는 그래픽 UI를 통해 유저가 컴퓨터의 정보를 확인하고 컴퓨터에게 명령을 내리는 방식의 운영체제이며 마우스를 사용해 주로 명령을 내린다.이와 반대로 리눅스의 경우 CLI 기반의 운영체제이

명령어는 크게 3가지 구조로 이루어져 있다. 명령어, 전달인자, 옵션

이 포스트는 리눅스의 파일 시스템에 대해 필기하기 위한 포스트이다.우리가 윈도우에 파일을 저장할때 바탕화면이나 여타 다른 디스크에 저장하면 그 파일은 해당 디스크의 폴더에 저장되듯 모든 프로그램, 파일은 폴더안에 저장이 된다. 마치 마트료시카 인형처럼.하지만 윈도우와

리눅스에는 여러개의 계정이 있고 각 계정에는 홈(home)이 있다.운영체제는 여러 사용자가 함께 쓰기 때문에 한가지 컴퓨터에 여러 계정을 만들 수 있다.그리고 이러한 계정마다 각각의 전용 바탕화면과 폴더가 따로 존재한다.이 처럼 홈 디렉토리는 처음 터미널을 켰을때 나오

저번 시간에 배웠듯 우리는 ls를 통해 파일들의 목록을 확인 할 수 있다.하지만 목록만 확인 할 수 있을뿐 정확한 정보들은 확인 할 수 없는데ls 에는 사실 전달인자가 존재한다. 보통 파일이나 디렉토리 경로가 들어오는데ls뒤에 파일을 찍어주게 되면 해당 파일에 대한 정

파일 시스템이란 파일이 어떻게 저장되는가를 뜻한다.리눅스의 파일 시스템을 '트리구조'라고 부른다.왜냐하면 나무가 가지를 치듯 파일들이 최상위 폴더 를 기점으로 디렉토리를 생성하고 생성된 디렉토리위에 또다시 디렉토리를 생성해 파일들이 저장되기 때문이다.이번에 사용할 디렉
경로란 파일의 위치를 표현하는 방법이다. 예) /etc/passwd /안에 ect 안에 passwd 라는 경로표현방법인 것이다. 나는 프로그램을 해본 사람이기 때문에 이 개념을 쉽게 이해할 수 있었다 절대 경로의 경우에는 최상위 경로를 기준으로 파일의 경로를 순

해커들은 대부분 타자 속도가 빠르다는 인식이 있다.컴퓨터 관련 분야에서 일을 하면서 타자가 느리기란 쉽지않지만 그렇다고 우리가 모든 명령어와 디렉토리를 손수 써야하는것은 아니다.리눅스는 tap 을 이용한 자동 완성기능을 지원해주고 있기 때문에 이 기능을 적절히 사용한다

리눅스의 Vi Text Editor를 이용해 볼것이다.칼리 리눅스 에서는 vi라고 타이핑하면 메모장을 킬 수 있다.메모장이라고는 하지만 현재로썬 어떤 타이핑을 하던 입력이 되지 않을것이다.그 이유는 vi에는 두가지 모드가 있다.1.입력모드 2.명령모드 처음 vi를 실행

리눅스에서는 카피 또한 마우스 우클릭이나 ctre+c 가 아닌 명령어를 입력해야한다.그리고 그 명령어는 cp이다.아래와 같이 vi 파일로 텍스트 파일을 하나 만들었다.그리고 cp 명령어로 이 파일을 복사하면 되는데 cp에는 두가지 전달인자가 존재한다.소스 src 와 데

리눅스에서 파일을 삭제할때는 rm 이라는 명령어를 쓴다.그리고 이 명령어 또한 디렉토리를 삭제할땐 -r 옵션을 똑같이 추가해준다.모두 정상적으로 지워지는 모습이다.또한 -r 과같이 자주 사용하는 옵션으로는\-f(force) = 강제하다 (강제삭제) (root) 계정이

사실 우리가 전에 배운 복사와 삭제 메커니즘을 통해 파일을 옮길 수 있다.그렇기에 사실 move라는 개념이 필요하나 싶지만 파일을 옮기게 해주는 명령어는 우리가 이전에 배운것처럼 파일을 해당위치에 복사하고 기존에 있는 위치의 파일을 삭제하는 로직을 똑같지만 좀더 간편하

컴퓨터는 기본적으로 여러사람이 같이 사용할 수 있게 설계가 되어있다.그렇기 때문에 컴퓨터 안에는 각각의 계정이 있고 계정마다 각기 다른 권한을 가지고있다.그리고 이번 포스트는 리눅스라는 운영체제의 권한 시스템에 대한것이다.우리가 만약 root 즉 최상위 권한 계정으로

리눅스에는 모든 사용자들의 정보를 보관하고있는 파일이 있다./etc/passwd 디렉토리는 모든 사용자들의 정보가 저장되는 디렉토리 인것이다.more /etc/passwd 를 이용해 확인하니 kali 계정과 Jun 계정의 정보를 확인 할 수 있었다.vi로 passwd
리눅스에서 권한을 컨트롤하는 법을 알기위해선 세가지 권한에 대해서 알고있어야 한다. 그것은 바로 rwx다 이건 한단어가 아닌 r - w- x 가 각각 의미를 가진다. r : read 읽기권한 파일의 경우 -> 파일을 읽을 수 있는지 디렉토리의 경우 -> 어떤 파일이

저번 포스트에서 rwx 세가지 권한을 설명했지만특수권한이 세개가 더있다.(1)setuid\-> 해당 파일을 실행할때 해당파일의 소유자 권한으로 실행하는 권한\-rwsr-xr-x 1 root root 118168 Dec 6 07:51 /bin/passwdsetuid 가

이번에는 파일의 권한을 추가/제거 하는 수정법에 대해 알아보겠다. 실습은 해당 tmp 디렉토리에서 해당 vi파일로 진행할 것이다. 사진에서 보다싶이 첫번째 단락의 소유자 권한에 rw가 있기에 우리는 읽고(r) 쓸수(w) 있었다. 왜냐하면 우리는 파일이 알려주는 소

직역하면 데이터의 흐름 인데 데이터의 흐름에 대해 설명하자면 사람과 컴퓨터 사이에는 운영체제가 존재한다 사람 운영체제 컴퓨터 그리고 사람 운영체제 컴퓨터 ------------------------------> 사람에게서 컴퓨터로 데이터가 흘러가는걸

지금까지 우리는 데이터의 흐름을이용자에서 컴퓨터로 보내는 입력과컴퓨터에서 이용자에게로 보내는 출력이렇게 두가지로 알 수 있었다.그리고 컴퓨터에서 나오는 출력을 바꾸는것을 redirection 이라고 한다.원래라면 컴퓨터에서 나오는 출력은 모니터의 shell에 출력이 되

pipe는 우리가 생각하는 이미지가 맞다어떠한 공간에서 어떠한 물질을 다른 공간으로 이동시키는 역할인것을 생각하면 컴퓨터에서도 이 개념은 일맥상통한다.하지만 컴퓨터에서는 물질보다는 프로세스와 프로세스 사이를 연결하는 역할을 하는것이 바로 pipe이다.즉 특정한 프로세스
리눅스가 어느정도 익숙해져 이제는 반딧에 입문해보려한다. 반딧의 룰은 간단하게 이러하다. ssh를 이용해 bandit 시스템에 접속 bandit 0 계정으로 로그인후 bandit1의 비밀번호 찾기 이렇게 순차적으로 bandit 비밀번호를 찾아가는 게임임 레벨을 하나
스테이지마다 알게된 사실들만 간단하게 정리하도록 하겠다.human-readable = 사람이 읽을수있는파일 유형 확인법 file (파일 경로) 를 입력하면 파일타입을 확인할 수 있음ASCII TEXT = 사람이 읽을 수 있는 문자로 표현한 코드체계특정 경로의 모든 파일
8 - sort 파일이름 는 문자열을 같은 문자열끼리 정리해주는 문자이다.uniq 는 반복되는 패턴의 문자열을 지워주는 명령어이다.즉sort와 uniq를 함께쓰면 같은 문자열이 반복되는 애들은 전부 지울 수 있는것이다.uniq -u 라는 명령어를 쓰면 한번만 나온 문자
10 -Base 64 인코딩은 글자의 모양을 바꿔주는것이다.암호화와 자주 헷갈리는데 둘은 엄연히 다른것이다.인코딩과 암호화의 공통점은 둘다 어떠한 문자의 모양을 바꿔주는것이지만 암호화는 키를 사용하는게 특징이고 그렇지 않은건 대게 인코딩이라고한다.즉 암호화를 다시 복구
Hexdump 반복적으로 파일을 압축하는 과정그리고 이러한 hexdump 과정을 통해 숫자 혹은 이진수의 파일을 압축해 16진수의 파일로 바꾸는것이다.xxd 는 hexdump형식을 사용해 16진수로 압축하거나. 파일을 다시 바이너리 파일로 복구 하는 명령어이다.리버싱
13 - 공개키 and 비밀키 암호화는 크게 대칭암호화와 비대칭암호화 이렇게 두개로 나눠볼 수 있다.대칭암호화 : 암호화할때와 복호화 할때 사용하는 키가 같은 암호화\-대칭키비대칭암호화 : 암호화와 복호화 할때 사용하는 키가 다른 암호화\-키가 서로 다른데 보통은 두개
14 - tcp port와 udp port가 있는데 주로 tcp port를 사용하기 때문에 어떤 포트인지 명확한 언급이 없을때는 tcp port라고 생각하면 됨 nc [system address] [port] nc를 통해 해당 주소로 연결해 데이터를 전송할 수 있다
19 - Setuid binary = binary 는 이진수로된 즉 숫자로된 데이터 파일을 의미하지만 실행파일을 의미하기도 한다. setuid binary는 setuid가 설정된 바이너리 파일이라고 생각하면 된다. setuid는 리눅스 파트에 있다.binary 파일은
cron - schedule programme설정된 시간마다 특정 명령어 특정 실행파일이 실행되도록 해주는 프로그램이다.즉 예약프로그램과도 비슷함크론파일을 읽을때 첫번째 부분의 \* 들은 순서대로 매분 매시 매일 매월 매주를 뜻한다.크론이 실행중인 명령어를 읽어보며 해
22 - 실행 파일의 스크립트를 분석해서 해결하면 되는 문제이다. 직접 해당 스크립트를 임의로 수정해서 실행해 비밀번호를 찾으면 되는 문제이다. 분석 방법은 두가지가 있는데 정적분석과 동적분석이 있다. 정적분석은 해당 스크립트를 실행하지 않고 코드를 분석하는 방법이고
27 - git 은 개발 프로젝트 관리를 위해 만들어진것이다.각 사용자의 컴퓨터에서 개발을하고 하나의 프로그램으로 만들기위해 실시간으로 개발 현황을 업로드 할 수 있는 공유 폴더를 만드는 것이다 그리고 이 공유 폴더를 git 이라고 한다. 서로 직접 파일을 주고받을 필
스승님의 조언 - 컴퓨터 관련일을 할때 가장 중요한것은 컴퓨터가 하는말을 잘 듣는것이다.어떠한 기능이 작동하지 않는다면 대게 화면상에 적부 이유가 있으니 분석하고 읽어보는게 중요하다.sh 스크립트를 만들때 변수를 지정하는데 이때 변수를 따로 지정하지 않은 경우$1 첫번