-
hackerschool trainer6~10System hacking training/Hackerschool F.T.Z 2017. 8. 27. 21:56
이어서 해커스쿨의 F.T.Z 의 trainer6~10까지 정리를 마무리 해보겠습니다.
trainer6.
<패스워드 파일 분석 방법>
: 한서버를 사용하는 사용자들의 모든 정보를 기록해 놓은 파일
cat /etc/passwd
-> root : x : 0 : 0 : Admin : /root : /bin/bash
root --> 로그인 계정
x --> 패스워드 (가려짐을 의미)
0 : 0 --> root의 uid,gid
Admin --> 사용자 이름(저 이름은 관리자를 의미)
/root --> 로그인 성공시 기본으로 위치하는 디렉토리
/bin/bash --> 로그인 했을때 실행되게 할 프로그램
trainer7.
<압축>
tar,gzip 이라는 명령어가 존재한다.
tar 의 옵션 :
-c : 새로운 파일 만듬
-x : 압축해제
-v : 압축 or 해제 과정을 출력
-f : 파일로 백업한다는 옵션
합치기 : tar cvf 파일이름 합칠파일들 ...
해제 : tar xvf 해제파일
gzip 파일 이름 -> 압축 , .gz라는 확장자가 붙는다.
gzip -d 파일 이름 -> 해제
.tgz -> tar.gz를 합쳐서 tgz라는 확장자를 이용할때도 있다.
trainer8.
txt 파일과 c
.txt -> cat > 파일이름.txt -> ctrl + d로 종료 하면 txt확장자가 붙은 파일이 생성된다.
.c -> cat > 소스.c -> ctrl + d
c는 gcc -o 프로그램.exe 프로그램.c 와 같이 gcc를 이용하여 컴파일 후 실행을 하여 결과를 확인한다.
기존 내용에 보충을 하거나 기존 내용을 보존을 해야 하는 경우
cat >> 파일이름.txt 와 같이 >> 를 해준다.
도스 : 디렉토리를 이동후 파일 이름 -> 실행
리눅스 : 절대경로 모두 입력 -> 실행 혹은 '.' 을 이용(현재 디렉토리를 의미) //절대경로 : 루트(/)에서 부터 시작되는 모든 경로
따라서 리눅스에서
/home/trainer8/program.exe
./program.exe 는 같다.
trainer9.
유저 : 자신을 의미, 로그인한 id 가 유저가 됨
그룹 : 모든 유저는 하나 이상의 그룹을 가짐
아더 : 유저, 그룹 제외 모든 사람
루트 : 절대적 권한을 가진 사용자
id 로 uid(user id), gid(group id), groups(현재 속해있는 그룹/ 기본적으로 uid와 같은 그룹에 속함) 확인
파일 권한 정보 분석
ls -al 파일명을 입력하면
-rwxrwxrwx 1 trainer9 trainer10 라는 정보가 출력된다.
여기서 trainer9는 유저 trainer10은 그룹, trainer9 와 trainer10 을 제외한 사용자는 아더가 된다.
trainer 10.
해킹 : local해킹과 remote 해킹이 존재
local 해킹 : 해킹하고자 하는 서버에 일반 계정을 가지고 있을때 root 권한을 얻고자 시도하는것
remote 해킹 : 자신이 해킹하고자 하는 서버에 ID를 가지고있지 않을때 아이디를 얻고자 시도
setUID(ID를 변경한다는 뜻)를 이용하여 root 권한을 얻는다. //setUID -> 일시적으로 ID를 변경한다.
파일에 걸린 setUID를 확인하는 방법
ls -al /../......
root에 setUID 가 걸려있으면 이 파일을 실행할때는 root 권한을 갖게 된다.
서버전체에서 setUID 걸린 파일 찾기
find / -perm -4000
'/'(최상위 디렉토리)에서 부터 적어도 setUID가 걸린 모든 파일을 찾는것을 뜻한다.
-perm : 권한
-name : 이름
-user : 유저
-group : 그룹
4 --> setUID를 의미 , 000 --> rwx 의미
find 명령에 옵션들을 조합하여 사용하는것도 가능 하다.
ex) find / -user root -perm -4000
루트 권한으로 setUID가 걸린 파일을 찾아라
level로 넘어갈때
만약 level3일때 level4로 넘어가기 위해 level4의 권한으로 setUID가 걸린 파일을 찾는다.
ex) find / -user level4 -perm -4000
level4의 쉘을 획득하여 my-pass를 입력하면 level4의 passwd 나옴.
이상 해커스쿨 ftz에서 다루는 내용에 대한 정리를 마칩니다.
반응형'System hacking training > Hackerschool F.T.Z' 카테고리의 다른 글
level13. 풀이 (0) 2017.11.05 level12. 풀이 (0) 2017.10.23 level 11. 풀이 (0) 2017.10.15 level 1~10. 풀이(pdf) (0) 2017.09.14 hackerschool trainer1~5 (0) 2017.08.27