안녕하세요!

 

오늘은 와이어샤크를 통해 수집된 패킷을 파일로 저장하는 방법에 대해 알아보도록 하겠습니다.

이는 패킷 분석을 수행할 경우에 캡처한 패킷을 나중에 다시 사용할 때 매우 유용한 방법입니다!

 

먼저, 와이어샤크를 실행하여 캡쳐 할 인터페이스를 선택 후 Start 버튼을 클릭하여 실행합니다.

[그림1] Capture Interface 선택 


Nmap
을 이용해 해당 네트워크에 아래와 같은 패킷을 임의로 발생시켜보았습니다.

[그림2] Nmap을 이용한 포트 스캐닝


그럼, 캡쳐한 패킷을 해 볼까요?

메뉴의 File -> Save As… 메뉴를 선택합니다.

[그림3] 패킷 저장(1)


아래와 같이 캡쳐된 패킷을 저장할 위치와 파일의 포맷을 정하는 부분이 나타나며, 특정 파일 포맷을 원하는 경우가 아니라면 기본 포맷(.pcap)을 사용하면 됩니다.

[그림4] 패킷 저장(2)

 

Save File As 는 원하는 패킷의 범위를 정하여 저장할 수 있도록 하는 기능을 제공합니다.

아래와 같이 Selected packet을 선택하면 해당 패킷에 대해서만 저장할 수 있으며, 다양한 필터에 의해 표시된 패킷만 저장할 수도 있습니다.

[그림5] Packet Range

 

저장한 파일을 실행하면 아래와 같이 선택한 패킷만 저장되어 출력되는 것을 확인 할 수 있습니다.

[그림6] 저장된 패킷 출력

위의 기능은 아래의 외부 아이콘을 통해 이용 가능합니다.

[그림7] 외부 아이콘


마치며……

오늘은 와이어샤크를 통해 수집된 패킷을 저장하는 방법에 대해 알아보았습니다. 매우 간단한 방법이며 또한, 매우 유용한 기능중 하나로서 여러분들의 패킷 분석 작업에 큰 도움이 될 거라 생각합니다.

감사합니다. ^_^


Posted by 비회원

안녕하세요. ^^

 

오늘은 TCPView로 악성코드의 동작을 모니터링 해보고, 그에 따른 대응법을 알아보겠습니다. 이전 글에서 TCP View의 기능에 대해서 설명 드렸기 때문에 본 글에서는 별도의 기능 설명 없이 바로 진행하겠습니다!

 

오늘 시연에 사용될 악성코드는 악의적인 네트워크 트래픽을 다량 발생시키는 녀석으로서 V3에서는 아래의 진단명으로 진단하고 있습니다.

 

[그림-1 진단명]

 

그럼, 이 녀석을 실행시켜 어떤 동작을 하는지 살펴볼까요?

악성코드의 실행 후 아래 화면과 같이 다량의 TCP 패킷을 발생되고 임의의 URL로 접속하는 것을 확인 할 수 있습니다.

 

[그림-2 다량의 패킷 발생]

 

해당 URL에 대한 도메인 정보는 whois를 통해서 확인 할 수 있으며, 이 내용은 이전 “whois에서 소개해 드렸으니 관련 글을 참고하세요. ^^

 

여기서, 깔끔한 정보 확인을 위해 화살표 모양 같은 아이콘을 클릭하여 루프백을 제외한 현재 연결된 정보만 보도록 설정합니다.

 

