↑루트권한 취득 후 임의의 C파일을 생성한다.
# 파일 생성 후 다음과 같은 코드를 작성한다.
1 2 3 4 5 6 7 | #include <stdio.h> main(){ setuid(0); setgid(0); system("/bin/bash"); } | cs |
# setuid == 0 , setgid == 0 → root의 권한
# system : 프로그램 실행 명령
↑생성한 백도어 파일을 컴파일하여 실행 파일 생성
# 실행 파일의 이름은 임의로 설정해도 된다.
3.실행 파일 권한 변경
↑생성된 실행 파일의 권한에 setUID( 4000 ) 및 모든 권한( 777 )을 부여
# 4777 → 특수권한으로 setUID 부여
# 권한에 s가 붙었고, 소유자는 root이다.
4.임의 유저 생성
↑임의 유저 생성
# useradd 명령을 통해 user를 생성할 수 있다.
↑생성한 user로 들어간다.
# su - 명령을 통해 접근
# id명령을 통해 현재 아무런 권한이 없는 test02 유저 이다.
5. 미리 생성한 백도어 실행파일 찾기
↑find 명령을 통해 / 디렉터리 아래 파일이름이 aaa인 파일을 찾아 보았다.
# 아무런 결과가 나오지 않는다. 이는 관리자 권한으로 백도어 파일을 생성할 때 root디렉터리 아래에 만들었기 때문에
일반 사용자는 접근할 수 없다.
# root권한을 가진 사용자로 들어가 백도어파일을 /etc디렉터리 아래로 옮겨주자
↑일반 사용자도 접근할 수 있는 /etc 디렉터리 아래 백도어 실행 파일을 옮겨 놓았다.
↑find 명령을 통해 / 디렉터리 아래 파일의 이름이 aaa인 파일을 찾아 출력 했다.( print )
# 2>/dev/null : 발생한 에러는 쓰레기통( /dev/null )에 넣어라
# 디렉터리 이름을 검색하기 때문에 에러가 발생하는데 이는 무시해도 무방
# 0 == standard input, 1 == standard output , 2 == standard error
↑2>/dev/null 옵션을 넣지 않은 경우
↑-perm -4000옵션을 통해 더욱 정확하고 빠르게 파일을 찾아낼 수 있다.( 선호 )
# -perm = permission( 권한 ) 관련 명령어
# -4000 : 권한이 4000이상 , 4000 : 권한이 딱 4000
6. 백도어 파일 실행하기
↑만들어 놓은 백도어 파일을 실행하면 root 권한을 획득할 수 있다.
# 프롬프트 모양 변화 ( $ → # )
# id 명령을 통해 root권한 확인
# exit 명령을 통해 복귀
# 실행시 소유자의 권한으로! 현재 파일의 소유자는 root이다. root의 권한으로 셸을 실행
[ Linux - CentOS ] 웹 브라우저에 php,html 파일 열기 (5) | 2017.07.14 |
---|---|
[ Linux - CentOS ] 간단하게 웹 서버 구축하기 ( feat.PHP ) (0) | 2017.07.14 |
[ Linux - CentOS ] 제로보드의 정의 및 설치 (1) | 2017.07.14 |
[ Linux - CentOS ] 윈도우 파일 리눅스로 옮기기( feat.WinSCP ) (6) | 2017.07.14 |
[ Linux - CentOS ] 리눅스에서 파이썬 사용 tip (0) | 2017.07.14 |
좀 알려주세요 현기증 난단 말이에요..