Skip to content

2010.03.28 01:45

안티 루트킷 사용 예

조회 수 11573 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

rootkit은 비정상적으로 서버를 공격하여 해킹을 하였을 때 이후에 보다 쉽게 접속을 하기 위해 백도어나 트로이잔 목마 프로그램을 설치하여 시스템에 숨겨놓은 프로그램을 의미한다.
대부분의 해킹 사고가 발생하였다면 무조건 재설치가 우선되어야 하지만 다양한 파일 무결성 검사나 또는 루트킷 체킹 프로그램(chkrootkit)을 이용하여 검사할 수 있다.

그러나 가장 많이 사용되는 명령어나 핵심 프로그램의 내용을 일부만 변경하여 정상적인 파일로 보이게 만들기 때문에 잡아내기 매우 힘들며 또한 보안을 위해서는 재설치를 해야 한다.
그러나 문제는 해킹 사고가 발생하였는지 조차 파악하지 못하는 경우가 있는데 이때는 주기적으로 루트킷 탐지 프로그램을 사용하거나 파일 무결성 검사로 파악 할 수 있다.

chkrootkit 설치를 통해서 현재 내가 운영하고 있는 시스템에 파일무결성에 문제는 없는지 확인해보자.


1. 다운로드 및 압축해제
http://www.chkrootkit.org 로 접속하여 현재 릴리즈된 소스를 다운로드하고 md5sum을 실행하여 소스의 변경 유무를 검사하고 압축을 해제한다.

2007. 05. 30.일 현재 아래버전이 최근에 나온소스이다.
 chkrootkit 0.47 is now available! (Release Date: Tue Oct 10 2006)

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

[root@smileserv src]# md5sum chkrootkit.tar.gz
4c6455d202cef35395a673386e4bf01a  chkrootkit.tar.gz

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



2. 환경설정 및 설치
다운받은 파일 압축을 풀고 들어가보면 README 파일이 보인다.
대부분에 소스파일에는 친절하게도 README 파일안에 해당 소스가 무엇인지, 어떻게 설치하는지, 사용되는 옵션및 기타등등 자세히 나와있다.
다만 영어라는게 문제지만;;;;;;;;
아주 영어에 XXX가 아니라면 이정도 간단한 단어 연결이야 무슨말인지 이해가 갈것이다.

[root@smileserv src]# cd chkrootkit-0.47

[root@smileserv src]# ls
ACKNOWLEDGMENTS  README             check_wtmpx    chkdirs.c     chkproc     chkrootkit.lsm  chkwtmp    ifpromisc.c
COPYRIGHT        README.chklastlog  check_wtmpx.c  chklastlog    chkproc.c   chkutmp         chkwtmp.c  strings-static
Makefile         README.chkwtmp     chkdirs        chklastlog.c  chkrootkit  chkutmp.c       ifpromisc  strings.c

[root@smileserv src]# cat README
.................................................
.................................................
.................................................

 5. Installation
 ---------------
 To compile the C programs type:
 # make sense
 After that it is ready to use and you can simply type:
 # ./chkrootkit


설치는 아주 간단하다...
make sense 명령어 입력후 엔터치면 끝이다.

3. chkrootkit 테스트
아래와 같이 실행하면 머가 후다닥 지나간다.

 [root@smileserv chkrootkit-0.47]# pwd
/usr/local/src/chkrootkit-0.47
[root@smileserv chkrootkit-0.47]# ./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
...........................................
...........................................



이 제 먼지모를것들이 지나갔는데 이것들이 의미하는것이 무엇인지 알아보자.
infected  :  rootkit에 의해 변형이 됨
not infected  :  어떤 루트킷의 증후를 발견하지 못함 / 이상없음
not tested  :  점검을 실행하지 못함
not found  :  점검한 command가 없다.
※ 검사결과에서 infected가 출력되었다면 rootkit에 의해 변형된 파일이 존재한다는 의미이므로 반드시 세부적인 검사가 필요하며 때에 따라서는 OS를 재설치해야 한다.


