백도어 탐지

i2sec/System hacking 2014. 4. 27. 21:43

1. Linux 프로세스 확인 및 열린 포트 확인

<ps -ef> : 프로세스 확인


<netstat -an> : 열린포트 확인


2. Windows 프로세스 확인 및 열린 포트 확인

윈도우 프로세스를 확인하기 위해서는 sysinternals suite 검색 후 다운로드가 필요하다.

다운로드 후 앞축을 풀면 파일이 여러게 있는데 그중에 우리가 볼것은!!!!

<pslist> - 윈도우 프로세스 확인을 위한 툴이다. 이툴은 CMD창에서 경로를 찾아가서 실행 시켜줘야한다.


<process explorer> - pslist보다 프로세스를 자세히 보는 프로그램

  -분홍색=시스템프로세스, 보라색=내가 실행한 프로세스, 악성코드 감염시 빨간색 표시



<netstat -an> - 열린 포트를 확인해주는 명령어(따로 툴이 필요하지는 않다)


<TCPview> - 열린 포트를 실시간으로 확인  netstat와 유사하나 netstat는 정적 tcpview 동적


<https://www.virustotal.com/ko/> - 내가 가지고 있는 파일이 악성코드나 바이러스에 감염되어 있는지 확인해주는 사이트다.




3.바이러스 탐지 기법

1.파일 이름

(잘 사용안함-판별하기 힘듬)


2.해쉬

  ->해쉬값 비교을 비교해 변조 여부를 확인 하는 기법

  ->우회하기 쉬움

  ->www.virustotal.com - 해시값을 이용해 악성코드인지 판별해주는 사이트


3.시그니처

->기계어로 변환된 16진수 코드를 보고 진단하여 악성코드로 진단한다.

이미발견되고 정립 되어진 공격 패턴을 미리 입력해 두고, 입력된 패턴에 해당하는 트래픽을 발견하게 되었을 때 이를 감지하여 알려주는 기법이다.

이 기법은 모니터링 한 트래픽이 알려진 악성 행위의 특징과 일치하면 이를 공격으로 탐지하여 알려주는 것이므로, 많이 알려지고 공격자가 자주 사용하는 공격, 혹은 위협적이라고 알려진 공격 들을 전부 탐지 할 수 있다는 장점이 있다. 

하지만 알려지지 않거나 입력되어 있지 않은 새로운 패턴에 대해서는 탐지 할 수 없다는 단점이 있다.

이 기법은 해커의 공격 목표로 만들어진 트래픽 이라는 것을 가정해 이에 따른 2가지 특징을 전제로 한다.

첫번째는 공격자는 강력한 공격을 위해 가능한 많은 트래픽을 보낼려고 하기 때문에 공격 트래픽은 TCP 흐름제와와 같은 트래픽 제어 프로토콜을 준수하지 않으며 공격 목표는 모든 패킷에 응답할 수 없게 되고 공격자와 공격 목표사이에는 트래픽 흐름이 불균형해진다.

두번째는 공격 트래픽은 무작위 패턴으로 만들어진다.


4.OPCODE

  ->기계어 오른쪽의 어셈블리어 부분이용 특정부분에서 특정값(실제값) 컴파일전 소스상에서 고쳐야 한다.

  ->어셈블리어 명령어(opcode)를 보고 악성코드인지를 확인하는 기법


5.행동기반

  ->동작되는 것을 보고 확인(소스 필요)

  ->실제동작 및 실행하는 것을 보고 판별


4.백도어 탐색시 유용한 명령어

<불필요한 SETUID 권한 설정 확인>
find / -user root -perm -4000 -print 2>/dev/null         //권한이 4000번 이상인 파일 검색

<악성코드 및 소스코드 무결성 검증>
find / -name '*.php' -exec grep -PHn 'passthru|@eval|$pass = 'ec38fe2a8497e0a8d6d349b3533038cb';' {}\;

계정 점검
-서버 계정 목록
cat /etc/passwd
-서버 계정 접속 목록
lastlog

프로세스 확인
ps -ef | more

Process 변조 점검
lsof | more

네트워크 송/수신 트래픽 점검
netstat -antp | more

네트워크 송수신 트래픽 점검
strace -e trace=open ps > /tmp/strace.txt

기타 해킹 관련 파일 점검
find / -ctime 10 -print -xdev > ctime.txt
cat ctime.txt | more

history // 일단 어떤 명령어들이 쳐졌는데 확인(보통은 다지우고 나간다)

find / -atime 1  // atime >> 1시간 이내에 만들어진 것들 찾기

 find / -type f -ctime -1 -perm +4000 // ctime >> 24시간 이내에 4000번대 이상권한으로
 생성된 파일 찾기


'i2sec > System hacking' 카테고리의 다른 글

백도어(Backdoor)  (0) 2014.04.27
SetUID  (0) 2014.04.27
Unix & Windows 인증 구조  (0) 2014.04.27
패스워드 크래킹  (0) 2014.04.23
Windows 단축키 및 주요 프로세스  (0) 2014.04.21