[그림-3 현재 연결된 정보

 

위 그림은 악성코드의 동작으로 미리 지정된 사이트에 연결된 상태이며, 해당 프로세스의 등록 정보를 통해 파일의 경로를 확인해 보겠습니다.

 

[그림-4 파일 경로]

기존에 있던 정상적인 폴더에 임의로 자신을 등록한 악의적인 파일이 확인됩니다.

 

이제 해당 파일의 프로세스를 종료 시켜 접속을 끊어 보겠습니다.

 

[그림-5 접속 끊기]

 

이는 프로세스만 종료 시킨 상황이므로 앞서 확인한 해당 경로의 악성 파일을 삭제 해 줘야 합니다. 또 한, 레지스트리 및 시작 프로그램에 악의적인 정보가 등록된 경우 해당 값들을 모두 삭제 해줍니다.

 

마치며……

오늘은 TCPView를 통해 악성코드의 동작을 모니터링 해보았습니다. TCPView는 앞서 알아본 ProcessExplorer, Autoruns와 함께 대표적인 시스템 행위기반 모니터링 도구로서 이 세 가지 tool을 효율적으로 이용하면 보다 정확한 악성코드의 동작을 볼 수 있습니다. 3가지 tool 모두 설명해드렸으니 참고하셔서 악성코드를 잡아보세요!

감사합니다. ^_^


Posted by 비회원

오늘은 저희 블로그를 찾아주신 님의 요청으로 TCP View라는 tool을 소개할까 합니다!

TCP ViewTCP UDP의 연결 상태를 확인 할 수 있는 네트워크 모니터링 tool로서 실행중인 프로세스와 연결된 네트워크의 Local Address Remote Address 정보를 알려줍니다.

TCP View의 이와 같은 기능을 통해 악성코드의 네트워크 동작 여부를 실시간으로 모니터링 할 수 있으며 실행중인 프로세스를 직접 종료 또는 연결을 끊을 수도 있습니다.

 

그럼, 오늘도 악성코드를 잡기 위해 달려보시죠~!

 

▶ 다운로드

 

▶ 실행

 

프로그램을 다운로드 하면 폴더에 아래와 같은 파일들이 보입니다.

 

 

Tcpvcon.exe는 명령 프롬프트용으로 Tcpview.exe와 동일한 기능을 하며 이 글에서는 Tcpview.exe를 이용하여 설명 드리겠습니다. 

 

Tcpview.exe을 실행시키면 최초 아래의 화면이 보이며, 빨간 박스 안의 프로세스들은 정상적인 것들입니다.

 


정상인지 아닌지는 해당 프로세스의 정보를 확인하면 알 수 있는데요, System 프로세스를 제외한 나머지 프로세스는 오른쪽 마우스 클릭 후 Properties를 통해 정보를 확인 할 수 있습니다.

 

여기서 Tip!

아래 옵션을 잘 이용하면 더욱더 편리합니다. ^^

 

 
왼쪽부터 차례대로 설명 드리면 ① 디스크 모양의 옵션은 현재 상태를 텍스트 파일로 저장하는 기능을 하며, A 옵션은 로컬 및 원격지 주소를 IP 주소 또는 호스트 이름으로 설정하는 기능입니다. ③오른쪽에 화살 같은 모양의 옵션은 현재 연결된 상태 또는 열린 모든 프로그램을 볼 수 있도록 설정하는 기능을 합니다. ④마지막은 새로 고침 옵션입니다. ^^

 

여기서 화살 같은 모양의 옵션을 잘 이용하면 비교적 깔끔하게(?) 정리된 화면을 볼 수 있는데요, 이 옵션을 선택하면 루프백(loopback)을 제외한 현재 연결된 정보만 화면에 표시할 수 있습니다.

 

 

 

여기서, TCPView에서 보여주는 정보에 대해 간략히 설명 드리겠습니다.

 


 

ü  목록들의 색

l  초록색 : 정상 연결

l  빨강색 : 연결이 끊기거나 종료되었을 때

l  노란색 : 연결이 바뀌었을 때

ü  process : 실행중인 프로세스

ü  Protocol : 프로토콜(TCP 또는 UDP) 이름

ü  Local Address : 사용 중인 로컬 PCIP 주소와 포트 번호

ü  Remote Address : 소켓이 연결된 원격 PC IP주소와 포트 번호

ü  State : 연결 상태 표시

l  CLOSE_WAIT: 원격의 연결 요청을 받고 연결이 종료되기를 기다리는 상태

l  CLOSED: Server 완전히 연결이 종료된 상태

l  ESTABLISHED: 서로 연결이 되어 있는 상태

l  FIN_WAIT_1: 소켓이 닫히고 연결이 종료되고 있는 상태

l  FIN_WAIT_2: 로컬이 원격으로부터 연결 종료 요구를 기다리는 상태

l  LAST_ACK: 연결은 종료되었고 승인을 기다리는 상태

l  LISTEN: 데몬이 요청을 발을 수 있도록 연결 요구를 기다리는 상태
 
, 포트가 열려있음을 의미

l  SYN_RECEIVED: 원격으로부터 연결 요청을 받은 상태

l  SYN_SEND: 로컬에서 원격으로 연결 요청(SYN 신호를 보냄)을 시도한 상태

l  TIMED_WAIT: 연결은 종료되었으나 원격의 수신 보장을 위해 기다리고 있는   

             상태

 

마치며……

 

오늘은 TCP View에 대한 소개와 기능에 대해 말씀 드렸습니다. 계속해서 TCPView를 이용하여 악성코드에 대응하는 법을 게시할 예정입니다. 여러분의 많은 관심 부탁 드려요~^^

감사합니다.


Posted by 비회원

안녕하세요~~~

 

5월입니다~ 5월은 숫자만으로 밝고 푸른 느낌을 주지 않나요 ^^?

여의도 공원은 사람들로 북적대고 간간히 촬영하시는 연예인님들도 보입니다.

얼마 전에는 시대의 대표 꽃남이죠? 이민호군을 봤습니다. ……잘생겼더군요!

이렇게 아름다운 5! 상큼하게 Autoruns 통한 악성코드 대응법에 대하여 알아보겠습니다!

이전에 이미 Series(1), (2) 통해 기능 설명은 해드렸고요, 오늘은 최종회입니다!

 

그럼, 상콤하게 출발~!

 

가장 먼저, 악성코드를 동작 시켜 상태를 Autoruns 통해 확인해 보도록 하겠습니다.

오늘 시연에 사용될 악성코드는 BHO 관련 악성코드로 V3에서는 아래의 진단명으로 진단하고 있습니다.

 

 


 

Autoruns Serires (1)에서 말씀드린바와 같이 BHO 정보는 Explorer Internet Explorer에서 확인할 있습니다. 그럼 직접 해당 엔트리를 통해 확인해 보죠!

 

 

위의 그림에서 가장 먼저 눈에 들어오는 부분 “Not Verified(전자서명 없음)” 부분입니다. 다음으로 Image Path 보면 해당 경로에 상당히 의심스러운 파일명의 파일이 보입니다.

 

Internet Explorer 엔트리를 통해 알아볼까요?

 

 

Explorer에서 확인한 동일한 파일이 보이는 군요.

자세한 정보를 확인하기 위하여 Process Explorer 연동하여 보겠습니다

 

 

Command Line 보면 Autoruns에서 확인한 녀석이 rundll32.exe 통해 동작중임이 확인됩니다.

해당 프로세스의 등록정보를 보시죠.

 

 

Rundll32.exe 윈도우에서 사용하는 정상적인 실행 파일이지만 많은 수의 악성코드에서 이름을 사용하거나 비슷한 이름으로 가장하여 이용하고 있으므로 주의가 요구됩니다.

 

 

이제 Autoruns 이용하여 악성코드를 제거해 보겠습니다.

앞서 말씀드리바와 같이 Autoruns Delete 기능으로 해당 값을 삭제 있습니다!

 

먼저, 현재 프로세스가 실행 중이므로 Process Explorer에서 해당 프로세스를 kill 해줍니다.

 

다음으로 Autouns Explorer 등록되어있는 의심파일을 Delete 해줍니다.

  

 

 

Internet Explorer 등록된 의심파일 역시 Delete 해줍니다.

 

 

 

이렇게 하면 해당 악성코드에 대한 레지스트리 값을 모두 삭제하였으므로 행여나 쓰레기 값이 남아있더라도 정상적으로 동작하지 것입니다.

V3 검사하여 악성코드에 대한 정보가 남아있는지 확인해 보는 것을 끝으로 글을 마치도록 하겠습니다.

 

 

 

마치며……

 

5월에 번째 ! 상콤 하셨나요^^?

지금까지 Series(1), (2), (3) 통해 다소 길게 진행했던 같은데요. 여기서 가지 말씀 드리고 싶은 세상에 완벽하고 강력한 tool 없다는 것입니다. 평소 자신이 설치한 파일에 관심을 갖고, 모르는 파일이나 설치하지 않은 파일의 유무를 확인하며, 윈도우 백신 등에서 제공하는 최신의 업데이트를 꾸준히 받아 항상 최신의 버전을 유지하는 습관이야 말고 변화하는 악성코드에 대처하는 가장 강력한 tool 것입니다!

이런 면에서 여러분 모두 진정한 슈퍼 유저가 되길 바라며 이상 글을 마치도록 하겠습니다~!

감사합니다. ^_^


Posted by 비회원

안녕하세요!

 

오늘은 Autoruns tool 소개 두번째 시간입니다.

이전 글에서 언급했던 데로 글에서는 Autoruns 이용 방법에 대해 알아보는 시간을 갖도록 하겠습니다.

 

, 그럼 시작합니다~!

 

Autoruns 실행한 아래 화면을 보면 매우 많은 정보들이 확인 됩니다. 이들 정보들 중에는 윈도우와 관련된 정상적인 부분도 다수 포함되어있습니다. 정상적인 정보를 포함하여 확인해야 하는 상황이 아니라면 이들 정상 정보들을 제외한 나머지 부분만 있도록 설정합니다. 설정 방법은 아래와 같습니다.

[ Options -> Hide Microsoft and Windows Entries 또는 Hide Windows Entries ] 항목 선택

  

 

 

선택하면 바로 적용되는 것이 아니기 때문에 새로 고침(F5) 한번 ! 눌러주도록 합니다.

 

Everything에서도 항목에 대한 정보를 확인 있으나 되도록이면 세부 엔트리를 통해 각각의 정보를 확인 하는 것을 적극 권장합니다.

 

엔트리중 하나를 선택한 , 눈여겨봐야 부분은 파일에 대한 Description 포함한 세부 정보입니다.

 

ü  Description : 파일에 대한 설명.

ü  Publisher : 파일의 공급 사.

ü  Image Path : 파일의 저장되어있는 경로.

 

여기서 악의적인 파일일 경우 앞의 정보가 누락되어있을 있으며, 정상적이지 않은 경로에 파일이 생성되어 있을 있습니다. 하지만 정상적인 경우도 설명이나, 공급 사가 누락되어 있을 있으며 정상적인 파일도 앞의 정보가 있을  있습니다. 다시말해 섣부른 판단은 금물이라는 말씀이죠! ^^
 

엔트리에서 관련 개체를 선택한 오른쪽 마우스를 클릭하면 가장 먼저 Delete(객체 삭제) Copy(객체 복사), Verify(디지털 서명 확인), Jump to(레지스트리로 이동), Search Online(온라인 검색), Process Explorer(프로세스 익스플로러와 연동), Properties(등록정보) 메뉴가 있습니다.

 

ü  Delete : 객체를 삭제하는 항목.

ü  Copy : 객체를 복사.
(,
삭제 전 반드시 관련 파일에 대한 정확한 정보를 확인 한 후 진행하도록 합니다!)

ü  Verify : 디지털 서명 항목으로 선택한 후 디지털 서명이 유효 할 경우 Verified, 유효하지 않을
       경우, Not Verified
로 표시.
(이 항목은 [Options -> Verify Code Signatures] 를 선택하여 전체적으로 적용 시킬 수 있습니다. , 선택 후 새로 고침을 해주어야 합니다. ^^)

 

ü  Jump to : 레지스트리 편집기의 해당 항목으로 이동.
(여기서 레지스트리를 수정하거나 삭제 할 수 있는데 작업 전 반드시 레지스트리에 대한 정확한 정보를 확인하고 해당 레지스트리를 백업해 두는 것을 권장합니다.)

 

ü  Search Online : 웹 브라우저의 검색 엔진에서 해당 키워드로 검색을 할 수 있습니다.

ü  Process Explorer : Autorun 실행 중 Process Explorer를 연동하게 해주는 항목.
(Process Explorer
를 미리 실행시켜 놓거나 Autoruns 실행 파일과 같은 경로에 Process Explorer
실행 파일을 두면 자동으로 연동 됩니다.)

 

ü  Properties : 해당 개체에 대한 등록정보 확인.


 

마치며

 

이번 까지는 Autoruns 기능에 대해 알아보았습니다. 하나의 글에서 모든 부분을 다룰수도 있지만 여러분들의 손가락 보호 차원에서 부득이하게 시리즈로 작성하고 있음을 알려드리며 이상의 글을 마치겠습니다.^^;

참고로, 다음 글에서는 지금까지 알아본 기능을 이용하여 악성코드에 대응 하는 법을 알아보도록 하겠습니다.

감사합니다. ^_^


Posted by 비회원

안녕하세요!
오늘도 여러분들의 궁금증 해결에 조금이나마 도움을 드리고자 게시물을 올립니다.^^

자, 준비되셨나요~? 이번에 알아볼 tool은 Autoruns 입니다!

악성코드 분석 시 시스템 구성 유틸리티에서 시작 프로그램 부분을 확인 하는데요, 윈도우에서 제공하는 기본적인 기능만으로  시작 프로그램에 대한 자세한 정보를 알아보는 데는 한계가 있습니다. 그래서 이용하는 tool이 바로 Autoruns 입니다!

Autoruns는 Microsoft 사에서 무료로 배포하고 있으며 아래 링크에서 다운 받을 수 있습니다.

 

다운로드

더보기

 

프로그램을 다운로드 받으신 후 압축 해제 하시면 아래와 같이 3개의 파일이 보이실 겁니다.


Autorunsc.exe 는 명령 프롬프트용이며 이 글에서는 Autoruns.exe를 이용하여 설명 드리겠습니다.


▶ 실행

최초 프로그램을 실행하면 조금 복잡해 보일 수도 있는 화려한(?) 창이 보입니다. 편의를 위해 만들어진 tool이니 두려워하실 필요는 없습니다!

 


Autoruns는 다양한 엔트리(entry)로 구성되어 있는데요. 각 엔트리가 보여주는 정보에는 어떤 것인지 알아보도록 하겠습니다~ 




ü  Everything : 각기 다른 엔트리에서 확인할 수 있는 모든 자동 실행 코드가 나타납니다.

ü  Logon시작 프로그램 폴더(현재 사용자, 모든 사용자) Run 레지스트리(HKML,HKCU)에 등록
          되어 있는 항목이 표시됩니다

          운영체제(XP) 최초 설치 시 
이 엔트리에 등록된 정보는 없습니다.

ü  Explorer (shell) 확장, BHO(browser helper objects),  익스플로러 툴바(Explorer toolbar) 등
            이 표시됩니다
. 운영체제(XP) 최초 설치시에 HyperTerminal Icon 
Ext와 디스플레이  
            패닝
CPL 확장이 등록되어 있습니다
.

ü  Internet Explorer : 인터넷 탐색기의 BHO와 인터넷 익스플로러(Internet Explorer) 툴바가 표시
                      됩니다

                      
운영체제(XP) 최초 설치 시 이 엔트리에 등록된 정보
는 없습니다.

ü  Scheduled tasks : 부팅 또는 로그온  시 작업 스케줄에 구성된 정보를 보여줍니다.

                    운영체제(XP) 최초 설치 시 이 엔트리에 등록된 정보는 없습니다.

ü  Services시스템 부팅 시 자동적으로 실행되는 윈도우의 모든 서비스 구성 정보를 보여줍니다
           운영체제
(XP) 최초 설치 시 이 엔트리에 등록된 정보는 없습니다.

ü  Drivers : 사용안함(disabled)으로 시스템에서 제외된 모든 커널 모듈 드라이버를 보여줍니다
          운영체제(XP) 최초 설치 시 이 엔트리에 등록된 정보로는 오디오, 그래픽,
네트워크 등 
          시스템 구성 시 필수적인 카드 드라이버가 있습니다
.

ü  Boot Excute : 부트 프로세스(boot process) 초기 동작에 실행되는 프로그램을 보여줍니
                
운영체제(XP) 최초 설치 시 이 엔트리에 등록된 정보는 없습니다
.

ü  Image Hijacks : 이미지 파일 실행 옵션과 명령 프롬프트 자동 실행 프로그램을 보여줍니다.
                  운영체제(XP) 최초 설치 시 이 엔트리에 등록된 정보는 없습니다
.

ü  AppInit : NT\CurrentVersion\Windows\AppInit_DLLs에 등록되어 있는 DLL을 표시하며  App 
          Init_DLLs
에 등록되어 있는 DLL은 현재 로그온 세션에서 실행중인 모든
 Windows 기반
          응용 프로그램에 의해 읽혀집니다

          운영체제(XP) 최초 설치 시 
이 엔트리에 등록된 정보는 없습니다.

ü  Known DLLs : HKLM\SYSTEM\CurrentControlSet\Control\Session\Manager \KnownDLLs
                에  등록되어 있는
DLLs에 등록되어 있는 DLL을 출력하며 Known
DLLs 레지스트
                리 키의
DLL들은 시스템이 시작될 때 메모리로 읽혀집니

                
운영체제(XP) 최초 설치 시 이 엔트리에 등록된 정보는 없습니다
.

ü  Winlogon : HKML\SOFTWARE\Microsoft\Windows\NT\CurrentVersion\Winlogon\Notify
            
에 등록되어 있는 DLL을 표시하며 Notify에 등록된 DLL Winlogon
이 시작될 때
             
Winlogon이 레지스트리를 검사해서 메모리로 읽혀지게 됩니

             
운영체제(XP) 최초 설치시 이 엔트리에 등록된 정보는 없습니다
.

ü  Winsock Providers : Winsock 서비스 제공자를 포함하여 등록된 Winsock 프로토콜을 표시하며
                       악성 프로그램은 종종 자신을
Winsock 서비스 제공자로 등
록하는 경우가
                       많습니다
. 그 이유는 Winsock 서비스 제공자로 등록
하는 경우 제거 할 수 
                       있는 방법이 많지 않기 때문입니다
. Autoruns
는 이들을 제거할 수 있지만 
                       사용 안 함으로 설정할 수는 없습니다
.

ü  Print Monitors : 프린트 스풀링 서비스에 로드되는 DLLs를 보여주며 악성코드는 자신을 자동실
                   행하기 위해 이용하기도 합니다

                   운영체제(XP) 최초 설치 시 이
엔트리에 등록된 정보는 없습니다.

ü  LSA Providers : LSA(local security authority), 알림 및 보안 패키지에 등록된 레지스터를 보여 
                  줍니다
.

 




마치며...

Autoruns는 다양한 기능을 제공하는 만큼 악성코드 분석에 있어서도 정말 유용한 tool입니다. 예를 들어 위의 각 엔트리에서 직접 설치한 프로그램이 아니거나 모르는 프로그램이 있다면 악성코드를 의심해 볼 수 있는데요. Autoruns를 통해 이 의심되는 파일의 정보를 다각도로 확인 할 수 있으며 직접 삭제도 가능합니다.

악성코드에 대응하는 부분에 대해서는 Autoruns - Series (2)에서 다시 한번 설명 드리도록 하겠습니다.

오늘도 행복한 하루 되세요~!
감사합니다. ^_^








 


Posted by 비회원

안녕하세요!
오늘은 “ 패킷 뜯어보기!” 시간입니다!
와이어샤크(wireshark)를 이용하여 네트워크를 흘러 다니는 패킷(packet)이란 녀석을 분석하는 것이지요! 이전에도 언급했듯이 와이어샤크는 네트워크의 패킷을 분석하는데 있어 아주 강력한 툴(tool)입니다. 하지만 패킷과 와이어샤크의 기능에 대한 이해가 없다면 그 강력한 기능도 무용지물일 것입니다.
그래서! 이 글에서는 패킷의 이해도를 높이고 보다 기능적으로  와이어샤크를 사용하기 위한 배움의 시간을 갖고자합니다. 
그럼 슬슬 패킷이란 녀석을 뜯어 볼까요?

네트워크와 패킷에 관한 설명에는 늘 빠지지 않고 등장하는 것이 있는데요, 바로 OSI 7 layer와 각 레이어(layer) 별 프로토콜에 대한 설명입니다.

OSI 모델(Open Systems Interconnection Reference Model)은 국제표준화기구(ISO)에서 개발한 모델로, 컴퓨터 네트워크 프로토콜 디자인과 통신을 계층으로 나누어 설명한 것입니다. 일반적으로 OSI 7 계층 모델이라 불리기도 합니다. 


위 그림을 참고로 하여 각 레이어별 기능과 통신 프로토콜에 대해 간단히 아래 표로 설명 드리겠습니다.

 
어떤가요? 네트워크에 대한 어느 정도 이해가 있으신 분은 위의 내용이 한 눈에 들어오시겠지만 처음 보시는 분들은 조금 어렵게 보일 수도 있을 텐
데요. 모든 부분을 설명 드리기에는 한계가 있으므로 Layer에 대한 설명은 이 정도로만 하겠습니다.

그럼 이제부터 와이어샤크가 보여주는 패킷 정보에는 어떤 의미가 있는지 본격적으로 패킷을 분석해보도록 하겠습니다.

패킷은 4개의 레이어 모델로 전체 구조를 갖고 있으며 이 규칙에 맞추어 블록 같이 끼워 맞추면 됩니다!



패킷 분석기 와이어어샤크를 통해 TCP/IP 패킷을 보면 아래 그림과 같은 정보를 볼 수 있습니다.
'저게 뭐야?"라고 하시는 분들이 계실 수도 있습니다.

하지만 오늘 이 글을 습득하시면 저것들이 가리키는 값이 무엇인지 확실히 알 수 있습니다!!! Follow me~ ^_^

 
패킷은 위의 그림과 같이 HEX 값으로 이루어진 데이터 이며 그 값에는 각각 의미하는 바가 있습니다.

그럼 Data Link 계층의 MAC 부터 Network 계층의 IP, Transport 계층의 TCP, Application 계층의 Data까지 패킷을 차례로  뜯어보겠습니다.

가장 먼저 MAC protocol 구조입니다.

 
위의 그림을 통해 “MAC의 구조는 이렇다”라는 정도로 이해하시면 됩니다. 그렇다면 과연 이 MAC에 관한 정보를 와이어샤크에서는 어떻게 표현하고 있을까요?

빨간 box안의 값들이 바로 위의 mac에 관련된 패킷 정보 입니다.



다음으로 IP protocol 입니다.


다소 복잡해 보일 수 있는 구조지만 우리의 패킷 분석기 와이어샤크를 이용하면 보다 쉽게 이해가 됩니다. ^^




아래 그림은 TCP protocol의 구조입니다.


이 역시 와이어샤크를 통해 확인해 보겠습니다.


 

끝으로 Application 계층의 http 프로토콜 입니다.



 
마치며…

오늘은 와이어샤크를 통해 패킷을 분석해 보는 시간을 가졌습니다. 패킷과 조금 친해진 느낌이 드시나요?
오늘 다룬 내용은 패킷 분석에 있어 다소 중요한 부분이니 관심이 있으신 분들은 이 글을 이해하시기 바라며 미처 언급하지 못한 부분에 대해서는 직접 자료 검색을 통해 습득하시기 바랍니다~!
Don’t waste your extra life~ 오늘의 제 개인적 명언을 끝으로 패킷 뜯어보기! 글을 마치도록 하겠습니다!
감사합니다.^^

Posted by 비회원

오늘은 Rootkit의 천적(?)이라 할 수 있는 Icesword에 대한 이야기입니다!
여기서 천적이라고 말한 이유는 북경 과학기술 대학교 pjf에서 Rootkit 제거 목적으로 만들었기 때문입니다.

그럼 Rootkit 전담반 Icesword에 대해 알아볼까요~


▶ 다운로드

IceSword는 구글링을 통해 쉽게 다운 받을 수 있습니다.
제작자의 공식 블로그로 알려져 있으나 현재는 접속이 안되네요 ^^;
(
http://www.blogcn.com/user17/pjf/index.htm)


▶ 소개

IceSword는 앞서 말씀드린것과 같이 루트킷 제거를 목적으로 만들어진 tool로서 중국어 버전과 영어  버전이 있으며 이 글에서는 1.22버전(영문)으로 진행하도록 하겠습니다.


IceSword는 루트킷 분석에 있어 훌륭한 tool임에는 틀림이 없지만 그 에 앞서 많은 학습이 우선되어야 합니다. 별도의 백업을 하는 방법이 존재하지 않기 때문입니다. 하여 블로그의 취지와 걸맞게 이 글에서는 IceSword의 소개와 각 기능에 대한 대략적인 설명 정도만 다룰 것임을 알려드립니다~^^ 


▶ 기능 설명

1)   Process
실행되고 있는 프로세스의 목록을 보여주며 파일주소, 숨겨진 프로세스까지 확인되는데요. 이 기능을 사용하여 프로세스들을 쉽게 제거 할 수 있습니다!

- Terminate Process : 프로세스의 강제 제거
- Thread Information : 프로세스의 Thread 정보 표시
- Module Information : 프로세스의 Module 정보를 표시
- Read/Write Memory : 프로세스의 읽기/쓰기 메모리를 표시
- Find Module : 문자열을 입력해 모듈을 검색


2)    Port
네트워크의 상태를 확인 시켜주는 기능으로 내 컴퓨터와 원격지에 연결된 상태를 보여주고 연결된 PID를 통해 해당 프로세스를 찾을 수 있답니다. ^^ 


