第四章 - windows 日志分析
1
审计桌面的 logs 日志,定位所有扫描 IP,并提交扫描次数
桌面上的 logs
文件夹快捷方式,其实际指向 C:\phpstudy_pro\Extensions\Nginx1.15.11\logs
将 logs
文件夹传回本地,对其中的 Nginx
日志进行分析
根据畸形请求包
可以确定 192.168.150.33
这个 ip 属于扫描器
根据非常见 User-Agent,以及常见扫描请求路径
可以确定 192.168.150.67
这个 ip 也属于扫描器
对 access.log
文件中的访问次数进行统计
┌──(randark ㉿ kali)-[~/tmp]
└─$ cat access.log | awk '{print $1}' | sort -n | uniq -c
169 127.0.0.1
524 192.168.150.1
54 192.168.150.33
1 192.168.150.60
6331 192.168.150.67
对 192.168.150.33
和 192.168.150.67
两个 ip 的访问次数进行统计,即可得到结果
flag{6385}
2
审计相关日志,提交 rdp 被爆破失败次数
服务器上已经提供了一份 FullEventLogView
工具,可以直接使用
根据登陆失败的日志
确认事件 id 为 4625
之后,筛选事件 id 为 4625
的事件
即可得到登陆失败的事件数量,即可得到答案
flag{2594}
3
审计相关日志,提交成功登录 rdp 的远程 IP 地址,多个以 & 连接, 以从小到大顺序排序提交
确定登陆成功的事件 id 为 4624
之后,筛选事件得到
将得到的结果导出为 txt 数据文件,导出到本地进行分析
with open("./a.txt", "r", encoding="utf-16-le") as f:
log_data = f.read().split("\n")
log_data_ip = [i.strip().replace("源网络地址:\t", "") for i in log_data if" 源网络地址 " in i]
log_data_ip = [i for i in log_data_ip if i != "-" and i != "127.0.0.1"]
log_data_ip_uniq = []
for i in log_data_ip:
if i not in log_data_ip_uniq:
log_data_ip_uniq.append(i)
log_data_ip_uniq.sort()
print(log_data_ip_uniq)
排除掉本次 RDP 连接 ip 地址之后,得到以下结果
['192.168.150.1', '192.168.150.128', '192.168.150.178', '192.168.150.33']