본문 바로가기

개발/해킹

chkrootkit 을 이용한 루트킷 탐지법

# mkdir /chkrootkit /* 디렉토리 생성 */
# cd /chkrootkit/ /* 생성된 디렉토리로 이동 */
# wget ftp://ftp.pangeia.com.br/pub/seg/pac/chkrootkit.tar.gz
/* wget으로 다운로드 */

 

 

 

[1] chkrootkit 설치

# ls -al
-rw-r--r-- 1 root root 39421 9월 8 14:15 chkrootkit.tar.gz
# tar -zxvf chkrootkit.tar.gz /* 압푹 파일 풀기 */
# ls -alF
drwxr-xr-x 2 1000 1000 4096 7월 30 23:26 chkrootkit-0.49/
-rw-r--r-- 1 root root 39421 9월 8 14:15 chkrootkit.tar.gz
# cd chkrootkit-0.49/
# pwd
/chkrootkit/chkrootkit-0.49
# ls
ACKNOWLEDGMENTS README.chklastlog chklastlog.c chkutmp.c
COPYRIGHT README.chkwtmp chkproc.c chkwtmp.c
Makefile check_wtmpx.c chkrootkit ifpromisc.c
README chkdirs.c chkrootkit.lsm strings.c
# make sense /* 컴파일 진행 */
# ls
ACKNOWLEDGMENTS README.chkwtmp chklastlog chkrootkit.lsm ifpromisc
COPYRIGHT check_wtmpx chklastlog.c chkutmp ifpromisc.c
Makefile check_wtmpx.c chkproc chkutmp.c strings-static
README chkdirs chkproc.c chkwtmp strings.c
README.chklastlog chkdirs.c chkrootkit chkwtmp.c
컴파일을 하면 몇 가지 실행 파일들이 컴파일 되는데, 각각은 다음과 같은 기능을 가지고 있다.
다음은 chkrootkit이 제공하는 보안 점검 유틸리티들이다. 반드시 익혀두자!

 

 

 

 

[2] promiscuous 설정

 

# ifconfig eth1
eth1 Link encap:Ethernet HWaddr 00:0C:29:11:66:58
inet addr:172.16.8.250 Bcast:172.16.255.255 Mask:255.255.0.0
inet6 addr: fe80::20c:29ff:fe11:6658/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:80474 errors:0 dropped:0 overruns:0 frame:0
TX packets:42 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:7809653 (7.4 MiB) TX bytes:5746 (5.6 KiB)
Interrupt:59 Base address:0x2080

 


# ifconfig eth1 promisc
# ifconfig eth1

eth1 Link encap:Ethernet HWaddr 00:0C:29:11:66:58
inet addr:172.16.8.250 Bcast:172.16.255.255 Mask:255.255.0.0
inet6 addr: fe80::20c:29ff:fe11:6658/64 Scope:Link
UP BROADCAST RUNNING PROMISC MULTICAST MTU:1500 Metric:1
RX packets:80559 errors:0 dropped:0 overruns:0 frame:0
TX packets:42 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:7817761 (7.4 MiB) TX bytes:5746 (5.6 KiB)
Interrupt:59 Base address:0x2080

 

 

 

[3]chkrootkit 을 이용한 루트킷 탐지법

 

# ./chkrootkit    /* 메인 쉘 스크립트로 전체 실행 */
ROOTDIR is `/'
Checking `amd'... not found
Checking `basename'... not infected
Checking `biff'... not found
(이하생략)


# ./chkrootkit ls ps    /* ps와 ls 파일의 변조 여부를 체크 */
ROOTDIR is `/'
Checking `ls'... not infected
Checking `ps'... not infected


# ./chkproc
You have 8 process hidden for readdir command
You have 8 process hidden for ps command


# ./chkrootkit -q   /* 의심가는 파일들만 출력 */
# ./chkproc -v   /* ps 명령어로 보이지 않는 프로세스를 출력 */

 


■ 실행 결과의 의미
INFECTED
해당 파일이 rootkit등에 의해 변조 되었음을 뜻한다.
not infected
파일이 변조되지 않았음을 뜻한다.
not tested
파일 변조 여부를 체크하지 못했음을 뜻한다.
not found
변조 여부를 체크하려는 파일을 찾지 못하였음을 뜻한다.

'개발 > 해킹' 카테고리의 다른 글

Race Condition  (0) 2012.02.05
whowatch  (0) 2012.02.05
TCP Syn Flooding 공격 대처방법  (0) 2012.02.05
Window MSG Hooking  (0) 2012.02.05
one way web hacking (pretty old but useful for script kiddies)  (0) 2012.02.05