작업관리자에서 notepad.exe 프로세스 숨기기
- notepad.exe를 실행 후 작업관리자로 확인
<notepad.exe – 작업관리자 프로세스 확인>
– [dt _EPROCESS (notepad.exe의 Address)] 명령어를 실행 후 ActiveProcessLinks를 확인한다.
– 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 프로세스 숨기기 완료>