Ejemplo n.º 1
0
 public XLogon(XEv ev680, XEv ev576) {
     this.ev576 = ev576;
     this.ev680 = ev680;
 }
Ejemplo n.º 2
0
        private void bLoadfrmSeclog_Click(object sender, EventArgs e)
        {
            using (WIP wip = WIP.Show(this)) {
                dt.Rows.Clear();

                EventLog ev    = new EventLog("Security");
                XEv      ev680 = null;
                foreach (EventLogEntry ent in ev.Entries)
                {
                    if (ent.Source != "Security" || ent.EntryType != EventLogEntryType.SuccessAudit)
                    {
                        continue;
                    }
                    int id = ((int)ent.InstanceId) & 0x3fffffff;
                    if (id == 564)
                    {
                        //削除されたオブジェクト:
                        //    オブジェクト サーバー:	Security Account Manager [0]
                        //    ハンドル ID:	1429160 [1]
                        //    プロセス ID:	1248 [2]
                        //    イメージ ファイル名:	C:\WINDOWS\system32\lsass.exe [3]

                        Ds.DTDelRow row = dt.NewDTDelRow();
                        row.日時          = ent.TimeGenerated;
                        row.オブジェクト      = "";
                        row.クライアントアカウント = "";
                        row.一次アカウント     = "";
                        row.Message     = new XEv(ent).Message;

                        XEv evObjHandle;
                        if (dictObjHandle.TryGetValue(ent.ReplacementStrings[1], out evObjHandle))
                        {
                            row.オブジェクト   = evObjHandle.ObjectName;
                            row.Message += "\r\n---\r\n" + (evObjHandle.Message);

                            XLogon evLogonId;
                            if (dictLogonId.TryGetValue(evObjHandle.ClientLogonId, out evLogonId))
                            {
                                row.クライアントアカウント = evLogonId.Account;
                                row.Message    += "\r\n---\r\n" + (evLogonId.Message);
                            }
                            if (dictLogonId.TryGetValue(evObjHandle.PrimaryLogonId, out evLogonId))
                            {
                                row.一次アカウント  = evLogonId.Account;
                                row.Message += "\r\n---\r\n" + (evLogonId.Message);
                            }
                        }

                        dt.AddDTDelRow(row);
                    }
                    else if (id == 680)   // アカウント ログオン
                    //ログオン試行者: MICROSOFT_AUTHENTICATION_PACKAGE_V1_0 [0]
                    //ログオン アカウント:  KU [1]
                    //ソース ワークステーション: DD11 [2]
                    // エラー コード: 0x0 [3]
                    {
                        ev680 = new XEv(ent);
                    }
                    else if (id == 576)
                    {
                        //新しいログオンへの特権の割り当て:
                        //    ユーザー名:	[0]
                        //    ドメイン:		[1]
                        //    ログオン ID:		(0x0,0x595A70) [2]
                        //    特権:		SeChangeNotifyPrivilege [3]
                        dictLogonId[ent.ReplacementStrings[2]] = new XLogon(
                            ev680,
                            new XEv(ent)
                            );
                        ev680 = null;
                    }
                    else if (id == 538)
                    {
                        //ユーザーのログオフ:
                        //    ユーザー名:	DD7$ [0]
                        //    ドメイン:		HIRAOKA [1]
                        //    ログオン ID:		(0x0,0xF027A2) [2]
                        //    ログオンの種類:	3 [3]
                        dictLogonId.Remove(ent.ReplacementStrings[2]);
                    }
                    else if (id == 560)
                    {
                        //オブジェクトのオープン:
                        //    オブジェクト サーバー:	Security [0]
                        //    オブジェクトの種類:	File [1]
                        //    オブジェクト名:	C:\Documents and Settings\KU\NetHood [2]
                        //    ハンドル ID:	4840 [3]
                        //    操作 ID:	{0,15252602} [4] [5]
                        //    プロセス ID:	5628 [6]
                        //    イメージ ファイル名:	C:\Proj\MkLnk\Debug\MkLnk.exe [7]
                        //    プライマリ ユーザー名:	KU [8]
                        //    プライマリ ドメイン:	DD11 [9]
                        //    プライマリ ログオン ID:	(0x0,0x101FC5) [10]
                        //    クライアント ユーザー名:	- [11]
                        //    クライアント ドメイン:	- [12]
                        //    クライアント ログオン ID:	- [13]
                        //    アクセス		%SYNCHRONIZE [14]
                        //            %ReadData (または ListDirectory)
                        //    特権		- [15]
                        //    制限された SID 数: 0 [16]
                        dictObjHandle[ent.ReplacementStrings[3]] = new XEv(ent);
                    }
                    else if (id == 562)
                    {
                        //ハンドルのクローズ:
                        //オブジェクト サーバー:	Security [0]
                        //ハンドル ID:	4840 [1]
                        //プロセス ID:	5628 [2]
                        //イメージ ファイル名:	C:\Proj\MkLnk\Debug\MkLnk.exe [3]
                        dictObjHandle.Remove(ent.ReplacementStrings[1]);
                    }
                }

                dt.AcceptChanges();
            }
        }
