YARA · Costin Raiu yararules
CRAIU_Exploit_CVE_2024_6387
Strings from CVE-2024-6387 exploit PoC by zgzhang.
- Author
- Costin G. Raiu, TLPBLACK, craiu@noh.ro
- Date
- 2024-07-02
- Modified
- 2024-07-03
- Score / Quality
- 75 / 85
What this rule detects
Strings from CVE-2024-6387 exploit PoC by zgzhang.
Targets: Linux ELF.
It defines 15 patterns (15 text, 0 hex, 0 regex).
Summary generated from the rule's metadata and condition.
Rule source
rule CRAIU_Exploit_CVE_2024_6387 : CVE_2024_6387 FILE
{
meta:
= "Strings from CVE-2024-6387 exploit PoC by zgzhang."
= "Costin G. Raiu, TLPBLACK, craiu@noh.ro"
= "6ac63016-864d-57af-bb36-3115a0a91021"
= "2024-07-02"
= "2024-07-03"
= "https://github.com/zgzhang/cve-2024-6387-poc/tree/main"
= "https://github.com/craiu/yararules/blob/23cf0ca22021fa3684e180a18416b9ae1b695243/files/exploit_cve_2024_6387.yara#L2-L38"
= "https://github.com/craiu/yararules/blob/23cf0ca22021fa3684e180a18416b9ae1b695243/LICENSE"
= "62b06a6c30a0c891c2246ff87c0ad9ae03d2123601ba5331d6348c43b38d185e"
= "d43a77c2690b5e01639590bc31fa64fa36b1da5efd3cc0761be7369ce80e4253"
= 75
= 85
= "CVE-2024-6387, FILE"
= "1.0"
strings:
$a0 = "Attempting exploitation with glibc base: 0x%lx" ascii wide fullword
$a1 = "Attempt %d of 20000" ascii wide fullword
$a2 = "Failed to establish connection, attempt %d" ascii wide fullword
$a3 = "SSH handshake failed, attempt %d" ascii wide fullword
$a4 = "Possible exploitation success on attempt %d with glibc base 0x%lx!" ascii wide fullword
$a5 = "Received SSH version: %s" ascii wide fullword
$a6 = "Connection closed while receiving SSH version" ascii wide fullword
$a7 = "Received KEX_INIT (%zd bytes)" ascii wide fullword
$a8 = "Connection closed while receiving KEX_INIT" ascii wide fullword
$a9 = "Estimated parsing time: %.6f seconds" ascii wide fullword
$a10 = "Received response after exploit attempt (%zd bytes)" ascii wide fullword
$a11 = "Possible hit on 'large' race window" ascii wide fullword
$a12 = "Connection closed by server - possible successful exploitation" ascii wide fullword
$a13 = "No immediate response from server - possible successful exploitation" ascii wide fullword
$a14 = "Attempt %d of 10000" ascii wide fullword
condition:
( filesize < 5MB ) and ( uint32be( 0 ) == 0x7F454C46 ) and ( 4 of ( $a* ) )
}
Strings (15 patterns)
| Identifier | Type | Value | Modifiers |
|---|---|---|---|
| $a0 | text | "Attempting exploitation with glibc base: 0x%lx" | ascii wide fullword |
| $a1 | text | "Attempt %d of 20000" | ascii wide fullword |
| $a2 | text | "Failed to establish connection, attempt %d" | ascii wide fullword |
| $a3 | text | "SSH handshake failed, attempt %d" | ascii wide fullword |
| $a4 | text | "Possible exploitation success on attempt %d with glibc base 0x%lx!" | ascii wide fullword |
| $a5 | text | "Received SSH version: %s" | ascii wide fullword |
| $a6 | text | "Connection closed while receiving SSH version" | ascii wide fullword |
| $a7 | text | "Received KEX_INIT (%zd bytes)" | ascii wide fullword |
| $a8 | text | "Connection closed while receiving KEX_INIT" | ascii wide fullword |
| $a9 | text | "Estimated parsing time: %.6f seconds" | ascii wide fullword |
| $a10 | text | "Received response after exploit attempt (%zd bytes)" | ascii wide fullword |
| $a11 | text | "Possible hit on 'large' race window" | ascii wide fullword |
| $a12 | text | "Connection closed by server - possible successful exploitation" | ascii wide fullword |
| $a13 | text | "No immediate response from server - possible successful exploitation" | ascii wide fullword |
| $a14 | text | "Attempt %d of 10000" | ascii wide fullword |
Condition
( filesize < 5MB ) and ( uint32be( 0 ) == 0x7F454C46 ) and ( 4 of ( $a* ) )In plain words (Heuristic)
- The file must start with the ELF header — a Linux/Unix executable.
- The file must be smaller than 5MB (a cheap guard that skips large files).
- At least 4 patterns in ( $a* ) must match.
Test this rule in your browser
Drop a file to scan it with this rule using YARA-X compiled to WebAssembly. Nothing is uploaded.
Sample hashes
Hashes of samples the author lists in the rule's meta (look them up in your threat-intelligence platform).
- 62b06a6c30a0c891c2246ff87c0ad9ae03d2123601ba5331d6348c43b38d185e
Licence & attribution
Author: Costin G. Raiu, TLPBLACK, craiu@noh.ro
Source repository: Costin Raiu yararules @ 23cf0ca220
Licence: GNU General Public License v3.0 (repository licence)
Mirrored via YARA Forge 20260927, which prefixes rule names with the source and adds normalised meta fields.
Rule id: 6ac63016-864d-57af-bb36-3115a0a91021
Metadata
| version | 1.0 |
|---|
Tags:CVE_2024_6387FILE
Related rules
- MalwareCostin Raiu yararules· Costin G. Raiu, TLPBLACK, craiu@noh.ro· 2024-07-03