4. chkrootkit 옵션
다음은 "chkrootkit" 명령어에서 제공하는 옵션이다.
하나 씩 실행해서 차이점이 무엇인지 비교해 보면 어떻게 다른지 금방 눈에 보일것이다.
-d  :  debug 검사 정보를 출력
-n  :  옵션을 출력
-l   :  검사할때 사용할 리스트를 출력
-q  :  일반적인 검사내용은 생략하며 검사 정보만 출력
-r,p  :  지정한 디렉토리를 최상위 디렉토리로 설정하여 검사하며 여러개를 지정하고자 할때는 -p 옵션을 사용할수 있으나 일반적인 환경에서는 사용되지 않음
-x  :  전문가 모드로 출력
-V  :  버전 정보를 출력


5. 스크립트를 통한 메일전송
대충 chkrootkit이 무엇인지 알았을것이다.
이제는 매일마다 들어가서 체크하기가 귀찮을것이다...
리눅스에는 cron 데몬이라는 아주 유용한 녀석이 시간에 마춰서 명령어를 실행해준다.
간단하게 스크립트를 이용해서 하루에 한번 메일을 통해서 점검결과를 자동전송할수 있게금 설정해보자.

[root@smileserv chkrootkit-0.47]# cd /etc/cron.daily

[root@smileserv chkrootkit-0.47]# cat smileserv.chkrootkit_ckeck
#!/bin/bash
BASE=/usr/local/src/chkrootkit-0.47
cd $BASE
chk=`./chkrootkit`
if [ -n "$chk" ] ;then
       echo $chk | mail -s "My SYSTEM Chkrootkit Result " 사용ID@사용도메인
       echo Finished
fi

 
위와 같이 스크립트 파일을 만들고 테스트삼아 돌려주면 자신에 MAIL로 1통에 반가운메일이 수신된걸 확인하면 끝...........


TAG •

List of Articles
번호 제목 글쓴이 날짜 조회 수
88 홈페이지 보안 강화 도구(CASTLE) 보급 안내 1 file ADMINPLAY 2010.01.22 8925
87 홈페이지 변조 대처법 (FTP 계정을 이용한 아이프레임 코... ADMINPLAY 2009.10.15 9043
86 해킹툴이 사용하는 포트번호 ADMINPLAY 2009.05.22 9813
85 해킹이 의심될 때 사용되는 명령어들 l2zeo 2010.03.08 9864
84 해킹 당했는지 알아보는 방법 ADMINPLAY 2010.05.03 19975
83 해외에서 접근하는 IP 차단하기 ADMINPLAY 2009.11.30 9257
82 파일 퍼미션 설정을 통한 로컬 공격 방지 l2zeo 2010.03.08 8168
81 최신 버전으로 구축하는 웹 파이어월, modsecurity file ADMINPLAY 2009.03.17 12851
80 접속 로그파일 보기(wtmp) ADMINPLAY 2009.05.11 13878
79 웹취약점 점검 ADMIN 2008.11.25 9253
78 웹어플리케이션 보안 ADMINPLAY 2010.05.03 17146
» 안티 루트킷 사용 예 l2zeo 2010.03.28 11573
76 실전 테스트!! 스니퍼 공격 ADMINPLAY 2009.11.30 9770
75 시스템 로그를 메일로 - logcheck file ADMINPLAY 2009.09.08 8772
74 스위칭 허브 상에서의 sniffing 툴 file ADMINPLAY 2009.09.08 9579
73 서버종합점검[리눅스] ADMINPLAY 2009.05.28 8367
72 서버의 iptable 보안설정 일부분 ADMINPLAY 2009.05.28 8786
71 보안서버로 redirection 설정 하기 ADMIN 2008.12.14 10270
70 보안서버구축 - SSL(설치 및 키생성) 1 ADMIN 2009.01.04 10462
69 보안서버 구축시 openssl/modssl/apache 버전 호환성 ADMIN 2008.12.14 10899
Board Pagination Prev 1 2 3 4 5 Next
/ 5

Copyright ADMINPLAY corp. All rights reserved.

abcXYZ, 세종대왕,1234

abcXYZ, 세종대왕,1234