Windows应急响应手册-常见问题的解决方法

常见问题的解决方法

0x01 文件被隐藏 ¶

Windows 常见的隐藏文件的手段有三个

  • 常规属性中勾选隐藏
  • attrib, 设置额外权限
  • NTFS 备用数据流(ads)

1. 设置隐藏属性 ¶

image-20240111212337038

image-20240111212359778

这种方式勾选查看中的显示隐藏的项目就可以找到

image-20240111212558198

2. attrib 设置额外权限 ¶

https://learn.microsoft.com/zh-cn/windows-server/administration/windows-commands/attrib

语法

attrib [{+|-}r] [{+|-}a] [{+|-}s] [{+|-}h] [{+|-}o] [{+|-}i] [{+|-}x] [{+|-}p] [{+|-}u] [{+|-}b] [<drive>:][<path>][<filename>] [/s [/d] [/l]]

参数 说明
{+ -}r
{+ -}a
{+ -}s
{+ -}h
{+ -}o
{+ -}i
{+ -}x
{+ -}p
{+ -}u
{+ -}b
[:][][] 指定要查看或更改其属性的目录、文件或文件组的位置和名称。 可以在 filename 参数中使用 ? 和 * 通配符来显示或更改一组文件的属性。
/s 将 attrib 和任何命令行选项应用于当前目录及其所有子目录中的匹配文件。
/d 将 attrib 和任何命令行选项应用于目录。
/l 将 attrib 和任何命令行选项应用于符号链接,而不是符号链接的目标。
/? 在命令提示符下显示帮助。

比较常见的隐藏方法

attrib +s +a +h +r 文件地址

其实也就是

  • 设置系统文件属性
  • 设置存档文件属性
  • 设置隐藏文件属性
  • 设置文件只读属性

将参看 -> 选项 -> 文件夹选项 -> 查看中的隐藏受保护的操作系统文件(推荐) 前面的选项取消勾选就可以看到了

image-20240111214236734

image-20240111214307222

image-20240111214330464

可以通过 attrib name 的方式查看某个文件或文件夹的属性

image-20240111214419477

确定属性后,可以通过 attrib -x 来取消相关属性设置

attrib -s -a -h -r 文件地址

image-20240111214607636

3. NTFS 备用数据流 ¶

在 NTFS 文件系统中允许一个文件或目录拥有多个独立的“数据流”(streams)。每个文件都有一个 主数据流 (默认可见的内容,例如文本文件里的文字),而 ADS 则是附加的“隐藏流”,可以存储额外的数据(如二进制、文本或元数据)。

攻击者可以将恶意内容放在隐藏流中,之后无论是二进制还是 webshell 这类的文本都可以正常调用,直接使用 dir 是看不到的

一般 ADS 的用途为: 互联网下载文件标记

Windows 使用 ADS 的 :Zone.Identifier:$DATA 流来标记文件来源(e.g., 从互联网下载的文件会附加这个流,记录“Internet Zone”)。这触发安全警告(如“此文件可能不安全”),并与 SmartScreen 或 Defender 集成。

1) 创建 NTFS 备用数据流 ¶

创建一个 NTFS 备用数据流方法如下:

echo "这是主数据流的内容(可见)。" > demo.txt

image-20250716213757549

echo "这是隐藏的备用数据流的内容(不可见)。" > demo.txt:hidden_stream.txt

image-20250716213914713

2) 使用自带命令查看和删除备用数据流 ¶

查看 NTFS 备用数据流

使用 type 和 dir 查看该文件

image-20250716214037705

如果想查看所有的数据流,需要使用 dir /r ,可以使用 more < xxx:xxx 来获取隐藏流的内容

image-20250716214413128

删除 NTFS 备用数据流

Windows 自带的命令(除 PowerShell) 无法直接删除隐藏流,但是可以通过置空的方法来完成

3) 使用 streams.exe 查看和删除备用数据流 ¶

SysinternalsSuite 中的 streams.exe 就是用来干这个的

查看 NTFS 备用数据流

streams64.exe -s <dir>

image-20250716214751754

image-20250716214820072

删除 NTFS 备用数据流

streams64.exe -d <file>

image-20250716215235150

4) 通过 PowerShell 查看和删除备用数据流 ¶

查看 NTFS 备用数据流

Get-Item -Path demo.txt -Stream *
Get-Content -Path demo.txt -Stream hidden_stream.txt

image-20250716215643589

删除 NTFS 备用数据流

Remove-Item -Path demo.txt -Stream hidden_stream.txt

image-20250716215802900

0x02 恶意文件被删除 ¶

1) 根据二进制文件执行记录查找 ¶

具体参照 常规安全检查 -> 0x01 近期活动

扫码_搜索联合传播样式-标准色版