3)   Kernel Module
실행 파일에 의해 로드된 시스템 파일(.SYS)이나 동적 라이브러리 파일(.DLL)의 목록을 확인 할수 있는데요. 대부분의 루트킷은 자신을 은폐하기 위해 SYS난 DLL파일을 몇 개 심는데, 그 목록을 볼 수 있게 해주는 거죠! 다만, 여기에 있는 파일의 정상 여부를 따지지 않고 강제로 내리는 경우 시스템이 바로 블루스크린을 보여줄 것이며, 심각한 경우에는 부팅이 이뤄지지 않을 수도 있습니다. ^^; 


4)   Startup
실행 파일에 있는 목록을 확인 할 수 있으나 삭제 기능이 제공되지 않아 검사밖에 할 수 없습니다!


5)   Win32 Services
서비스로 실행되는 프로세스의 목록을 확인 할 수 있으며 알려진 루트킷의 경우와 숨겨져 있는 서비스의 경우는 자동으로 빨간색으로 표시해 줍니다. 다만,  일부 루트킷의 경우 검은 색 글씨로 보여 질 수 있고 빨간색으로 표시 되었다 하여 모두 루트킷이라 단정 지을수 없기 때문에 사용자의 능력이 가미되어야 합니다. ^^

- Start : 선택한 서비스의 사용 시작
- Stop : 선택한 서비스의 사용 정지
- Pause : 선택한 서비스의 잠시 정지
- Resume : 잠시 정지된 서비스의 재시작
- Disable : 선택한 서비스에 대한 사용 금지
- Automatic : 선택한 서비스의 자동 시작
- Manual : 선택한 서비스의 수동 시작


