0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

(仕事用備忘録)Windowsイベントログ ユーザ名列挙痕跡4625

0
Posted at

ユーザ名列挙に近いコードを書き、どんなログが出るか確かめました。

3回分ログがログが出ました。

image
ログの名前:         Security
ソース:           Microsoft-Windows-Security-Auditing
日付:            2026/08/22 15:35:23
イベント ID:       4625
タスクのカテゴリ:      Logon
レベル:           情報
キーワード:         失敗の監査
ユーザー:          N/A
コンピューター:       DESKTOP-1D3M8AH
説明:
アカウントがログオンに失敗しました。

サブジェクト:
	セキュリティ ID:		DESKTOP-1D3M8AH\test
	アカウント名:		test
	アカウント ドメイン:		DESKTOP-1D3M8AH
	ログオン ID:		0x60A40F3

ログオン タイプ:			2

ログオンを失敗したアカウント:
	セキュリティ ID:		NULL SID
	アカウント名:		太郎
	アカウント ドメイン:		DESKTOP-1D3M8AH

エラー情報:
	失敗の原因:		ユーザー名を認識できないか、またはパスワードが間違っています。
	状態:			0xC000006D
	サブ ステータス:		0xC0000064

プロセス情報:
	呼び出し側プロセス ID:	0xc74
	呼び出し側プロセス名:	C:\Users\test\kaihatsu\test.exe

ネットワーク情報:
	ワークステーション名:	DESKTOP-1D3M8AH
	ソース ネットワーク アドレス:	-
	ソース ポート:		-

詳細な認証情報:
	ログオン プロセス:		Advapi  
	認証パッケージ:	Negotiate
	移行されたサービス:	-
	パッケージ名 (NTLM のみ):	-
	キーの長さ:		0

このイベントは、ログオン要求が失敗した場合に生成されます。このイベントは、アクセスを試行したコンピューターで生成されます。

サブジェクトのフィールドは、ログオンを要求したローカル システム上のアカウントを示します。これは、サーバー サービスなどのサービスまたは Winlogon.exe や Services.exe などのローカル プロセスであることが最も一般的です。

ログオン タイプのフィールドは、要求されたログオンの種類を示します。最も一般的なタイプは、2 (対話型) と 3 (ネットワーク) です。

プロセス情報のフィールドは、ログオンを要求したシステム上のアカウントとプロセスを示します。

ネットワーク情報のフィールドは、リモート ログオン要求の送信元を示します。ワークステーション名は、常に表示されるとは限らず、場合によっては空白のままであることがあります。

認証情報のフィールドは、この特定のログオン要求に関する詳細情報を示します。
	- 移行されたサービスは、このログオン要求に関与した中間サービスを示します。
	- パッケージ名は、NTLM プロトコルのうち使用されたサブプロトコルを示します。
	- キーの長さは、生成されたセッション キーの長さを示します。これは、セッション キーが要求されなかった場合は 0 になります。
イベント XML:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
  <System>
    <Provider Name="Microsoft-Windows-Security-Auditing" Guid="{54849625-5478-4994-a5ba-3e3b0328c30d}" />
    <EventID>4625</EventID>
    <Version>0</Version>
    <Level>0</Level>
    <Task>12544</Task>
    <Opcode>0</Opcode>
    <Keywords>0x8010000000000000</Keywords>
    <TimeCreated SystemTime="2026-08-22T07:35:23.8915135Z" />
    <EventRecordID>392810</EventRecordID>
    <Correlation ActivityID="{afc34dc5-2b27-0002-064f-c3af272bdd01}" />
    <Execution ProcessID="892" ThreadID="3880" />
    <Channel>Security</Channel>
    <Computer>DESKTOP-1D3M8AH</Computer>
    <Security />
  </System>
  <EventData>
    <Data Name="SubjectUserSid">S-1-5-21-174186783-2995220913-2214441074-1001</Data>
    <Data Name="SubjectUserName">test</Data>
    <Data Name="SubjectDomainName">DESKTOP-1D3M8AH</Data>
    <Data Name="SubjectLogonId">0x60a40f3</Data>
    <Data Name="TargetUserSid">S-1-0-0</Data>
    <Data Name="TargetUserName">太郎</Data>
    <Data Name="TargetDomainName">DESKTOP-1D3M8AH</Data>
    <Data Name="Status">0xc000006d</Data>
    <Data Name="FailureReason">%%2313</Data>
    <Data Name="SubStatus">0xc0000064</Data>
    <Data Name="LogonType">2</Data>
    <Data Name="LogonProcessName">Advapi  </Data>
    <Data Name="AuthenticationPackageName">Negotiate</Data>
    <Data Name="WorkstationName">DESKTOP-1D3M8AH</Data>
    <Data Name="TransmittedServices">-</Data>
    <Data Name="LmPackageName">-</Data>
    <Data Name="KeyLength">0</Data>
    <Data Name="ProcessId">0xc74</Data>
    <Data Name="ProcessName">C:\Users\test\kaihatsu\test.exe</Data>
    <Data Name="IpAddress">-</Data>
    <Data Name="IpPort">-</Data>
  </EventData>
</Event>
C:\Users\test\kaihatsu>gcc test.c -o test.exe

C:\Users\test\kaihatsu>test.exe
Testing:   Login failed: 1326 (0x0000052E)
Testing:   Login failed: 1326 (0x0000052E)
Testing:   Login failed: 1326 (0x0000052E)

C:\Users\test\kaihatsu>
test.c
#include <windows.h>
#include <stdio.h>

int main(void)
{
    const wchar_t *users[] = {
        L"太郎",
        L"花子",
        L"テストユーザー"
    };

    const int count = sizeof(users) / sizeof(users[0]);

    for (int i = 0; i < count; i++) {
        HANDLE token = NULL;

        printf("Testing: %ls\n", users[i]);

        BOOL result = LogonUserW(
            users[i],
            L".",
            L"dummy_password",
            LOGON32_LOGON_INTERACTIVE,
            LOGON32_PROVIDER_DEFAULT,
            &token
        );

        if (result) {
            printf("  Login succeeded\n");
            CloseHandle(token);
        } else {
            DWORD error = GetLastError();
            printf("  Login failed: %lu (0x%08lX)\n",
                   error, error);
        }
    }

    return 0;
}
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?