YARA · Signature Base (Florian Roth / Nextron)
SIGNATURE_BASE_EXPL_Log4J_CVE_2021_44228_Dec21_Hard
Detects indicators in server logs that indicate the exploitation of CVE-2021-44228
- Author
- Florian Roth
- Date
- 2021-12-10
- Modified
- 2025-03-20
- Score / Quality
- 65 / 85
What this rule detects
Detects indicators in server logs that indicate the exploitation of CVE-2021-44228
It defines 8 patterns (6 text, 0 hex, 2 regex).
Summary generated from the rule's metadata and condition.
Rule source
expl-log4j-cve-2021-44228-dec21-hard.yarDetection Rule License 1.1
rule SIGNATURE_BASE_EXPL_Log4J_CVE_2021_44228_Dec21_Hard : FILE CVE_2021_44228
{
meta:
= "Detects indicators in server logs that indicate the exploitation of CVE-2021-44228"
= "Florian Roth"
= "5297c42d-7138-507d-a3eb-153afe522816"
= "2021-12-10"
= "2025-03-20"
= "https://twitter.com/h113sdx/status/1469010902183661568?s=20"
= "https://github.com/Neo23x0/signature-base/blob/94a1c48d7ab499879287ff611dfe7f9c56376030/yara/expl_log4j_cve_2021_44228.yar#L118-L140"
= "https://github.com/Neo23x0/signature-base/blob/94a1c48d7ab499879287ff611dfe7f9c56376030/LICENSE"
= "9a4fc285dd1680ebc8a1042eeb5fbba73b9e2df70678adf3163122d84405325e"
= 65
= 85
= "FILE, CVE-2021-44228"
strings:
$x1 = /\$\{jndi:(ldap|ldaps|rmi|dns|iiop|http|nis|nds|corba):\/[\/]?[a-z-\.0-9]{3,120}:[0-9]{2,5}\/[a-zA-Z\.]{1,32}\}/
$x2 = "Reference Class Name: foo"
$fp1r = /(ldap|rmi|ldaps|dns):\/[\/]?(127\.0\.0\.1|192\.168\.|172\.[1-3][0-9]\.|10\.)/
$fpg2 = "<html"
$fpg3 = "<HTML"
$fp1 = "/QUALYSTEST" ascii
$fp2 = "w.nessus.org/nessus"
$fp3 = "/nessus}"
condition:
1 of ( $x* ) and not 1 of ( $fp* )
}
Strings (8 patterns)
| Identifier | Type | Value | Modifiers |
|---|---|---|---|
| $x1 | regex | /\$\{jndi:(ldap|ldaps|rmi|dns|iiop|http|nis|nds|corba):\/[\/]?[a-z-\.0-9]{3,120}:[0-9]{2,5}\/[a-zA-Z\.]{1,32}\}/ | |
| $x2 | text | "Reference Class Name: foo" | |
| $fp1r | regex | /(ldap|rmi|ldaps|dns):\/[\/]?(127\.0\.0\.1|192\.168\.|172\.[1-3][0-9]\.|10\.)/ | |
| $fpg2 | text | "<html" | |
| $fpg3 | text | "<HTML" | |
| $fp1 | text | "/QUALYSTEST" | ascii |
| $fp2 | text | "w.nessus.org/nessus" | |
| $fp3 | text | "/nessus}" |
Condition
1 of ( $x* ) and not 1 of ( $fp* )In plain words (Heuristic)
- At least 1 patterns in ( $x* ) must match.
- At least 1 patterns in ( $fp* ) 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.
Drop a file here or click to chooseScanned locally with YARA-X. Files up to 200 MB.
Licence & attribution
Author: Florian Roth
Source repository: Signature Base (Florian Roth / Nextron) @ 94a1c48d7a
Licence: Detection Rule License 1.1 (repository licence)
Mirrored via YARA Forge 20260927, which prefixes rule names with the source and adds normalised meta fields.
Rule id: 5297c42d-7138-507d-a3eb-153afe522816
Tags:FILECVE_2021_44228
Related rules
- ExploitSignature Base (Florian Roth / Nextron)· Florian Roth· 2024-03-30
- ExploitSignature Base (Florian Roth / Nextron)· Florian Roth· 2024-03-30
- ExploitSignature Base (Florian Roth / Nextron)· Florian Roth· 2026-05-08
- ExploitSignature Base (Florian Roth / Nextron)· Florian Roth· 2025-10-25
- ExploitSignature Base (Florian Roth / Nextron)· Florian Roth· 2024-03-30
- ExploitSignature Base (Florian Roth / Nextron)· Florian Roth· 2024-12-10
- ExploitSignature Base (Florian Roth / Nextron)· Florian Roth· 2024-12-10
- ExploitSignature Base (Florian Roth / Nextron)· Florian Roth· 2024-12-10