6)   SPI (Service Provider Interface)
서비스의 인터페이스를 확인 할 수 있는 기능으로 모든 Windows의 네트워크 조작은 모두 이 인터페이스를 통하여 데이터 페킷을 보내거나 받게 됩니다. 이러한 이유로 많은 악성코드들이 이 부분의 DLL을 바꾸어 사용자의 모든 패킷을 감시하는데 악용합니다!


7)   BHO (Browser Helper Object)
웹 브라우저나 시스템의 쉘 실행시 로딩되는 DLL의 목록을 보여주며 검사 기능 밖에 제공하지 않아 해당 파일의 삭제는 수동으로 직접 해야 합니다~;;;


8)   SSDT (System Service Descriptor Table)
실행 중인 메모리를 확인 할 수 있는 부분으로 수정된 값에 대해 빨간색으로 표시하며 일부 보안 프로그램도 빨간색으로 표시합니다. 아래 저희 회사 프로그램이 빨간색으로 표시되고 있군요.^^;


9)   Message Hook
프로그램 동작 시 입출력 장치의 반응을 확인 할 수 있으며 프로그램들이 이용하는 값들이 표시 됩니다. 키로거가 의심되는 경우 이곳에서 손쉽게 잡을 수 있습니다~ 다만 검사만 가능 할 뿐 이죠;;;


