달력

42024  이전 다음

  • 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
  • 29
  • 30
2003년 1월 25일 SQL_Overflow 웜(슬래머 웜)에 의해 발생한 '1.25 인터넷 대란' 이후 안철수연구소로 이상 네트워크 패킷(이하 이상 패킷)이 발생해 문의하는 경우가 많아졌다. 모든 이상 패킷이 웜 등의 악성 코드에 의해 발생하지는 않지만 최근 웜 등이 네트워크를 통해 전파되며 네트워크를 통한 공격 기능을 갖게 되면서 악성 코드에 의해서도 많이 발생하고 있다.

악성 코드에 의한 이상 패킷 증가는 크게 자기 복제를 하면서 네트워크 패킷을 대량으로 발생하는 경우와 악성 IRC봇(Malicious IRCBot)으로 대표되는 네트워크 공격 기능을 가진 웜, 트로이목마 때문에 발생하는 경우로 나눌 수 있다. 많은 기업, 학교 등의 전산 관리자는 이상 패킷이 발생하면 이상 패킷이 발생하니 해결해 달라는 문의를 많이 한다.

하지만, 이상 패킷은 악성 코드뿐 아니라 기기 장비, 소프트웨어 충돌 등에서도 발생하며 이상 증세 만으로는 정확한 원인을 파악하기 어려우므로 악성 코드에 의해 이상 패킷이 발생 할 때 관리자가 조치 해야 할 사항을 정리해 보겠다.

1. 이상 네트워크 패킷 유형

현재 발생하는 이상 패킷은 크게 두 가지로 나눌 수 있다.

1) 네트워크 트래픽 증가
2) 비정상적인 패킷 발생


네트워크 트래픽은 일상적인 컴퓨터 사용 중에도 발생 할 수 있지만 어떤 원인으로 크게 증가하여 컴퓨터나 네트워크 장비 등에 무리를 줄 수 있다. 예를 들어 메일로 급속히 전파되는 웜이 사내의 많은 컴퓨터를 감염 시켰을 때 감염된 컴퓨터들이 일제히 메일 발송을 시도한다면 메일 발송 관련 25번 포트의 트래픽이 증가하게 된다. 대량으로 메일을 발송하는 웜, 바이러스로 인해 메일 서버가 다운된 보고는 많이 있다.

이외 평상시에는 잘 사용되지 않지만 특정 포트로 트래픽이 증가하는 경우도 있다. 악성 IRC봇은 IRC 포트(보통 6667번 포트)를 이용해 다른 시스템을 공격하기 위해 대량의 네트워크 트래픽을 발생 시킬 수 있다.

패킷이 외부로 나가기 위해서는 라우터 등의 장비를 거치므로 사내 망의 많은 컴퓨터가 감염되어 동시에 공격을 위해 트래픽을 발생 시킬 경우 네트워크 관련 장비 등이 과부하로 다운 될 수도 있다. 다운되지 않더라도 불필요한 내용을 처리해야 하므로 전반적인 네트워크 속도가 느려 진다.

최근에 문제되고 있는 악성 IRC봇 류는 포트 번호, 데이터 양 등을 공격자가 임의로 정할 수 있다. 예전에는 IRC 포트인 6667번 포트를 사용했지만 최근에는 포트 번호도 임의로 지정되는 경우가 많다.


[그림1] 다수의 시스템이 특정 IP로 공격하는 화면


2. 관리자가 파악해야 할 내용

네트워크 관리자는 비정상적인 네트워크 트래픽 발생시 감지 할 수 있다. 하지만, 보통 이상 패킷의 증가만 파악되고 원인은 모르는 경우가 많다. 이상 패킷 증가가 사용하는 프로그램 문제, 장비 불량 등일 수 있지만 바이러스와 웜 등의 악성 코드가 발생하는 경우도 많다.

보통 이상 패킷이 발생하면 백신 업체에 연락하는 경우가 많지만 발생 현상이나 패킷만 가지고 어떤 웜이나 트로이목마 등에서 발생했는지 알기 힘들다. 또한 기술지원 시에도 이상 패킷 발생 자체로는 큰 도움을 줄 수 없으며 관리자가 다음 내용을 파악 후 안철수연구소에 알려줘야 한다.

1) 이상 패킷 내용 파악 (패킷 캡쳐, 발생 시스템 수, 문제 상황 등)
2) 이상 패킷 발생 시스템 파악
3) 이상 패킷 발생 시스템에서 정보 수집
4) 이상 패킷 발생 시스템에서 샘플 수집


이상 패킷이 발생할 경우 패킷 내용을 캡쳐 해 백신 회사로 보내야 한다. 이때 아래와 같이 IP 어드레스나 포트 번호와 같은 간단한 내용으로는 문제를 파악하기 힘들므로 상세한 내용을 캡쳐 해야 한다.

