痕迹清理技战术
内网横向移动是指在网络内部的不同系统之间进行移动,通常是为了达到特定的目标,如获取敏感信息、控制系统资源等。在进行内网横向移动时,会留下一系列痕迹,这些痕迹可能包括登录日志、文件访问记录、进程创建记录等。痕迹清理的目的在于尽可能地消除这些痕迹,以避免被网络管理员或安全系统发现,从而保护自己的身份和行动的隐秘性。
痕迹清理的目的
- 隐蔽性:通过清理痕迹,可以减少被发现的可能性,从而在目标网络中保持更长时间的隐蔽性。
- 防止追踪:清理痕迹可以防止安全分析师通过日志和其他记录追踪公鸡者的行动路径。
- 维持访问权限:在某些情况下,痕迹清理可以帮助公鸡者维持对目标系统的访问权限,防止因被发现而导致的权限丧失。
- 提高行动成功率:痕迹清理可以降低被防御系统检测到的风险,从而提高公鸡行动的成功率。
痕迹清理注意事项
- 细致全面:痕迹清理需要尽可能全面,包括日志文件、临时文件、内存中的痕迹等,任何一个细节都可能导致行动的失败。
- 避免误操作:在清理痕迹的过程中,要避免对系统正常运行的文件和记录造成破坏,否则可能会引起管理员的注意。
- 使用专业工具:使用专业的痕迹清理工具可以提高清理的效率和彻底性,但同时也需要注意工具的使用痕迹。
- 计划性和预演:在实际操作之前,应该制定详细的计划,并进行模拟演练,以确保清理过程的顺利进行。
- 实时监控和应对:在痕迹清理过程中,应实时监控系统的反应,及时应对可能出现的问题,防止因清理痕迹而引发的异常情况。
痕迹清理的概述
痕迹清理是网络安全领域的一个重要环节,特别是在内网横向移动的过程中。它涉及到对各种痕迹的识别、清理和伪装,以达到隐藏自身行动的目的。痕迹清理不仅仅是在行动结束后的一次性操作,而是一个持续的过程,贯穿于整个行动的各个阶段。通过有效的痕迹清理,可以大大提高行动的成功率和安全性。
小结
痕迹清理是内网横向移动中不可或缺的一部分,其目的是为了隐蔽行动、防止追踪、维持访问权限和提高行动成功率。在进行痕迹清理时,需要特别注意操作的细致性、避免误操作、使用专业工具、制定详细计划并实时监控系统反应。只有这样,才能有效地实现痕迹清理的目标,确保行动的安全和成功。
第一痕迹清理通常用于入侵而不是渗投,通常渗投是提前知会过对方的。我们需要留下痕迹证明做过什么,产生什么样的影响。只有在入侵对方的时候,带有一定的公鸡性的时候,才会用到痕迹清理。在目前情况下只要没有正式的测试合同,都属于违法行为!
第二点,你永远没有办法完全清楚入侵的痕迹,所以做痕迹清理是清楚关键信息,隐藏或者是伪装自己
第三点,痕迹清理其实是数字取证的逆向过程,因为你只需要知道那些地方会留下敏感的数据。那么反过来删除这些敏感的数据,就是做痕迹清理。
Windows日志机制与日志清理
Windows操作系统有一个内置的日志机制,用于记录系统运行过程中的各种事件,包括应用程序日志、系统日志、安全日志等。这些日志对于系统管理员来说是非常重要的资源,可以帮助他们诊断问题、监控系统健康状况以及检测潜在的安全威胁。
日志机制
- 日志类型:
- 应用程序日志:记录应用程序级别的事件,比如应用程序崩溃、错误等。
- 系统日志:记录操作系统级别的事件,比如驱动程序问题、系统组件错误等。
- 安全日志:记录与安全性相关的事件,比如登录尝试、权限变更等。
- 日志存储位置:
- 日志文件通常存储在
%systemroot%\system32\config
目录下,其中winlog
文件包含了日志数据。
- 日志查看:
- 通过“事件查看器”(Event Viewer)工具可以查看系统日志。打开方式:
开始
->控制面板
->管理工具
->事件查看器
。
日志清理
由于日志文件会不断增长,占用大量磁盘空间,因此定期清理日志是一个好的实践。以下是几种常见的日志清理方法:
- 手动清理:
- 打开“事件查看器”,选择需要清理的日志类型(如“应用程序日志”),右键单击并选择“清除日志”选项。
- 使用脚本清理:
- 可以编写批处理脚本(.bat)来自动清理日志。例如,使用
forfiles
命令可以删除特定目录下符合一定条件的日志文件。
- 使用第三方工具清理:
- 有一些第三方工具,如 Elsave,可以用来远程清除Windows系统的日志。
- 计划任务清理:
- 可以通过Windows的“计划任务”功能,定期执行清理日志的脚本或命令。
注意事项
- 备份日志:在清理日志之前,建议先备份重要的日志文件,以防信息丢失。
- 权限问题:清理日志时可能需要管理员权限,确保有足够的权限来执行清理操作。
- 定期清理:建议定期清理日志,以保持系统的最佳性能状态。
- 主要包括:时间日志、web日志、ftp日志、邮件日志、数据库日志
通过合理的日志管理和清理,可以有效提升系统的性能和安全性。
演示
面板进行日志清理方法
cmd命令输入以下内容回车即可
eventwwr.msc
进入到事件查看器
选择Windows日志
在选择安全,就可以看到安全日志的内容了
就可以看之前的登录记录和之前做实验的日志清楚了
任意选择一条记录可以看到右侧栏里有一个清除日志的选项,直接点击清楚。就可以清楚相关的日志了,如果我们在系统和安全的日志里进行了删除操作,就会留下日志清楚这样一个记录。这种方式就是在面板进行日志清理方法
命令行清除日志方法
用管理员权限打开cmd
wevtutil cl system
wevtutil
:这是Windows事件日志实用工具,它允许用户管理事件日志和发布者。cl
:这是“clear log”的缩写,指示wevtutil
清除指定的日志。system
:这指的是系统事件日志,它包含由Windows系统组件生成的事件。
当你以管理员权限运行这个命令时,它会删除系统事件日志中的所有条目。使用这个命令时要小心,因为清除事件日志会删除可能用于故障排除或审计的重要信息。
wevtutil cl application
wevtutil cl application
的作用是清除Windows系统中“应用程序”日志中的所有条目。这意味着执行这个命令后,“应用程序”日志将不再包含以前记录的任何事件。
wevtutil cl security
wevtutil cl security
是一条用于 Windows 系统的命令,它通过 wevtutil
这个系统工具来清除安全事件日志。下面是对这条命令的简单解释:
wevtutil
:这是 Windows 事件工具(Windows Event Tool)的缩写,是一个命令行实用程序,用于管理 Windows 事件日志。它可以用来查询、导出、归档和清除事件日志。cl
:这是clear
的缩写,表示清除操作。在这个上下文中,它指示wevtutil
执行清除某个特定类型的日志。security
:这是要清除的日志类型。在 Windows 系统中,有多种类型的日志,如应用程序日志、系统日志和安全日志等。security
指的是安全日志,它记录了与系统安全相关的事件,如登录尝试、权限更改和其他安全相关的操作。
综合起来,wevtutil cl security
命令的作用是清除 Windows 系统中的安全事件日志。这个命令通常需要管理员权限才能执行,因为它涉及到系统安全的敏感操作。在渗投测试或系统维护过程中,可能会使用这样的命令来清理公鸡痕迹或管理日志文件。
wevtutil el
列出系统中所有日志的名称
wevtutil gli system
wevtutil gli system
是一条用于 Windows 系统的命令,它通过 wevtutil
这个系统工具来获取系统事件日志的信息。下面是对这条命令的简单解释:
wevtutil
:这是 Windows 事件工具(Windows Event Tool)的缩写,是一个命令行实用程序,用于管理 Windows 事件日志。它可以用来查询、导出、归档和清除事件日志。gli
:这是get-loginfo
的缩写,表示获取日志信息的操作。在这个上下文中,它指示wevtutil
获取某个特定类型的日志的基本信息。system
:这是要获取信息的日志类型。在 Windows 系统中,有多种类型的日志,如应用程序日志、系统日志和安全日志等。system
指的是系统日志,它记录了由 Windows 系统组件生成的事件,如驱动程序、系统服务和其他核心操作系统功能的启动和停止。
综合起来,wevtutil gli system
命令的作用是获取 Windows 系统中的系统事件日志的信息。执行这个命令后,你将获得关于系统日志的一些基本信息,例如日志的名称、状态、大小等。这个命令通常不需要管理员权限即可执行,因为它只是查询信息而不是修改日志。在系统管理和故障排查过程中,这类命令可以帮助用户了解系统日志的状态和内容。
wevtutil qe /f:text system
wevtutil qe /f:text system
是一个Windows命令行命令,用于查询系统事件日志并以文本格式输出结果。下面是对该命令各部分的解释:
wevtutil
: 这是Windows事件工具(Windows Event Utility)的命令行工具,用于管理和查询Windows事件日志。qe
: 这是query-events
的缩写,表示要查询事件。/f:text
: 这个选项指定了输出的格式。/f:
后面跟着的是格式类型,这里指定为text
,意味着输出将以纯文本格式显示,而不是XML格式。system
: 这是要查询的事件日志的名称。在这里,system
指的是系统事件日志,它包含了与操作系统相关的各种事件和错误信息。
综合起来,wevtutil qe /f:text system
命令的作用是从系统事件日志中查询事件,并将查询结果以纯文本格式输出到命令行窗口。这对于系统管理员来说是一个有用的工具,可以帮助他们监控和诊断系统问题。
PowerShel1 -Command "&(Clear-Eventlog -Log Application, System, Security}"
这个PowerShell命令是用来清除Windows系统中的应用程序日志、系统日志和安全日志的。下面是对这个命令的分解解释:
PowerShell
: 这是一个命令行界面,它是Windows操作系统的一个强大的脚本和自动化框架。-Command
: 这个参数告诉PowerShell执行后面的命令。"&"
: 这个符号用于调用一个函数或者执行一个命令块。Clear-Eventlog
: 这是PowerShell中的一个cmdlet(命令行接口工具),用于清除事件日志。-Log Application, System, Security
: 这是Clear-Eventlog
cmdlet的参数,指定要清除的日志类型。这里列出了三个日志类型:Application
(应用程序日志)、System
(系统日志)和Security
(安全日志)。
综合起来,这个命令的作用是通过PowerShell执行Clear-Eventlog
cmdlet,清除Windows系统中的应用程序日志、系统日志和安全日志。请注意,清除这些日志可能会导致重要的事件信息丢失,因此在执行此操作之前应该谨慎考虑,并且最好是在必要时才进行。此外,执行此操作通常需要管理员权限。
msf模块清除日志
run event_manager -i 查看事件日志
run event manager -c 清楚事件日志
clearev 清除安全、事件日志
停止日志记录线程
找到这个服务对应的进程,然后筛选出实现日志功能的进程,把这个进程结束掉就破坏了日志记录的功能。
来的win10虚拟机,要做这个功能就要下载一个软件,但是这个软件很容易被系统识别成目吗所以需要关闭防火墙和杀软
打开任务管理器-详细信息-排一下序
往下看会看到许多这个svch的exe可执行程序,这些线程就和记录日志有关,需要注意的是此类公鸡只结束了日志的线程,他的事件服务并没有被破坏,状态呢仍然是正在运行的。
这个就是本次实验要用到的程序
这个old里面就是本次要用到的PowerShell文件
需要下载的话可以访问这个GitHub地址
https://github.com/hlldz/Phant0m
这里面讲了很多的用法和参考文件,可以自行查阅
打开事件管理器
eventvwr.msc
点开Windows日志中的安全日志
右键管理员权限运行cmd
如果此时在cmd里运行一下安全有关的操作,日志系统就会记录下来。比如创建一个用户的操作,这里就不演示了
按照时间线来看,就能查到刚刚的操作了。
管理员身份运行PowerShell
使用命令将管理模式严格调整为不严格
Set-ExecutionPolicy Unrestricted
Set-ExecutionPolicy Unrestricted
是一个 PowerShell 命令,用于将执行策略设置为 Unrestricted
。
选择Y
Get-ExecutionPolicy Unrestricted#查看
我们只需要上传这一个文件就可以了,别的不用管,运行脚本即可
cd C:\Users\lonelyor\Downloads\PhantOm-master\old
切换到脚本所在位置
dir#查看一下
powershell -exec bypass#使用他
Import-Module .\Invoke-PhantOm. ps1
Invoke-PhantOm#当我们运行上述命令以后,我们使用这样一条命令
这样就利用成功了,接下来我们在进行安全相关的命令,就不会记录日志了
在服务这里找日志记录
可以看到正在运行的,线程就已经停了,再有操作的话也不会被记录了
创建用户
在看安全日志就已经不存在了。
恢复记录
可以看到指向了一个线程
把这个线程右键结束掉任务,然后再重新启动日志服务即可
net user test /del
net users
Windows 启动日志服务是指记录系统启动过程中的各种事件和服务启动情况的日志功能。虽然 Windows 操作系统本身并没有一个专门的服务来记录“启动日志”,但它通过事件查看器(Event Viewer)提供了一个详细的日志记录机制,其中包括系统启动时的各种事件记录。
如何查看启动日志
- 打开事件查看器:
- 按
Win + X
键,然后选择“事件查看器”(Event Viewer)。 - 或者在搜索栏中输入“事件查看器”,然后点击打开。
- 导航到系统日志:
- 在事件查看器中,找到“Windows 日志”(Windows Logs)。
- 展开“Windows 日志”,然后点击“系统”(System)。
- 筛选启动事件:
- 在“系统”日志中,您可以查找与启动相关的事件。
- 通常,您可以根据事件的时间戳来筛选启动期间发生的事件。
查看特定的启动事件
如果您想要查看特定的启动事件,可以通过以下步骤进行:
- 创建自定义视图:
- 在事件查看器中,选择“操作”菜单,然后选择“新建自定义视图”。
- 给新的自定义视图命名,例如“启动日志”。
- 配置查询:
- 在新创建的自定义视图中,右击选择“属性”。
- 在“属性”窗口中,可以设置过滤条件,例如只显示某一类别的事件(如启动事件)。
- 使用事件 ID 过滤:
- 启动相关的事件 ID 包括但不限于:
- 事件 ID 6005: 事件日志服务开始记录事件。
- 事件 ID 6006: 事件日志服务停止记录事件。
- 事件 ID 1074: 服务进入启动状态。
- 您可以根据这些事件 ID 来进一步过滤日志。
使用命令行工具
您还可以使用命令行工具来查看启动相关的事件,例如使用 wevtutil
或 powershell
:
# 使用 PowerShell 查看启动事件
Get-WinEvent -FilterHashtable @{LogName='System'; Level=4} | Format-Table TimeCreated, ProviderName, Id, Message
# 使用 wevtutil 查看启动事件
wevtutil qe System /rd:true /q:"*[System[(EventID=6005 or EventID=6006)]]"
以上命令可以帮助您查看与启动相关的事件记录
伪造日志与伪造文件修改时间
一样,用管理员身份运行PowerShell
eventcreate -lsystem(日志类型)-so administrator(谁生成的)-twarning(事件等级)-d"this is a test”(日志内容)-id 500(事件 ID)
打开事件查看器-系统-查看日期和时间
这样最新的日志就放在了最上面
将记事本的命令输入到PowerShell回车,回显告诉我们已经成功创建了
刷新完以后最上面这个就是我们刚刚创建的伪造的日志,来源是admin,用来混淆视听达到隐藏公鸡的目的
修改伪造文件修改时间
eventcreate -l system -so administrator -t warning -d "this is a test" -id 500
伪造文件修改时间
在资源管理器里创建一个txt
然后再PowerShell里运行
(ls"test.txt").CreationTime-”0l/11/2001 01:00:00"
资源管理器这里右键点击属性,可以看文件的创建时间就改到了2001年了
修改文件创建时间:`(ls'test.txt’).Creatinotallow="01/11/2001 01:00:00"
修改文件最后修改时间:`(ls'test.txt").LastWriteTime="02/22/2002 02:00:00"
修改文件最后访问时间:`(ls'test.txt).LastAccessTime="03/30/2003 03:00:00"
访问时间就变成了2003年
其他Windows痕迹清理
内网横向移动后的痕迹清理
文件系统痕迹
- 删除临时文件:
清理临时文件夹(如
%TEMP%
,%TMP%
)中的文件。 - 清理日志文件: 删除或修改可能记录了活动的日志文件。但需要注意,过度清理日志文件可能会引起怀疑。
- 删除或覆盖下载的文件: 如果在横向移动过程中下载了工具或脚本,应删除这些文件,并尽可能覆盖磁盘上的删除标记。
注册表痕迹
- 清理注册表项: 删除或修改注册表中可能记录了操作痕迹的键值。
- 清理计划任务: 如果创建了计划任务,记得删除或禁用它们。
进程痕迹
- 结束进程: 结束可能暴露横向移动的进程。
- 清理进程列表: 如果有记录进程活动的日志,应予以清理。
网络痕迹
- 清理网络连接记录: 清理与横向移动相关的网络连接记录。
- 关闭不必要的服务: 关闭在横向移动过程中开启的不必要的服务或端口。
用户界面痕迹
- 清理最近使用的文件列表: 清除最近使用的文件列表(如 MRU 列表)。
- 清除历史记录: 删除命令行工具的历史记录。
日志清理
- 清理事件日志:
使用
wevtutil
清除事件日志,但这样做可能留下明显的操作痕迹。 - 修改事件日志: 修改或替换事件日志条目,但这同样需要谨慎。
使用工具
有一些工具可以帮助进行痕迹清理工作,如:
- CCleaner:用于清理临时文件、注册表项等。
- Eraser:用于覆盖磁盘上的数据,防止数据恢复。
- LogonSimulator:模拟登录,可用于混淆日志。
- Sysinternal Suite:包括多个工具,如
PsExec
和ProcMon
,可以用于监控和清理进程活动。
注意事项
- 合法性:所有操作必须在合法授权的情况下进行。
- 备份:在进行任何清理工作之前,最好先备份相关数据。
- 审计:即使清理了痕迹,也可能留下其他形式的审计线索,因此应综合考虑安全策略。
net stop w3svc #清楚www日志
net stop w3svc
是一个命令,用于在 Windows 操作系统中停止 Internet Information Services (IIS) 的 World Wide Web Publishing Service,也称为 w3svc
服务。
常见用途
这个命令通常用于以下几种情况:
- 故障排除:当需要诊断 IIS 相关的问题时,可能会暂时停止服务来进行排查。
- 更新维护:在更新 IIS 或其配置之前,可能会先停止服务以避免影响当前运行的应用程序。
- 安全维护:在进行安全检查或修补漏动时,可能需要停止服务来确保安全措施生效。
在日志目录下使用
dle . #删除内容
删除以后再次运行
net start w3svc
再次启用服务就完成了整个的清楚工作
底下有最近使用文件,如何清除
点击查看-选项-常规
点击常规-隐私-清除
底下记录就不存在了
命令删除
C:\Users\%USERNAME%\Recent
del /f /s /q“%userprofle%\Recent*.*
用快捷键永久删除
shift+del键
Cipher
是 Windows 操作系统自带的一个命令行工具,主要用于加密文件或目录,也可以用于擦除空闲空间中的数据,从而防止敏感数据被恢复。使用 Cipher
来擦除空闲空间是一种安全的数据擦除方法,它可以多次覆写磁盘上的空闲空间,以确保旧数据无法被恢复。
Cipher 命令的基本用法
基本语法如下:
cipher [options] [directory]
常见的选项包括:
/W:n
:指定覆写次数。n
是一个整数,表示覆写的次数。/P
:擦除指定目录及其子目录下的所有空闲空间。/Q
:安静模式,不显示进度信息。
多次覆写空闲空间
如果你想使用 Cipher
来多次覆写磁盘上的空闲空间,可以使用 /W:n
选项指定覆写的次数。例如,覆写空闲空间三次:
cipher /W:3 /P /Q
这条命令将会:
- 使用三次随机数据覆写空闲空间。
- 擦除指定目录及其子目录下的所有空闲空间。
- 在安静模式下运行,不显示进度信息。
示例
假设你想擦除 C 盘根目录下的所有空闲空间,并且覆写五次,可以运行以下命令:
cipher /W:5 /P /Q C:
注意事项
- 覆写次数:越多的覆写次数意味着越高的安全性,但也需要更多的时间。根据需要选择合适的覆写次数。
- 性能影响:擦除空闲空间是一个耗时的过程,尤其是在覆写次数较多时。在此期间,系统的性能可能会受到影响。
- 不可逆性:一旦数据被覆写,就很难再恢复。因此,在执行此类操作前,请确保已经备份了所有重要的数据。
- 权限:你需要具有管理员权限才能执行
Cipher
命令来擦除空闲空间。
安全擦除的最佳实践
除了使用 Cipher
外,还有一些其他的工具和方法可以用来安全擦除数据,例如:
- DBAN(Darik's Boot and Nuke):一个用于硬盘擦除的专用工具。
- Eraser:一个 Windows 平台上的工具,可以擦除硬盘上的空闲空间和其他数据。
总之,使用 Cipher
多次覆写空闲空间是一种有效的数据擦除方法,可以增强数据的安全性。
Format 命令覆盖格式化
format
命令是 Windows 操作系统中用于格式化磁盘分区或可移动存储设备(如 USB 闪存驱动器、外部硬盘等)的工具。格式化可以清除磁盘上的所有数据,并创建新的文件系统。为了增强数据擦除的安全性,可以使用 /fs:ntfs /q /c
选项来进行覆盖格式化,以确保数据被彻底删除。
使用 Format 命令进行覆盖格式化
基本语法
format [drive_letter:] /fs:[file_system] [/q] [/c] [/v:volume_label]
其中:
drive_letter:
:指定要格式化的驱动器字母。/fs:[file_system]
:指定文件系统类型,默认是NTFS
。/q
:快速格式化(不扫描坏扇区)。在覆盖格式化中,不使用此选项。/c
:在格式化过程中覆盖旧数据,以确保数据被擦除。/v:volume_label
:指定卷标。
安全擦除数据的命令示例
如果你想要安全擦除一个磁盘分区(例如 D 盘),可以使用以下命令:
format d: /fs:ntfs /c
这条命令将会:
- 使用 NTFS 文件系统格式化 D 盘。
- 在格式化过程中覆盖旧数据,以确保数据被彻底删除。
注意事项
- 数据不可恢复:使用
/c
选项格式化磁盘会导致数据被永久删除,几乎不可能恢复。因此,在执行此操作之前,请确保已经备份了所有重要数据。 - 格式化时间:覆盖格式化通常比普通格式化耗时更长,因为它需要对磁盘上的每一个扇区进行覆写。
- 物理损坏检测:在格式化过程中,磁盘会被扫描以检测物理损坏。如果磁盘存在坏道或其他物理问题,格式化过程可能会失败或导致数据丢失。
- 权限:格式化操作需要管理员权限。
格式化过程
当你运行上述命令时,format
命令会提示你确认是否继续格式化操作。确认后,磁盘将被格式化,并且旧数据将被覆盖。
其他安全擦除方法
虽然 format
命令可以用于安全擦除数据,但对于更高层次的数据擦除需求,还有其他更专业的工具和方法,如:
- DBAN(Darik's Boot and Nuke):一个用于硬盘擦除的专用工具。
- Eraser:一个 Windows 平台上的工具,可以擦除硬盘上的空闲空间和其他数据。
- BitLocker 驱动器擦除:对于支持 BitLocker 加密的系统,可以在关闭 BitLocker 时选择擦除驱动器上的所有数据。
远程桌面连接记录清理
%userprofle%\documents\
default.rdp
这里是注册表路径
计算机\HKEY CURRENT USER\Software\Microsoft\Terminal Server Client\Default
可以看到有一个127.0.0.1的目标
新建一个bat脚本,就可以达到清楚远程桌面链接记录的内容。