10)   Log Process/Thread Creation
프로세스에 대한 실행 로그를 확인 할 수 있는 부분으로 IceSword가 실행 중인 동안 프로세스 Thread 생성을 기록합니다. 주로 주기적인 프로그램의 구동이 의심스러울 경우 이 부분을 확인 하면 되는데요. 예를 들어 트로이목마를 살펴보면, 트로이목마는 실행 될 때 백신 프로그램을 검색한 후 발견되는 백신 프로그램을 삭제 합니다. Log Process/Thread Creation의 기능을 이용하면 이와같은 과정들이 기록 될 것이고 어느 과정에서 백신 프로그램을 지우는지 찾을 수 있을 것입니다. 그럼 그 부분을 찾아가 제거하면 되겠죠! ^^


11)   Log Process Termination
Process/Thread가 언제 종료되었는지를 기록하며 Log Process/Thread Creation
과 함께 사용하여 프로그램의 동작 기록을 남길 때 유용합니다.


12)   Scan Modules Hooks
모듈을 검사하며 특정 프로세스나 파일을 모니터링 할 때 사용합니다. 단, PC에 많은 부하가 발생 될 수 있으므로 사용에 주의하시기 바랍니다.^^


13)   Registry
Windows Registry는 마이크로소프트 윈도
32/64비트 버전과 윈도우 모바일 운영 체제의 설정과 선택 항목을 담고 있는 데이터베이스입니다. 이 부분은 악성코드의 동작에 항상 이용되는 부분이라고 보시면 되는데요. 중요한만큼 좋은 탐색 tool이 많이 있습니다. IceSword 같은 경우는 윈도우의 Regedit로는 접근 할 수 없는 부분까지 접근 및 삭제가 가능하기 때문에 사용 시 주의가 필요합니다!


