관리 메뉴

HeeJ's

[02] 프로세스 이동 :: Anti Memory Forensics/Volatility 본문

<Project>/<Anti Memory Forensic>_2020

[02] 프로세스 이동 :: Anti Memory Forensics/Volatility

meow00 2020. 7. 30. 19:44

우회에 사용할 sample.vmem을 볼라틸리티로 열어주었다.

 

ps() 명령어로 활성화되어있는 프로세스들을 확인해주었다.

 

여기서, System 프로세스의 offset을 이용해 EPROCESS 구조체를 확인해보려고 한다.

구조체 중, 0x188에 위치한 ActiveProcessLinks에 주목해야 한다.

 

EPROCESS 안에 있는 ActiveProcessLinks의 Flink, Blink를 통해서 다른 프로세스로 이동하기 때문이다.

 

LIST_ENTRY는 Flink와 Blink로 이루어져 있고, Flink는 다음 프로세스를, Blink는 이전 프로세스를 가리키는 포인터이다.

 

이제, System 프로세스의 LIST_ENTRY를 확인해보자.

 

다음 프로세스인 smss.exe로 이동하기 위해 Flink값을 사용해서 EPROCESS를 다시 확인해보았다.

 

여기서, smss.exe로 이동하려면, Flink에서 0x188을 빼주어야 한다.

ActiveProcessLinks가 0x188에 위치하기 때문이다.

뒷부분에 더 많은 내용이 담겨있지만, 지금 필요하지 않은 부분이므로 생략

맨 처음에 프로세스들의 offset을 확인했을 때, 노랗게 칠한 부분과 smss.exe의 offset이 같은 것을 확인함으로써,

smss.exe의 EPROCESS를 확인하고 있다는 것을 알 수 있다.

 

 

이번엔 smss.exe의 Blink를 통해 다시 System 프로세스로 돌아가보자.

노란 색을 칠한 부분과 System의 offset이 같은 것을 확인함으로써 System의 EPROCESS를 확인하고 있다는걸 알 수 있다.

smss.exe의 Blink를 통해 System으로 이동한 것을 확인할 수 있었다.

 

 

[출처]

사랑하는 우리 플젝 팀장님 블로그 S2

-> https://blog.naver.com/i1004yu/221988167152