SrcIf SrcIPaddress DstIf DstIPaddress Pr SrcP DstP Pkts
Fa0/0 xx.xx.xxx.xxx Null xx.xxx.xxx.xx 01 0000 0800 1

단, 패킷 만으로는 대부분의 경우 정확한 원인을 파악하지 못하므로 이상 패킷 발생 시스템을 파악할 필요가 있다. IP 어드레스(IP Address)와 맥 어드레스(Mac Address)를 통해 이상 패킷을 발생하는 시스템을 확인 할 수 있다. 단, IP 어드레스나 맥 어드레스는 위조가 가능하며 보통 IP 어드레스가 위조된다. IP 어드레스가 위조되었을 때는 맥 어드레스로 찾아야 한다. 맥 어드레스는 네트워크 장비를 거치며 바뀌므로 네트워크 장비를 종료해 범위를 좁혀가며 문제의 시스템을 찾아야 한다.

이상 패킷을 발생하는 것으로 추정되는 시스템을 찾으면 해당 시스템에서 이상 패킷을 발생하는 원인 프로그램을 찾아 안철수연구소로 분석 의뢰해야 한다. 수상한 파일을 찾기가 어렵다면 패킷 캡쳐 파일과 시스템의 정보를 파악해 주는 안 리포트, 포트 상태를 알려주는 FPort, TCPView 등의 프로그램을 이용해 해당 시스템의 정보를 안철수연구소 바이러스 신고 센터로 보내야 한다.

3. 툴 사용법

이상 패킷을 발생하는 시스템에서 이상 패킷을 발생하는 원인 프로세스를 찾는 건 쉬운 일은 아니지만 다음과 같은 툴을 사용하면 수상한 파일을 찾는 시간을 줄일 수 있다. 최소한 이들 프로그램의 리포트만 내용만 알려줘도 안철수연구소에서 분석 후 수상한 파일을 요청할 수 있다.

문제 파일/프로세스를 찾는데 도움을 주는 툴은 다음과 같다.

1) 안리포트 - 시스템의 전반의 정보 파악
2) FPort - 이상 패킷 발생 포트와 프로그램 파악
3) TCPView - 이상 패킷 발생 포트와 트래픽 양, 발생 프로그램 파악


1) 안리포트(AhnReport)

안철수연구소에서 제공하는 안리포트는 사용자의 시스템 정보를 수집하는 역할을 수행하는 프로그램으로 이를 통해 문제 원인과 신종 악성 코드를 추적하는 목적으로 사용된다. 안철수연구소 고객지원혹은 기업고객지원에서 파일을 다운로드 받을 수 있다.

수집하는 정보는 다음과 같다.

- 시스템 사양 및 운영체제(OS)
- 설치된 제품 및 파일 목록
- 레지스트리 정보 중 제품 관련 정보
- 백신이 설치되어 있는 경우 이벤트 기록
- 윈도우 부팅 과정에서 참조하는 파일(WIN.INI, SYSTEM.INI) 내용
- 윈도우 부팅 과정에서 실행되는 프로그램의 이름
- 현재 실행중인 프로세서(실행중인 프로그램) 목록
- Uninstall 정보 등

사용 방법은 다음과 같다.

1. [Ahnreport Download] 버튼을 클릭해 파일을 임의의 폴더에 저장한다.

2. 저장한 Ahnreport.exe 파일을 실행한다. 이때 가급적 불필요한 프로그램이나 서비스는 종료해 원인이 되는 프로세스를 손쉽게 찾을 수 있도록 한다.

3. 주의 창이 뜨고 확인을 누르면 시스템에서 수집한 정보를 확인 할 수 있다.


[그림2] 안리포트 실행 화면


4. [저장] 혹은 [파일] →[저장]을 선택하면 지원 담당자 정보, 사용자 정보, 상세 사항 등의 내용을 입력하는 창이 뜬다.


[그림3] 추가 정보 입력 창



5. 필요한 사항을 입력하고 확인을 누르면 관련 정보를 ZIP 파일로 저장하는 창이 뜬다. 적절한 이름의 파일로 저장한다.(예: mypc01.zip)

6. 저장된 내용을 패킷 내용, 기타 정보, 수상한 파일과 함께 바이러스 신고 센터로 신고 한다.

바이러스 신고센터는 [안철수연구소 홈페이지] →[고객지원] →[바이러스신고] 혹은 다음 주소에서 할 수 있다.

- 개인 고객 바이러스 신고센터
- 기업 고객 바이러스 신고센터

 

2) FPort

