-
Notifications
You must be signed in to change notification settings - Fork 2.6k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #10131 from DEVisions/apache_streampipes
Added apache-streampipes-detect.yaml and CVE-2024-29868.yaml + moved …
- Loading branch information
Showing
3 changed files
with
104 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,65 @@ | ||
id: CVE-2024-29868 | ||
|
||
info: | ||
name: Apache StreamPipes <= 0.93.0 - Use of Cryptographically Weak PRNG in Recovery Token Generation | ||
author: Alessandro Albani - DEVisions | ||
severity: critical | ||
description: | | ||
Apache StreamPipes from version 0.69.0 through 0.93.0 uses a cryptographically weak Pseudo-Random Number Generator (PRNG) in the recovery token generation mechanism. Given a valid token it's possible to predict all past and future generated tokens. | ||
impact: | | ||
Successful exploitation of this vulnerability could allow an attacker to take over user accounts. | ||
remediation: | | ||
Update to Apache StreamPipes 0.95.0 or later. | ||
reference: | ||
- https://labs.yarix.com/2024/06/cve-2024-29868 | ||
- https://www.cve.org/CVERecord?id=CVE-2024-29868 | ||
- https://lists.apache.org/thread/g7t7zctvq2fysrw1x17flnc12592nhx7 | ||
- https://nvd.nist.gov/vuln/detail/CVE-2024-29868 | ||
classification: | ||
cve-id: CVE-2024-29868 | ||
cwe-id: CWE-338 | ||
metadata: | ||
max-request: 2 | ||
shodan-query: http.title:"apache streampipes" | ||
fofa-query: title="apache streampipes" | ||
tags: cve,cve2024,apache,streampipes,account-takeover | ||
|
||
flow: http(1) && http(2) | ||
|
||
http: | ||
- method: GET | ||
path: | ||
- '{{BaseURL}}/streampipes-backend/api/v2/auth/settings' | ||
headers: | ||
User-Agent: "{{randstr}}" | ||
|
||
extractors: | ||
- type: json | ||
part: body | ||
name: settings | ||
group: 1 | ||
json: | ||
- 'if .allowPasswordRecovery==true and .allowSelfRegistration==true then true else false end' | ||
internal: true | ||
|
||
- method: GET | ||
path: | ||
- '{{BaseURL}}/streampipes-backend/api/openapi.json' | ||
headers: | ||
User-Agent: "{{randstr}}" | ||
|
||
extractors: | ||
- type: json | ||
part: body | ||
name: version | ||
group: 1 | ||
json: | ||
- '.info.version' | ||
internal: true | ||
|
||
matchers: | ||
- type: dsl | ||
dsl: | ||
- 'contains(settings, true)' | ||
- "compare_versions(version, '>= 0.69.0') && compare_versions(version, '<= 0.93.0')" | ||
condition: and |
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
id: apache-streampipes-detect | ||
|
||
info: | ||
name: Apache StreamPipes - Detect | ||
author: Alessandro Albani - DEVisions | ||
severity: info | ||
description: | | ||
Checks for the presence of Apache StreamPipes by looking in the body or matching the favicon hash. | ||
metadata: | ||
max-request: 3 | ||
verified: true | ||
shodan-query: title:"apache streampipes" | ||
fofa-query: title="apache streampipes" | ||
tags: tech,apache,streampipes,detect | ||
|
||
http: | ||
- method: GET | ||
path: | ||
- '{{BaseURL}}/streampipes-backend/api/openapi.json' | ||
- '{{BaseURL}}/assets/img/favicon/favicon.ico' | ||
- '{{BaseURL}}' | ||
|
||
host-redirects: true | ||
max-redirects: 2 | ||
stop-at-first-match: true | ||
|
||
matchers: | ||
- type: dsl | ||
dsl: | ||
- contains_any(to_lower(body), "<title>apache streampipes", "apache streampipes api") | ||
- status_code==200 && ("1937041138" == mmh3(base64_py(body)) || "480680877" == mmh3(base64_py(body))) | ||
condition: or | ||
|
||
extractors: | ||
- type: json | ||
part: body | ||
group: 1 | ||
json: | ||
- '.info.version' |