Windows Authentication Package DLLs are loaded by the Local Security Authority (LSA) process at system start. They provide support for multiple logon processes and multiple security protocols to the operating system. (Citation: MSDN Authentication Packages)
Adversaries can use the autostart mechanism provided by LSA Authentication Packages for persistence by placing a reference to a binary in the Windows Registry location HKLM\SYSTEM\CurrentControlSet\Control\Lsa\ with the key value of "Authentication Packages"=. The binary will then be executed by the system when the authentication packages are loaded.
T1131は「Authentication Package(認証パッケージの悪用)」として定義されてるテクニックです。
Windowsの認証システムを支える LSA(Local Security Authority) に、悪意のある「認証パッケージ(Authentication Package)DLL」をロードさせることで、ユーザーがログインした際の未暗号化パスワード(プレーンテキスト)を窃取したり、「永続化(Persistence)」を達成したりする手法です。
この手法で攻撃者は、「OSの正規ログイン処理に完全に割り込み、パスワードが暗号化される前にそのまま盗み出すこと」を実現します。
生パスワードの窃取:
ユーザーがWindowsにサインインした際に入力するパスワード文字列を、ハッシュ化される前の「平文」の状態でそのまま傍受してファイル等に記録します。
強固な永続化:
認証のコアプロセスである lsass.exe の内部で動作するため、一度仕込まれるとOS起動のたびに自動実行され、セキュリティソフトからの検知をすり抜けやすくなります。
認証パッケージは、ユーザーのパスワードが正しいかどうかを検証する資格を持った極めて重要なコンポーネントです。そのため、これを改ざん・追加するには、事前に管理者権限(Administrator)またはSYSTEM権限が必要になります。
カスタムDLL(認証パッケージ)の配置:
ユーザーが入力したパスワードを特定のログファイルに書き出す機能などを持つ、悪意のあるカスタムDLLをシステムフォルダ(C:\Windows\System32\ など)に配置します。
レジストリの改ざん:
Windowsが起動時に読み込むべき正規の認証パッケージの一覧が定義されている、以下のレジストリキーを書き換えます。
HKLM\SYSTEM\CurrentControlSet\Control\Lsa\Authentication Packagesmsv1_0 などの正規パッケージが登録されていますが、攻撃者はその末尾に自分が配置したマルウェアDLLの名前を追記します。システムの再起動:
システムが次回再起動されると、LSAプロセス(lsass.exe)がこのレジストリを参照し、攻撃者のDLLを認証パッケージとして自身のメモリ空間へ自動的にロードします。
パスワードの横取り:
その後、ユーザーがPCにログインしようとすると、入力されたパスワードがこの悪意あるパッケージを通過します。マルウェアはパスワードを平文のまま奪取し、C2サーバーへ送信するか、隠しファイルに書き出します。
認証プロセスのメモリおよびレジストリの保護が最優先されます。
LSA保護(RunAsPPL)の有効化:
これが最も有効な防御策です。 LSA保護を有効にすると、Microsoftの正規のデジタル署名がないDLLは、たとえ管理者権限を持つプロセスであっても lsass.exe にロードできなくなります。
レジストリの厳重な監視:
HKLM\SYSTEM\CurrentControlSet\Control\Lsa\Authentication Packages への書き込み変更を、EDRやSysmon(Event ID 13: RegistryEvent)で常時監視します。通常、この値が頻繁に変更されることはありません。
Credential Guardの導入:
仮想化ベースのセキュリティ(VBS)機能である「Windows Defender Credential Guard」を有効にすることで、認証情報の秘密を隔離されたメモリ空間に保護し、lsass.exe が侵害された場合のリスクを最小限に抑えます。
T1101(SSP)との違いと共通点:
SSP(Security Support Provider):
主にネットワーク認証や特定の暗号化プロトコル(NTLM、Kerberosなど)を処理するモジュール。
Authentication Package:
主にローカルサインイン時などのユーザー認証ロジックを処理するモジュール。
共通点:
どちらも lsass.exe にDLLを読み込ませて平文パスワードを狙うアプローチであり、攻撃の効果や防御策(LSA保護など)がほぼ同じであるため、現在のMITRE ATT&CKでは T1556.002 という1つのコードにまとめられています。
CWE-287: Improper Authentication:
認証システム拡張の仕組みにおける安全性の検証不備。
CWE-732: Incorrect Permission Assignment for Critical Resource:
認証パッケージのリストを管理する重要なレジストリに対するアクセス権限の不備。
Windowsの標準的な拡張仕様を逆手に取ったものであるため、パスワード窃取ツールの代名詞が利用します。
mimilib.dll など)が含まれており、多くのハッカーやペネトレーションテスターに利用されてきました。この攻撃(T1131 / T1556.002)は、攻撃者が「すでに端末の最高権限を奪取した後に、さらに他のアカウントのパスワードを芋づる式に盗むため」に仕掛けるケースがほとんどです。
レジストリ .../Control/Lsa/Authentication Packages の中に、msv1_0 以外の見慣れない文字列(例:mimilib やランダムな英数字のDLL名)が混ざっていないかを確認することが、不審な挙動を検知するファーストステップになります。
この攻撃手法に関連する CVE は登録されていません。