首页 > 系统相关 >Windows日志致盲与绕过

Windows日志致盲与绕过

时间:2024-08-12 20:27:13浏览次数:9  
标签:登录 记录 Windows 致盲 线程 事件 日志

前言

在渗透测试过程中,Windows日志往往会记录系统上的敏感操作,如添加用户、写计划任务、远程登录执行等操作,对于会审计的安全运维人员或者网络管理员来说,简直就是脱掉衣服走路,被看的一清二楚。对于比较高阶的渗透操作中,要讲究的是动作无感化,来无影去无踪。而对于防御者来说,了解常用的绕过方法也有助于更好的保护自己的系统。

Windows日志介绍

Windows系统日志是记录系统中硬件、软件和系统问题的信息,同时还可以监视系统中发生的事件。用户可以通过它来检查错误发生的原因,或者寻找受到攻击时攻击者留下的痕迹。

Windows主要有以下三类日志记录系统事件:应用程序日志系统日志安全日志

1.1 系统日志

记录操作系统组件产生的事件,主要包括驱动程序、系统组件和应用软件的崩溃以及数据丢失错误等。系统日志中记录的时间类型由Windows NT/2000操作系统预先定义。

默认位置:

 %SystemRoot%\System32\Winevt\Logs\System.evtx

1.2 应用程序日志

包含由应用程序或系统程序记录的事件,主要记录程序运行方面的事件,例如数据库程序可以在应用程序日志中记录文件错误,程序开发人员可以自行决定监视哪些事件。如果某个应用程序出现崩溃情况,那么我们可以从程序事件日志中找到相应的记录,也许会有助于你解决问题。

默认位置:

%SystemRoot%\System32\Winevt\Logs\Application.evtx

1.3 安全日志

记录系统的安全审计事件,包含各种类型的登录日志、对象访问日志、进程追踪日志、特权使用、帐号管理、策略变更、系统事件。安全日志也是调查取证中最常用到的日志。默认设置下,安全性日志是关闭的,管理员可以使用组策略来启动安全性日志,或者在注册表中设置审核策略,以便当安全性日志满后使系统停止响应。

默认位置:

%SystemRoot%\System32\Winevt\Logs\Security.evtx

Windows日志信息分析

对于Windows事件日志分析,不同的EVENT ID代表了不同的意义,摘录一些常见的安全事件的说明:

事件ID 说明
4624 登录成功
4625 登录失败
4634 注销成功
4647 用户启动的注销
4648 试图使用显式凭据登录。
4672 使用超级用户(如管理员)进行登录
4720 创建用户
4774 帐户已登录映射。
4775 无法映射的登录帐户。
4776 计算机试图验证的帐户凭据。
4777 域控制器无法验证帐户的凭据
4778 到窗口站重新连接会话。
4779 从窗口站,会话已断开连接。
6005 表示计算机日志服务已启动,如果在事件查看器中发现某日的事件D号为6005,就说明这天正常启动了windows系统。
6006 表示事件日志服务已停止,如果没有在事件查看器中发现某日的事牛ID为6006的事件,就表示计算机在这天没关机或没有正常关机

每个成功登录的事件都会标记一个登录类型,不同登录类型代表不同的方式:

图片

对于比较熟练操作日志的管理员来说,很快就可以将日志筛选出来。如果看出来有高危的。那小则排查发现主机,大则溯源。这样你的权限就会摇摇欲坠。

有的人说了,那我删掉不就好了。确实可以,没问题。但是windows也考虑到这一点了。比如不能单条删除、删除会有日志ID:6006。删掉对于一个合格的红队人员来说,为下下策。如下我将介绍删除的方法:

Windows日志的常用清除方法

Wevtutil.exe(不支持删除多条)

操作系统默认包含,支持系统:Win7及以上

常用命令如下:

(1) 统计日志列表,查询所有日志信息,包含时间,数目

wevtutil.exe gli Application

图片

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

wevtutil qe /f:text Security

图片

(3) 删除该类日志所有内容

wevtutil cl Application

Application日志全部清除,数目为0

Windows日志的绕过方法

绕过原理

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

由于只结束了实现日志功能的线程,所以Windows Event Log服务没有被破坏,状态仍为正在运行

我的思路如下:

  1. 定位eventlog服务对应进程svchost.exe的PID
  2. 遍历该进程中的所有线程
  3. 判断线程是否满足条件

Windows Event Log 服务需要调用wevtsvc.dll,完整路径

%WinDir%\System32\wevtsvc.dll

图片

