Stealing Windows Credentials
AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE) GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE)
資格情報 Mimikatz
Mimikatzができる他のことを このページで見つけてください。
Invoke-Mimikatz
ここでいくつかの可能な資格情報保護について学びましょう。 この保護は、Mimikatzが一部の資格情報を抽出するのを防ぐことができます。
Meterpreterによる資格情報
私が作成したCredentials Plugin を使用して、 被害者の内部で パスワードとハッシュを検索します。
AVのバイパス
Procdump + Mimikatz
SysInternalsのProcdumpは正当なMicrosoftツールであるため、Defenderに検出されません。 このツールを使用してlsassプロセスをダンプし、ダンプをダウンロードし、ダンプからローカルに資格情報を抽出できます。
このプロセスは自動的にSprayKatzを使用して行われます: ./spraykatz.py -u H4x0r -p L0c4L4dm1n -t 192.168.1.0/24
注意:一部のAVはprocdump.exeを使用してlsass.exeをダンプすることを悪意のあるものとして検出する場合があります。これは、"procdump.exe"と"lsass.exe"という文字列を検出しているためです。したがって、lsass.exeの名前の代わりにprocdumpにlsass.exeのPIDを引数として渡す方が隠密です。
comsvcs.dllを使用したlsassのダンプ
C:\Windows\System32
にあるcomsvcs.dllというDLLは、クラッシュが発生した場合にプロセスメモリをダンプする役割を担っています。このDLLには、rundll32.exe
を使用して呼び出すように設計された**MiniDumpW
という関数が含まれています。
最初の2つの引数を使用することは無関係ですが、3つ目の引数は3つのコンポーネントに分かれています。ダンプされるプロセスIDが最初のコンポーネントを構成し、ダンプファイルの場所が2番目を表し、3番目のコンポーネントは厳密にfull**という単語です。代替オプションは存在しません。
これら3つのコンポーネントを解析すると、DLLはダンプファイルを作成し、指定されたプロセスのメモリをこのファイルに転送します。
comsvcs.dllを利用することで、lsassプロセスをダンプすることが可能であり、procdumpをアップロードして実行する必要がなくなります。この方法の詳細はhttps://en.hackndo.com/remote-lsass-dump-passwords/に記載されています。
実行に使用されるコマンドは次のとおりです:
このプロセスは lssasyで自動化できます。
タスクマネージャーを使用してlsassをダンプする
タスクバーを右クリックし、タスクマネージャーをクリックします
詳細をもっとクリックします
プロセスタブで「Local Security Authority Process」プロセスを検索します
「Local Security Authority Process」プロセスを右クリックし、「ダンプファイルの作成」をクリックします。
procdumpを使用してlsassをダンプする
Procdumpは、sysinternalsスイートの一部であるMicrosoft署名のバイナリです。
Dumpin lsass with PPLBlade
PPLBlade は、メモリダンプを難読化し、ディスクに保存することなくリモートワークステーションに転送することをサポートする保護プロセスダンプツールです。
主な機能:
PPL保護のバイパス
Defenderの署名ベースの検出メカニズムを回避するためのメモリダンプファイルの難読化
ディスクに保存することなくRAWおよびSMBアップロードメソッドでメモリダンプをアップロードする(ファイルレスダンプ)
CrackMapExec
SAMハッシュをダンプする
LSAシークレットのダンプ
ターゲットDCからNTDS.ditをダンプする
ターゲットDCからNTDS.ditパスワード履歴をダンプする
各NTDS.ditアカウントのpwdLastSet属性を表示する
SAM & SYSTEMの盗難
このファイルはC:\windows\system32\config\SAMとC:\windows\system32\config\SYSTEM.に存在するべきです。しかし、通常の方法でコピーすることはできません。なぜなら、それらは保護されているからです。
レジストリから
これらのファイルを盗む最も簡単な方法は、レジストリからコピーを取得することです:
ダウンロード これらのファイルをあなたのKaliマシンに保存し、ハッシュを抽出するには:
ボリュームシャドウコピー
このサービスを使用して保護されたファイルのコピーを実行できます。管理者である必要があります。
vssadminの使用
vssadminバイナリはWindows Serverバージョンでのみ利用可能です。
しかし、Powershellからも同じことができます。これはSAMファイルをコピーする方法の例です(使用されるハードドライブは"C:"で、C:\users\Publicに保存されます)が、これは保護されたファイルをコピーするために使用できます:
Invoke-NinjaCopy
最後に、PSスクリプト Invoke-NinjaCopyを使用して、SAM、SYSTEM、およびntds.ditのコピーを作成することもできます。
Active Directory Credentials - NTDS.dit
NTDS.ditファイルはActive Directoryの中心として知られ、ユーザーオブジェクト、グループ、およびそのメンバーシップに関する重要なデータを保持しています。ここにはドメインユーザーのパスワードハッシュが保存されています。このファイルはExtensible Storage Engine (ESE)データベースであり、%SystemRoom%/NTDS/ntds.ditに存在します。
このデータベース内には、3つの主要なテーブルが維持されています:
データテーブル: このテーブルは、ユーザーやグループなどのオブジェクトに関する詳細を保存する役割を担っています。
リンクテーブル: グループメンバーシップなどの関係を追跡します。
SDテーブル: 各オブジェクトのセキュリティ記述子がここに保持され、保存されたオブジェクトのセキュリティとアクセス制御を確保します。
これに関する詳細情報: http://blogs.chrisse.se/2012/02/11/how-the-active-directory-data-store-really-works-inside-ntds-dit-part-1/
Windowsは_Ntdsa.dll_を使用してそのファイルと対話し、_lsass.exe_によって使用されます。次に、NTDS.ditファイルの一部は**lsass
**メモリ内に存在する可能性があります(キャッシュを使用することによるパフォーマンス向上のために、最新のアクセスデータを見つけることができるかもしれません)。
NTDS.dit内のハッシュの復号化
ハッシュは3回暗号化されています:
BOOTKEYとRC4を使用してパスワード暗号化キー(PEK)を復号化します。
PEKとRC4を使用してハッシュを復号化します。
DESを使用してハッシュを復号化します。
PEKはすべてのドメインコントローラーで同じ値を持っていますが、NTDS.ditファイル内ではドメインコントローラーのSYSTEMファイルのBOOTKEYを使用して暗号化されています(ドメインコントローラー間で異なります)。これが、NTDS.ditファイルから資格情報を取得するためにNTDS.ditとSYSTEMファイルが必要な理由です(C:\Windows\System32\config\SYSTEM)。
Ntdsutilを使用したNTDS.ditのコピー
Windows Server 2008以降で利用可能です。
あなたはまた、ボリュームシャドウコピーのトリックを使ってntds.ditファイルをコピーすることもできます。SYSTEMファイルのコピーも必要であることを忘れないでください(再度、レジストリからダンプするか、ボリュームシャドウコピーのトリックを使用してください)。
NTDS.ditからハッシュを抽出する
NTDS.ditとSYSTEMファイルを取得したら、_secretsdump.py_のようなツールを使用してハッシュを抽出できます:
あなたは有効なドメイン管理者ユーザーを使用して、自動的にそれらを抽出することもできます:
大きな NTDS.dit ファイルについては、gosecretsdumpを使用して抽出することをお勧めします。
最後に、metasploit モジュール: post/windows/gather/credentials/domain_hashdump または mimikatz lsadump::lsa /inject
を使用することもできます。
NTDS.dit から SQLite データベースへのドメインオブジェクトの抽出
NTDS オブジェクトは、ntdsdotsqliteを使用して SQLite データベースに抽出できます。秘密だけでなく、取得した生の NTDS.dit ファイルからさらに情報を抽出するために、オブジェクト全体とその属性も抽出されます。
SYSTEM
ハイブはオプションですが、秘密の復号化を可能にします(NT & LM ハッシュ、平文パスワード、Kerberos または信頼キー、NT & LM パスワード履歴などの補足資格情報)。他の情報とともに、以下のデータが抽出されます:ハッシュを持つユーザーおよびマシンアカウント、UAC フラグ、最終ログオンおよびパスワード変更のタイムスタンプ、アカウントの説明、名前、UPN、SPN、グループおよび再帰的メンバーシップ、組織単位ツリーおよびメンバーシップ、信頼されたドメインと信頼の種類、方向および属性...
Lazagne
こちらからバイナリをダウンロードします。このバイナリを使用して、いくつかのソフトウェアから資格情報を抽出できます。
SAMおよびLSASSからの資格情報抽出のための他のツール
Windows Credentials Editor (WCE)
このツールは、メモリから資格情報を抽出するために使用できます。ダウンロードはこちらから: http://www.ampliasecurity.com/research/windows-credentials-editor/
fgdump
SAMファイルから資格情報を抽出します。
PwDump
SAMファイルから資格情報を抽出します
PwDump7
ダウンロードはこちらから: http://www.tarasco.org/security/pwdump_7 そして 実行するだけで パスワードが抽出されます。
防御
AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE) GCPハッキングを学び、実践する: HackTricks Training GCP Red Team Expert (GRTE)
Last updated