관리 메뉴

HeeJ's

[16] hives 우회하기(REGISTRY) :: Anti Memory Forensics/Rekall 본문

<Project>/<Anti Memory Forensic>_2020

[16] hives 우회하기(REGISTRY) :: Anti Memory Forensics/Rekall

meow00 2020. 8. 12. 14:41

Volatility에서의 hivescan 플러그인과 hivelist 플러그인을 Rekall에서는 hives로 확인할 수 있다.

 

앞 글([15] hivelist 우회하기(REGISTRY) :: Anti Memory Forensics/Volatility)에서

\Windows\System32\Config\DEFAULT를 은닉해주었으므로,

Rekall을 이용해서 똑같은 필드를 은닉해볼것이다.

물리주소는 앞 글을 참고해서 사용해 줄 것이다.(Rekall에서는 가상주소만 나와있음)

 

 

task를 이용해 SOFTWARE의 CMHIVE의 HiveList값을 찾아주었다.

 

HiveList의 Flink값도 찾아주었다.

Volatility에서 확인해주었던 Flink값과 동일한 것을 확인할 수 있다.

 

C:\Windows\System32\Config\SOFTWARE의 물리주소로 이동해주었다.

여기서도 CMHIVE구조체의 시그니처들을 찾을 수 있었다.

 

CMHIVE 구조체의 HiveList가 있는 0x5d8만큼 이동해준 후,

 

Flink값을 확인해주었다.

 

이 자리에 DEFAULT의 Flink값을 넣어줄 것이기 때문에

 

같은 방법으로 C:\Windows\System32\Config\DEFAULT의 Flink값을 확인해주었다.

 

이 DEFAULT의 Flink 값으로

아까 HxD를 타고 이동한 SOFTWARE의 Flink값을 변조해주었다.

다시 Rekall에서 hives를 확인해주면

C:\Windows\System32\Config\DEFAULT가 은닉된 것을 확인할 수 있다.

 

 

Volatility에서 hivescan과 hivelist 플러그인은 pool tag변조와 linked list변조 두가지 다 적용 가능하였으나,

Rekall의 hives는 pool tag변조에는 은닉이 되지 않으며, linked list변조에는 은닉이 성공되는 것을 알 수 있다.