ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • hackerschool trainer6~10
    System 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
Designed by Tistory.