WinDbg – 작업관리자에서 notepad.exe 프로세스 숨기기 (Windows XP 2/2)
WinDbg로 프로세스 EPROCESS 구조체를 조작하여 작업관리자에서 숨기기
-
notepad.exe를 실행 후 작업관리자로 확인

-
dt _EPROCESS (notepad.exe의 Address)명령어를 실행 후 ActiveProcessLinks를 확인한다.
ActiveProcessLinks
-
ActiveProcessLinks는 양 옆의 프로세스의 ActiveProcessLinks를 가르키를 연결리스트를 가지고 있다.

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

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

-
WinDbg를 이용하여 notepad.exe의 주위에 있는 프로세스의 ActiveProcessLinks의 값들을 수정하여 위의 구성처럼 만드는 작업이 필요하다.
- notepad.exe.의 ActiveProcessLinks의 값을 확인한다.
- Process A를 가리키는 Flink와 Process C를 가리키는 Blink를 확인 후 각 각 어떤 값을 갖고 있는지 확인한다.
- Process A의 Blink 와Process C의 Flink에는 각 각 notepad.exe.의 ActiveProcessLinks를 가리키는 주소값을 저장되어 있다.
- notepad.exe를 가리키는 값들을 각 각 서로를 향하도록 변경해야한다.

ed (Address) (Value)명령어를 이용하여 Process A의 Blink는 Process C를 가리키도록, Process C의 Flink는 Process A를 가리키도록 값을 변경한다.dd (Address)명령어를 이용하여 확인한다.g명령어를 이용하여 브레이크를 풀어준다.
- 위와 같은 과정을 성공하였을 경우 Windows XP 의 작업관리자를 확인하였을 때 notepad.exe가 프로세스목록에서 사라진 것을 확인할 수 있다.

Comments