Post

WinDbg – 작업관리자에서 notepad.exe 프로세스 숨기기 (Windows XP 2/2)

  • notepad.exe를 실행 후 작업관리자로 확인

    notepad.exe – 작업관리자 프로세스 확인

  • dt _EPROCESS (notepad.exe의 Address) 명령어를 실행 후 ActiveProcessLinks를 확인한다.

    notepad.exe

  • ActiveProcessLinks는 양 옆의 프로세스의 ActiveProcessLinks를 가르키를 연결리스트를 가지고 있다.

    Process 간 ActiveProceesLinks 연결

  • 간단히 보면 아래와 같이 설명할 수 있다.

    notpead.exe ActiveProcessLinks 예시1

  • 위 구조에서 프로세스를 숨기기 위해서는 아래 그림과 같이 구성되어야 한다. 즉 notepad.exe 프로세스를 제외하고 다른프로세스 끼리 연결리스트를 구성하고 있어야한다.

    notepad.exe ActiveProcessLinks 예시2

  • WinDbg를 이용하여 notepad.exe의 주위에 있는 프로세스의 ActiveProcessLinks의 값들을 수정하여 위의 구성처럼 만드는 작업이 필요하다.

    1. notepad.exe.의 ActiveProcessLinks의 값을 확인한다.
    2. Process A를 가리키는 Flink와 Process C를 가리키는 Blink를 확인 후 각 각 어떤 값을 갖고 있는지 확인한다.
    3. Process A의 Blink 와Process C의 Flink에는 각 각 notepad.exe.의 ActiveProcessLinks를 가리키는 주소값을 저장되어 있다.
    4. notepad.exe를 가리키는 값들을 각 각 서로를 향하도록 변경해야한다. 주소 확인
    5. ed (Address) (Value) 명령어를 이용하여 Process A의 Blink는 Process C를 가리키도록, Process C의 Flink는 Process A를 가리키도록 값을 변경한다.
    6. dd (Address) 명령어를 이용하여 확인한다.
    7. g 명령어를 이용하여 브레이크를 풀어준다. Flink, Blink 변경 후 확인

  • 위와 같은 과정을 성공하였을 경우 Windows XP 의 작업관리자를 확인하였을 때 notepad.exe가 프로세스목록에서 사라진 것을 확인할 수 있다. notepad.exe 프로세스 숨기기 완료
This post is licensed under CC BY 4.0 by the author.