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

Windows应急响应手册-常见问题的解决方法
本文来自NOP Team常见问题的解决方法
0x01 文件被隐藏 ¶
Windows 常见的隐藏文件的手段有三个
- 常规属性中勾选隐藏
- attrib, 设置额外权限
- NTFS 备用数据流(ads)
1. 设置隐藏属性 ¶
这种方式勾选查看中的显示隐藏的项目就可以找到
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 文件地址 |
其实也就是
- 设置系统文件属性
- 设置存档文件属性
- 设置隐藏文件属性
- 设置文件只读属性
将参看 -> 选项 -> 文件夹选项 -> 查看中的隐藏受保护的操作系统文件(推荐) 前面的选项取消勾选就可以看到了
可以通过 attrib name 的方式查看某个文件或文件夹的属性
确定属性后,可以通过 attrib -x 来取消相关属性设置
attrib -s -a -h -r 文件地址 |
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 |
echo "这是隐藏的备用数据流的内容(不可见)。" > demo.txt:hidden_stream.txt |
2) 使用自带命令查看和删除备用数据流 ¶
查看 NTFS 备用数据流
使用 type 和 dir 查看该文件
如果想查看所有的数据流,需要使用 dir /r ,可以使用 more < xxx:xxx 来获取隐藏流的内容
删除 NTFS 备用数据流
Windows 自带的命令(除 PowerShell) 无法直接删除隐藏流,但是可以通过置空的方法来完成
3) 使用 streams.exe 查看和删除备用数据流 ¶
SysinternalsSuite 中的 streams.exe 就是用来干这个的
查看 NTFS 备用数据流
streams64.exe -s <dir> |
删除 NTFS 备用数据流
streams64.exe -d <file> |
4) 通过 PowerShell 查看和删除备用数据流 ¶
查看 NTFS 备用数据流
Get-Item -Path demo.txt -Stream * |
删除 NTFS 备用数据流
Remove-Item -Path demo.txt -Stream hidden_stream.txt |
0x02 恶意文件被删除 ¶
1) 根据二进制文件执行记录查找 ¶
具体参照 常规安全检查 -> 0x01 近期活动


















