training lesson 6
pw :coffee
cat 파일이름 : 파일 내용 화면에 출력
cat /etc/passwd : 패스워드 파일 내용 출력
패스워드 파일 : 한 서버의 사용자들의 모든 정보 기록 파일
① login한 ID
② 비밀번호 (실제 패스워드 목록은 shadow파일에 있음)
③ 사용자 숫자구분
④ 사용자가 속한 그룹
⑤ 사용자 이름
⑥ 로그인 성공 시 사용자 기본 위치 디렉토리
⑦ 사용자 처음 로그인 시 실행 프로그램
training lesson 7
pw : to the top
파일 백업 시 필요한 파일 압축 과정 학습
tar cvf 합친파일명.tar 합칠파일들 : 파일 합치기
tar xvf 해제할파일명 : 뭉친 파일 풀기
tar 명령은 압축해서 용량이 줄어들지 않음(오히려 증가) 단순히 합치는 개념 -> 복구 속도 빠름
c : 새로운 파일 생성(create)
x : 압축 해제(extract)
v : 압축 되거나 풀리는 과정 출력(view)
f : 파일로서 백업(file)
파일 압축(용량 감소)
gzip 파일이름 : 선택 파일 압축
gzip -d 파일이름 : 선택 파일 압축 해제
세 개 파일 gzip명령 실행 시 압축된 각 세개 파일 생성
확장자
.tar : 여러 파일을 하나로 뭉친 파일
.gz : gzip프로그램으로 압축된 파일
.tar.gz : tar프로그램으로 파일 합친 후 gzip으로 압축한 파일
.tgz : tar.gz를 합친 것
파일 뭉쳤다가 푸는 순서
tar cvf로 파일 뭉침 -> gzip으로 파일 압축 -> gzip -d으로 압축 해제 -> tar xvf로 뭉친것 풀기
training lesson 8
pw : player
텍스트 파일 생성
1. cat > 파일이름.txt : cat명령으로 입력하는 글자를 파일.txt.로 보냄(=파일 작성)
2. 내용 입력
3. ctrl+D
cat 파일이름.txt : 파일 내용 확인
이미 있는 파일 이름으로 새 파일 생성 시 기존 파일 없어지고 새 파일내용만 남음
cat >> 파일이름.txt : 기존 파일 뒤에 새로운 내용 추가
소스파일 생성
1. cat > 소스파일이름.c : 소스파일 생성
2. (c언어로) 프로그래밍
ex)
int main(){
int a=10,b=20;
printf("10+20=%d",a+b);
}
3. ctrl+D
4. gcc -o 프로그램이름.exe 소스파일이름.c : 컴파일해 소스를 프로그램으로 만듦
5. pwd로 절대경로 확인
6. 절대경로.../프로그램이름.exe 또는 ./프로그램이름.exe : 프로그램 실행(. 는 리눅스에서 현재 디렉토리 의미)
training lesson 9
pw : programming
리눅스 사용자
1. 유저 : 본인
2. 그룹 : 모든 유저는 하나 이상의 그룹에 속함. 그룹을 임의변경 하지 않는 한 모든 유저는 자신의 유저네임과 같은 이름의 그룹에 속함
3. 아더 : 유저와 그룹 제외 나머지
4. 루트 : 절대권한
uid : (user id) trainer9 = 2009
gid : (group id) 특별한 일이 없는 한 gid=uid
groups : 현재 속한 그룹
파일 권한 정보 분석
리눅스에서는 확장자만 보고 실행파일인지 아닌지 알 수 없음. 실행권한인 'x'라는 문자 유무로 판단.
training lesson 10
pw : best!
remote 해킹 : 해킹하고자 하는 서버 아이디 없을 때 아이디 얻고자 시도
local 해킹 : 해킹하고자 하는 서버에 일반 계정 가지고 있을 때, 관리자 권한(root)얻고자 시도
SetUID : 일시적으로 ID변경. SetUID가 걸린 파일 실행 시 내 ID일시 변경, 파일 실행 끝나면 아이디 돌아옴. SetUID는 실행권한을 포함
/usr/bin/passwd 파일은
root에게 읽기,실행권한이 있고 (s가 x를 포함하기때문),
root라는 그룹에게는 실행 권한만 있고,
위를 제외한 사용자들에게도 실행 권한만 있다.
하지만 root 에게 SetUID가 걸려있기 때문에
어느 사용자이던간에 저 파일을 실행할 때 root의 권한 갖게됨
find / -perm -4000 : / 에서 부터, 적어도 SetUID가 걸린 모든 파일을 찾아라
-perm = 권한을 찾겠다
000 = rwx 모두
find 명령옵션
perm : 권한과 일치하는 파일을 찾는다.
ex) find / -perm 4755
name : 이름과 일치하는 파일을 찾는다.
ex) find / -name cat
user : 유져와 일치하는 파일을 찾는다.
ex) find / -user mmung2
group : 그룹과 일치하는 파일을 찾는다.
ex) find / -group guta
명령옵션 조합해서 사용도 가능
ex) find / -user root -perm -4000
-> 루트의 권한으로 SetUID가 걸린 파일을 찾아라.
양이 적지 않다... 그래도 training 10까지 끝내고 나니 해킹에 관한 감..? 느낌은 알 것 같다. 전에는 막연했다면 이제는 대충 형태는 보이는 느낌이다. 열심히 해야지.
'해킹 공부 > 시스템 해킹' 카테고리의 다른 글
FTZ 해커스쿨 level4 - backdoor파일, finger (0) | 2021.10.02 |
---|---|
FTZ 해커스쿨 level3 - 다중명령어 (0) | 2021.10.02 |
FTZ 해커스쿨 level2 - VIM (0) | 2021.09.26 |
FTZ 해커스쿨 level1 - setuid (0) | 2021.09.26 |
FTZ 해커스쿨 training 1~5 (0) | 2021.09.19 |