14)   File
윈도우의 탐색기와 같은 기능을 가지지만 탐색기와 달리 숨김 파일을 찾고 보호된 파일을 해제하는 기능이 있습니다. 또 한, system32\config\SAM등의 파일을 직접 copy 할 수 있으며 다른 프로그램에서는 삭제 하지 못하는 것도 삭제가 가능합니다!


마치며...
지금까지 Rootkit 전담반 IceSword에 대하여 알아보았습니다. Rootkit 제거용으로 만들어져서 인지 다소 신중히 다뤄야 할 기능들이 좀 있지만 잘 만 사용한다면 Rootkit 대응에 있어 강력한 프로그램임에는 틀림없습니다! 이 글을 계기로 IceSword가 제공하는 기능들을 모두 이해하여 악성코드에 당당히 대응하는 여러분이 되길 희망하며 이상으로 글을 마치도록 하겠습니다.
감사합니다. ^_^

Posted by 비회원

오늘은 sysinternals에서 무료로 배포하는 tool중 whois라는 아주 간단한 프로그램에 대해 알아보겠습니다.

whois는 이 전에도 소개해 한적이 있는 Mark Russinovich의 작품입니다.^^

▶   다운로드

더보기


   소개

whois라는 이름만으로도 무엇을 하는 녀석인지 예상이 가듯, 이 녀석은 도메인이름 등록인 및 연락처, 국내 IP 주소의 사용기관 및 연결 ISP에 대한 정보 등을 알려주는 Networking Utilities 입니다.

