[TIP#5] RID HIJACKING

* TIP 글은 Case 분석 시 참고할만한 내용 혹은 분석 과정에서 발견한 흔적에 대해 실험하고 연구한 내용을 간단히 작성한 글입니다.
This post is related case study or DFIR artifacts research.

* 본 글에서 상세한 내용은 언급되지 않습니다. 자세한 내용은 junhyeong.lee@plainbit.co.kr 메일로 연락 주시면 감사하겠습니다.
This post is so simple, If you are interested contact to me(junhyeong.lee@plainbit.co.kr)

TIP!

본 내용은 내부 발표 자료 중 일부를 발췌 한 것입니다.
This is an excerpt of some of the internal presentation materials.

침해사고에서 공격자는 백도어 계정을 생성하기도 하지만, Guest 계정을 백도어 계정으로 생성하기 위해 RID Hijacking을 시도하기도 합니다.
In a breach incident, an attacker creates a backdoor account, but also attempts RID hijacking to create a Guest account as a backdoor account.

RID Hijacking 기법은 윈도 운영체제에서 로그온한 계정에 토큰을 발급하는 과정에서의 취약한 부분을 이용하여 특정 계정에게 공격자가 의도한 계정의 권한을 부여하는 기법입니다. (해당 기법을 사용하기 위해서는 System 권한으로 권한 상승을 해야 합니다.)
The RID hijacking technique is a technique that exploits a vulnerability in the process of issuing tokens to accounts logged on by the Windows operating system to grant an attacker access to the account intended by the attacker. (The technique must be elevated to System privileges in order to use it.)

RID Hijacking 기법은 레지스트리를 수정해야 하기 때문에 프로그램을 통해 수행하는 것이 일반적인데, 프로그램 실행 흔적이 존재하지 않으면 실행 시점을 파악하기가 어렵습니다.
The RID hijacking technique is typically done through the program because the registry needs to be modified, but if there is no trace of the program's execution, it is difficult to know when to run it.

본 글에서는 Guest 계정에 Administrator 권한을 부여하는 RID Hijacking 기법 실행 시 프로그램 실행 흔적 대신 기법의 대상인 레지스트리 흔적을 통해 실행 시점을 파악할 수 있는 방법을 실험한 결과를 소개합니다.
This article introduces the results of experiments on how to determine when to run the RID hijacking technique, which grants administrator permission to Guest accounts, through the registry traces that are the subject of the technique, instead of program execution traces.

  1. RID Hijacking 대상이 SAM 레지스트리는 특정 key의 Value에서 RID를 저장하고 있고, RID Hijacking은 해당 RID를 특정 계정의 RID로 수정합니다.
    The target of ID hijackingSAM registry stores the RID at the value of a particular key, and RID hijacking modifies that RID to the RID of the particular account.

  1. 수정하는 과정에서 Registry “LastWrittenTime”이 변경되어 해당 키의 “LastWrittenTime”을 RID Hijacking의 수행시간으로 판단할 수 있습니다.
    During the modification process, the Registry "LastWrittenTime" is changed so that the "LastWrittenTime" of the corresponding key can be determined as the execution time of RID Hijacking.

  1. 단, 해당 Key의 Value는 정상 행위에 의해 수정될 수 있는 여지가 있어 판단할 때 해당 부분을 고려하여 판단 해야 합니다.
    However, there is room for the value of the key to be modified by normal behavior, so it should be considered when making a judgment.

* 본 실험은 장원희 주임연구원과 함께 진행했습니다.
This experiment was conducted with Junior Analyst Jang Won-hee.

* 참고로 본 글에서 레지스트리 분석 도구로 RegRipper를 사용했습니다. 요즘 많이 사용하는 Registry Explorer 도구는 RID Hijacking된 결과를 잘못 해석하고 있어 사용하지 않았습니다.
For your information, I used RegRipper as a registry analysis tool in this article. The Registration Explorer tool, which is widely used these days, was not used because it misinterpreted the RID hijacked results.

You've successfully subscribed to PLAINBIT
Great! Next, complete checkout to get full access to all premium content.
Error! Could not sign up. invalid link.
Welcome back! You've successfully signed in.
Error! Could not sign in. Please try again.
Success! Your account is fully activated, you now have access to all content.
Error! Stripe checkout failed.
Success! Your billing info is updated.
Error! Billing info update failed.