Windows的事件日志都存放在 C:WindowsSystem32winevtLogs
目录下。以evtx后缀结尾。
事件日志是在windows上记录重要事件发生的特殊文件,当用户登录系统或者程序报错时,就会被记录。对 我的电脑右键菜单管理→事件查看器可以查看
。
安装python_Evtx
直接使用如下命令安装即可。
pip install python-evtx
如果没有安装pip,下载 get-pip.py
运行后,在python安装目录有个script目录,里面有安装好后的脚本,将该目录设为环境变量,就可以直接使用pip命令。
python_Evtx 解析日志文件
python_Evtx能够Evtx格式的日志文件解析成可读的XML文件
import mmap
import contextlib
from Evtx.Evtx import FileHeader
from Evtx.Views import evtx_file_xml_view
def MyFun():
EvtxPath = "D:Application.evtx" #日志文件的路径
with open(EvtxPath,'r') as f:
with contextlib.closing(mmap.mmap(f.fileno(),0,access=mmap.ACCESS_READ)) as buf:
fh = FileHeader(buf,0)
# 构建一个xml文件,根元素是Events
print ""
print ""
# 遍历事件
for xml, record in evtx_file_xml_view(fh):
print xml
print ""
if __name__ == '__main__':
MyFun()
输出的事件如下(只取了其中一个),有很多节点:
4625
0
4
0
0
0x0080000000000000
1
Application
KEN-PC
86400
SuppressDuplicateDuration
SoftwareMicrosoftEventSystemEventLog
我们需要着重关注的是EventID、EventData、TimeCreated。
这段脚本运行完毕后会将该文件所有的事件日志信息输出,但我们并不需要如此对所有的事件分析,只分析我们感兴趣的部分。下面就是我改进后的代码:
import mmap
import contextlib
from Evtx.Evtx import FileHeader
from Evtx.Views import evtx_file_xml_view
from xml.dom import minidom
def MyFun():
EvtxPath = "D:Application.evtx"
with open(EvtxPath,'r') as f:
with contextlib.closing(mmap.mmap(f.fileno(),0,access=mmap.ACCESS_READ)) as buf:
fh = FileHeader(buf,0)
print ""
print ""
for xml, record in evtx_file_xml_view(fh):
#只输出事件ID为16384的内容
InterestEvent(xml,16384)
print ""
# 过滤掉不需要的事件,输出感兴趣的事件
def InterestEvent(xml,EventID):
xmldoc = minidom.parseString(xml)
# 获取EventID节点的事件ID
eventID = xmldoc.getElementsByTagName('EventID')[0]
if EventID == eventID:
print xml
if __name__ == '__main__':
MyFun()
常见的一些事件ID
事件ID
名称
描述
20, 24, 25, 31, 34, 35
Windows-Update-Failure
windows更新失败
104, 1102
Microsoft-Windows-Eventlog
正常情况下是不可能被清除的,除非是攻击者为了清除痕迹。
106
Microsoft-Windows-TaskScheduler
显示最新注册的计划任务
1014
Microsoft-Windows-DNS-Client
DNS解析超时。这个也是非常有用的,恶意程序经常用来测试是否连接到目标网站。
2004, 2005, 2006, 2033
Firewall-Rule-Add/Change/Delete
正常用户一般不会修改防火墙规则
3004
Microsoft-Windows-Windows Defender
WD杀毒检测日志
4720, 4724, 4725, 4728, 4732, 4635,4740, 4748, 4756
Microsoft-Windows-Security-Auditing
能够找到远程登录信息,以及用户提权等相关信息
7030, 7045
Service-Control-Manager
监视服务是配置成与桌面交互还是安装在系统中。
8003, 8004, 8006, 8007
App-Locker-Block/Warning
记录被阻止运行或警告的程序信息
注意:本文来源网络/媒体,本站无法对本文内容的真实性、完整性、及时性、原创性提供任何保证,
请您自行验证核实并承担相关的风险与后果!
CoLaBug.com遵循[CC BY-SA 4.0]分享并保持客观立场,本站不承担此类作品侵权行为的直接责任及连带责任。
如您有版权、意见、投诉等问题,请通过[eMail]联系我们处理,如需商业授权请联系原作者/原网站。