whois는 해당 도메인 이름이 이미 다른 사람에 의해 사용중인지, 아니면 자신이 신청할 수 있는지를 확인하는 용도로도 많이 쓰입니다. 만약, 자기가 생각하고 있는 어떤 도메인 이름을 whois 에 입력했을 때 아래와 같은 메시지가 나오면, 그 도메인은 새로 신청할 수 있는 도메인으로 간주할 수 있습니다.


이런 기능을 이용하면 도메인 신청시 유용하게 쓰일 수 있으며 또 한, 보안측면에서도 해당 도메인의 정보를 알아내는 작업으로 이용할 수도 있겠습니다.

그럼 whois를 통해 관련 정보를 확인해 보도록 합니다!

어떤 도메인의 소유자가 누구인지를 알기 위해 whois 서비스의 검색창에 다음과 같이 입력하면,
whois는 그 도메인 이름의 소유자를 알려줍니다.

▶   명령어

더보기

구글을 검색해보았습니다.

어떤가요? 너무도 간단하지만 나름 유용한 tool이라는 생각이 드시나요^^?

지금까지 작지만 강한 tool 시리즈 1 - whois 편 이었습니다.
앞으로도 종종 용량은 작지만 나름 유용한 tool 소개로 이어가겠습니다!
그럼 하루도 알찬 하루 보내시구요~ 항상 행복하세요 ~^-^

