Process Explorer, Process Monitor

eunsukim·2024년 10월 12일

Exploring Windows Processes

1. What is a Process

  • 실행 중인 프로그램은 하나 이상의 프로세스로 구성된다.

    • 프로세스는 파일 핸들 및 네트워크 연결과 같은 리소스를 관리하는 컨테이너이다.
  • 프로세스는 하나 이상의 스레드를 포함한다.

  • 프로세스 속성은 악성 활동을 조사할 때 매우 중요한 요소가 될 수 있다.

2. Process Explorer

Sysinternals에서 제공하는 무료 유틸리티. 프로세스 탐색 및 조사 기능

  • 열린 핸들과 리소스:
    핸들(Handle)이란 운영체제에서 프로세스에 대한 참조 또는 식별자이다. 프로세스를 실행할 때, 사용되는 자원에 대하여 직접적인 접근 권한을 부여한다면 보안 문제가 발생할 수 있다. 프로세스는 자원에 대한 사용을 요청할 때 핸들값을 사용한다. Process Explorer는 각 프로세스가 현재 어떤 핸들을 열고 있는지(사용 중인지)를 보여준다.

  • 로드된 라이브러리:
    각 프로세스가 어떤 라이브러리를 로드하고 있는지를 보여준다.

  • 부모/자식 관계:
    프로세스 간의 부모/자식 관계를 트리 형태로 시각화하여 쉽게 파악할 수 있도록 한다.

Process Explorer에선 아래와 같이 Description 또는 Company name 칸이 존재한다. 멀웨어는 주로 해당 내용을 거짓으로 작성하여 사용자를 기망한다.

verify image signatures 옵션을 통해 Company name과 전자 서명이 일치하는지 자동으로 체크할 수 있다. 아래의 사진에서 mcsvhost.exe 는 일치하는 서명이 제공되지 않았으므로 멀웨어일 가능성이 있다.

Properties의 Security 탭에서 Integrity level을 확인할 수 있다.

Properties의 Strings 탭에서는 프로세스 메모리에서 추출된 다양한 문자열 정보를 확인할 수 있다.

  • DLL 파일: 프로세스에서 사용 중이거나 로드된 DLL에 대한 참조
  • 함수: 프로세스에서 호출되는 함수 이름이나 함수 참조
  • 파일 위치: 프로세스가 상호작용하는 파일 경로나 파일 위치

Q. Which of the following strings can indicate keylogging activity?



LowLevelKeyboardProc는 키보드 이벤트를 캡처하는 데 사용되는 함수이다. 이 함수는 키보드 후킹(keyboard hooking) 기능과 관련이 있으며, 이는 키로깅 활동(키 입력을 기록하는 활동)과 연관될 수 있다. 공격자는 해당 기능을 통해 username 또는 password 정보를 훔칠 수 있다.

Process Monitor (ProcMon)

Process Monitor는 마이크로소프트사에서 무료 제공하는 유틸리티이다.

  • 프로세스, 레지스트리, 네트워크, 파일 시스템의 동작에 대한 실시간 정보를 보여준다.

  • 광범위한 필터링 기능을 제공한다.

    PID를 이용한 필터링



    Operation type을 이용한 필터링 (WriteFile)


    Operation type을 이용한 필터링 (TCP send)

Q1.


tools -> system details


Q2.




Q5.



Q7.

일반적인 지속성(Persistent) 방법 중 하나는 레지스트리를 수정하는 것이다. Ctrl + F를 눌러 Run 또는 RunOnce키를 검색하면 레지스트리를 수정하는 cmd.exe 이벤트를 확인할수 있다.


Q8.


Procmon의 Cross Reference Summary는 둘 이상의 프로세스가 접근한 모든 경로를 나열한다. 각 행은 해당 경로와 그 경로에 읽기 및 쓰기 작업을 한 프로세스들을 보여준다.


Q9.


Tools -> Count Occurrences -> Command Line Count -> vssadmin

0개의 댓글