Ejemplo n.º 3
0
        private void bLoadfrmSeclog_Click(object sender, EventArgs e) {
            using (WIP wip = WIP.Show(this)) {
                dt.Rows.Clear();

                EventLog ev = new EventLog("Security");
                XEv ev680 = null;
                foreach (EventLogEntry ent in ev.Entries) {
                    if (ent.Source != "Security" || ent.EntryType != EventLogEntryType.SuccessAudit) continue;
                    int id = ((int)ent.InstanceId) & 0x3fffffff;
                    if (id == 564) {
                        //削除されたオブジェクト:
                        //    オブジェクト サーバー:	Security Account Manager [0]
                        //    ハンドル ID:	1429160 [1]
                        //    プロセス ID:	1248 [2]
                        //    イメージ ファイル名:	C:\WINDOWS\system32\lsass.exe [3]

                        Ds.DTDelRow row = dt.NewDTDelRow();
                        row.日時 = ent.TimeGenerated;
                        row.オブジェクト = "";
                        row.クライアントアカウント = "";
                        row.一次アカウント = "";
                        row.Message = new XEv(ent).Message;

                        XEv evObjHandle;
                        if (dictObjHandle.TryGetValue(ent.ReplacementStrings[1], out evObjHandle)) {
                            row.オブジェクト = evObjHandle.ObjectName;
                            row.Message += "\r\n---\r\n" + (evObjHandle.Message);

                            XLogon evLogonId;
                            if (dictLogonId.TryGetValue(evObjHandle.ClientLogonId, out evLogonId)) {
                                row.クライアントアカウント = evLogonId.Account;
                                row.Message += "\r\n---\r\n" + (evLogonId.Message);
                            }
                            if (dictLogonId.TryGetValue(evObjHandle.PrimaryLogonId, out evLogonId)) {
                                row.一次アカウント = evLogonId.Account;
                                row.Message += "\r\n---\r\n" + (evLogonId.Message);
                            }
                        }

                        dt.AddDTDelRow(row);
                    }
                    else if (id == 680) { // アカウント ログオン 
                        //ログオン試行者: MICROSOFT_AUTHENTICATION_PACKAGE_V1_0 [0]
                        //ログオン アカウント:  KU [1]
                        //ソース ワークステーション: DD11 [2]
                        // エラー コード: 0x0 [3]
                        ev680 = new XEv(ent);
                    }
                    else if (id == 576) {
                        //新しいログオンへの特権の割り当て:
                        //    ユーザー名:	[0]
                        //    ドメイン:		[1]
                        //    ログオン ID:		(0x0,0x595A70) [2]
                        //    特権:		SeChangeNotifyPrivilege [3]
                        dictLogonId[ent.ReplacementStrings[2]] = new XLogon(
                            ev680,
                            new XEv(ent)
                            );
                        ev680 = null;
                    }
                    else if (id == 538) {
                        //ユーザーのログオフ:
                        //    ユーザー名:	DD7$ [0]
                        //    ドメイン:		HIRAOKA [1]
                        //    ログオン ID:		(0x0,0xF027A2) [2]
                        //    ログオンの種類:	3 [3]
                        dictLogonId.Remove(ent.ReplacementStrings[2]);
                    }
                    else if (id == 560) {
                        //オブジェクトのオープン:
                        //    オブジェクト サーバー:	Security [0]
                        //    オブジェクトの種類:	File [1]
                        //    オブジェクト名:	C:\Documents and Settings\KU\NetHood [2]
                        //    ハンドル ID:	4840 [3]
                        //    操作 ID:	{0,15252602} [4] [5]
                        //    プロセス ID:	5628 [6]
                        //    イメージ ファイル名:	C:\Proj\MkLnk\Debug\MkLnk.exe [7]
                        //    プライマリ ユーザー名:	KU [8]
                        //    プライマリ ドメイン:	DD11 [9]
                        //    プライマリ ログオン ID:	(0x0,0x101FC5) [10]
                        //    クライアント ユーザー名:	- [11]
                        //    クライアント ドメイン:	- [12]
                        //    クライアント ログオン ID:	- [13]
                        //    アクセス		%SYNCHRONIZE [14]
                        //            %ReadData (または ListDirectory)
                        //    特権		- [15]
                        //    制限された SID 数: 0 [16]
                        dictObjHandle[ent.ReplacementStrings[3]] = new XEv(ent);
                    }
                    else if (id == 562) {
                        //ハンドルのクローズ:
                        //オブジェクト サーバー:	Security [0]
                        //ハンドル ID:	4840 [1]
                        //プロセス ID:	5628 [2]
                        //イメージ ファイル名:	C:\Proj\MkLnk\Debug\MkLnk.exe [3]
                        dictObjHandle.Remove(ent.ReplacementStrings[1]);
                    }
                }

                dt.AcceptChanges();
            }
        }
Ejemplo n.º 4
0
 public XLogon(XEv ev680, XEv ev576)
 {
     this.ev576 = ev576;
     this.ev680 = ev680;
 }