[16] hives 우회하기(REGISTRY) :: Anti Memory Forensics/Rekall
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변조에는 은닉이 성공되는 것을 알 수 있다.