본문 바로가기

엔지니어/Linux

backdoor 탐지

728x90
반응형

악의성 공격자들은 한번 접속에 성공하면 백도어 및 트로이잔 프로그램을 만들어 놓는데, 그것이 rootkit이다.

chkrootkit을 이용하여 rootkit을 탐지하여 대응.



chkrootkit을 다운받아 설치.


[root@sk_test src]# wget ftp://ftp.pangeia.com.br/pub/seg/pac/chkrootkit.tar.gz

[root@sk_test src]# tar xvfz chkrootkit.tar.gz

[root@sk_test src]# cd chkrootkit

[root@sk_test chkrootkit-0.50]# make sense


압축을 푼 후 설치.


make: *** [strings-static] 오류 1

보통은 glibc패키지에 문제가 있어서 나는 오류로 yum install gilbc* 명령어로 gilbc관련 패키지를 모두 설치&업데이트.

다시 make sense하여 설치하면 설치 완료.



[root@sk_test chkrootkit-0.50]# ./chkrootkit


Chkrootkit은 루트권한에서 사용하여야하며, chkrootkit-0.50 디렉토리 안에서 ./chkrootkit만으로 실행 할 수 있다.



아래는 chkrootkit으로 점검했을 때 나오는 메세지 종류다.

infected - 루트킷으로 변형되었음을 나타내는 메세지

not infected - 어떤 루트킷의 증후를 발견하지 못했음을 나타내는 메세지

not tested - 점검이 수행되지 못했다는 메세지

not found - 점검한 command가 없을때 나타나는 메세지



점검결과 rootkit이 발견되었을 경우, 공격자가 이미 루트권한을 획득하였을 가능성이 높으므로

시스템을 재설치 한 뒤 관련 취약점등을 패치하여 시스템을 안전하게조치  하는 것이 가장 효과적인 방법.



탐지 예)


아래는 실 서비스 도중 해킹당한 서버에 chkrootkit 을 이용하여 탐지한 결과이다.


[root@sk_test chkrootkit-0.50]# ./chkrootkit

ROOTDIR is `/'

Checking `amd'... not found

Checking `basename'... not infected

Checking `biff'... not found

Checking `chfn'... not infected

Checking `chsh'... not infected

Checking `cron'... not infected

Checking `crontab'... not infected

Checking `date'... not infected

Checking `du'... not infected

Checking `dirname'... not infected

Checking `echo'... not infected

Checking `egrep'... not infected

Checking `env'... not infected

Checking `find'... not infected

Checking `fingerd'... not found

Checking `gpm'... not infected

Checking `grep'... not infected

Checking `hdparm'... not infected

Checking `su'... not infected

Checking `ifconfig'... not infected

Checking `inetd'... not tested

Checking `inetdconf'... not found

Checking `identd'... not found

Checking `init'... not infected

Checking `killall'... not infected

Checking `ldsopreload'... not infected

Checking `login'... not infected

Checking `ls'... not infected

Checking `lsof'... not infected

Checking `mail'... not infected

Checking `mingetty'... not infected

Checking `netstat'... INFECTED

Checking `named'... not found

Checking `passwd'... not infected

......

Checking `lkm'... You have     1 process hidden for readdir command

chkproc: Warning: Possible LKM Trojan installed

chkdirs: nothing detected

Checking `rexedcs'... not found

Checking `sniffer'... eth0: not promisc and no PF_PACKET sockets

 in /var/run/utmp !

! RUID          PID TTY    CMD

! root        20686 pts/0  /lib/libsh.so/bash -s

 

결과 netstat, lkm 루트킷 발견






반응형