forked from mirrors/kingfisher
105 lines
2.6 KiB
YAML
105 lines
2.6 KiB
YAML
rules:
|
|
- name: Zendesk Subdomain
|
|
id: kingfisher.zendesk.1
|
|
pattern: |
|
|
(?xi)
|
|
\b
|
|
(
|
|
[a-z0-9]
|
|
(?:
|
|
[a-z0-9-]{0,61}
|
|
[a-z0-9]
|
|
)?
|
|
\.zendesk\.com
|
|
)
|
|
\b
|
|
min_entropy: 2.0
|
|
confidence: medium
|
|
visible: false
|
|
examples:
|
|
- acme-support.zendesk.com
|
|
- helpdesk-prod.zendesk.com
|
|
references:
|
|
- https://developer.zendesk.com/api-reference/introduction/doc-conventions/
|
|
|
|
- name: Zendesk Account Email
|
|
id: kingfisher.zendesk.2
|
|
pattern: |
|
|
(?xi)
|
|
\b
|
|
(?:zendesk|zd)
|
|
(?:.|[\n\r]){0,32}?
|
|
(?:email|user(?:name)?)
|
|
(?:.|[\n\r]){0,12}?
|
|
(
|
|
[A-Za-z0-9._%+\-]+
|
|
@
|
|
[A-Za-z0-9.\-]+\.[A-Za-z]{2,}
|
|
)
|
|
\b
|
|
min_entropy: 2.0
|
|
confidence: medium
|
|
visible: false
|
|
examples:
|
|
- ZENDESK_EMAIL=agent@example.com
|
|
- 'zendesk_user: "support.bot@example.org"'
|
|
references:
|
|
- https://developer.zendesk.com/api-reference/introduction/security-and-auth/
|
|
|
|
- name: Zendesk API Token
|
|
id: kingfisher.zendesk.3
|
|
pattern: |
|
|
(?xi)
|
|
\b
|
|
(?:zendesk|zd)
|
|
(?:.|[\n\r]){0,48}?
|
|
(?:
|
|
api[\s_.-]*token
|
|
|
|
|
token
|
|
|
|
|
api[\s_.-]*key
|
|
)
|
|
(?:.|[\n\r]){0,16}?
|
|
(
|
|
[A-Za-z0-9]{40}
|
|
)
|
|
\b
|
|
pattern_requirements:
|
|
min_digits: 2
|
|
min_uppercase: 1
|
|
min_lowercase: 1
|
|
ignore_if_contains:
|
|
- example
|
|
- placeholder
|
|
- yourtoken
|
|
min_entropy: 3.8
|
|
confidence: medium
|
|
examples:
|
|
- ZENDESK_API_TOKEN=a3B8f29E4d1C6a0578e23D9f41b6C8e2qR7tY4uI
|
|
- zendesk_token="E7d2A1f849c3B05d6e81F2a794c3D5b0pQ8wX1zK"
|
|
references:
|
|
- https://developer.zendesk.com/api-reference/introduction/security-and-auth/
|
|
- https://developer.zendesk.com/api-reference/ticketing/account-configuration/current_user/
|
|
depends_on_rule:
|
|
- rule_id: kingfisher.zendesk.1
|
|
variable: ZENDESK_HOST
|
|
- rule_id: kingfisher.zendesk.2
|
|
variable: ZENDESK_EMAIL
|
|
validation:
|
|
type: Http
|
|
content:
|
|
request:
|
|
method: GET
|
|
url: 'https://{{ ZENDESK_HOST }}/api/v2/users/me.json'
|
|
headers:
|
|
Accept: application/json
|
|
Authorization: 'Basic {{ ZENDESK_EMAIL | append: "/token:" | append: TOKEN | b64enc }}'
|
|
response_matcher:
|
|
- report_response: true
|
|
- type: StatusMatch
|
|
status: [200]
|
|
- type: JsonValid
|
|
- type: WordMatch
|
|
words:
|
|
- '"user"'
|