Posted by 비회원
안녕하세요!
오늘 알아 볼 tool은 Process Explorer입니다! ^^
이 프로그램은 Windows 운영체제에 대해 매우 해박한 지식을 갖고 계시기로 매우 유명한 분이죠? 
sysinternals(현재는 Microsoft사에
 인수됨)의 Mark Russinovich씨가 만든 tool로서 최고의 프로세스 관리 유틸리티라 생각됩니다! (사담이이지만, 저희 ASEC 대응팀원중 한분은 이분을 굉장히 존경하십니다.^^;)

이상 간략한 제작자에 대한 소개는 접고 바로 tool 소개를 하도록 하겠습니다!

Process Explorer는 앞서 말씀드린바와 같이 프로세스를 관리할 수 있는 프로그램입니다. 다시 말해, 현재 실행중인 프로세스를 파악하고 해당 프로세스의 우선권을 변경, 정지, 강제 종료 등의 작업을 지원하여 실제 악성코드 분석시 유용하게 쓰이고 있는 프로그램이죠.


▶   프로그램 장점

더보기



▶   프로그램 다운로드

프로그램은 Microsoft사에서 무료로 배포하고 있으며 아래 링크된 URL에서 다운로드 가능합니다.

더보기

2010년형 Process Explorer가 나왔네요. ^^




▶   프로그램 실행

설치 후 프로그램을 실행시키면 아래와 같이 알록달록 형형색색의 프로세스를 확인 할 수 있습니다.
(저희 회사 제품인 V3 SiteGuard가 실행중인게 보이네요.^^)




위의 그림에서 나타내는 각각의 색상은 나름의 의미를 내포하고 있는데요.
[ Options -> Configure Highlighting... ] 에서 각각의 내용을 확인 할 수 있으며 이 부분은 개인 설정이
가능합니다.





이제 Process Explorer가 가진 옵션에 대해 살펴볼 차례인데요. 워낙 가진 기능이 다양하므로 세부적인 설명은 생략하고 이 글을 진행함에 있어 필요한 부분만 설명하도록 하겠습니다. ^^


앞서 설명했듯이 Process Explorer에서는 프로세스에 인젝션된 DLL/Handles 정보를 볼 수 있습니다.
[ View -> LovwerPane View -> DLLs / Handles 선택 ]



프로세스에 인젝션된 DLL이 보이시죠?


또한 Process Explorer는 CPU 점유율과 메모리 사용량 등을 그래프로 보여줍니다.
[ View -> Systemimformation...]



▶   Process Explorer로 악성코드를 잡자!

이제 악성코드에 대처 할 수 있는 방법을 살짝 알아볼까요?
Process Explorer의 장점중에 하나인 프로세스 Kill 기능을 이용해서 말이죠!

시연에 사용될 파일은 VBS 스크립트의 형태로 실행되며, VBS/Autorun 로 진단되는 악성코드입니다.




VBS 스크립트 실행을 위해서는 쉽게 설명드리면 wscript.exe 의 도움을 받아야 된다고 생각하시면 됩니다.
따라서, 프로세스상에 아래의 그림과 같이 wscript.exe 프로세스가 실행 중인 것을 확인하실 수 있습니다.

물론 wscript.exe 프로세스가 있다고 모두 악성코드가 실행중인 것은 아닙니다!!
정상적으로 사용되는 파일이니 Windows에 기본적으로 존재하겠죠?
단지, 악성코드가 이를 이용하는 것이라고 보시면 됩니다. ^^

어떠한 스크립트 파일이 연결되어 동작중인지 확인하기 위해서는 해당 프로세스에서 우클릭하셔서 [Properities..]을 클릭하시면 실행중인 프로세스에 대한 정보를 확인하실 수 있습니다.



[Image] 탭에서 Command lin 항목을 보시면 연결되어 실행되는 파일의 경로 확인이 가능합니다.


이 경우, 먼저 실행중인 wscript.exe 프로세스를 종료시키고 해당 파일을 삭제하면 문제는 해결되겠죠?


또 한 [ 실행-> msconfig ] 입력하면 시스템 구성 유틸리티를 확인 할 수 있습니다.

악성코드의 특징중에 하나가 시작프로그램에 자신을 등록시키는 것인데 이 녀석도 그런 특성을 가졌군요.



해당 경로의 악성코드를 삭제하고 관련 레지스트리 값을 삭제해줍니다.


레지스트리 삭제~^^



이상으로 Process Explorer의 사용법과 이를 이용한 악성코드 대응법을 알아보았습니다!

악성코드에 대해 V3가 진단한다면 이와 같은 조치는 V3 에서 처리 해주겠지만 하루 하루 수많은 악성코드들이 생격나고 변종이 많아지니 수동으로 조치하는 법도 알아두면 좋을거라 생각됩니다. ^^
그럼 오늘 하루도 봄향기 가득한 하루되시구요~ 행복하세요 ^_^




 

Posted by 비회원