네트워크 상태 정보를 알려주는 NETSTAT.EXE는 해당 시스템의 열려있는 포트 상태만 알 수 있고 어떤 프로그램이 해당 포트를 사용하는지 알 수 없다. Foundstone 사에서 제공하는 공개 프로그램인 FPort는 현재 시스템의 열려있는 포트와 해당 포트를 사용하는 프로그램을 알려준다. FPort는 여기에서 다운로드 받을 수 있으며 이 프로그램은 윈도우 NT 계열(2000/XP)에서만 실행 가능하다. 윈도우 NT 에서는 psapi.dll 파일이 같은 폴더나 윈도우 시스템 폴더에 존재해야 하며 윈도우 2000 이상에서는 기본으로 존재한다.

FPort를 통해서는 포트 번호와 해당 포트를 사용하는 프로세스를 알 수 있다. 즉, 아래 그림에서는 135번 포트는 svchost.exe가 1032 포트는 MSTask.exe가 사용 중임을 알 수 있다. 인터넷 관련 프로그램을 가급적 종료하면 웜이나 트로이목마 등의 악성 코드만 실행되므로 의심스러운 파일을 확인한 후 해당 파일을 찾아 바이러스 신고 센터로 보낸다.


[그림4] FPort 실행 화면


사용자가 어떤 프로그램이 수상한지 알 수 없는 경우에는 결과 내용을 파일로 저장할 필요가 있다. 결과 내용을 파일로 저장할 때는 "fport > 파일명"을 이용한다. 예를 들어 결과 내용을 result.txt로 저장하기 위해서 fport > result.txt를 입력한다. 결과 파일도 신고시 첨부한다.


[그림5] FPort 결과 저장


3) TCPView

FPort는 사용중인 포트와 프로그램만 알려줘 현재 이상 패킷을 발생 시키는 프로그램을 파악하기 어렵다. TCPView는 프로그램 목록뿐 아니라 프로그램의 패킷 양까지 보여줘 현재 패킷을 발생시키는 파일을 찾기 쉽게 도와준다. TCPView는 여기에서 다운로드 받을 수 있다. 현재 이상 패킷이 발생하고 있다면 트래픽 양에 따라 색깔로 표시되므로 트래픽을 많이 발생하는 파일을 모아 보내주면 된다.


[그림6] TCPView 실행 화면


문제 시스템을 확인 할 때 이상 패킷이 발생하지 않을 수 있다. 이상 패킷은 공격자(웜 혹은 트로이목마 제작자)가 원할 때 공격 명령을 내리므로 다음 공격까지 이상 패킷이 기다리거나 실행 중인 파일을 수집해 안철수연구소로 보내주면 된다.


4. 사례

다음은 모 회사에서 발생한 이상 패킷의 원인을 찾는 과정이다. 최종 확인 결과 Win32/Randex.worm의 변형이 발견되었고 이 웜이 이상 패킷을 발생 시킨 것으로 추정되었다. 이때 나타나는 현상은 크게 두 가지이다.

(1) 특정 목적지(destination)로 패킷이 나가는 현상

이상 패킷은 방화벽 로그를 확인한 결과 여러 개의 IP에서 고정된 목적지로 임의의 포트로 나가고 있었다. 발송 IP 자체가 회사 내에 존재하지 않는 임의의 주소이기 때문에 IP 주소로는 더 이상의 분석은 불가능한 상황이다. 캡쳐 된 패킷을 분석한 결과 해당 패킷은 Win-Trojan/MircPack, Win32/Agobot.worm, Win32/Randex.worm 등의 악성 IRC봇(IRCBot)류로 추정되었다.

악성 IRC봇에서 흔히 사용되는 외부에서 6667번, 928번 등의 포트를 이용해 들어온 흔적을 찾아보았으나 전혀 없었다. 따라서, 본 건에 대해서는 재발시 백본 스위치(Backbone Switch)에서 MAC 어드레스(MAC Address)를 찾아서 해당 컴퓨터를 찾아 원인을 좁혀 나가는 것으로 잠정 결론 내렸다.

(2) 445번 포트를 검색하는 컴퓨터

방문시 특정 IP 어드레스의 컴퓨터가 계속해서 445번 포트를 검색하는 것을 IDS에서 감지됨에 따라 확인 요청을 받았다. 다행히 해당 컴퓨터가 파악되어 있는 상태여서 확인이 가능했다. 해당 컴퓨터는 사용자 계정에 대한 비밀번호(password)는 존재하지만, 관리자(Administrator) 계정에 대한 비밀번호는 엔터(없음)였다.

Netstat -an으로 확인해 본 결과 445번 포트로 SYN_SENT된 패킷이 수십개씩 보였다. 최신 버전의 V3로 검사 했지만 감염 파일은 존재하지 않아 신종 웜 등으로 의심되어 안리포트(AhnReport.exe)로 시스템 정보를 얻어 의심스러운 프로세스인 netd32.exe 파일의 존재를 확인했다.

안리포트로 확인된 실행중인 프로세스 정보를 보면 다음과 같았다.

