Information Technology
악성코드 탐지 및 이상포트 탐지 방법
coinAA
2021. 11. 29. 16:04
목차
악성코드 탐지 방법
네트워크 상태 점검
상당수의 악성 코드는 외부에 있는 해커나 악성 코드 작성자와 통신을 하기 위해 서비스 포트를 생성하기 마련이다.
그렇기 때문에 의심가거나 알수없는 포트가 열려있다면 해당 포트는 차단하거나 공격자의 공격으로부터 사전에 방지해야한다. 번호만으로 추측하기가 어려운 경우에는 CPorts 같은 프로그램으로 서비스 포트별로 사용하는 응용 프로그램을 확인할 수 있고 BackDoor-DVR 실행한 뒤 CPorts에서 활성화된 네트워크 항목을 살펴보면 특이한 연결을 발견할 수 있다.
주요 악성코드가 사용한 서비스 포트
시스템에서는 명령프롬프트 창을 실행한 후에 netstat 명령으로 열려 있는 포트를 확인할 수 있다.
포트 번호 | 악성 코드 | 포트 번호 | 악성코드 |
21 | trojanFore | 1080 | winhole |
23 | tiny telnet server[TTS] | 1090 | xtreme |
25 | naebiHappy | 1150 | orion |
31 | agent, paradisemasters | 1234 | ultors trojan |
41 | deepthroat foreplay | 1243 | backdoor G |
80 | www tunnel | 1245 | voodoo doll |
119 | happy 99 | 1257 | frenzy 2000 |
133 | farnaz | 1272 | the matrix |
137 | chodemsinit (UDP) | 1441 | remote storm |
514 | RPCBackdoor | 1524 | trin00 |
555 | seven eleven | 1999 | sub seven |
666 | serve U | 2140 | deep throat 1.3 |
667 | snipernet | 2255 | nirvana |
777 | AIM spy | 2583 | wincrash |
808 | winHole | 2773 | sub seven gold 2.1 |
999 | deep throat | 3459 | eclipse 2000 |
1001 | silencer | 5400 | blade runner |
1016 | doly trojan | 5880 | Y3K rat |
1024 | netSpy | 8787 | backorifice 20000 |
정상적인 프로세스와 비교하기
윈도우와 유닉스 시스템 등의 정상적인 프로세스를 외워두면 비정상적인 프로세스를 식별하는 데 도움이 많이 된다.
윈도우에서는 [Ctrl]+[Alt]+[Delete]로 작업 관리자 실행하여 현재 실행 중인 프로세스를 확인 할수 있다.
주로 악성 코드가 주로 사용하는 서비스명은 csrss와 svchost를 많이 사용한다.
윈도우 시스템이 동작하기 위한 기본 프로세스
프로세스 명 | 설명 |
csrss.exe (client/server runtime subsystem: win 32) |
윈도우 콘솔 관장, 스레드 생성 및 삭제, 32비트 가상 MS-DOS 모드 지원 |
explorer.exe | 작업 표시줄이나 바탕화면과 같은 사용자 셸 지원 |
lsass.exe (local security authentication server) |
winlogon 서비스에 필요한 인증 프로세스 담당 |
mstask.exe (window task scheduler) |
시스템 백업이나 업데이트와 관련된 작업의 스케줄러 |
smss.exe (session manager subSystem) |
사용자 세션을 시작하는 기능 담당 |
spoolsv.exe (printer spooler service) |
프린터와 팩스의 스풀링 기능 담당 |
taskmgr.exe (task manager) |
작업 관리자 자신을 나타낸다. |
winlogon.exe (windows logon process) |
사용자의 로그인·로그오프를 담당하는 프로세스 |
winmgmt.exe (window management service) |
장치 관리 및 계정 관리, 네트워크 동작 관련한 스크립트를 위한 프로세스 |
msdtc.exe (distributed transaction coordinator) |
웹 서버와 SQL 서버 구동 시에 다른 서버와 연동하기 위한 프로세스 |
ctfmon.exe (alternative user input services) |
키보드, 음성, 손으로 적은 글 등 여러 가지 텍스트 입력에 대한 처리를 지원하는 프로세스 |
dfssvc.exe (distributed file system) |
분산 파일 시스템(DFS)을 지원하기 위해 백그라운드로 실행되는 프로세스 |
시작 프로그램과 레지스트리 확인하기
윈도우 시스템은 시작 프로그램 등 시스템 운영과 관련된 것의 기본 설정 값이 재부팅 시에도 변하지 않도록 레지스트리에 여러 가지 값을 기록한다. 이러한 레지스터를 악성 코드가 이용하는 경우가 많으므로 악성 코드를 삭제할 때는 레지스터에서도 관련 내용을 반드시 확인해야 한다. 시작 프로그램 목록은 msconfig 명령으로 확인 가능하다.
악성코드 제거 절차
- 악성 코드 서비스 프로세스 중지
- 악성 코드 파일 삭제
- 악성코드 관련 레지스트리 삭제