Hackers use Windows RID hijacking to create hidden admin account

北朝鮮の脅威グループは、Windowsを騙して低特権アカウントを管理者権限を持つアカウントとして扱うRIDハイジャックと呼ばれるテクニックを使用している。

ハッカーたちは、乗っ取り攻撃にカスタム悪意ファイルとオープンソースツールを使用した。どちらのユーティリティもこの攻撃を実行できるが、韓国のサイバーセキュリティ企業AhnLabの研究者によると、違いがあるという。

RIDハイジャックの仕組み

Windowsの相対識別子(RID)は、セキュリティ識別子(SID)の一部であり、各ユーザーアカウントを区別するために割り当てられる固有のタグである。

RIDは、管理者には “500”、ゲストアカウントには “501”、一般ユーザーには “1000”、ドメイン管理者グループには “512 “といったように、アカウントのアクセスレベルを示す値を取ることができる。

RIDハイジャックは、攻撃者が低特権アカウントのRIDを管理者アカウントの値と一致するように変更し、Windowsがそのアカウントに昇格アクセスを許可することで発生する。

しかし、この攻撃を実行するにはSAMレジストリにアクセスする必要があるため、ハッカーはまずシステムに侵入し、SYSTEMアクセス権を得る必要がある。

RID hijacking process
RID ハイジャック・プロセス
ソースはこちら:ASEC

アンダリエル攻撃

AhnLabのセキュリティ・インテリジェンス・センターであるASECの研究者は、この攻撃は北朝鮮のハッカー集団Lazarusに関連するAndariel脅威グループによるものだとしている。

攻撃は、Andarielが脆弱性を悪用してターゲットにSYSTEMアクセスするところから始まります。

ハッカーたちは、PsExecやJuicyPotatoなどのツールを使ってSYSTEMレベルのコマンド・プロンプトを起動し、最初のエスカレーションを達成する。

SYSTEMアクセスはWindowsで最も高いレベルだが、リモート・アクセスはできず、GUIアプリと対話することもできない。

これらの問題に対処するため、Andarielはまず、”net user “コマンドを使用し、最後に’$’文字を追加することで、隠された低特権のローカル・ユーザーを作成した。

こうすることで、攻撃者は「net user」コマンドでアカウントが見えないようにし、SAMレジストリでのみ識別できるようにした。その後、彼らはRIDハイジャックを実行し、パーミッションをadminに増やした。

Hidden Andariel account on compromised Windows system
Windowsシステム上の隠されたAndarielアカウント
ソースはこちら:AhnLab

研究者によると、Andarielは自分たちのアカウントをRemote Desktop UsersとAdministratorsグループに追加した。

このために必要なRIDハイジャックは、Security Account Manager (SAM)レジストリの変更によって可能である。北朝鮮は、カスタムマルウェアとオープンソースツールを使用して変更を実行する。

Tools
ソースASEC

SYSTEMアクセスでは管理者アカウントの作成が直接可能ですが、セキュリティ設定によっては一定の制限が適用される場合があります。通常のアカウントの権限を昇格させることは、はるかにステルス性が高く、検出や阻止が困難です。

Andarielはさらに、変更されたレジストリ設定をエクスポートし、キーと不正なアカウントを削除し、保存されたバックアップから再登録することで、システムログに表示されることなく再アクティベーションを可能にし、その痕跡を隠そうとします。

RIDハイジャック攻撃のリスクを軽減するために、システム管理者は、LSA(Local Security Authority)サブシステムサービスを使用して、ログオン試行とパスワードの変更をチェックし、SAMレジストリへの不正アクセスと変更を防止する必要がある。

また、PsExec、JuicyPotato、および同様のツールの実行を制限し、Guestアカウントを無効にし、低特権であっても既存のすべてのアカウントを多要素認証で保護することが望ましい。

なお、RIDハイジャックは、セキュリティ研究者のSebastián Castroが DerbyCon 8でWindowsシステム上の永続化手法としてこの攻撃を発表した少なくとも2018年から知られていた。