본문 바로가기

Forensic/wargame & ctf

[ctf-d] GrrCON 2015 #5

이전 글 (#3, #4) https://ukkiyeon.tistory.com/203?category=1058612 

재부팅 후에도 지속성을 유지하는 데 사용되는 레지스트리 키?


**Run and RunOnce Registry keys**

 

이 레지스트리 키에 자동실행을 원하는 키 값을 작성하여 등록하면, 윈도우즈 OS에서 자동 실행이 가능하다.

악성코드는 이를 통해 침입 시스템에서의 생명주기를 늘려 악의적 행위를 지속 가능하다.

 

---

 

Run and RunOnce Registry keys 종류

1) HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run

 

2) HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run

- 등록된 키 값을 볼 수 있다. 해당 값들은 시작 시 실행되는 프로그램들이 등록되어 있는 것이다.

 

3) HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce

 

4) HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce

- RunOnce는 Run 키와는 다르게 부팅 시 등록된 값을 1회 실행 후 값을 삭제한다.

 

---

 

HKLM은 모든 사용자의 Run, RunOnce 키 값을 가지고 있다.

HKCU는 현재 로그인한 사용자에 대한 Run, RunOnce 키 값을 가지고 있다.

 

즉, 자동 실행하는 키 값은 컴퓨터의 모든 사용자에 대해 또는 특정 사용자 별로 설정 가능하다.

Run 레지스트리 키에 있는 값들은 항상 값이 유지가 되며, RunOnce에 있는 레지스트리 키의 값은 부팅 후 한 번 실행되고 나면 삭제된다.

 

**참고 https://twoicefish-secu.tistory.com/59

 

=> 재부팅 후에도 지속성을 유지하기 위해서는 Run 레지스트리 키에 등록이 되어야 한다. 따라서 Run 레지스트리를 살펴보려 한다.


Volatility의 printkey 플러그인을 사용하면 레지스트리 키 확인이 가능하다.

-K 옵션을 통해 경로를 지정하여 해당 레지스트리 관련 정보만 출력 가능하다.

 

위와 같이 ~~~ printkey -K "Microsoft\Windows\CurrentVersion\Run" 명령어를 사용했다.

그 결과, Run 레지스트리에 존재하는 2개의 레지스트리 키를 확인 가능했다.

 

VMware User Process와 MrRobot 중에, 실행 경로를 보면 MrRobot이 멀웨어가 사용하는 레지스트리 키임을 알 수 있다.

 

해결 ~