티스토리 뷰
서버내 과도한 트래픽 발생하는 경우 점검할 사항
- 서버내에 존재하지 않는 파일 존재 ( ls -all)
- DB 또는 웹페이지의 소스 일부 또는 전체가 변조 (iframe 삽입 포함)
- 중요 명령어 결과가 이상하거나 이유없이 깨짐
- 최근 접속목록중 알지 못하던 IP주소로 접속한 내용흔적
- 로그에 critical 급 로그나 공격시도 (buffer overflow 등) 관련 내용이 기재
- /etc/crontab에 보지못한 스크립트 삽입 및 sh파일 존재
- 시스템이 패킷캡쳐중이 아닌데 PROMISC 모드로 동작
- 웹사이트 이상증세
: 악성코드 오류
: Flash 파일 로딩시 에러메세지
: 페이지가 다른 곳으로 이동되거나 변조됨
- 과다한 프로세스 및 소켓 연결 상태
피해 시스템 분석에 필요한 시스템 명령어
- netstat : 네트워크 연결상태 및 라우팅 테이블 정보 확인 - dd : 디스크 이미지 복사 - find : 특정조건에 해당하는 파일 검색 - netcat(nc) : 다목적 네트워킹 도구 - ps : 실행중인 프로세스 및 리스트 상태 - lsof : 현재 프로세스로 인해 opne 된 파일을 다양한 방법으로 수집 - string : text/bin 파일에서 스트링 문자만 출력 - last : 사용자 로그인 / 로그아웃 정보 - ifconfig : 네트워크 인터페이스 설정 상태 및 트래픽 패킷 상태 확인 - uptime : 시스템 구동시간과 부하상태 - w : 현재 접속자 확인 - arp : arp 캐쉬확인 및 수정 - md5sum : md5 체크섬 값 생성 - script : 터미널 세션의 모든 키 입력과 결과를 파일에 기록 - file : 파일의 종류를 알려줌 - lsmod : 커널에 적재된 모듈 목록 - modinfo : 커널 모듈에 대한 정보 |
상세분석
ps -ef : 프로세스 실행자 PID 및 실행일시 프로세스명 확인 lsof : 시스템의 모든 프로세스가 로딩된 파일 오픈상태 확인 netstat -anlp : ip포트에 대한 확인
find : 보통 setuid 을 체크하거나 웹해킹이 많아져 nobody 나 www 권한을 가진 파일을 체크 cat /etc/passwd : root 제외한 계정중 uid가 0이거나 확인되지 않은 계정이 존재하는지 점검 패스워드 부분에 null 로 되어 있는 계정 확인 ROOT KIT 확인 : 공격자는 자신의 행동을 숨기기 위해 정상적인 프로그램을 바이너리 파일 변조 시스템 프로그램의 크기, 생성시간, 변경시간 확인, /usr/bin/sbin 등에 가서 ls -alct | more 로 확인했을시 다른프로그램들과 설치된 시간이 확연히 다르면 의심해볼수 있음레드헷 계열의 경우 'rpm -V 패키지명' 으로 무결성 검사 가능 Rootkit 으로 인해 변조가 많이 되는 rpm 패키지들임 ex) rpm -V procps 로그파일 확인 /var/log/utmp /var/log/message 웹로그 코드의 의미 해커가 칩입하여 파일을 수정하거 새롭게 생성하였다고 가정했을때 파일을 찾기 setuid를 가지는 실행프로그램은 실행이 root 권한을 가지고 실행되므로 조사 숨겨둔 파일 찾기 (공격자가 해킹된 파일을 가져다 놓는 디렉토리) |
. .. ... 을 포함된 디렉토리나 파일을 만들어 사용하는 경우 많음
- find / -name *..*” -print
- find / -name *.*” -print
일반적으로 /dev 밑에는 MAKEDEV 등과 같은 device관리 파일외에 일반파일이 있으면 안되므로 device 관리 파일외 존재하는 일반파일 찾기
- find /dev -type f -print
해킹으로 심어진 파일이 nobody 권한을 가지는 경우 웹해킹으로 발생하였을 가능성이 있음 웹서버 로그를 확인하여 문제가 있는 소스를
패치한후 악성코드를 모두 제거
해킹 당한 서버의 80% 이상이 botnet, Zombie 호스트로 악용당할 확률 매우 높음 → 프로세스를 유심히 살펴야 함
- [sh] <defuct> 의 경우 웹상에서 시스템 커맨드를 사용하였을때 나타는 증상으로 웹셀에서는 같은 증상이 나타나게 됨
- nobody 권한으로 아파치 프로세스가 떠 있음
최근 접속목록에서 모르던 아이피에서 접속한 흔적 찾기 (무작위 대입공격에 의해 성공하기 이전에 로그가 많이 남아 있음)
피해계정은 반드시 삭제하며 모든 계정의 아이디/암호 변경 /etc/sshd/sshd_config에서
AllowUsers ID 을 수정하여 특정계정에서만 접속을 허용하도록 조치
pam_abl 을 설치하여 로그인 X회 실패시 얼마간 차단하는 기능도 좋은 방법
FTP Brute-force 공격등에도 적용하고 싶다면 denyhosts , iptables 의 ULOG –hitcount 등을 통해서도 피해 막을수 있
음
ls -al /tmp/
ls -al /var/tmp/
top
ps -ef | grep httpd | grep -v grep : grep 빼고 httpd 만
lsof -p pid : PID를 쓰는 데몬이 어떤 파일 라이브러리를 쓰는지 ...
ex ) lsof -p 18565
/usr/local/apache/logs : 대부분 웹 취약점으로 해킹 (싸그리 다 뒤지기)
- 업로드된 스크립트가 test.sh 이면 grep 'test.sh' ./* > smie.txt 로그 다 뒤져서 test.sh 관련로그 smile.txt로 남기기
php 파일 jsp 파일만 스크립트 실행됨 (txt, html, xml 스크립트 실행되지 않음)
- find /home -user nobody |grep "\.php" | grep -v grep > smile.txt (PHP)
apache 가 nobody 만 권한으로 실행되면 passwd 파일에 nobody계정은 시스템 계정이라 로그인 되지 않음, 실제로 획득이 불가능
- 웹 해킹시 home 디렉토리에서 nobody권한을 가진 파일 싸그리 찾기 (php와 jsp만)
access.log에서 /robots.txt HTTP/1.1" 200 272
- 200 : 파일을 읽거나 쓰기에 성공한 로그이므로 404 not found 는 무시하고 200으로 된 로그만 싸그리 뒤지기
'Security' 카테고리의 다른 글
iframe 악성코드 삽입 샘플 예제 (0) | 2015.06.08 |
---|---|
Rootkit 설치 (0) | 2015.06.08 |
GNU Board 그누보드 4.34.20 버젼 웹셀 삽입 취약점 (0) | 2015.06.08 |
Win32/Blaster.worm (블래스터 웜) (0) | 2015.06.08 |
Bourne Again Shell (Bash) 임의코드 실행 취약점 보안 업데이트 권고 사항 (0) | 2015.06.08 |
- Total
- Today
- Yesterday
- php
- mariadb
- SSL
- ssh
- gitlab
- WAF
- L2TP
- centOS7
- 베이어다이나믹
- ntp
- pptp
- OpenVPN
- kvm
- Apache
- 인증서
- centos8
- virtualbox
- 리눅스
- cURL
- mod_security
- MySQL
- HAProxy
- glusterfs
- galera
- IPSEC
- iptables
- yum
- GeoIP
- NGINX
- softether
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |