From 0e25eba5afd7f5a9a244eca36c1cea08e20a57b8 Mon Sep 17 00:00:00 2001 From: alteredCoder Date: Thu, 10 Oct 2024 15:38:22 +0200 Subject: [PATCH 1/2] fix(cti api): Add documentation for the references field --- .../cti_api/taxonomy/cti_fields.md | 369 ++++++++++-------- 1 file changed, 207 insertions(+), 162 deletions(-) diff --git a/crowdsec-docs/unversioned/cti_api/taxonomy/cti_fields.md b/crowdsec-docs/unversioned/cti_api/taxonomy/cti_fields.md index ec2eda27a..64f7b81a9 100644 --- a/crowdsec-docs/unversioned/cti_api/taxonomy/cti_fields.md +++ b/crowdsec-docs/unversioned/cti_api/taxonomy/cti_fields.md @@ -9,155 +9,155 @@ sidebar_position: 2 ```json { - "ip_range_score": 5, - "ip": "[CENSORED]", - "ip_range": "[CENSORED]", - "as_name": "[CENSORED]", - "reputation": "malicious", - "ip_range_24": "[CENSORED]", - "ip_range_24_reputation": "suspicious", - "ip_range_24_score": 3, - "background_noise_score": 10, - "background_noise": "high", - "as_num": 0, - "location": { - "country": "FR", - "city": "", - "latitude": 0.0, - "longitude": 0.0 - }, - "reverse_dns": "[CENSORED]", - "behaviors": [ - { - "name": "http:scan", - "label": "HTTP Scan", - "description": "IP has been reported for performing actions related to HTTP vulnerability scanning and discovery." - }, - { - "name": "ssh:bruteforce", - "label": "SSH Bruteforce", - "description": "IP has been reported for performing brute force on ssh services." - }, - { - "name": "http:exploit", - "label": "HTTP Exploit", - "description": "IP has been reported for attempting to exploit a vulnerability in a web application." - }, - { - "name": "generic:exploit", - "label": "Exploitation attempt", - "description": "IP has been reported trying to exploit known vulnerability/CVE on unspecified protocols." - } - ], - "history": { - "first_seen": "2022-05-28T16:00:00+00:00", - "last_seen": "2023-10-15T05:45:00+00:00", - "full_age": 507, - "days_age": 505 - }, - "classifications": { - "false_positives": [], - "classifications": [] - }, - "attack_details": [ - { - "name": "crowdsecurity/http-probing", - "label": "HTTP Probing", - "description": "Detect site scanning/probing from a single ip", - "references": [] + "ip_range_score": 5, + "ip": "[CENSORED]", + "ip_range": "[CENSORED]", + "as_name": "[CENSORED]", + "reputation": "malicious", + "ip_range_24": "[CENSORED]", + "ip_range_24_reputation": "suspicious", + "ip_range_24_score": 3, + "background_noise_score": 10, + "background_noise": "high", + "as_num": 0, + "location": { + "country": "FR", + "city": "", + "latitude": 0.0, + "longitude": 0.0 }, - { - "name": "crowdsecurity/ssh-bf", - "label": "SSH Bruteforce", - "description": "Detect ssh bruteforce", - "references": [] + "reverse_dns": "[CENSORED]", + "behaviors": [ + { + "name": "http:scan", + "label": "HTTP Scan", + "description": "IP has been reported for performing actions related to HTTP vulnerability scanning and discovery." + }, + { + "name": "ssh:bruteforce", + "label": "SSH Bruteforce", + "description": "IP has been reported for performing brute force on ssh services." + }, + { + "name": "http:exploit", + "label": "HTTP Exploit", + "description": "IP has been reported for attempting to exploit a vulnerability in a web application." + }, + { + "name": "generic:exploit", + "label": "Exploitation attempt", + "description": "IP has been reported trying to exploit known vulnerability/CVE on unspecified protocols." + } + ], + "history": { + "first_seen": "2022-05-28T16:00:00+00:00", + "last_seen": "2023-10-15T05:45:00+00:00", + "full_age": 507, + "days_age": 505 }, - { - "name": "crowdsecurity/ssh-slow-bf", - "label": "SSH Bruteforce", - "description": "Detect slow ssh bruteforce", - "references": [] + "classifications": { + "false_positives": [], + "classifications": [] }, - { - "name": "crowdsecurity/http-bad-user-agent", - "label": "detection of bad user-agents", - "description": "Detect bad user-agents", - "references": [] + "attack_details": [ + { + "name": "crowdsecurity/http-probing", + "label": "HTTP Probing", + "description": "Detect site scanning/probing from a single ip", + "references": [] + }, + { + "name": "crowdsecurity/ssh-bf", + "label": "SSH Bruteforce", + "description": "Detect ssh bruteforce", + "references": [] + }, + { + "name": "crowdsecurity/ssh-slow-bf", + "label": "SSH Bruteforce", + "description": "Detect slow ssh bruteforce", + "references": [] + }, + { + "name": "crowdsecurity/http-bad-user-agent", + "label": "detection of bad user-agents", + "description": "Detect bad user-agents", + "references": [] + }, + { + "name": "crowdsecurity/suricata-major-severity", + "label": "Suricata Severity 1 Event", + "description": "Detect exploit attempts via emerging threat rules", + "references": [] + }, + { + "name": "crowdsecurity/modsecurity", + "label": "Modsecurity Alert", + "description": "Web exploitation via modsecurity", + "references": [] + } + ], + "target_countries": { + "AT": 0, + "AU": 2, + "BR": 0, + "CA": 4, + "CH": 0, + "CN": 0, + "DE": 79, + "DK": 0, + "ES": 0, + "FI": 12 }, - { - "name": "crowdsecurity/suricata-major-severity", - "label": "Suricata Severity 1 Event", - "description": "Detect exploit attempts via emerging threat rules", - "references": [] + "mitre_techniques": [ + { + "name": "T1595", + "label": "Active Scanning", + "description": "Adversaries may execute active reconnaissance scans to gather information that can be used during targeting. Active scans are those where the adversary probes victim infrastructure via network traffic, as opposed to other forms of reconnaissance that do not involve direct interaction.\n\nAdversaries may perform different forms of active scanning depending on what information they seek to gather. These scans can also be performed in various ways, including using native features of network protocols such as ICMP.(Citation: Botnet Scan)(Citation: OWASP Fingerprinting) Information from these scans may reveal opportunities for other forms of reconnaissance (ex: [Search Open Websites/Domains](https://attack.mitre.org/techniques/T1593) or [Search Open Technical Databases](https://attack.mitre.org/techniques/T1596)), establishing operational resources (ex: [Develop Capabilities](https://attack.mitre.org/techniques/T1587) or [Obtain Capabilities](https://attack.mitre.org/techniques/T1588)), and/or initial access (ex: [External Remote Services](https://attack.mitre.org/techniques/T1133) or [Exploit Public-Facing Application](https://attack.mitre.org/techniques/T1190))." + }, + { + "name": "T1110", + "label": "Brute Force", + "description": "Adversaries may use brute force techniques to gain access to accounts when passwords are unknown or when password hashes are obtained. Without knowledge of the password for an account or set of accounts, an adversary may systematically guess the password using a repetitive or iterative mechanism. Brute forcing passwords can take place via interaction with a service that will check the validity of those credentials or offline against previously acquired credential data, such as password hashes.\n\nBrute forcing credentials may take place at various points during a breach. For example, adversaries may attempt to brute force access to [Valid Accounts](https://attack.mitre.org/techniques/T1078) within a victim environment leveraging knowledge gathered from other post-compromise behaviors such as [OS Credential Dumping](https://attack.mitre.org/techniques/T1003), [Account Discovery](https://attack.mitre.org/techniques/T1087), or [Password Policy Discovery](https://attack.mitre.org/techniques/T1201). Adversaries may also combine brute forcing activity with behaviors such as [External Remote Services](https://attack.mitre.org/techniques/T1133) as part of Initial Access." + }, + { + "name": "T1190", + "label": "Exploit Public-Facing Application", + "description": "Adversaries may attempt to exploit a weakness in an Internet-facing host or system to initially access a network. The weakness in the system can be a software bug, a temporary glitch, or a misconfiguration.\n\nExploited applications are often websites/web servers, but can also include databases (like SQL), standard services (like SMB or SSH), network device administration and management protocols (like SNMP and Smart Install), and any other system with Internet accessible open sockets.(Citation: NVD CVE-2016-6662)(Citation: CIS Multiple SMB Vulnerabilities)(Citation: US-CERT TA18-106A Network Infrastructure Devices 2018)(Citation: Cisco Blog Legacy Device Attacks)(Citation: NVD CVE-2014-7169) Depending on the flaw being exploited this may also involve [Exploitation for Defense Evasion](https://attack.mitre.org/techniques/T1211). \n\nIf an application is hosted on cloud-based infrastructure and/or is containerized, then exploiting it may lead to compromise of the underlying instance or container. This can allow an adversary a path to access the cloud or container APIs, exploit container host access via [Escape to Host](https://attack.mitre.org/techniques/T1611), or take advantage of weak identity and access management policies.\n\nAdversaries may also exploit edge network infrastructure and related appliances, specifically targeting devices that do not support robust host-based defenses.(Citation: Mandiant Fortinet Zero Day)(Citation: Wired Russia Cyberwar)\n\nFor websites and databases, the OWASP top 10 and CWE top 25 highlight the most common web-based vulnerabilities.(Citation: OWASP Top 10)(Citation: CWE top 25)" + } + ], + "cves": [], + "scores": { + "overall": { + "aggressiveness": 5, + "threat": 2, + "trust": 4, + "anomaly": 0, + "total": 4 + }, + "last_day": { + "aggressiveness": 0, + "threat": 0, + "trust": 0, + "anomaly": 0, + "total": 0 + }, + "last_week": { + "aggressiveness": 5, + "threat": 2, + "trust": 4, + "anomaly": 0, + "total": 4 + }, + "last_month": { + "aggressiveness": 5, + "threat": 2, + "trust": 4, + "anomaly": 0, + "total": 4 + } }, - { - "name": "crowdsecurity/modsecurity", - "label": "Modsecurity Alert", - "description": "Web exploitation via modsecurity", - "references": [] - } - ], - "target_countries": { - "AT": 0, - "AU": 2, - "BR": 0, - "CA": 4, - "CH": 0, - "CN": 0, - "DE": 79, - "DK": 0, - "ES": 0, - "FI": 12 - }, - "mitre_techniques": [ - { - "name": "T1595", - "label": "Active Scanning", - "description": "Adversaries may execute active reconnaissance scans to gather information that can be used during targeting. Active scans are those where the adversary probes victim infrastructure via network traffic, as opposed to other forms of reconnaissance that do not involve direct interaction.\n\nAdversaries may perform different forms of active scanning depending on what information they seek to gather. These scans can also be performed in various ways, including using native features of network protocols such as ICMP.(Citation: Botnet Scan)(Citation: OWASP Fingerprinting) Information from these scans may reveal opportunities for other forms of reconnaissance (ex: [Search Open Websites/Domains](https://attack.mitre.org/techniques/T1593) or [Search Open Technical Databases](https://attack.mitre.org/techniques/T1596)), establishing operational resources (ex: [Develop Capabilities](https://attack.mitre.org/techniques/T1587) or [Obtain Capabilities](https://attack.mitre.org/techniques/T1588)), and/or initial access (ex: [External Remote Services](https://attack.mitre.org/techniques/T1133) or [Exploit Public-Facing Application](https://attack.mitre.org/techniques/T1190))." - }, - { - "name": "T1110", - "label": "Brute Force", - "description": "Adversaries may use brute force techniques to gain access to accounts when passwords are unknown or when password hashes are obtained. Without knowledge of the password for an account or set of accounts, an adversary may systematically guess the password using a repetitive or iterative mechanism. Brute forcing passwords can take place via interaction with a service that will check the validity of those credentials or offline against previously acquired credential data, such as password hashes.\n\nBrute forcing credentials may take place at various points during a breach. For example, adversaries may attempt to brute force access to [Valid Accounts](https://attack.mitre.org/techniques/T1078) within a victim environment leveraging knowledge gathered from other post-compromise behaviors such as [OS Credential Dumping](https://attack.mitre.org/techniques/T1003), [Account Discovery](https://attack.mitre.org/techniques/T1087), or [Password Policy Discovery](https://attack.mitre.org/techniques/T1201). Adversaries may also combine brute forcing activity with behaviors such as [External Remote Services](https://attack.mitre.org/techniques/T1133) as part of Initial Access." - }, - { - "name": "T1190", - "label": "Exploit Public-Facing Application", - "description": "Adversaries may attempt to exploit a weakness in an Internet-facing host or system to initially access a network. The weakness in the system can be a software bug, a temporary glitch, or a misconfiguration.\n\nExploited applications are often websites/web servers, but can also include databases (like SQL), standard services (like SMB or SSH), network device administration and management protocols (like SNMP and Smart Install), and any other system with Internet accessible open sockets.(Citation: NVD CVE-2016-6662)(Citation: CIS Multiple SMB Vulnerabilities)(Citation: US-CERT TA18-106A Network Infrastructure Devices 2018)(Citation: Cisco Blog Legacy Device Attacks)(Citation: NVD CVE-2014-7169) Depending on the flaw being exploited this may also involve [Exploitation for Defense Evasion](https://attack.mitre.org/techniques/T1211). \n\nIf an application is hosted on cloud-based infrastructure and/or is containerized, then exploiting it may lead to compromise of the underlying instance or container. This can allow an adversary a path to access the cloud or container APIs, exploit container host access via [Escape to Host](https://attack.mitre.org/techniques/T1611), or take advantage of weak identity and access management policies.\n\nAdversaries may also exploit edge network infrastructure and related appliances, specifically targeting devices that do not support robust host-based defenses.(Citation: Mandiant Fortinet Zero Day)(Citation: Wired Russia Cyberwar)\n\nFor websites and databases, the OWASP top 10 and CWE top 25 highlight the most common web-based vulnerabilities.(Citation: OWASP Top 10)(Citation: CWE top 25)" - } - ], - "cves": [], - "scores": { - "overall": { - "aggressiveness": 5, - "threat": 2, - "trust": 4, - "anomaly": 0, - "total": 4 - }, - "last_day": { - "aggressiveness": 0, - "threat": 0, - "trust": 0, - "anomaly": 0, - "total": 0 - }, - "last_week": { - "aggressiveness": 5, - "threat": 2, - "trust": 4, - "anomaly": 0, - "total": 4 - }, - "last_month": { - "aggressiveness": 5, - "threat": 2, - "trust": 4, - "anomaly": 0, - "total": 4 - } - }, - "references": [] + "references": [] } ``` @@ -195,11 +195,11 @@ The reputation of the IP address. The possible values are: -- `malicious` : The IP address is malicious -- `suspicious` : Many CrowdSec users have reported the IP, but it is not aggressive enough to be considered malicious -- `known` : At this time, the CrowdSec network has identified the IP, but we still require additional information to make a decision -- `safe` : The IP address is safe and can be trusted (ex: Google DNS, Cloudflare DNS ...) -- `unknown`: The IP address is either unknown or its last report is from more than three months ago +- `malicious` : The IP address is malicious +- `suspicious` : Many CrowdSec users have reported the IP, but it is not aggressive enough to be considered malicious +- `known` : At this time, the CrowdSec network has identified the IP, but we still require additional information to make a decision +- `safe` : The IP address is safe and can be trusted (ex: Google DNS, Cloudflare DNS ...) +- `unknown`: The IP address is either unknown or its last report is from more than three months ago ## `ip_range_24` @@ -223,10 +223,10 @@ For range reputation, only the IPs in the immediate proximity of the requested I The possible values for the /24 network prefix are: -- `malicious` : The range is considered malicious -- `suspicious` : The IP range contains several IPs that have been reported by the CrowdSec network -- `known` : The IP range is recognized in the CrowdSec network, but we lack sufficient sightings of its IP addresses -- `unknown`: The last report for IP range is either unknown or over 3 months old +- `malicious` : The range is considered malicious +- `suspicious` : The IP range contains several IPs that have been reported by the CrowdSec network +- `known` : The IP range is recognized in the CrowdSec network, but we lack sufficient sightings of its IP addresses +- `unknown`: The last report for IP range is either unknown or over 3 months old ## `ip_range_24_score` @@ -261,10 +261,10 @@ The level of background noise of an IP address is an indicator of its internet a The possible values are: -- `high` : IP is very noisy, validated as an untargeted mild-threat mass-attacks -- `medium` : IP has been reported by many members of the CrowdSec network, but not enough to be considered as background noise -- `low` : IP has been reported by a few members of the CrowdSec network -- `none` : IP has never been reported or only by a very few members of the CrowdSec network +- `high` : IP is very noisy, validated as an untargeted mild-threat mass-attacks +- `medium` : IP has been reported by many members of the CrowdSec network, but not enough to be considered as background noise +- `low` : IP has been reported by a few members of the CrowdSec network +- `none` : IP has never been reported or only by a very few members of the CrowdSec network ## `background_noise_score` @@ -276,7 +276,6 @@ The possible values are: CrowdSec intelligence calculated score: a high background noise scores highlights untargeted mild-threat mass-attacks. - ## `ip_range_score` > type: **int** @@ -597,7 +596,7 @@ Human-friendly description of the classification. "attack_details" : [ { "name" : "crowdsecurity/scenario", - "label" : "Scenario Labelr", + "label" : "Scenario Label", "description" : "Scenario description" } ] @@ -611,7 +610,7 @@ The possibles values of this field are listed [here](cti_api/taxonomy/scenarios. > type: **string** ```json -"name" : "protocol:behavior" +"name" : "author/scenario_name" ``` Name of the scenario, often in the form `author/scenario_name`. @@ -1016,6 +1015,52 @@ The score of the _trust_ component (see [more here](cti_api/taxonomy/scores.md)) The score of the _anomaly_ component (see [more here](cti_api/taxonomy/scores.md)). +## references + +> type: **list(object)** + +```json +"references" : [ + { + "name" : "list_name", + "label" : "List Label", + "description" : "List descrption" + } +] +``` + +A list of the [CrowdSec Blockists](https://app.crowdsec.net/blocklists) the IP belongs to. + +### `name` + +> type: **string** + +```json +"name" : "list:list_name" +``` + +Name of the list, often in the form `list:`. + +### `label` + +> type: **string** + +```json +"label" : "List label" +``` + +Human-friendly name of the list. + +### `description` + +> type: **string** + +```json +"description" : "List description" +``` + +Human-friendly description of the list. + ## `state` > type: **string** @@ -1026,8 +1071,8 @@ The score of the _anomaly_ component (see [more here](cti_api/taxonomy/scores.md Only present for the `fire` route. -- `validated` means IP is currently part of community blocklist -- `refused` means it was part of the community blocklist, but was manually purged (ie. false positive) +- `validated` means IP is currently part of community blocklist +- `refused` means it was part of the community blocklist, but was manually purged (ie. false positive) ## `expiration` From 35048aeb7fd601aad266bdaf1555bf047c058347 Mon Sep 17 00:00:00 2001 From: alteredCoder Date: Thu, 10 Oct 2024 15:54:01 +0200 Subject: [PATCH 2/2] fix typo --- crowdsec-docs/unversioned/cti_api/taxonomy/cti_fields.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crowdsec-docs/unversioned/cti_api/taxonomy/cti_fields.md b/crowdsec-docs/unversioned/cti_api/taxonomy/cti_fields.md index 64f7b81a9..54dfa88af 100644 --- a/crowdsec-docs/unversioned/cti_api/taxonomy/cti_fields.md +++ b/crowdsec-docs/unversioned/cti_api/taxonomy/cti_fields.md @@ -1015,7 +1015,7 @@ The score of the _trust_ component (see [more here](cti_api/taxonomy/scores.md)) The score of the _anomaly_ component (see [more here](cti_api/taxonomy/scores.md)). -## references +## `references` > type: **list(object)**