Skip to content

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

단축키

Prev이전 문서

Next다음 문서

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

단축키

Prev이전 문서

Next다음 문서

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

1. 개요

리눅스 시스템 해킹피해 시스템에 대한 전반적인 사항과 주의사항기술


2. 해킹점검


1. vi /var/log 폴더에있는 메세지들을 확인하여 불법적인 접근시도나 에러에대해

체크한다 또한 /dev/shm 을 점검하여 아무것도 존재하지 않다는것을 확인한다

ls -alR /tmp ls -alR /var/tmp/tmp 디렉토리의 숨겨진 폴더를 확인하거나

실행파일에 대해 체크한다.


3. /etc/passwd, /etc/shadow파일 확인 한다

/etc/passwd 파일에서 uid0이거나 불법적인 새로운 계정이 있는지 확인한다.

/etc/shadow 파일에서 암호가 없는 계정이 있는지 확인한다.


4. 열린 포트 확인

ps -efnetstat -an으로 현재 연결되어 있는 상태를 점검한다.


[root@ancigo root]# /bin/netstat ?an | grep LISTEN

tcp 0 0 127.0.0.1:8005 0.0.0.0:* LISTEN

tcp 0 0 0.0.0.0:8009 0.0.0.0:* LISTEN

tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN

tcp 0 0 0.0.0.0:110 0.0.0.0:* LISTEN

tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN


위와같은 명령으로 서버에 열린 포트를 확인하여 의심가는 포트가 있다면 포트를

물고 있는 데몬을 찾아 봅니다.

nmap등의 스캔프로그램으로 열린포트 확인

lsof로 확인(lsofSystem에서 돌아가는 모든 Process에 의해서

Open된 파일들에 대한 정보를 보여주는 프로그램)


5. 실생중인 프로세스 및 데몬점검.(프로세스의 생성관계)


pstree 명령을 이용하여 평상시와 다른 프로세스가 운영중인지 체크한다.


6. 시스템 운용상황 점검.

top 명령을 이용하여 시스템 부하 발생 프로세스를 체크한다.



7. setuidsetgid파일 확인

setuid를 가지는 실행 프로그램은 실행도중에 슈퍼유저(root)의 권한을 가지고

실행되므로 find를 이용하여 setuidsetgid 파일이 있는지 확인한다.

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

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


8. find /dev -type f -print

(/dev 밑에 일반파일이 있는지 찾음->원래 dev밑에는 일반화일이 있으면 안됨)

* fc3 이후에는 /dev내에 /udev관련 파일이 존재함


9. rpm 변조 여부 체크

rpm -Va | grep ^..5

Sfile size T는 생성시간 Uuser Ggroup c는 이 파일들이 설정파일


10. 최근 서버 접속자 체크한다.

vi /var/log/secure

last -n 10 최근 10번째까지의 접속기록을 확인.


11. 계정별 최후접속기록 점검.


lastlog는 현재 /etc/passwd에 존재하는 모든 계정을 대상으로 하여 언제 마지막으로

서버에 접속을 했는가를 확인.

Mail, adm, bin 등의 계정들은 모두 "** Never logged in **" 이라고 되어 있는것이 정상.


lastlog


12. 현재 서버접속자를 체크한다

w (telnet)

ftpwho(ftp)


13. root명령어 사용기록 점검한다.


vi /root/.bash_history (.set nu)

cat /root/..bash_history | wc -l (1000라인 이상 되어야 정상)


14. 계정별 사용명령어파일 점검한다.


find / -name .bash_history -exec ls -l {} ;

(각 계정별 .bash_history 파일의 존재여부)

find / -name .bash_history -exec cat {} ;

(파일의 내용까지 모두 확인해 볼 수 있음)


15. 서버내에 중요한 디렉토리 점검한다.

/etc/xinetd.d/ (xinetd로 서비스되는 인터넷서비스 파일들이 존재하는 디렉토리)

/etc/rc.d/ (부팅에 관계된 파일) (파일들을 복사 후 파일용량등을 비교하기) (커널패닉의원인)

/etc/rc.d/init.d/ (부팅시에 특정 서비스나 데몬들을 시작시키는 스키립트 파일)


16. .rhosts 파일 점검

원격에서 패스워드등의 확인과정없이 바로 접속하기 위해서 사용되는 파일

find / -name .rhosts -exec ls -l {} ;

find / -name .rhosts -exec cat {} ;


17. 메모리사용량 점검한다.


free -m

cat /proc/meminfo (free top 는 이 파일을 참조하여 보여준다.)

top -d2


19. Chkrootkit 로 백도어 점검.

rootkit 탐지를 위한 도구로 네트워크 인터페이스의 promisc 모드,