실행중인 프로세스
c:\ahnreport.exe 1844 5, 0, 4, 29
c:\progra~1\ahnlab\v3\monsvcnt.exe 624 5, 0, 0, 160
c:\program files\ahnlab\smart update utility\ahnsd.exe 1080 5, 3, 0, 14
c:\program files\ahnlab\smart update utility\ahnsdsv.exe 464 5, 3, 0, 150
c:\program files\ahnlab\v3\monsysnt.exe 1748 5, 0, 0, 142
c:\program files\msn messenger\msnmsgr.exe 1116 6.0.0602
c:\winnt\explorer.exe 884 5.00.3700.6690
c:\winnt\system32\cmd.exe 752 5.00.2195.6656
c:\winnt\system32\conime.exe 256 5.00.2195.6655
c:\winnt\system32\csrss.exe 168 5.00.2195.6601
c:\winnt\system32\internat.exe 1112 5.00.2920.0000
c:\winnt\system32\lpagent\lpauupdt.exe 540 2.0.1001.565
c:\winnt\system32\lpagent\lpisactv.exe 956 2.0.1.983
c:\winnt\system32\lpagent\lpisagnt.exe 612 2.0.1001.1011
c:\winnt\system32\lpagent\lpv3agnt.exe 900 2.0.1001.343
c:\winnt\system32\lsass.exe 228 5.00.2195.6695
c:\winnt\system32\mstask.exe 680 4.71.2195.6704
c:\winnt\system32\netd32.exe 1092 N/A -> 수상한 프로세스 확인
c:\winnt\system32\regsvc.exe 664 5.00.2195.6701
c:\winnt\system32\services.exe 216 5.00.2195.6700
c:\winnt\system32\smss.exe 144 5.00.2195.6601
c:\winnt\system32\spoolsv.exe 436 5.00.2195.6659
c:\winnt\system32\svchost.exe 484 5.00.2134.1
c:\winnt\system32\svchost.exe 784 5.00.2134.1
c:\winnt\system32\svchost.exe 408 5.00.2134.1
c:\winnt\system32\taskmgr.exe 280 5.00.2195.6620
c:\winnt\system32\wbem\winmgmt.exe 736 1.50.1085.0100
c:\winnt\system32\winlogon.exe 188 5.00.2195.6714
c:\winnt\system32\wuauclt.exe 1144 5.4.3790.14 built by: lab04_n

수상한 netd32.exe 파일을 안철수연구소에서 확인한 결과 Win32/Randex.worm의 변형으로 확인되었다. 이 웜에 대한 진단/치료(삭제) 기능이 추가된 최신 엔진이 나오기 전에 응급 조치로 해당 프로세스를 죽이고 net32.exe 파일을 삭제 후 해당 컴퓨터의 Administrator 계정의 비밀번호를 변경했다.

이상이 패킷 발생부터 문제 컴퓨터 파악, 수상한 파일 수집, 백신 회사에 샘플을 보내는 과정이며 보다 빠른 문제 해결을 위해서는 발생 패킷 캡쳐, 문제 시스템의 안리포트 실행 결과, 수상한 파일, 네트워크 상태 등의 정보를 수집해주면 좋지만 문제의 시스템을 파악해서 안리포트 결과만이라도 안철수연구소로 보내면 수상한 파일에 대한 요청을 안철수연구소에서 할 수 있어 보다 빨리 문제가 해결될 수 있다.

5. 정리

최근 이상 패킷 발생으로 문의하는 네트워크 혹은 보안 관리자가 많다. 이때 단순히 몇 번 포트로 이상 패킷 발생과 같은 내용으로는 원인 파악 및 문제를 해결하기 어려우므로 다음과 같은 정보를 보내야 한다.

1) 상세한 이상 패킷 내용 (패킷 캡쳐, 발생 시스템 수, 문제 상황 등)
2) 이상 패킷 발생 시스템의 안리포트 실행 결과
3) 이상 패킷 발생 시스템의 Fport나 TCPView 실행 결과
4) 이상 패킷 발생 시스템에서 수집한 수상한 파일

적어도 이상 패킷을 발생하는 시스템을 파악해 안리포트 실행 결과라도 보내줘야 안철수연구소를 포함한 백신 업체에서 문제를 해결 할 수 있다.

최근 등장하는 대부분의 웜, 바이러스가 네트워크를 통해 전파되므로 이상 패킷을 발생시키는 악성 코드의 수는 계속 증가할 것으로 보인다. 이에 대한 대처로 관리자는 사내 컴퓨터를 고정 IP로 할당 해 문제 발생시 문제 시스템을 손쉽게 찾아 해당 시스템의 정보와 수상한 파일을 수집해 백신 회사로 신고하고 해당 시스템의 네트워크 단절 등의 백신 회사가 맡기 어려운 일을 해야 한다.

출처: 안철수 연구소

Posted by tornado
|