AgentTesla 全球受害者情况分析

VSole2024-01-18 15:04:14

AgentTesla 是一个非常活跃的窃密类恶意软件,主要通过电子邮件附件进行传播分发。攻击者正在尝试使用 Telegram 回传数据,但主要还是靠邮件服务器。


恶意软件即服务


AgentTesla 是使用 .NET 开发的 Windows 恶意软件,主要从受害者的系统中窃取敏感信息。由于该恶意软件随处可用而且成本低廉,AgentTesla 被认为是商品化恶意软件的典型代表。恶意软件即服务使水平较低的犯罪分子也可以进行各种类型的攻击,对网络安全状况构成了重大威胁。自从 2014 年开始,AgentTesla 就成为了持续且广泛的威胁。


AgentTesla 也被称为 Negasteal 和 OriginLogger,主要是 2018 年 10 月该恶意软件被揭露后产生的变化。研究人员披露了该恶意软件背后的疑似攻击者,应该是土耳其人。当年信息被披露后,AgentTesla 突然就暂停了销售。2019 年 3 月,攻击者通过 Discord 宣布由于法律问题停止销售,但也介绍了替代方案 OriginLogger。


OriginLogger 实质上就是 AgentTesla 的变种,二者共享开发代码。对 AgentTesla 的检测方法对于识别 OriginLogger 也是有效的,OriginLogger 样本也会被检测为 AgentTesla 家族的恶意样本。和 AgentTesla 类似,OriginLogger 也是恶意软件即服务(MaaS)。OriginLogger 的网站如下所示:



OriginLogger 网站截图


网站售卖使用许可证,最长可达六个月。购买这些许可证后就能够获得使用恶意软件构建工具的权限,支持攻击者定制 AgentTesla 样本文件,包括数据泄露的方法。


由于 AgentTesla 和 OriginLogger 有许多相似之处,将其区分开非常有挑战。本文将二者统称为 AgentTesla,除非要对二者进行比较。


信息窃取程序


名称变化后,该恶意软件一直持续更新。AgentTesla 家族一直位于最常见、最流行的恶意软件排行榜前列,ANY.RUN、MalwareBazaar 与 Unpac.Me 等都可以证明。


通常来说,AgentTesla 会使用带有恶意附件的网络钓鱼邮件进行攻击。攻击者将恶意软件加载程序,如 GuLoader、PureCrypter 与 PrivateLoader,作为初始感染媒介。感染链启动后,最终 Payload 会进行持久化,尽可能保持更长时间收集用户凭据、按键记录、剪贴板信息和屏幕截图。具体来说,可以从浏览器、VPN 客户端、邮件客户端、FTP 客户端、VNC 客户端等应用程序收集各种敏感信息。


数据泄露可以通过各种协议实现,如 SMTP、FTP、HTTP、Telegram 与 Discord。2020 年 8 月,攻击者引入了 Telegram。2022 年 10 月,攻击者引入了 Discord。数据会以明文的形式回传给攻击者,以未加密的状态保留在服务器上。



数据回传


过去的三个月中,研究人员分析了 1500 余个 AgentTesla 样本的配置文件。配置文件中,大约四分之三都是利用电子邮件进行数据泄露。Telegram 已经占比达到 14%,而使用 HTTP 回传数据已经许久未用过了。


数据分析


分析人员分析了 3 个月内 210 次攻击行动中的受害者信息。2023 年 10 月到 12 月期间,至少 5300 台计算机被入侵,共计 2000 余个 IP 地址。根据情况看,受害者最多的是美国、中国与德国。



受害者分布情况


而 AgentTesla 回传的数据中,密码是最常见的。几乎所有共计都会窃取密码,如下所示:



数据泄露类别分类


顶级域名的词云如下所示,大多数是美国公司和中国公司,也有俄罗斯公司、土耳其公司和希腊公司。



按受害者数量排名


这些域名数据反映了受害者的国家分布情况,而查看顶级域名情况时。大多数受害者可能在欧洲,如土耳其、意大利、俄罗斯、波兰、希腊、罗马尼亚、德国和西班牙。



顶级域名排行


后续利用


