'anti rootkit'에 해당되는 글 1건

  1. 2010.03.21 [Reversing] Anti-Rootkit Tool 소개
0x03 Reversing/Reversing2010.03.21 12:16

1. 개 요
이번 포스팅에서는 Rootkit 탐지를 도구를 소개한다. 많은 툴들이 있지만 기능 또한 강력하고 많이 사용되는 GMER와 IceSword에 대해서 알아보자.
일단 Rootkit에 대한 정의를 알아보자. 텀즈에 나와있는 Rootkit에 대한 정의는 다음과 같다.
루트킷은 해커들이 컴퓨터나 또는 네트웍에 침입한 사실을 숨긴 채 관리자용 접근권한을 획득하는데 사용하는 도구, 즉 프로그램 모음이다. 침입자는 먼저 알려져 있는 시스템 취약점을 찾아내거나 또는 암호크래킹 하는 등의 방법으로 사용자용 접근권한을 획득한 뒤, 컴퓨터에 루트킷을 설치한다. 루트킷은 네트웍 상의 다른 컴퓨터에 있는 사용자 ID와 암호들을 수집함으로써, 해커에게 루트 권한이나 기타 특수한 접근권한을 제공한다.

루트킷은 또한 해킹 탐지를 교묘하게 회피하기 위해 다음과 같은 일을 하는 유틸리티 프로그램들로 구성될 수 있다.

  • 트래픽이나 키스트로크를 감시
  • 해커가 이용할 목적으로 시스템 내에 백도어를 만듦
  • 로그파일 수정
  • 네트웍 상의 다른 컴퓨터들을 공격
  • 기존 시스템 도구들을 수정

2. GMER
다운로드 경로 : http://www.gmer.net
GMER는 빠른 속도로 루트킷을 찾아주며 다음과 같은 것들에 대해 탐색 및 제거 기능을 제공한다.
 - 숨겨진 프로세스, 쓰레드, 모듈, 서비스, 파일
 - 숨겨진 ADS(Alternate Data Streams)
 - 숨겨진 Registry Key
 - SSDT 후킹 드라이버, IDT 후킹 드라이버, IRP 호출 후킹 드라이버
 - 프로세스 생성 / 드라이버 로딩 / 라이브러리 로딩 / 파일 함수 / TCP/IP 연결
위 홈페이지에서 프로그램을 다운 받은 후 실행하면 자동으로 Rootkit에 대한 검사를 실행하면 Rootkit이 있다고 판명이 되면 전체검색을 할 것을 유도한다. 상단의 탭을 확장하면 아래와 같은 메뉴들을 볼 수 있다.

Files나 Registry 는 파일이나 레지스트리를 탐색해 볼 수 있으며 숨겨져 있는 경우 빨간색으로 표시된다. 시스템의 권한을 이용하여 파일이나 레지스트리의 삭제가 가능하다.

3. IceSwrod
다운로드 경로 : http://pjf.blogcn.com
Icesword는 중국인의 개인 블로그를 통하여 배포되는 매우 강력한 Anti Rootkit 도구이며, Rootkit 자동 스캔이나 탐지가 이루어지지 않는다. 반면에 분석을 위한 정보를 제공함으로써 사용자에게 Rootkit 제거를 유도한다. 따라서 Icesword를 이용한 Rootkit 탐지 및 제거는 많은 학습이 선행되어야 한다.
Icesword는 GMER에서 제공하는 기능과 비슷하지만 Icesword만이 제공하는 장점도 있으므로 두 가지 툴을 병행해서 사용하는 것이 좋다.  아래는 Icesword를 실행한 화면이다.
간략하게 우측에 나오는 각 메뉴의 기능을 살펴보면 다음과 같다.
 - Process : 실행 중인 프로세스 목록을 보여주며, 숨겨진 프로세스까지 볼 수 있다.

 - Port : 네트워크의 연결 상태 즉, 포트의 사용 상태를 보여준다.

 - Kernetl Module : 실행 파일에 의해 로드된 시스템 파일(.sys)이나 동적 라이브러리(.DLL)의 목록을 보여준다. 

 - Startup : 시작 지점에 등록된 레지스트리의 목록을 보여준다.

 - Win32 Services : 서비스로 실행되는 프로세스 목록을 보여준다.

 - SPI(Service Provider Interface) : 네트워크 드라이버에 로딩되어나 영향을 미치는 부분을 보여준다. 일부 루트킷의 경우 Winsock을 이용하여 특정 네트워크 패킷을 캡쳐하기도 하므로 이에 대한 점검으로 사용할 수 있다.

 - BHO(Browser Helper Object) : 브라우저나 시스템의 쉘 실행시 로딩되는 DLL들의 목록이다.

 - SSDT(System Service Descriptor Table) : 시스템의 메모리를 참고할 수 있게끔 하는 부분

 - Message Hooks : 프로그램 동작시 입출력 장치의 반응을 보여준다. 키 로거가 의심될 경우 이곳에서 확인 가능하다.

 - Log Process / Thread Creation : 어떤 프로세스가 어떤 것을 실행했는지 보여주는 것

 - Log Process Termination : 프로세스가 언제 종료되었는지 기록해 준다.

 - Scan Modules Hooks : 모듈들을 검사하여 특정 프로세스나 파일을 모니터링할 수 있다.

 - Registry : 윈도우의 레지스트리 편집기를 이용하여 접근할 수 없는 부분까지 접근 가능하다.

 - File : 숨김 폴더, 파일을 포함하여 시스템 폴더 파일까지 모두 볼 수 있으며 강제 삭제도 가능하다.

 - Reboot and Monitor : 부팅시 실행에 관한 모든 로그를 남긴다.

4. 결 론
대표적인 Rootkit Detection Tool에 대해서 알아보았다. Rootkit 샘플을 구할 수 있었으면 직접 분석하면서 툴의 사용법을 알아 볼 수 있었겠지만 그러지 못해 조금 아쉽긴 하다. Rootkit 탐색시 뿐만 아니라 일부 애드웨어나 스파이웨어 등 사용자를 귀찮게 하는 프로그램을 제거할 때도 매우 유용하게 사용될 수 있는 툴인 듯 하다.

                                                                +---------------------------------+
                                                                | Infinite Flow..                              |
                                                                | mail : geekspark@gmail.com         |
                                                                | Blog : http://sinun.tistory.com       |
                                                                | CISSP                                        |
                                                                +----------------------------------+
저작자 표시 비영리 변경 금지
신고
Posted by By. PHR34K