1.Hadoop Yarn RPC 0 Day在野利用分析与传播手段披露
2.yarn源码分析(二)创建Application
3.yarn源码分析(四)AppMaster启动
4.Hadoop Yarn REST API未授权漏洞利用挖矿分析
Hadoop Yarn RPC 0 Day在野利用分析与传播手段披露
阿里云安全团队近期监测到新的源码安全威胁,Kinsing僵尸网络变种利用Hadoop Yarn RPC未授权访问漏洞进行传播。分析Hadoop作为分布式计算框架的源码重要组成部分,Yarn负责资源管理和任务调度,分析其核心组件ResourceManager和NodeManager分别负责资源分配和节点监控。源码然而,分析路由选择源码代码由于默认配置的源码漏洞,攻击者可轻易通过RPC通信执行恶意操作,分析对集群安全构成严重威胁。源码
传播路径是分析通过Hadoop Yarn RPC和Rest API未授权访问,通过名为f.sh的源码脚本下载并执行采矿恶意软件Kinsing。攻击者利用ResourceManager的分析漏洞,即使用户已采取一些措施如限制RESTful API访问,源码但未注意到RPC服务的分析端口仍可被未授权访问。为降低风险,源码安全建议包括启用Kerberos认证,图片浏览系统源码以增强访问控制,云防火墙也提供了快速响应和智能策略,可防止RCE攻击并收敛资产暴露面。
具体的入侵步骤中,Kinsing会卸载安全终端,关闭SELINUX,终止其他挖矿进程,然后下载并执行木马。入侵后,恶意脚本会检测并结束可能导致竞争资源的外联进程,如常见的、、等,同时搜索和结束Docker中的挖矿进程。
安全建议的淘呗乐源码详细配置和实践包括:启用Kerberos认证,通过云防火墙实时防御RCE攻击,以及智能策略收敛网络暴露,防止扫描行为。值得注意的IOC包括攻击者的IP地址...,f.sh脚本的URL和特定的md5值7dddafdeaafde。
对于Hadoop用户,务必关注官方文档,如Apache和Hadoop的CVE公告,以及相关安全措施,以保护您的集群免受此类威胁。
yarn源码分析(二)创建Application
深入剖析YARN源码中的Application创建机制,核心在于通过client向ResourceManager发起请求。这一过程中,Hadoop RPC协议作为桥梁,确保了客户端与ResourceManager间通信的文件后缀加密源码高效与可靠。客户端通过调用接口ApplicationClientProtocol来执行操作。以`yarnClient.createApplication()`与`yarnClient.submitApplication(appContext)`为例,揭示了创建Application的主要流程。
关注点集中于两个关键步骤:初始化Application及提交Application至ResourceManager。初始化通过`createApplication()`完成,此过程在`YarnClientImpl`类中实现。此方法内部调用`getNewApplication()`以获取ApplicationID,作为后续操作的基础。
获取ApplicationID是创建过程的基石,而其实现细节则深藏于`RMClientService`中。在理解这一部分时,我们需关注`RMClientService`对于长期对象的服务化处理,以及在`YarnClientImpl`中对`submitApplication`调用的具体实现。
当ApplicationID获得后,便正式步入提交阶段。多点 小程序源码通过`submitApplication()`,客户端与ResourceManager间建立联系,资源分配与应用状态监控得以实现。此过程中的关键在于`rmClient.submitApplication`方法的调用,之后通过轮询`ApplicationReport`来监控提交状态,确保应用成功部署。
深入探究`submitApplication`方法的内部逻辑,我们会发现它在`RMClientService`中调用`rmAppManager.submitApplication`,接着通过事件调度器对新建的Application进行处理。这一处理阶段主要负责保存应用信息,同时引入了YARN中的状态机与事件模型概念,将在后续文章中进行详尽解析。
yarn源码分析(四)AppMaster启动
在容器分配完成之后,启动容器的代码主要在ContainerImpl.java中进行。通过状态机转换,container从NEW状态向其他状态转移时,会调用RequestResourceTransition对象。RequestResourceTransition负责将所需的资源进行本地化,或者避免资源本地化。若需本地化,还需过渡到LOCALIZING状态。为简化理解,此处仅关注是否进行资源本地化的情况。
为了将LAUNCH_CONTAINER事件加入事件处理队列,调用了sendLaunchEvent方法。该事件由ContainersLauncher负责处理。ContainersLauncher的handle方法中,使用一个ExecutorService(线程池)容器Launcher。ContainerLaunch实现了Callable接口,其call方法生成并执行launch_container脚本。以MapReduce框架为例,该脚本在hadoop.tmp.dir/application name/container name目录下生成,其主要作用是启动MRAppMaster进程,即MapReduce的ApplicationMaster。
Hadoop Yarn REST API未授权漏洞利用挖矿分析
在年5月,腾讯云安全针对Hadoop Yarn资源管理系统REST API未授权漏洞进行了预警。此漏洞允许攻击者在未授权情况下远程执行代码,从而对服务器进行攻击。云鼎实验室在预警前后的案例中,多次捕获利用该问题进行挖矿的攻击案例,并对其中一个案例进行了深入分析。
Hadoop是一个分布式系统基础架构,YARN是其资源统一管理平台,用于实现集群资源的统一管理和调度。通过YARN,用户可以提交特定应用程序进行执行,而该应用程序允许执行包含系统命令。YARN提供了默认开放在和的REST API,允许用户直接通过API进行应用创建、任务提交等操作。如果配置不当,REST API可能会被公开,导致未授权访问,黑客可以利用此问题执行远程命令,进行挖矿等恶意活动。
攻击过程相对简单,黑客通过构造json文件,提交任务并利用的REST API执行命令。命令成功执行后,在相应目录下可以找到生成的文件。更多关于漏洞细节的信息,可以参考相关讨论论坛。
在入侵分析中,受害者部署了Hadoop YARN,并存在未授权访问的问题。黑客利用开放在的REST API提交执行命令,实现在服务器内下载并执行.sh脚本,进而下载启动挖矿程序,达到挖矿目的。该过程由一个简单的执行脚本实现,该脚本通过捕获和分析,显示了从远程服务器下载并执行挖矿程序的步骤。脚本主要涉及清理病毒、添加挖矿程序下载和执行任务到crontab、以及清理相关文件和进程。在分析过程中,还发现了日志文件和管理UI中关于应用和任务执行的痕迹。
对于此安全问题,建议进行清理病毒的操作,并参考相关讨论论坛获取更多自检和修复建议。
请注意,由于该内容涉及敏感信息和特定技术细节,建议在实施任何安全措施之前,详细审查并理解这些信息。同时,确保应用最新的安全更新和补丁以防止此类攻击。
2024-12-23 00:17
2024-12-22 23:12
2024-12-22 23:08
2024-12-22 23:03
2024-12-22 22:33
2024-12-22 21:53