본문 바로가기
악성코드 정보

Rootkit을 찾아서~! - IceSword 편

by 알 수 없는 사용자 2010. 4. 8.

오늘은 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가 제공하는 기능들을 모두 이해하여 악성코드에 당당히 대응하는 여러분이 되길 희망하며 이상으로 글을 마치도록 하겠습니다.
감사합니다. ^_^

댓글