Windows 关键文件安全性排查(红蓝对抗)
参考文章
系统工具替换后门
排查:autoruns 工具,下载地址: Autoruns for Windows v13.98
此后门易被检测
类似可被替换的程序有:
- osk.exe
- Narrator.exe
- Magnify.exe
[[utilman]]辅助工具管理器
![[utilman]]
sethc.exe 轻松使用
经典的 shift 后门
修改注册表
HKEY\_LOCAL\_MACHINE\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Image File Execution Options
下sethc.exe
,添加一个Debugger
字符值(REG_SZ),并且赋值为 cmd.exe 的执行路径为C: \\windows\\system32\\cmd.exe
1 | REG ADD "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\sethc.exe" /t REG_SZ /v Debugger /d "C:\windows\system32\cmd.exe" /f |
这里有更高阶的使用方法,且不会被 autoruns 检测到: 打造不一样的 Shfit 映像劫持后门
后门账号
- 创建克隆 administrator 账号,且通过命令 net user 以及控制面板中的管理账户无法看到。
![[powershell#用户]]
1.创建后门用户
1 | net user defaultuser0$ somepasswordhere /add /y |
2.之后将 administrator 用户对应的 Users 中的 F 值复制替换后门账户的 F 值
3.导出 User 下面的后门账户以及 name 下面的后门账户两个文件。
4.通过命令删除刚才的后门用户
1 | net user defaultuser0$ /del |
5.通过注册表导入刚才保存的两个注册表
- 参考文章 Windows 系统的帐户隐藏
明文账号记录
- 安全支持提供程序(SSP)是 Windows API,用于扩展 Windows 身份验证机制。 LSASS 进程在 Windows 启动期间加载安全支持提供程序 DLL。这个时候攻击者可以将精心构造的 dll 加载之,这个 dll 可获取到 lsass 进程中的明文账号密码信息。mimikatz(mimilib.dll 或 memssp 内存补丁方式)实现了这一功能,并把记录到的明文账号密码信息保存在本地。
- 详见文章 Persistence – Security Support Provider
文件隐藏
attrib 命令隐藏
- windows 自带命令行工具 attrib 用来显示或更改文件属性。
- 优点:简单
- 缺点:暂无
- 排查:使用 attrib 命令或者 D 盾
使用 ADS 流隐藏 webshell
ADS 即 NTFS 文件流
- 使用 ADS 流隐藏 webshell,目前可过 D 盾扫描,注意 ADS 的一句话木马无法直接连接,可以使用 php 的 include 去包含执行
- 文章参考: 利用 ADS 隐藏 webshell
文章参考: Windows ADS 在渗透测试中的妙用 - 此外应该注意修改文件的 timestamp,可使用如下的[[powershell]]命令或者使用 NewFileTime 工具
1 | $(Get-Item ).creationtime=$(Get-Date "mm/dd/yyyy hh:mm am/pm") |
- 优点:较难检测
- 缺点:暂无
- 排查: dir /r
计划任务
- schtasks 和 at 命令,例如下面的命令
1 | #from https://github.com/diggles9991/MG/blob/master/XMR/Hook.ps1#L12 |
- 优点:简单
- 缺点:易被检测
- 排查: schtasks /query 命令进行查询或者通过计算机的管理查看,注意在 windows 的中文版系统中,schtasks 命令需要切换字符为美国英语格式,使用命令 chcp 437,或者直接工具 autoruns。
开机启动项
1 | HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run |
- 优点:重启权限维持
- 缺点:一般杀软均会拦截
- 排查:一个一个手工查太麻烦,建议直接上 autoruns。
- 20191022 更新
- 利用 windows 原生 API 去创建 regedit.exe 不能展示和导出的键值对
- 详见文章 invisible Reg Values ,缺点只是通过regedit.exe查看时候有隐藏效果,通过autoruns等工具还是会被发现。
服务
1 | sc create [ServerName] binPath= BinaryPathName |
- 优点:重启权限维持
- 缺点:一般杀软会拦截
- 排查:工具 autoruns
waitfor.exe
- 不支持自启动,但可远程主动激活,后台进程显示为 waitfor.exe
- 优点:远程主动激活
- 缺点:有 waitfor 进程
- 排查:通过 Process Explorer 工具查看是否有 waitfor.exe 进程,并进一步查看启动参数等。
bitsadmin 后门
- Bitsadmin 从 win7 之后操作系统就默认包含,可以用来创建上传或者下载任务。Bistadmin 可以指定下载成功之后要进行什么命令。后门就是利用的下载成功之后进行命令执行。
1 | #创建一个下载任务: |
- 可以参考这篇文章
- 优点:系统自带无需上传
- 缺点:免杀效果一般
- 排查:bitsadmin /list /verbose
WMI 后门(重点!)
- 在 2015 年的 blackhat 大会上 Matt Graeber 介绍了一种无文件后门就是用的 wmi。 更多可以参考
- 在 empire 中有相应的 module,作者参考使用了 Powersploit 里面的代码。
- 后门在系统重启五分钟之内触发且是 system 权限。
- 优点:无文件,相对来说难以排查
- 缺点:暂无
- 排查:工具 autoruns
COM 劫持
- 可以参考文章 打开文件夹就运行?COM 劫持利用新姿势
- 利用 CLR 实现一种无需管理员权限的后门 “主动型”后门,WMI添加环境变量需要重启系统生效
- 优点:隐藏性较好,autoruns 查不到
- 缺点:暂无
- 排查:检查环境变量和注册表键值
meterpreter 权限维持
- meterpreter 中的权限维持技术有两种,一种是 metsvc 的后门(服务后门),另外一种是 persistence(注册表后门)
- metsvc 是开机自启动的服务型后门
persistence 模块是先上传 vbs 脚本并执行 vbs 脚本修改注册表 HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run 从而完成自启动。
优点:开机自启动
缺点:容易被杀软杀
排查:像是这种后门使用 autoruns 基本都可以排查出来。
Empire persistence 模块(重点!!)
- Empire 是一款功能非常强大的后渗透攻击框架。其中的 persistence 模块提供了一系列权限维持方法。
- 工具还把权限维持分为了四大类,userland(普通权限)、elevated(需要高权限)、powerbreach(内存权限维持,重启后失效)、miscellaneous(其它)。
- 通过 info 命令查看使用方法
- 更多可以参考文章
- 优点:基本集成了大部分的权限维持方法
- 缺点:暂无
- 排查:工具 autoruns
进程注入(重点!!)
- 准确来说进程注入不是后门技术或者权限维持技术,而是一种隐藏技术,这里简单说一下 empire 的 psinject、cobaltstrike 的 inject 和 meterpreter 中的 migrate 进程注入,一般可以注入到像是 lsass 或者 explorer 这样的进程当中,相对比较隐蔽,较难排查。
- 使用方法这里就不介绍了,主要说一下如何 hunting。这篇文章 TALES OF A BLUE TEAMER: DETECTING POWERSHELL EMPIRE SHENANIGANS WITH SYSINTERNALS 里面介绍了如何hunting empire方法,empire有一些evasion detection机制,其中的网络连接时间设置能有效避开常见主机流量检测工具(包括netstat、tcpview)的检测,文章中也介绍了使用process monitor是最快也是最有效的方法。
- 但是在 hunting 进程注入的时候,并没有像文章中说的查找到以起始地址为 0x0 的线程,但会发现被注入的进程属性里会有.NET Assemblies 和.NET Performance 两个菜单。如下图所示
- 优点:较难排查
- 缺点:暂无
- 排查:工具 process explorer 、process monitor
BDF 后门
- BDF(The Backdoor Factory)可用来向可执行文件植入后门,修改程序执行流程,执行添加的 payload。
- 参考 利用 BDF 向 EXE 文件植入后门
Kali Linux: Backdoor-factory tool
- 当拿到内网权限之后,可以在存放公共下载的服务器上给某个软件加上这样的后门。
IIS 模块后门
[[域]]环境后门
other
- 除了以上的几种后门和权限维持技术外还有像是 dll 劫持、一些软件的插件后门、office 后门等。
Windows 关键文件安全性排查(红蓝对抗)