반응형

http://www.reversecore.com/29


Process Explorer



Windows 최고의 프로세스 관리 도구 Process Explorer 입니다.

https://technet.microsoft.com/en-us/sysinternals/bb896653.aspx

저 유명한 sysinternals (현재는 MS에 인수되었음) 의 Mark Russinovich 씨가 만든 프로세스 관리 유틸리티입니다.

이분은 Windows 운영체제에 대해서 매우 해박한 지식을 갖고 있으며,
유용한 유틸리티(FileMon, RegMon, TcpView, DbgView, AutoRuns, Rootkit Revealer, etc) 들을 만들어 공개하였습니다.

언젠가 한번은 FileMon 과 RegMon 의 소스 코드를 공개하신적이 있습니다. (지금은 없어졌지요.)
Windows 운영체제 초창기에 (맨땅에 헤딩하던) 시스템 드라이버 개발자들에게 있어서 
그 소스들은 그야말로 사막의 오아시스 같은 존재였습니다.

각설하고 Process Explorer 의 실행화면을 보실까요.


< Fig.1 - Process Explorer 실행화면 >

Windows 작업관리자와는 비교 할 수 없는 아주 뛰어난 화면 구성을 보여주고 있습니다.

화면 위의 좌측에는 현재 실행중인 프로세스들을 Parent/Child 의 트리 구조로 표시하고 있습니다. (무려 아이콘 까지!!!)
우측에는 프로세스 각각의 PID, CPU 점유율, 등록정보 등을 보여줍니다. (Option 을 통해 더 추가 가능)

화면 아래(욥션)에는 선택된 프로세스에 매핑된 DLL 정보 또는 해당 프로세스에서 오픈한 object handle 을 표시합니다.



구체적으로 뭐가 좋은거죠?


좋아 보이기는 하는데 구체적으로 뭐가 좋은건지 궁금하시죠?

저는 리버싱 할 때 항상 Process Explorer 를 같이 띄워놓고 합니다.
제가 Process Explorer 를 좋아하는 이유는 이렇습니다.

  • Parent/Child 프로세스 트리 구조
  • 프로세스 실행/종료시 각각의 색깔(초록/빨강)로 표시
  • 프로세스 suspend 기능 (실행 중지)
  • 프로세스 종료(kill) 기능 (Kill Process Tree 기능 지원)
  • DLL/Handle 검색 (프로세스에 인젝션된 DLL 검색 또는 특정 파일을 오픈한 프로세스 검색)

  • 이외에도 다양한 기능들이 있습니다만, 위 기능들이 특히 리버싱 할 때 많이 사용되는 기능들입니다.
    그리고 꾸준한 업데이트(버그 수정, 기능 추가)도 큰 장점입니다.



    sysinternals


    sysinternals 홈페이지에 가보시면 Process Explorer 의 미니 콘솔 버전들이 있습니다. 
    (PsKill, PsSuspend, PsList, etc)

    이 유틸들도 받아서 실행해 보세요. Process Explorer 의 기능을 축소시킨 멋진 콘솔 버전 프로그램들입니다.

    리버싱을 위해 Windows 내부구조를 공부하시는 분들께서는 간단히 이런 콘솔 프로그램을 따라 만들어 보세요.
    프로세스와 DLL 등에 대한 이해를 높일 수 있습니다.
    (제 경험상 따라 만드는 방법이 실력 향상을 위한 가장 좋은 방법입니다. ^^)



    이상으로 최고의 프로세스 관리 유틸리티 Process Explorer 에 대한 소개를 마칩니다.








    http://shinyhappy.tistory.com/25



    실행 중인 프로세스를 확인하고 관리하는데 보통 윈도우 작업관리자를 사용합니다.

    그러나 작업관리자로는 실행 중인 프로세스에 대한 충분한 정보를 얻을 수 없는 경우가 있습니다.

    실행 중인 프로세스에 대한 모든 정보를 알고 싶을 때는 MS의 Process Explorer를 사용합니다.

    Process Explorer는 Sysinternals에서 제작 배포하는 도구였으나 MS가 Sysinternals를 인수하여 Sysinternals 홈페이지는 MS Technet 사이트로 연결됩니다.

    Sysinternals 에서는 Process Explorer 이외에도 AutoRuns, Regmon, Filemon 같은 유용한 도구를 Free로 다운로드할 수 있습니다.

    [Process Explorer 다운로드]



    Process Explorer 실행

    다운로드 후에 압축을 풀고 "procexp.exe" 파일을 실행한 후 사용권계약서에 동의합니다.

    사용자 삽입 이미지

    Process Explorer 실행


    Process Explorer의 기본화면 입니다.

    실행중인 프로세스의 이름, CPU 점유율, 설명, 회사 이름이 기본으로 표시됩니다.
    Tree를 이용하여 프로세스 실행의 계층 관계를 확인할 수 있습니다.

    사용자 삽입 이미지

    Process Explorer


    옵션에서 Replace Task Manager 메뉴를 체크하면 윈도우 작업관리자를 대체합니다.

    이 경우 유명한 Ctrl+Alt+Delete 키를 누르게 되면 작업관리자 대신에 Process Explorer가 실행됩니다.

    사용자 삽입 이미지

    작업관리자 대체


    View 메뉴에서 Select Column을 선택하면, 추가 정보를 확인할 수 있습니다.

    사용자 삽입 이미지

    컬럼 선택



    여러가지 기능이 있지만 주로 사용하는 것은 Image Path와 Command Line 입니다.

    • Image Path : 실행 중인 프로세스의 전체 경로를 표시합니다.
    • Command Line : 실행 중인 프로세스의 명령줄 옵션을 표시합니다.

    사용자 삽입 이미지

    컬럼 선택 대화상자


    선택한 컬럼이 적용되었습니다. Path에는 실행 중인 프로세스의 전체 경로가 표시되고, Command Line에는 옵션 및 스위치 등의 명령줄이 표시됩니다.

    사용자 삽입 이미지

    컬럼 적용


    실행 중인 프로세스를 강제로 종료하고 싶을 때는 프로세스를 선택한 후 마우스 오른쪽 버튼 메뉴에서 Kill Process을 선택합니다.

    응답이 없는 프로그램, CPU 점유율이 지나치게 높은 프로세스, 악성코드 및 스파이웨어 제거에 유용하게 사용할 수 있습니다.

    Kill Process Tree 메뉴는 종속 관계로 실행된 모든 프로세스를 종료할 수 있습니다. Hooking을 하거나 종속관계로 실행되는 악성코드 제거에 유용하게 사용할 수 있습니다.

    사용자 삽입 이미지

    프로세스 종료


    반응형

    + Recent posts