任何用户定义的CI/CD工作已经通过了正式的审批程序。
Kubernetes
运行特定功能的pod有时会使用不同的pod身份验证机制,这些机制可以连接到各种服务,AWS凭据就是一个例子。很多时候,人们使用插件,并不限制插件周围的API路径。例如,Kube2IAM是一个经常看到的插件,如果你没有从pod中正确地配置它,你可以获得权限容器,它可以导致具有特权API凭据,让你看到底层主机正在做什么。
Kube2IAM
Kube2IAM使用pod注释。它拦截来自容器pod对AWS API(169254)的调用。NCC组织的一位顾问发现了一个有趣的情况,每个开发人员都可以对pod进行注释。在Kube2IAM 使用的AWS角中,有一个使用“sts assume-role*”行配置的设置。这使得任何能够创建/注释pod的被利用人员都继承了AWS的管理员角。这意味着任何可以创建任意pod并指定注释的人都可以获得一家银行AWS主工具帐户的管理权限。此帐户配置了VPC对等互连,可以查看任何pod和非pod环境。你可以使用该访问权限到达任何地方。这是一个构建pod的通道,攻击者所要做的就是在最后输出一些东西的注释中添加一个注释。
NCC组织的一位顾问还进行了另一项类似的工作,在这种情况下,他们无法对pod进行注释。相反,在Kube2IAM中有标记“白名单路由正则表达式”,你可以提及AWS API路径,可以指定你想去或不去的路径,DevOps管理员已经将其配置为一个白字符,允许某人访问权限路径,从而导致底层节点凭据。
利用笔记本电脑发起攻击
NCC组织顾问进行了基于场景的评估——
—利用开发人员的笔记本电脑。
顾问所能做的就是将代码提交到使用Maven项目的单个Java库中。他们将一个前置需求文件设置为一个任意文件,该文件将提供来自构建环境的shell。他们将其更改为反向Meterpreter shell有效负载。他们发现pod有一个SSH密钥位于磁盘上,该密钥进入Jenkins主节点,然后从Jenkins中转储了所有变量。然后他们发现这是一个真正的部署通道,它拥有写入权限和集管理到Kubernetes工作负载中。因此,他们现在可以访问完整的生产环境。
在另一项操作中,NCC组织顾问成功攻击了一个用户帐户,并访问了经过验证的通往被利用团队的通道。在通道中运行自定义代码是不可能的,但是他们可以告诉通道构建一个不同的分支,即使它不存
在。通道崩溃并转储环境变量。其中一个环境变量是Windows域管理员帐户。在该攻击场景中,他们能够对基础设施进行端口扫描,最终形成一个构建通道。他们发现了许多功能未知的应用程序,其中一个应用程序容易受到服务器端请求伪造(SSRF)的攻击,它们运行在AWS EC2实例上。AWS节点能够编辑配置映射,允许AWS用户帐户和集内角之间的映射。结果,这并没有检查集和帐户是否在同一个用户帐户中。因此,顾问可以指定另一个AWS 帐户来控制集,并在Elastic Kubernetes服务集(EKS0)上拥有管理权限。
■利北晶
为什么企业可能已经处于危险之中,现在如何检测和缓解Log4j漏洞,以及如何在未来提高您的代码安全性。
早些时候,安全研究人员发现了用于数万个Web应用程序的Log4jJava软件中的一系列主要漏洞。该代码广泛用于消费者和企业系统,从Minecraft、Steam和iCloud到Fortinet和RedHat系统的所有系统。一位分析师估计数百万个端点可能面临风险。
Log4j只是一系列软件供应链攻击中的最新一次,包括其构建过程受损(SolarWinds)和攻击者替换了带有恶意软件的代码(Kaseya)。时间正则表达式java
自从第一个Log4j漏洞曝光以来,安全供应商和分析师已经发布了大量有关该做什么的信息,范围遍及整个地图。有些人发布了接近世界末日的情景,而其他人则没有那么可怕的预测。CheckPointSoftwareTechnologies已经在其近50%的客户中发现了漏洞利用企图。ContrastSecurity发现58%的Java应用程序存在易受攻击的版本,有37%使用Log4j。
这4个问题分别是CVE-2021-44228、CVE-2021-45046、CVE-2021-4104和CVE-2021-45105。美国网络安全和基础设施安全局正在维护一个网页,其中包含指向各种供应商博客的链接,以及受影响的应用程序列表,并试图通过任何修复程序保持更新。这些问题涉及日志软件的几个特性,包括Java命名和目录接口(JDNI)和JMSAppender事件消息,这二者都允许远程代码执行。使这组漏洞变得危险的原因是攻击者不需要很多专业知识即可获得这种远程访问。最后一个漏洞是指
拒绝服务条件,让每个人都保持警觉。最近,Blumira发现了一种新的攻击向量,它使用WebSockets扩大了整个表面。
可能已经处于危险之中
在您开始锁定问题之前,Mitiga的首席运营官ArielParnes 警告说:“您应该查看组织是否已经在过去某
个时候使用Log4j遭到黑客攻击。罪犯可能已经在里面了。”IT经理JohnCronin提出了关键问题:“您知道您的哪些服务器使用Log4j?生成这些服务器的列表需要多长时间?你能及时修补它们吗?你有自动化工具还是有人需要登录每台服务器并手动完成?您是否有在高峰使用时间修补实时生产服务器的流程?”当然,回答这些问题需要付出一些努力。
安全分析师发现了可追溯到2021年12月1日的漏洞利用,使用范围广泛的网络协议,包括LDAP、RMI、DNS和HTTP。这些漏洞已经安装了各种恶意软件,包括隐藏的加密货币矿工、Bitdefender称为Khonsari的新型软件系列,以及加入Mirai僵尸网络的代码。
即时防御计划
您的第一道防线是升级到最新的Log4j版本。最初,Apache发布了一个补丁,结果证明仍然存在漏洞。最新版本是Log4jv.2.17.0(如果您运行的是Java8或更高版本)和Log4jv.
2.12.2(如果您在整个Web应用程序基础架构中运行Java7)。这些默认关闭JNDI并删除消息查访问权限,这二者都是各种漏洞的核心。禁用JNDI可能会破坏您应用程序中的某些内容,因此您在任何生产系统实施之前,请仔细测试。
如果您应用程序不需要任何基于Java的日志记录,想停止它,同样,在部署之前进行测试。
那些运行Minecraft服务器的人应该检查它是否在运行Minecraftv.1.8.8或更高版本;这些版本是易受攻击的。微软发布了Minecraftv.1.18.1,修复了这个问题。您应该立即升级或到另一个更值得信赖的已修复服务器。
有哪些检测工具可用
安全供应商加班加点来扩充他们的工具,您应该利用各种免费优惠。下面列出了各种扫描器,可用于在运行的应用程序或源文件中定位易受攻击的代码,确定该代码是否已部署在任何生产实例中。
Qualys有30天的Web应用程序扫描器免费试用期,并在他们的博客上提供了有关如何使用它的说明;
CheckPoint的CloudGuardAppSec是另一款扫描仪,还有30天的免费试用期;
CERT有一系列使用Windows、Python和Bash编写的扫描仪;
如果您使用BurpSuite,IBM的X-Force有它的免费扫描器,SilentSignal有它的插件;
WhiteSource有免费的扫描仪;
JFrog拥有基于Python的无Xray扫描工具来检查您自己的Java代码库。
OrcaSecurity有一个免费的在线工具,可以扫描AWS、Azure和GoogleCloud环境,并提供30天的平台试用期。
提高编码安全性的长期策略
首先,了解代码依赖。Log4j的挑战之一是它的流行度和包含在众多Java库中。一旦您在自己的代码中根除旧版本,就该调查您正在运行的其他依赖于它的版本。如果您使用Apache框架Struts2,Flume,Dubbo,Kafka,Solr,Druid,Fink,则必须升级这些项目中的Log4j库。如果Struts引起了人们的注意,那么2017年的一次漏洞利用导致Equifax的数据库遭到入侵,泄露了超过1.4亿客户的私人数据。
WeHackPurple的TanyaJanca(一个优秀的应用程序安全来源)建议使用dependencyGraph、Snyk或OWASP的Dependency-Check。一旦到任何依赖项,如果不能立即修补它,请注释掉调用Log4j的代码。
了解Web应用程序防火墙(WAF)的工作原理。如果没有WAF,现在是时候入手一个了。如果代码部署在WAF后面,请打开他们的检测规则并检查供应商是否已更新其规则以涵盖所有最新漏洞。但要意识到,自从该漏洞被公布以来,研究人员已经展示了许多构建嵌套和混淆有效载荷的方法,这些有效载荷可以绕过提议的WAF过滤规则。Fastly对如何测试WAF有效性进行了广泛的解释。
利用Log4j漏洞缓解和补丁工具,许多公司已经为Log4j 提供了缓解工具:
Cybereason整理了此代码,LunaSec进一步改进了它并将其作为公共服务托管在实时服务器上。
来自AmazonWebServices的Corretto团队开发了一个尝试修补Log4j的Java代理,该代理可在GitHub上获得。
ContrastSecurity具有SafeLog4j,它可以检测和修补,据说可以抵御WAF绕过攻击。
Cisco提供其安全端点的30天免费试用,还有其他端点供应商已包含检测规则,包括MicrosoftDefender(但目前仅适用于Windows版本)。
如果使用容器,将需要特殊的保护产品。例如,RedHat更新了他们的Kubernetes高级集安全,PaloAltoNetworks更新了它的PrismaCloud。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论