攻击者获取了这些数据后,要么直接利用这些数据,要么直接出售以供进一步利用。直接利用时,攻击者通常会使用各种身份信息,将资金、加密货币或者其他有价值的资产从受害者账户转移到攻击者的账户。进一步利用时,攻击者可以将数据用于其他以利润为导向的攻击,例如勒索软件攻击和商业电子邮件泄露(BEC)攻击等。事实上,已经有攻击者利用 AgentTesla 恶意软件重定向东南亚、中东和北非的石油公司与天然气公司的金融交易。


总结


2014 年以来,AgentTesla 是一个以恶意软件即服务为卖点的 Windows 恶意软件。该恶意软件后来更名为 OriginLogger,也表明了该恶意软件的适应性。数据分析显示,AgentTesla 的数千名受害者主要在美国、中国与德国。大量数据被泄露,不仅直接构成财务威胁,还助长勒索软件和其他类型的攻击。


Yara


rule agent_tesla
{
    meta:
        description = "Detecting HTML strings used by Agent Tesla malware"
        author = "Stormshield"
        version = "1.0"

    strings:
        $html_username    = "<br>UserName&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;: " wide ascii
        $html_pc_name     = "<br>PC&nbsp;Name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;: " wide ascii
        $html_os_name     = "<br>OS&nbsp;Full&nbsp;Name&nbsp;&nbsp;: " wide ascii
        $html_os_platform = "<br>OS&nbsp;Platform&nbsp;&nbsp;&nbsp;: " wide ascii
        $html_clipboard   = "<br><span style=font-style:normal;text-decoration:none;text-transform:none;color:#FF0000;><strong>[clipboard]</strong></span>" wide ascii

    condition:
        3 of them
}

rule AgentTesla
{
    meta:
        author = "kevoreilly"
        description = "AgentTesla Payload"
        cape_type = "AgentTesla Payload"
    strings:
        $string1 = "smtp" wide
        $string2 = "appdata" wide
        $string3 = "76487-337-8429955-22614" wide
        $string4 = "yyyy-MM-dd HH:mm:ss" wide
        //$string5 = "%site_username%" wide
        $string6 = "webpanel" wide
        $string7 = "<br>UserName&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:" wide
        $string8 = "<br>IP Address&nbsp;&nbsp;:" wide

        $agt1 = "IELibrary.dll" ascii
        $agt2 = "C:\\Users\\Admin\\Desktop\\IELibrary\\IELibrary\\obj\\Debug\\IELibrary.pdb" ascii
        $agt3 = "GetSavedPasswords" ascii
        $agt4 = "GetSavedCookies" ascii
    condition:
        uint16(0) == 0x5A4D and (all of ($string*) or 3 of ($agt*))
}

rule AgentTeslaV2 {
    meta:
        author = "ditekshen"
        description = "AgenetTesla Type 2 Keylogger payload"
        cape_type = "AgentTesla Payload"
    strings:
        $s1 = "get_kbHook" ascii
        $s2 = "GetPrivateProfileString" ascii
        $s3 = "get_OSFullName" ascii
        $s4 = "get_PasswordHash" ascii
        $s5 = "remove_Key" ascii
        $s6 = "FtpWebRequest" ascii
        $s7 = "logins" fullword wide
        $s8 = "keylog" fullword wide
        $s9 = "1.85 (Hash, version 2, native byte-order)" wide

        $cl1 = "Postbox" fullword ascii
        $cl2 = "BlackHawk" fullword ascii
        $cl3 = "WaterFox" fullword ascii
        $cl4 = "CyberFox" fullword ascii
        $cl5 = "IceDragon" fullword ascii
        $cl6 = "Thunderbird" fullword ascii
    condition:
        (uint16(0) == 0x5a4d and 6 of ($s*)) or (6 of ($s*) and 2 of ($cl*))
}