lastlog/wtmp 로그파일의 삭제 여부 등을 탐지하며, lrk5의 설치 유무에 대해서 검사한다.

http://www.chkrootkit.org/ 에서 다운 받을 수 있다.

[root@ancigo chkrootkit-0.45]# ./chkrootkit


infected : 루트킷으로 변형되었음


not infected : 어떤 루트킷의 증후를 발견하지 못했다.


Not tested : 점검이 수행되지 못했다.


Not found : 점검한 command가 없을 때


20. rkhunter 설치


rkhunter는 백도어나 루트킷을 탐지하며 일반적으로 루트킷이 사용하는 파일 및

숨김 파일의 존재여부를 판별해준다.

실행시 관리자에게 각 파트별로 체크사항을 보여주는 리포트기능이 뛰어나며

SOLARIS를 제외한 대부분의 UNIX 를 지원한다. 업데이트 또한 빠르다


http://downloads.rootkit.nl/rkhunter-1.2.7.tar.gz

tar zxf rkhunter-1.2.7.tar.gz

cd rkhunter

./installer.sh -- 설치방법

rkhunter --update -- update 방법

rkhunter -c


옵션

-c : --checkall 옵션

-sk : --skip-keypress 결과 리포트중에 확인 키입력을 받지 않는다.

--update : 업데이트

--createlogfile : /var/log/rkhunter.log 에 로그를 남긴다.

--cronjob : 크론탭 모드로 동작한다.

--report-warnings-only : 문제가 되는 사항만 출력한다.



21. rkhunter등에서 무결성등에 문제가 있다면 rpm -Va 로 전체 패키지에 대한

무결성을 점검한다. 무결성에 문제가 있어 실제로 ps 등에서 백도어의 존재를 숨겨지게 됨


22. 거의 대부분의 해킹이 웹상에서 이루어 지는 경우가 많으므로 nobody권한의 프로세스를

눈여겨보고, lsof 로 해당프로세스의 파일오픈여부를 확인하여 정상적인 서비스인지 판별한다


23. 만약 해킹점검중 해커로 의심되는 사용자가 로그인되어 있다면 접속하고 있는지 모르는척

해야한다. 그렇지 않다면 흥미를 잃고 모든 자료를 지우고, 가버릴수 있다

따라서 침착하게 점검하고, 조치가 가능하다면 빠르게 취약점을 확실히 없앤후에

해커의 shell kill 하는것이 좋다


List of Articles
번호 제목 글쓴이 날짜 조회 수
88 /etc/passwd 구조 l2zeo 2010.03.31 34917
87 리눅스용 각종 보안도구 사이트모음 ADMINPLAY 2009.07.12 33626
86 매직키를 이용한 응급복구법 l2zeo 2010.03.31 32081
85 리눅스 보안 - 권한설정에 주의해야할 명령어들은 ? l2zeo 2010.03.31 27743
84 [적용] iptables 접속 차단 스크립트 ADMINPLAY 2010.05.03 25594
83 Modsecurity 무료 웹방화벽 설치 file ADMINPLAY 2010.09.12 24046
82 denyhosts (ssh, ftp 등의 접근 차단) ADMINPLAY 2010.05.03 21356
81 Modsecurity-apache 2.5.X 설치중 에러 server: /usr/lib/... ADMINPLAY 2010.09.12 21283
80 modsecurity-2.5 configure: *** apr library not found. ADMINPLAY 2010.09.12 21129
79 php 수호신 설치 ADMINPLAY 2010.05.03 20822
78 php.ini 보안 설정 ADMINPLAY 2010.05.03 20371
77 PHP 보안관련 설정 권고사항 ADMINPLAY 2010.05.19 20206
76 해킹 당했는지 알아보는 방법 ADMINPLAY 2010.05.03 19975
75 iptables와 mod_security 연동을 통한 ip 차단 file ADMINPLAY 2010.09.15 19761
74 iptables를 이용한 SSH brute force 공격방어 l2zeo 2010.05.29 19684
73 Modsecurity-apache 2.5.12 file ADMINPLAY 2010.09.12 18705
» 리눅스 해킹점검 가이드 ADMIN 2008.12.10 18234
71 웹어플리케이션 보안 ADMINPLAY 2010.05.03 17146
70 보안 체킹 프로그램 - portsentry file ADMINPLAY 2010.04.27 16164
69 Cisco/Tip/라우터,스위치에서 패킷 캡쳐하기 file l2zeo 2010.03.23 16121
Board Pagination Prev 1 2 3 4 5 Next
/ 5

Copyright ADMINPLAY corp. All rights reserved.

abcXYZ, 세종대왕,1234

abcXYZ, 세종대왕,1234