WMIC를 이용한 원격관리 및 탐지 시그니처 생성

  1.  

    WMI(Windows Management Instrumentation)란?

    WMI는 엔터프라이즈 네트워크에서 관리 정보를 액세스하고 공유하는 표준을 만들기 위하여 Microsoft에서 구현한 것이다.

     

    WMIC(Windows Management Instrumentation Command-line)란?

    WMI에 대한 간단한 명령 줄 인터페이스를 제공하므로 WMI를 사용하여 Window를 실행하는 컴퓨터를 관리할 수 있다. Shell 및 유틸리티 명령과 상호 작용하여 한 컴퓨터부터 다수의 컴퓨터까지 원격으로 관리할 수 있으며, 관리 스크립팅 을 통하여 자동화까지 가능하다.

    WMIC는 기본적으로Window XP 이상에서만 로드 된다.

     

    WMIC를 이용한 시스템 관리

    WMIC의 기능을 살펴보면, Cmd.exe 커맨드에서 볼 수 없었던 상세한 기능들을 사용할 수 있다.

    기능은 사용자계정관리, 시스템관리, 프로세스관리, 이벤트로그관리, 서비스관리, 네트워크관리 등등 수 많은 기능이 있다.

     

    대표적인 기능은 아래와 같다. (참고: http://211.56.237.23/ex2comp/9037)

    위 캡처 이미지와 같이 "wmic startup startup list brief" 를 입력하면, 시스템의 시작프로그램 목록이 간략히(brief)나열 된다.

     

     

    또한, WMIC의 OUTPUT을 htm, html, txt, csv 등으로 저장하여 볼 수도 있다.

위 캡처 이미지와 같이 htm으로 출력하면 보면 커맨드 라인보다 깔끔히 볼 수 있다.

 

 

WMIC를 이용한 원격 시스템 관리

WMIC를 이용하여 원격으로 시스템에 접근 및 관리할 수 있다.

단, 해당 계정의 HOST명 또는 IP주소를 알아야 하고, User명과 Password 도 아는 상황에서 원격 시스템관리가 진행 가능하다.

 

"Wimc /node:[HOST IP] /user:[계정명] /passwoard:[패스워드] bios list /format" 명령어 입력 시,

로컬 계정에서 명령어를 입력하는 결과와 같이, 원격 호스트를 관리 할 수 있다.

 

 

 

Wimc /node:[HOST IP] /user:[계정명] /passwoard:[패스워드] process call create "cmd.exe /c ipconfig >>

\\172.30.1.10\share\result.txt" 입력시, cmd.exe 프로세스를 생성과 동시에 ipconfig를 실행하고, 172.30.1.10의 공유폴더

\Share\result.txt로 결과를 저장한다.

(참고: http://blog.commandlinekungfu.com/2009/05/episode-31-remote-command-execution.html)

 

 

WMIC 관련 탐지 시그니처 생성

WMIC 커맨드는 일반 유저들은 잘 사용하지 않고, NT계열의 서버 관리자들이 주로 사용하는 원격/로컬 관리 도구이다.

따라서, 일반적으로 원격으로 관리하지 않는다면, 해당 서비스는 차단/탐지가 필요하다. 또한, 원격제어에 있어 해당 시스템의

계정과/비밀번호를 알고 있는 상태에서 가능하다. 만약 다수의 계정과 비밀번호를 가지고 있다면, 동시에 다수컴퓨터를 원격으로 관리 할

수 있다. 다시 말해서, 동시에 다수의 시스템에게 명령을 하달 할 수 있다는 것은, 용도에 따라서는 악의적인 DDoS 공격에 사용될 수

있다.

 

해당 패킷은 A -> B 로 WMIC 원격, B -> A 로 WMIC 원격을 수행한 패킷중 SYN패킷만(접속시도) 필터링 한 패킷들이다.

공통점은 Port와 WindowsSize 이다. 이미 연결이 시작된 후 가 아닌, 연결을 시도하는 패킷을 추출하는 Rule은 다음과 같다.

alert tcp any any -> any 135 (msg: "Tcp_Syn_WMIC_winSize_8192_Port:135;Connection"; flags: S; window:8192;)

alert tcp any any -> any 1328 (msg: "Tcp_Syn_WMIC_winSize_8192_Port:1328;Connection"; flags: S; window:8192;)

'MEMO' 카테고리의 다른 글

Practical Malware Analysis(#14 Network_Signature)  (0) 2015.05.03
정규표현식(Regular Expression)  (0) 2015.05.02
Snort for windows & HSC  (0) 2015.05.02
CryptoPHP(CMS Backdoor)  (0) 2015.04.30
CVE-2014-6271(Shell Shock)  (0) 2015.04.30

+ Recent posts