rule AgentTeslaV3 {
    meta:
      author = "ditekshen"
      description = "AgentTeslaV3 infostealer payload"
      cape_type = "AgentTesla payload"
    strings:
        $s1 = "get_kbok" fullword ascii
        $s2 = "get_CHoo" fullword ascii
        $s3 = "set_passwordIsSet" fullword ascii
        $s4 = "get_enableLog" fullword ascii
        $s5 = "bot%telegramapi%" wide
        $s6 = "KillTorProcess" fullword ascii
        $s7 = "GetMozilla" ascii
        $s8 = "torbrowser" wide
        $s9 = "%chatid%" wide
        $s10 = "logins" fullword wide
        $s11 = "credential" fullword wide
        $s12 = "AccountConfiguration+" wide
        $s13 = "<a.+?href\\s*=\\s*([\"'])(?<href>.+?)\\1[^>]*>" fullword wide
        $s14 = "set_Lenght" fullword ascii
        $s15 = "get_Keys" fullword ascii
        $s16 = "set_AllowAutoRedirect" fullword ascii
        $s17 = "set_wtqQe" fullword ascii
        $s18 = "set_UseShellExecute" fullword ascii
        $s19 = "set_IsBodyHtml" fullword ascii
        $s20 = "set_FElvMn" fullword ascii
        $s21 = "set_RedirectStandardOutput" fullword ascii

        $g1 = "get_Clipboard" fullword ascii
        $g2 = "get_Keyboard" fullword ascii
        $g3 = "get_Password" fullword ascii
        $g4 = "get_CtrlKeyDown" fullword ascii
        $g5 = "get_ShiftKeyDown" fullword ascii
        $g6 = "get_AltKeyDown" fullword ascii

        $m1 = "yyyy-MM-dd hh-mm-ssCookieapplication/zipSCSC_.jpegScreenshotimage/jpeg/log.tmpKLKL_.html<html></html>Logtext/html[]Time" ascii
        $m2 = "%image/jpg:Zone.Identifier\\tmpG.tmp%urlkey%-f \\Data\\Tor\\torrcp=%PostURL%127.0.0.1POST+%2B" ascii
        $m3 = ">{CTRL}</font>Windows RDPcredentialpolicyblobrdgchrome{{{0}}}CopyToComputeHashsha512CopySystemDrive\\WScript.ShellRegReadg401" ascii
        $m4 = "%startupfolder%\\%insfolder%\\%insname%/\\%insfolder%\\Software\\Microsoft\\Windows\\CurrentVersion\\Run%insregname%SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\StartupApproved\\RunTruehttp" ascii
        $m5 = "\\WindowsLoad%ftphost%/%ftpuser%%ftppassword%STORLengthWriteCloseGetBytesOpera" ascii
    condition:
        (uint16(0) == 0x5a4d and (8 of ($s*) or (6 of ($s*) and 4 of ($g*)))) or (2 of ($m*))
}

rule AgentTeslaXor
{
    meta:
        author = "kevoreilly"
        description = "AgentTesla xor-based config decoding"
        cape_type = "AgentTesla Payload"
    strings:
        $decode = {06 91 06 61 20 [4] 61 D2 9C 06 17 58 0A 06 7E [4] 8E 69 FE 04 2D ?? 2A}
    condition:
        uint16(0) == 0x5A4D and any of them
}

rule AgentTeslaV4
{
    meta:
        author = "kevoreilly"
        description = "AgentTesla Payload"
        cape_type = "AgentTesla Payload"
        packed = "7f8a95173e17256698324886bb138b7936b9e8c5b9ab8fffbfe01080f02f286c"
    strings:
        $decode1 = {(07|FE 0C 01 00) (07|FE 0C 01 00) 8E 69 (17|20 01 00 00 00) 63 8F ?? 00 00 01 25 47 (06|FE 0C 00 00) (1A|20 04 00 00 00) 58 4A D2 61 D2 52}
        $decode2 = {(07|FE 0C 01 00) (08|FE 0C 02 00) 8F ?? 00 00 01 25 47 (07|FE 0C 01 00) (11 07|FE 0C 07 00) 91 (06|FE 0C 00 00) (1A|20 04 00 00 00) 58 4A 61 D2 61 D2 52}
        $decode3 = {(07|FE 0C 01 00) (11 07|FE 0C 07 00) 8F ?? 00 00 01 25 47 (07|FE 0C 01 00) (08|FE 0C 02 00) 91 61 D2 52}
    condition:
        uint16(0) == 0x5A4D and all of them
}