并且,如果线程调用了wevtsvc.dll,就可以判读该线程实现了日志记录功能

  1. Kill掉记录日志线程,注意是线程

这里我使用C++完成了这个功能:

运行如下:

运行前:

图片

运行后:

图片

看到日志已经关闭

启动还原

可以使用启动服务方式重新加载线程

net start eventlog

或主机重启后自己加载。

标签:登录,记录,Windows,致盲,线程,事件,日志
From: https://www.cnblogs.com/nobunaga/p/18355688

相关文章

  • 虚拟机中创建Windows-详细步骤
    创建虚拟机1.创建新的虚拟机2.选择【自定义】新建,在点击【下一步】3.默认设置,点击【下一步】4.选择稍后安装操作系统,点击【下一步】5.根据需求选择版本,在点击【下一步】6.默认位置在C盘,建议更换位置,再点击【下一步】7.默认UEFI不变,点击【下一步】8.选择......
  • Windows命令行基础
    一、什么是命令行命令行的基本概念命令行是一种通过在文本界面输入指令来与计算机进行交互的方式。用户可以通过命令行输入特定的命令来执行各种操作,例如文件管理、系统管理和网络操作等。命令行与图形界面的区别与图形界面相比,命令行更加灵活高效,可以直接通过指令完成任......
  • Windows10下Docker安装Mysql5.7
    一、环境说明:docker:v4.25.0mysql:5.7二、 打开命令工具打开WindowsPowerShell 三、搜索镜像dockersearchmysql  四、拉取镜像拉取最新版本dockerpullmysql 拉取特定版本dockerpullmysql:5.7 五、查看所有镜像dockerimages 六、启......
  • windows C++-C++/WinRT 中创建组件和事件(下)
    跨ABI的简单信号如果无需连同事件传递任何形参或实参,则可以定义自己的简单Windows运行时委托类型。以下示例展示Thermometer运行时类的更简易版本。它声明名为SignalDelegate的委托类型,然后使用该类型来引发信号类型事件,而不是具有参数的事件。//ThermometerWRC.i......
  • windows C++-使用 C++/WinRT 的集合
    在内部,Windows运行时集合具有大量复杂的移动部件。但要将集合对象传递到Windows运行时函数,或要实现自己的集合属性和集合类型时,C++/WinRT中有函数和基类可以提供支持。这些功能消除复杂性,并节省大量时间和精力上的开销。IVector是由元素的任意随机访问集合实现的Windo......
  • windows下nginx配置开机自启动
    (1)、WindowsServiceWrapper工具下载工具下载URL:https://github.com/winsw/winsw/releases   (2)、WindowsServiceWrapper工具安装配置第一步:下载后将该工具放入Nginx的安装目录下,并且将其重命名为nginx-service.exe第二步:在nginx安装目录下新建服务日志文件夹:server......
  • 解决阿里云CLB的健康检查后业务日志中出现“Connection reset by peer”的错误
    目录起因排查过程问题原因解决方案方案一:更换监听类型(TCP→HTTP/HTTPS)方案二:日志过滤方案三:关闭日志级别info推荐方案起因环境:阿里专有云平台今天发现nginx日志中频繁出现类似Connectionresetbypeer的网络连接错误排查过程起初怀疑是Nginx配置问题,但检查后确认配置正......
  • Windows 更改 C盘用户目录下用户名
    Windows真是一个神奇的OS,在你安装系统的时候,你只要联网就要你用微软登录,其次你的用户名还是你的邮箱地址前5位字母,看起来非常难受,甚至有些人一直用的中文用户名,看来没吃过路径的亏。修改注册表win+R输入regedit,找到ProfileList。在S-1-5-开头的项,找到包含ProfileImage......
  • Matlab卸载指南——for Windows
    Matlab卸载指南——forWindows背景:由于需要学习师兄的Simulink仿真的系统框图,需要使用R2022b及以上的版本才能打开文件。而本人的Matlab版本正好为R2022a……因此,不得不删掉旧版本的Matlab,去下载更新版本的软件。正好曾经上大学前捣鼓电脑时给自己下过一个Matlab,但由于乱操作......
  • Windows Defender SmartScreen 已阻止启动一个未识别的应用?
    您开发软件(.exe,.cab,.dll,.ocx,.msi,.xpi,.xap等),用户在下载的时候提醒,“WindowsDefenderSmartScreen已阻止启动一个未识别的应用启动,行此应用可能会导致您的电脑存在风险”该怎么解决?一 如何消除提示如果需要消除这一提示,这使用EV代码签名证书对这个软件进行数字签名!其......