해킹 당했는지 알아보는 방법

by ADMINPLAY posted May 03, 2010
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

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

1. /etc/passwd, /etc/shadow파일 확인

/etc/passwd 파일에서 uid가 0이거나 불법적인 새로운 계정이 있는지 확인한다.
/etc/shadow 파일에서 암호가 없는 계정이 있는지 확인한다.

2. /etc/inetd.conf 확인

/etc/inetd.conf에 불법적으로 추가된 서비스가 있는지 확인하다.

예) lion 웜에서는 1008번, 10008번, asp(27374) port가 백도어로 생성되어 있음을
/etc/inetd.conf에서 확인할수 있음

[root@ns /]# more /etc/inetd.conf|more
1008 stream tcp nowait root /bin/sh sh
10008 stream tcp nowait root /bin/sh sh
asp stream tcp nowait root /sbin/asp

3. setuid나 setgid파일 확인

setuid를 가지는 실행 프로그램은 실행도중에 슈퍼유저(root)의 권한을 가지고 실행되므로
find를 이용하여 setuid나 setgid 파일이 있는지 확인한다.

find / -user root -perm -4000 -print>suidlist
find / -user root -perm -2000 -print>sgidlist

4. 해킹프로그램 점검

시스템에 공격자가 가져다 놓은 프로그램이나 숨겨둔 파일이 있는지 점검한다.

예) find /-ctme -10 -print -xdev>/var/kisa/cime10.out
====>최근 10일이내에 변경된 파일 찾음.

숨겨둔 파일 찾기
find /-name "..*" -print

find /dev -type f -print
(/dev 밑에 일반파일이 있는지 찾음.==>원래 dev밑에는 일반파일이 있음 안됨)

5. 바이너리 파일의 변경 확인(루트킷 설치 확인)

공격자는 자신의 행동을 숨기기 위해 정상적인 프로그램들을 대신하도록
바이너리 파일들을 변조시키는 경우가 많다. 예를 들어 ls를 바꿔치기해서 ls를 실행시켜도
공격자가 만든 파일이 보이지 않도록 하는 것이다.

① /bin에 가서 #ls -alct|more로 확인했을 때 다른 프로그램이 기본적으로 깔린 시간과
틀리게 변경된 것이 있는지 확인 (특히 ls, ps, netstat)
② #strace -e trace= open ps
strace -e trace= open ls 등으로 확인
③ #rpm -V filesutils
명령결과가 예를 들어 S,5 .../bin/ls 로 나타난다면 파일크기 파일내용이 변조됐다는 의미.

6. 열린포트확인

① ps -ef나 netstat -an으로 현재 연결되어 있는 상태를 점검한다.
② nmap등의 스캔프로그램으로 열린포트 확인
③ lsof로 확인
( lsof는 System에서 돌아가는 모든 Process에 의해서 Open된 파일들에 대한 정보를
보여주는 프로그램)

7. log파일 점검

/var/log 파일에서 messages, xferlog 에 이상한점 있는지 확인

예) 예를 들어 rpc.statd취약점을 이용한 공격을 받을때는 messages에 아래와 같은
공격흔적이 남습니다.

Apr 27 17:57:12 localhost rpc.statd[417]: gethostbyname error for
^X??X??Y??Y??Z??Z??[??[?풺ffff750 8049710
8052c286874656762
74736f6d616e797265206520726f7220726f66

bffff718
bffff719 bffff71a

bffff71b릱릱릱릱릱릱릱릱릱릱릱릱릱릱릱릱릱릱릱릱릱릱릱릱릱릱릱
릱릱릱릱릱릱릱릱릱릱릱릱릱릱릱릱릱릱릱릱릱릱릱릱릱릱릱릱릱릱
릱릱릱릱릱릱릱릱릱릱릱릱릱릱릱릱릱릱릱릱릱릱릱릱릱릱릱릱

 

출처 불행한 바보 | 명랑폐인
원문 http://blog.naver.com/deepinheart/20001012000