rule AgentTeslaV4JIT
{
    meta:
        author = "kevoreilly"
        description = "AgentTesla JIT-compiled native code"
        cape_type = "AgentTesla Payload"
        packed = "7f8a95173e17256698324886bb138b7936b9e8c5b9ab8fffbfe01080f02f286c"
    strings:
        $decode1 = {8B 01 8B 40 3C FF 50 10 8B C8 E8 [4] 89 45 CC B8 1A 00 00 00}
        $decode2 = {83 F8 18 75 2? 8B [2-5] D1 F8}
        $decode3 = {8D 4C 0? 08 0F B6 01 [0-3] 0F B6 5? 04 33 C2 88 01 B8 19 00 00 00}
    condition:
        2 of them
}


参考来源


BitSight


软件payload
本作品采用《CC 协议》,转载必须注明作者和本文链接
2022年3月8日,美国联邦调查局(FBI)、网络安全和基础设施安全局(CISA)联合发布警告称,Ragnar Locker勒索软件正大规模入侵美国关键基础设施。截至2022年1月,联邦调查局已在10个受该勒索软件影响的关键基础设施部门确定了至少52个实体,包括关键制造业、能源、金融服务、政府和信息技术部门的实体。该事件攻击者的攻击特点是什么,勒索软件在重拳打击之下为何依然活跃,为什么关键基础设施
微软报告称,新的 Prestige 勒索软件正被用于针对乌克兰和波兰的运输和物流组织的攻击。Prestige 勒索软件于10月11日首次出现在威胁环境中,所有受害者在一小时内相互攻击。HermeticWiper是网络安全公司ESET和博通旗下赛门铁克的研究人员于2月发现的破坏性擦除器,其恶意代码被用于袭击乌克兰数百台机器的攻击。
最近,Cyble网络安全人员调查了印度银行和金融服务行业IT公司Nucleus Software于2021年5月30日遭受的一次攻击。调查发现,对该公司实施网络攻击的是BlackCocaine团伙。根据调查,域名的WHOIS信息显示BlackCocaine 勒索软件的域是在2021年5月28日注册的,由此可以判断,Nucleus Software是BlackCocaine勒索软件组织的第一个受害者。研究人员报告称,一份名为的文件最近被提交到不同的公共沙箱。但目前,还未确定 BlackCocaine 的初始感染媒介。2021年4月至5月期间,亚太地区的网络攻击增加53%。
新的PayloadBIN勒索软件被认为是Evil Corp网络犯罪团伙的产物,该团伙为了逃避美国财政部外国资产控制办公室(OFAC)的制裁而更名。5月底,Babuk数据泄露网站进行更新,勒索软件团伙改名为“payload bin”。
报警就”撕票“,最野勒索软件团伙顶风作案可还行?
已观察到与LockBit 3.0勒索软件即服务 (RaaS) 操作相关的威胁参与者滥用 Windows Defender 命令行工具来解密和加载 Cobalt Strike 有效负载。 根据 SentinelOne 上周发布的一份报告,该事件发生在通过Log4Shell 漏洞对未修补的 VMware Horizo​​n Server 获得初始访问权限之后。
Netskope 的研究人员正在跟踪一个使用恶意 Python 脚本窃取 Facebook 用户凭据与浏览器数据的攻击行动。攻击针对 Facebook 企业账户,包含虚假 Facebook 消息并带有恶意文件。攻击的受害者主要集中在南欧与北美,以制造业和技术服务行业为主。
Rhysida勒索软件组织于今年5月首次被披露,自那时起,它就与几起影响巨大的攻击事件有关,其中包括对智利军队的攻击。最近,该组织还与针对Prospect Medical Holdings的攻击有关,影响了美国的17家医院和166家诊所。在这次攻击之后,美国卫生与公众服务部将Rhysida定义为对医疗保健行业的重大威胁。
本文综合论文、博客、案例揭示了开源软件供应过程中风险点与防护手段,为渗透测试工程师、运维人员提供攻击、防守思路,为开发者开发、审查自己代码提供安全建议,为安全产品研发提供更多方向。
VSole
网络安全专家