Windows日志清除和Dll注入实现及排查小记

Windows日志常用清除方法

windows日志文件保存路径:C:/windows/system32/winevt/logs/

日志在注册表的键:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog

Wevtutil.Exe(部分日志需要管理员权限)

常用命令

1、查询所有日志信息,包含时间、数目、大小

 

2、查看指定类别的日志内容

 3、删除该类日志所有内容(需要管理员权限)

 

4、删除单条日志

不支持

应急排查

针对这种事件,在主机层面无恢复手段,但是在system.evtx日志中会留下一条事件ID为“104”日志清除记录,删除Security日志会在”Security.evtx”日志中留下事件ID为“1102”的日志清除记录

图形化操作方式(简单粗暴)

操作方法

开始–运行,输入“eventvwr”,进入事件查看器,选中要删除的日志,右键选择“清除日志”

应急排查

方法同上,在system留下 104 事件id日志,security留下 1102 事件id日志。

Clear-EventLog

操作方法

清除当前计算机的Application日志

Clear-EventLog -log Application

应急排查

同上,在system留下 104 事件id日志,security留下 1102 事件id日志

脚本停止日志记录

Windows日志对应于eventlog服务,找到该服务对应的进程svchost.exe,进而筛选出svchost.exe进程中具体实现日志功能的线程,调用TerminateThread结束线程,破坏日志记录功能

定位eventLog服务对应进程Svchost.eve的pid
遍历该进程中所有线程
判断线程是否满足条件(Windows event log服务需要调用wevtsvc.dll,完整路径为%WinDir%\System32\wevtsvc.dll,如果线程调用了该dll文件,就判断该线程实现了日志记录功能
结束线程,使用TerminateThread

 完整代码参考:https://github.com/hlldz/Invoke-Phant0m

Alt text

应急排查

通过此种方式,日志不再记录,但是清除日志操作,依旧会记录。

删除单条日志

参考:https://3gstudent.github.io/NSA-DanderSpiritz%E6%B5%8B%E8%AF%95%E6%8C%87%E5%8D%97-%E6%9C%A8%E9%A9%AC%E7%94%9F%E6%88%90%E4%B8%8E%E6%B5%8B%E8%AF%95

Dll注入

这里只针对注册表项的排查,更多的dll注入实现方式请参考文章:

ATT&CK-防御绕过之进程注入攻防分析

\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows(AppInit_DLL(T1546.010)

计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\WindowsAppInit_DLLs键值为DLL的路径,LoadAppInit_DLL的键值为1。

当User32.dll被加载到进程时,会读取AppInit_DLLs注册表项,如果有值,调用LoadLibrary()加载所设置的dll。另外此dll注入不是注入到所有运行进程,而是注入到所加载User32.dll的进程中。

 HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\(AppCertDlls(T1546.009)

当攻击者在注册表中HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\设置子项AppCertDlls,并创建键default赋值为dll路径,那么使用CreateProcess,CreateProcessAsUser,CreateProcessWithLoginW,CreateProcessWithTokenWWinExec等函数所创建的程序将会加载其DLL。

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options( IFEO(T1546.012)

映像劫持是通过篡改此注册表中的键值实现的,例如这里有onenote.exe项,再在这子项里新建一个REG_SZ类型的名字为Debugger键,内容为cmd.exe的值项。这样就轻易的实现映像劫持,当每次运行onenote.exe时都会运行cmd.exe程序。

(注:此种方式相当于点击onenote.exe时只打开cmd.exe)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值