@@ -23,14 +23,29 @@ def get_windows_login():
2323 elif i == 'Windows PowerShell.evtx' :
2424 log_dict ['powershell' ]= 'C:\\ Windows\\ System32\\ winevt\\ Logs\\ ' + i
2525
26- for y in log_dict .keys ():
27- print ('[+] windows日志:{}' .format (y ))
28- with open (log_dict [y ],'r' ) as f :
29- with contextlib .closing (mmap .mmap (f .fileno (),0 ,access = mmap .ACCESS_READ )) as buf : #内存映射处理
30- fh = FileHeader (buf ,0 ) #将二进制数据变成可视化xmla
31- a = evtx_file_xml_view (fh )
32- for xml ,rec in a :
33- get_id (xml ,conf .config .id )
26+ if conf .config .login_name == '' :
27+ print ('[+] 没有设置日志过滤,默认读取全部日志' )
28+ for y in log_dict .keys ():
29+ if conf .config .login_id != '' :
30+ print ('[+] 启用日志过滤' )
31+ print ('[+] windows日志:{}' .format (y ))
32+ with open (log_dict [y ],'r' ) as f :
33+ with contextlib .closing (mmap .mmap (f .fileno (),0 ,access = mmap .ACCESS_READ )) as buf : #内存映射处理
34+ fh = FileHeader (buf ,0 ) #将二进制数据变成可视化xml
35+ a = evtx_file_xml_view (fh )
36+ for xml ,rec in a :
37+ get_id (xml ,conf .config .id )
38+ else :
39+ print ('[+] 设置了日志过滤,只读日志:{}' .format (conf .config .login_name ))
40+ if conf .config .login_id != '' :
41+ print ('[+] 启用日志过滤' )
42+ print ('[+] windows日志:{}' .format (conf .config .login_name ))
43+ with open (log_dict [conf .config .login_name ], 'r' ) as f :
44+ with contextlib .closing (mmap .mmap (f .fileno (), 0 , access = mmap .ACCESS_READ )) as buf : # 内存映射处理
45+ fh = FileHeader (buf , 0 ) # 将二进制数据变成可视化xml
46+ a = evtx_file_xml_view (fh )
47+ for xml , rec in a :
48+ get_id (xml , conf .config .id )
3449
3550def get_id (xml ,id ):
3651 global EventData
@@ -46,8 +61,16 @@ def get_id(xml,id):
4661 eventid = str (ids [s ]).replace ('<EventID Qualifiers="">' ,'' ).replace ('</EventID>' ,'' )
4762 event_time = str (times [s ]).replace ('<TimeCreated SystemTime=' ,'' ).replace ('"' ,'' ).replace ('>' ,'' )
4863 data = 'ID:{} 时间:{} EventData:{}' .format (eventid , event_time ,EventData )
49- if eventid in id :
50- data = 'ID:{} 时间:{} 事件:{} EventData:{}' .format (eventid , event_time , id [eventid ],EventData )
51- print (data )
64+ if conf .config .login_id != '' :
65+ if eventid == conf .config .login_id :
66+ if eventid in id :
67+ data = 'ID:{} 时间:{} 事件:{} EventData:{}' .format (eventid , event_time , id [eventid ], EventData )
68+ print (data )
69+ else :
70+ print (data )
5271 else :
53- print (data )
72+ if eventid in id :
73+ data = 'ID:{} 时间:{} 事件:{} EventData:{}' .format (eventid , event_time , id [eventid ],EventData )
74+ print (data )
75+ else :
76+ print (data )
0 commit comments