악의성 공격자들은 한번 접속에 성공하면 백도어 및 트로이잔 프로그램을 만들어 놓는데, 그것이 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 루트킷 발견
'엔지니어 > Linux' 카테고리의 다른 글
CentOS 7 기본설정 (0) | 2017.01.17 |
---|---|
Linux patch 파일 만들기 & 적용하기 (0) | 2017.01.17 |
nginx_stats(zabbix nginx script) (0) | 2017.01.16 |
nginx 1.8 + tomcat 8 (0) | 2017.01.16 |
elasticsearch 검색 엔진 만들기 (with jdbc, 은전한닢) (1) | 2017.01.16 |