secator 0.22.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- secator/.gitignore +162 -0
- secator/__init__.py +0 -0
- secator/celery.py +453 -0
- secator/celery_signals.py +138 -0
- secator/celery_utils.py +320 -0
- secator/cli.py +2035 -0
- secator/cli_helper.py +395 -0
- secator/click.py +87 -0
- secator/config.py +670 -0
- secator/configs/__init__.py +0 -0
- secator/configs/profiles/__init__.py +0 -0
- secator/configs/profiles/aggressive.yaml +8 -0
- secator/configs/profiles/all_ports.yaml +7 -0
- secator/configs/profiles/full.yaml +31 -0
- secator/configs/profiles/http_headless.yaml +7 -0
- secator/configs/profiles/http_record.yaml +8 -0
- secator/configs/profiles/insane.yaml +8 -0
- secator/configs/profiles/paranoid.yaml +8 -0
- secator/configs/profiles/passive.yaml +11 -0
- secator/configs/profiles/polite.yaml +8 -0
- secator/configs/profiles/sneaky.yaml +8 -0
- secator/configs/profiles/tor.yaml +5 -0
- secator/configs/scans/__init__.py +0 -0
- secator/configs/scans/domain.yaml +31 -0
- secator/configs/scans/host.yaml +23 -0
- secator/configs/scans/network.yaml +30 -0
- secator/configs/scans/subdomain.yaml +27 -0
- secator/configs/scans/url.yaml +19 -0
- secator/configs/workflows/__init__.py +0 -0
- secator/configs/workflows/cidr_recon.yaml +48 -0
- secator/configs/workflows/code_scan.yaml +29 -0
- secator/configs/workflows/domain_recon.yaml +46 -0
- secator/configs/workflows/host_recon.yaml +95 -0
- secator/configs/workflows/subdomain_recon.yaml +120 -0
- secator/configs/workflows/url_bypass.yaml +15 -0
- secator/configs/workflows/url_crawl.yaml +98 -0
- secator/configs/workflows/url_dirsearch.yaml +62 -0
- secator/configs/workflows/url_fuzz.yaml +68 -0
- secator/configs/workflows/url_params_fuzz.yaml +66 -0
- secator/configs/workflows/url_secrets_hunt.yaml +23 -0
- secator/configs/workflows/url_vuln.yaml +91 -0
- secator/configs/workflows/user_hunt.yaml +29 -0
- secator/configs/workflows/wordpress.yaml +38 -0
- secator/cve.py +718 -0
- secator/decorators.py +7 -0
- secator/definitions.py +168 -0
- secator/exporters/__init__.py +14 -0
- secator/exporters/_base.py +3 -0
- secator/exporters/console.py +10 -0
- secator/exporters/csv.py +37 -0
- secator/exporters/gdrive.py +123 -0
- secator/exporters/json.py +16 -0
- secator/exporters/table.py +36 -0
- secator/exporters/txt.py +28 -0
- secator/hooks/__init__.py +0 -0
- secator/hooks/gcs.py +80 -0
- secator/hooks/mongodb.py +281 -0
- secator/installer.py +694 -0
- secator/loader.py +128 -0
- secator/output_types/__init__.py +49 -0
- secator/output_types/_base.py +108 -0
- secator/output_types/certificate.py +78 -0
- secator/output_types/domain.py +50 -0
- secator/output_types/error.py +42 -0
- secator/output_types/exploit.py +58 -0
- secator/output_types/info.py +24 -0
- secator/output_types/ip.py +47 -0
- secator/output_types/port.py +55 -0
- secator/output_types/progress.py +36 -0
- secator/output_types/record.py +36 -0
- secator/output_types/stat.py +41 -0
- secator/output_types/state.py +29 -0
- secator/output_types/subdomain.py +45 -0
- secator/output_types/tag.py +69 -0
- secator/output_types/target.py +38 -0
- secator/output_types/url.py +112 -0
- secator/output_types/user_account.py +41 -0
- secator/output_types/vulnerability.py +101 -0
- secator/output_types/warning.py +30 -0
- secator/report.py +140 -0
- secator/rich.py +130 -0
- secator/runners/__init__.py +14 -0
- secator/runners/_base.py +1240 -0
- secator/runners/_helpers.py +218 -0
- secator/runners/celery.py +18 -0
- secator/runners/command.py +1178 -0
- secator/runners/python.py +126 -0
- secator/runners/scan.py +87 -0
- secator/runners/task.py +81 -0
- secator/runners/workflow.py +168 -0
- secator/scans/__init__.py +29 -0
- secator/serializers/__init__.py +8 -0
- secator/serializers/dataclass.py +39 -0
- secator/serializers/json.py +45 -0
- secator/serializers/regex.py +25 -0
- secator/tasks/__init__.py +8 -0
- secator/tasks/_categories.py +487 -0
- secator/tasks/arjun.py +113 -0
- secator/tasks/arp.py +53 -0
- secator/tasks/arpscan.py +70 -0
- secator/tasks/bbot.py +372 -0
- secator/tasks/bup.py +118 -0
- secator/tasks/cariddi.py +193 -0
- secator/tasks/dalfox.py +87 -0
- secator/tasks/dirsearch.py +84 -0
- secator/tasks/dnsx.py +186 -0
- secator/tasks/feroxbuster.py +93 -0
- secator/tasks/ffuf.py +135 -0
- secator/tasks/fping.py +85 -0
- secator/tasks/gau.py +102 -0
- secator/tasks/getasn.py +60 -0
- secator/tasks/gf.py +36 -0
- secator/tasks/gitleaks.py +96 -0
- secator/tasks/gospider.py +84 -0
- secator/tasks/grype.py +109 -0
- secator/tasks/h8mail.py +75 -0
- secator/tasks/httpx.py +167 -0
- secator/tasks/jswhois.py +36 -0
- secator/tasks/katana.py +203 -0
- secator/tasks/maigret.py +87 -0
- secator/tasks/mapcidr.py +42 -0
- secator/tasks/msfconsole.py +179 -0
- secator/tasks/naabu.py +85 -0
- secator/tasks/nmap.py +487 -0
- secator/tasks/nuclei.py +151 -0
- secator/tasks/search_vulns.py +225 -0
- secator/tasks/searchsploit.py +109 -0
- secator/tasks/sshaudit.py +299 -0
- secator/tasks/subfinder.py +48 -0
- secator/tasks/testssl.py +283 -0
- secator/tasks/trivy.py +130 -0
- secator/tasks/trufflehog.py +240 -0
- secator/tasks/urlfinder.py +100 -0
- secator/tasks/wafw00f.py +106 -0
- secator/tasks/whois.py +34 -0
- secator/tasks/wpprobe.py +116 -0
- secator/tasks/wpscan.py +202 -0
- secator/tasks/x8.py +94 -0
- secator/tasks/xurlfind3r.py +83 -0
- secator/template.py +294 -0
- secator/thread.py +24 -0
- secator/tree.py +196 -0
- secator/utils.py +922 -0
- secator/utils_test.py +297 -0
- secator/workflows/__init__.py +29 -0
- secator-0.22.0.dist-info/METADATA +447 -0
- secator-0.22.0.dist-info/RECORD +150 -0
- secator-0.22.0.dist-info/WHEEL +4 -0
- secator-0.22.0.dist-info/entry_points.txt +2 -0
- secator-0.22.0.dist-info/licenses/LICENSE +60 -0
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
type: workflow
|
|
2
|
+
name: url_crawl
|
|
3
|
+
alias: urlcrawl
|
|
4
|
+
description: URL crawl (fast)
|
|
5
|
+
long_description: |
|
|
6
|
+
Rapidly crawls and discovers URLs from a target website using multiple crawling engines.
|
|
7
|
+
Supports both passive sources (collecting from external databases) and active crawlers
|
|
8
|
+
(spidering the website directly). Identifies interesting patterns, endpoints, and parameters.
|
|
9
|
+
Can optionally hunt for secrets in HTTP responses and probe URLs for additional information.
|
|
10
|
+
tags: [http, crawl]
|
|
11
|
+
input_types:
|
|
12
|
+
- url
|
|
13
|
+
|
|
14
|
+
options:
|
|
15
|
+
passive:
|
|
16
|
+
is_flag: True
|
|
17
|
+
help: Passive only (no requests to targets)
|
|
18
|
+
default: False
|
|
19
|
+
short: passive
|
|
20
|
+
|
|
21
|
+
active:
|
|
22
|
+
is_flag: True
|
|
23
|
+
help: Active only (no passive sources)
|
|
24
|
+
default: False
|
|
25
|
+
short: active
|
|
26
|
+
|
|
27
|
+
crawlers:
|
|
28
|
+
type: list
|
|
29
|
+
help: "Crawlers to use (comma-separated) (passive: xurlfind3r, urlfinder, gau; active: katana, gospider, cariddi)"
|
|
30
|
+
default: ['xurlfind3r', 'katana']
|
|
31
|
+
internal: True
|
|
32
|
+
|
|
33
|
+
hunt_secrets:
|
|
34
|
+
is_flag: True
|
|
35
|
+
help: Hunt secrets in HTTP responses (trufflehog)
|
|
36
|
+
default: False
|
|
37
|
+
short: hs
|
|
38
|
+
|
|
39
|
+
default_options:
|
|
40
|
+
match_codes: 200,204,301,302,307,401,403,405,500
|
|
41
|
+
|
|
42
|
+
tasks:
|
|
43
|
+
_group/crawl:
|
|
44
|
+
xurlfind3r:
|
|
45
|
+
description: Crawl URLs from passive sources
|
|
46
|
+
if: "'xurlfind3r' in opts.crawlers and not opts.active"
|
|
47
|
+
|
|
48
|
+
urlfinder:
|
|
49
|
+
description: Crawl URLs from passive sources
|
|
50
|
+
if: "'urlfinder' in opts.crawlers and not opts.active"
|
|
51
|
+
|
|
52
|
+
gau:
|
|
53
|
+
description: Crawl URLs from passive sources
|
|
54
|
+
if: "'gau' in opts.crawlers and not opts.active"
|
|
55
|
+
|
|
56
|
+
katana:
|
|
57
|
+
description: Crawl URLs
|
|
58
|
+
if: "'katana' in opts.crawlers and not opts.passive"
|
|
59
|
+
|
|
60
|
+
gospider:
|
|
61
|
+
description: Crawl URLs
|
|
62
|
+
if: "'gospider' in opts.crawlers and not opts.passive"
|
|
63
|
+
|
|
64
|
+
cariddi:
|
|
65
|
+
description: Hunt URLs patterns
|
|
66
|
+
info: True
|
|
67
|
+
secrets: True
|
|
68
|
+
errors: True
|
|
69
|
+
juicy_extensions: 1
|
|
70
|
+
juicy_endpoints: True
|
|
71
|
+
if: "'cariddi' in opts.crawlers and not opts.passive"
|
|
72
|
+
|
|
73
|
+
httpx:
|
|
74
|
+
description: Run HTTP probes on passive URLs
|
|
75
|
+
tech_detect: True
|
|
76
|
+
filter_codes: 404
|
|
77
|
+
targets_:
|
|
78
|
+
- target.name
|
|
79
|
+
- type: url
|
|
80
|
+
field: url
|
|
81
|
+
condition: item.status_code == 0
|
|
82
|
+
if: not opts.passive
|
|
83
|
+
|
|
84
|
+
_group/data_hunt:
|
|
85
|
+
trufflehog:
|
|
86
|
+
description: Find secrets in HTTP responses
|
|
87
|
+
targets_:
|
|
88
|
+
- type: url
|
|
89
|
+
field: stored_response_path
|
|
90
|
+
condition: item.stored_response_path != ''
|
|
91
|
+
if: opts.hunt_secrets and not opts.passive
|
|
92
|
+
maigret:
|
|
93
|
+
description: Hunt email addresses found
|
|
94
|
+
targets_:
|
|
95
|
+
- type: tag
|
|
96
|
+
field: value
|
|
97
|
+
condition: item.name == 'email_address'
|
|
98
|
+
if: opts.hunt_secrets and not opts.passive
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
type: workflow
|
|
2
|
+
name: url_dirsearch
|
|
3
|
+
alias: dirfind
|
|
4
|
+
description: URL directory search
|
|
5
|
+
long_description: |
|
|
6
|
+
Searches for hidden directories and files on web servers using content discovery techniques.
|
|
7
|
+
Probes URLs for directory listings, optionally bruteforces directories and crawls discovered
|
|
8
|
+
directory contents. Can hunt for sensitive files and secrets in HTTP responses.
|
|
9
|
+
Helpful for finding hidden admin panels, backup files, and exposed directories.
|
|
10
|
+
tags: [http, dir]
|
|
11
|
+
input_types:
|
|
12
|
+
- url
|
|
13
|
+
|
|
14
|
+
options:
|
|
15
|
+
hunt_secrets:
|
|
16
|
+
is_flag: True
|
|
17
|
+
help: Hunt secrets in HTTP responses (trufflehog)
|
|
18
|
+
default: False
|
|
19
|
+
short: hs
|
|
20
|
+
|
|
21
|
+
hunt_files:
|
|
22
|
+
is_flag: True
|
|
23
|
+
help: Hunt files in HTTP directories
|
|
24
|
+
default: False
|
|
25
|
+
short: cf
|
|
26
|
+
|
|
27
|
+
hunt_dirs:
|
|
28
|
+
is_flag: True
|
|
29
|
+
help: Hunt HTTP directories (ffuf)
|
|
30
|
+
default: False
|
|
31
|
+
short: fd
|
|
32
|
+
|
|
33
|
+
tasks:
|
|
34
|
+
httpx:
|
|
35
|
+
description: Run HTTP probes on URLs
|
|
36
|
+
tech_detect: True
|
|
37
|
+
|
|
38
|
+
ffuf:
|
|
39
|
+
description: Search for HTTP directories
|
|
40
|
+
auto_calibration: True
|
|
41
|
+
wordlist: directory_list_small
|
|
42
|
+
match_regex: '<title>Index of'
|
|
43
|
+
targets_:
|
|
44
|
+
- type: target
|
|
45
|
+
field: '{name}/FUZZ'
|
|
46
|
+
if: opts.hunt_dirs
|
|
47
|
+
|
|
48
|
+
katana:
|
|
49
|
+
description: Crawl files from HTTP directories
|
|
50
|
+
targets_:
|
|
51
|
+
- type: url
|
|
52
|
+
field: url
|
|
53
|
+
condition: item.is_directory
|
|
54
|
+
if: opts.hunt_files
|
|
55
|
+
|
|
56
|
+
trufflehog:
|
|
57
|
+
description: Find secrets in HTTP responses
|
|
58
|
+
targets_:
|
|
59
|
+
- type: url
|
|
60
|
+
field: stored_response_path
|
|
61
|
+
condition: item.stored_response_path != ''
|
|
62
|
+
if: opts.hunt_files
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
type: workflow
|
|
2
|
+
name: url_fuzz
|
|
3
|
+
alias: urlfuzz
|
|
4
|
+
description: URL fuzz (slow)
|
|
5
|
+
long_description: |
|
|
6
|
+
Performs comprehensive fuzzing of URLs to discover hidden content and directories.
|
|
7
|
+
Uses multiple fuzzing engines (dirsearch, feroxbuster, ffuf) with intelligent calibration
|
|
8
|
+
to filter false positives. Probes discovered URLs, captures screenshots when configured,
|
|
9
|
+
and optionally hunts for secrets in HTTP responses. Thorough but time-intensive.
|
|
10
|
+
tags: [http, fuzz]
|
|
11
|
+
input_types:
|
|
12
|
+
- url
|
|
13
|
+
|
|
14
|
+
default_options:
|
|
15
|
+
auto_calibration: true
|
|
16
|
+
follow_redirect: true
|
|
17
|
+
|
|
18
|
+
options:
|
|
19
|
+
fuzzers:
|
|
20
|
+
type: list
|
|
21
|
+
required: True
|
|
22
|
+
help: "Fuzzers to use (comma-separated) (dirsearch, feroxbuster, ffuf)"
|
|
23
|
+
default: ['ffuf']
|
|
24
|
+
|
|
25
|
+
hunt_secrets:
|
|
26
|
+
is_flag: True
|
|
27
|
+
help: Hunt secrets in HTTP responses (trufflehog)
|
|
28
|
+
default: False
|
|
29
|
+
short: hs
|
|
30
|
+
|
|
31
|
+
tasks:
|
|
32
|
+
httpx/1:
|
|
33
|
+
description: Run HTTP probes on URLs
|
|
34
|
+
tech_detect: True
|
|
35
|
+
|
|
36
|
+
_group/fuzz:
|
|
37
|
+
dirsearch:
|
|
38
|
+
description: Fuzz URLs
|
|
39
|
+
if: "'dirsearch' in opts.fuzzers"
|
|
40
|
+
|
|
41
|
+
feroxbuster:
|
|
42
|
+
description: Fuzz URLs
|
|
43
|
+
if: "'feroxbuster' in opts.fuzzers"
|
|
44
|
+
|
|
45
|
+
ffuf:
|
|
46
|
+
description: Fuzz URLs
|
|
47
|
+
if: "'ffuf' in opts.fuzzers"
|
|
48
|
+
targets_:
|
|
49
|
+
- type: target
|
|
50
|
+
field: '{name}/FUZZ'
|
|
51
|
+
|
|
52
|
+
httpx/2:
|
|
53
|
+
description: Run HTTP probes on crawled URLs
|
|
54
|
+
tech_detect: True
|
|
55
|
+
screenshot: True
|
|
56
|
+
targets_:
|
|
57
|
+
type: url
|
|
58
|
+
field: url
|
|
59
|
+
condition: opts.screenshot or opts.headless
|
|
60
|
+
# enrich: true # TODO: add enrich capabilities
|
|
61
|
+
|
|
62
|
+
trufflehog:
|
|
63
|
+
description: Find secrets in HTTP responses
|
|
64
|
+
targets_:
|
|
65
|
+
- type: url
|
|
66
|
+
field: stored_response_path
|
|
67
|
+
condition: item.stored_response_path != ''
|
|
68
|
+
if: opts.hunt_secrets
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
type: workflow
|
|
2
|
+
name: url_params_fuzz
|
|
3
|
+
alias: url_params_fuzz
|
|
4
|
+
description: Extract parameters from an URL and fuzz them
|
|
5
|
+
long_description: |
|
|
6
|
+
Identifies and tests URL parameters for vulnerabilities through intelligent fuzzing.
|
|
7
|
+
Extracts parameters from URLs using multiple techniques, then fuzzes them with various payloads
|
|
8
|
+
to discover potential security issues. Probes fuzzed URLs to verify results and optionally
|
|
9
|
+
hunts for secrets in responses. Effective for finding hidden parameters and testing input validation.
|
|
10
|
+
tags: [http, fuzz]
|
|
11
|
+
input_types:
|
|
12
|
+
- url
|
|
13
|
+
|
|
14
|
+
options:
|
|
15
|
+
hunt_secrets:
|
|
16
|
+
is_flag: True
|
|
17
|
+
help: Hunt secrets in HTTP responses (trufflehog)
|
|
18
|
+
default: False
|
|
19
|
+
short: hs
|
|
20
|
+
|
|
21
|
+
tasks:
|
|
22
|
+
httpx/1:
|
|
23
|
+
description: Probe URLs
|
|
24
|
+
follow_redirect: True
|
|
25
|
+
|
|
26
|
+
_group/extract_params:
|
|
27
|
+
arjun:
|
|
28
|
+
description: Extract parameters from URLs
|
|
29
|
+
wordlist: http_params
|
|
30
|
+
targets_:
|
|
31
|
+
- type: url
|
|
32
|
+
field: '{url}/'
|
|
33
|
+
condition: "'?' not in url.url"
|
|
34
|
+
|
|
35
|
+
x8:
|
|
36
|
+
description: Bruteforce URL params
|
|
37
|
+
wordlist: http_params
|
|
38
|
+
targets_:
|
|
39
|
+
- type: url
|
|
40
|
+
field: '{url}/'
|
|
41
|
+
condition: "'?' not in url.url"
|
|
42
|
+
|
|
43
|
+
ffuf:
|
|
44
|
+
description: Fuzz URL params
|
|
45
|
+
wordlist: https://raw.githubusercontent.com/trickest/wordlists/refs/heads/main/cloud/levels/level1.txt
|
|
46
|
+
auto_calibration: true
|
|
47
|
+
follow_redirect: true
|
|
48
|
+
targets_:
|
|
49
|
+
- type: tag
|
|
50
|
+
field: '{match}?{value}=FUZZ'
|
|
51
|
+
condition: item._source.startswith('arjun') or item._source.startswith('x8')
|
|
52
|
+
|
|
53
|
+
httpx:
|
|
54
|
+
description: Probe fuzzed URLs
|
|
55
|
+
targets_:
|
|
56
|
+
- type: url
|
|
57
|
+
field: url
|
|
58
|
+
condition: item._source.startswith('ffuf')
|
|
59
|
+
|
|
60
|
+
trufflehog:
|
|
61
|
+
description: Find secrets in HTTP responses
|
|
62
|
+
targets_:
|
|
63
|
+
- type: url
|
|
64
|
+
field: stored_response_path
|
|
65
|
+
condition: item.stored_response_path != ''
|
|
66
|
+
if: opts.hunt_secrets
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
type: workflow
|
|
2
|
+
name: url_secrets_hunt
|
|
3
|
+
alias: ush
|
|
4
|
+
description: Hunt secrets in URLs
|
|
5
|
+
long_description: |
|
|
6
|
+
Searches for exposed secrets, credentials, and sensitive information in web content.
|
|
7
|
+
Probes URLs and analyzes HTTP responses for API keys, passwords, tokens, private keys,
|
|
8
|
+
and other confidential data. Uses TruffleHog to detect various secret patterns.
|
|
9
|
+
Critical for identifying accidental credential exposure and sensitive data leaks.
|
|
10
|
+
input_types:
|
|
11
|
+
- url
|
|
12
|
+
|
|
13
|
+
tasks:
|
|
14
|
+
httpx:
|
|
15
|
+
description: Run HTTP probes on URLs
|
|
16
|
+
tech_detect: True
|
|
17
|
+
|
|
18
|
+
trufflehog:
|
|
19
|
+
description: Find secrets in HTTP responses
|
|
20
|
+
targets_:
|
|
21
|
+
- type: url
|
|
22
|
+
field: stored_response_path
|
|
23
|
+
condition: item.stored_response_path != ''
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
type: workflow
|
|
2
|
+
name: url_vuln
|
|
3
|
+
alias: url_vuln
|
|
4
|
+
description: URL vulnerability scan (gf, dalfox)
|
|
5
|
+
long_description: |
|
|
6
|
+
Scans URLs for common web vulnerabilities using pattern matching and automated testing tools.
|
|
7
|
+
Identifies potential XSS, LFI, SSRF, RCE, IDOR, and other vulnerability indicators in URL parameters.
|
|
8
|
+
Tests discovered vulnerable patterns with specialized tools like Dalfox for XSS exploitation.
|
|
9
|
+
Optionally runs comprehensive nuclei scans for additional HTTP vulnerability detection.
|
|
10
|
+
tags: [http, vulnerability]
|
|
11
|
+
input_types:
|
|
12
|
+
- url
|
|
13
|
+
|
|
14
|
+
options:
|
|
15
|
+
passive:
|
|
16
|
+
is_flag: True
|
|
17
|
+
help: Passive only (no requests to targets)
|
|
18
|
+
default: False
|
|
19
|
+
short: ps
|
|
20
|
+
|
|
21
|
+
nuclei:
|
|
22
|
+
is_flag: True
|
|
23
|
+
default: False
|
|
24
|
+
help: Run nuclei on tagged URLs (slow)
|
|
25
|
+
|
|
26
|
+
tasks:
|
|
27
|
+
_group/pattern_analysis:
|
|
28
|
+
gf/xss:
|
|
29
|
+
description: Hunt XSS params
|
|
30
|
+
pattern: xss
|
|
31
|
+
|
|
32
|
+
gf/lfi:
|
|
33
|
+
description: Hunt LFI params
|
|
34
|
+
pattern: lfi
|
|
35
|
+
|
|
36
|
+
gf/ssrf:
|
|
37
|
+
description: Hunt SSRF params
|
|
38
|
+
pattern: ssrf
|
|
39
|
+
|
|
40
|
+
gf/rce:
|
|
41
|
+
description: Hunt RCE params
|
|
42
|
+
pattern: rce
|
|
43
|
+
|
|
44
|
+
gf/interestingparams:
|
|
45
|
+
description: Hunt interest params
|
|
46
|
+
pattern: interestingparams
|
|
47
|
+
|
|
48
|
+
gf/idor:
|
|
49
|
+
description: Hunt Idor params
|
|
50
|
+
pattern: idor
|
|
51
|
+
|
|
52
|
+
gf/debug_logic:
|
|
53
|
+
description: Hunt debug params
|
|
54
|
+
pattern: debug_logic
|
|
55
|
+
|
|
56
|
+
_group/vuln_scan:
|
|
57
|
+
dalfox:
|
|
58
|
+
description: Attack XSS vulnerabilities
|
|
59
|
+
targets_:
|
|
60
|
+
- type: tag
|
|
61
|
+
field: match
|
|
62
|
+
condition: item._source.startswith("gf")
|
|
63
|
+
if: not opts.passive
|
|
64
|
+
|
|
65
|
+
nuclei:
|
|
66
|
+
description: Search for HTTP vulns
|
|
67
|
+
exclude_tags: [network, ssl, file, dns, osint, token-spray, headers]
|
|
68
|
+
targets_:
|
|
69
|
+
- type: target
|
|
70
|
+
field: name
|
|
71
|
+
- type: tag
|
|
72
|
+
field: match
|
|
73
|
+
condition: item._source.startswith("gf")
|
|
74
|
+
if: opts.nuclei and not opts.passive
|
|
75
|
+
# TODO: Add support for SQLMap
|
|
76
|
+
# sqlmap:
|
|
77
|
+
# description: Attack SQLI vulnerabilities
|
|
78
|
+
# targets_:
|
|
79
|
+
# - type: tag
|
|
80
|
+
# field: match
|
|
81
|
+
# condition: item.name in ['sqli']
|
|
82
|
+
|
|
83
|
+
# TODO: Make this work, need transform functions to replace a parameter fetched dynamically by the keyword 'FUZZ'
|
|
84
|
+
# ffuf:
|
|
85
|
+
# description: Attack LFI vulnerabilities
|
|
86
|
+
# targets_:
|
|
87
|
+
# - type: tag
|
|
88
|
+
# field: match
|
|
89
|
+
# transform:
|
|
90
|
+
# qsreplace: FUZZ
|
|
91
|
+
# condition: item.name in ['lfi']
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
type: workflow
|
|
2
|
+
name: user_hunt
|
|
3
|
+
alias: userhunt
|
|
4
|
+
description: User account search
|
|
5
|
+
long_description: |
|
|
6
|
+
Searches for user accounts and associated information across various online platforms and services.
|
|
7
|
+
Takes usernames, email addresses, or other identifiers and queries multiple sources to find
|
|
8
|
+
associated accounts, password leaks, and online profiles. Useful for OSINT investigations,
|
|
9
|
+
credential stuffing prevention checks, and understanding a user's digital footprint.
|
|
10
|
+
tags: [user_account]
|
|
11
|
+
input_types:
|
|
12
|
+
- slug
|
|
13
|
+
- string
|
|
14
|
+
- email
|
|
15
|
+
|
|
16
|
+
tasks:
|
|
17
|
+
_group/hunt_users:
|
|
18
|
+
maigret:
|
|
19
|
+
description: Hunt user accounts
|
|
20
|
+
targets_:
|
|
21
|
+
- type: target
|
|
22
|
+
field: name
|
|
23
|
+
condition: target.type != 'email'
|
|
24
|
+
h8mail:
|
|
25
|
+
description: Find password leaks
|
|
26
|
+
targets_:
|
|
27
|
+
- type: target
|
|
28
|
+
field: name
|
|
29
|
+
condition: target.type == 'email'
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
type: workflow
|
|
2
|
+
name: wordpress
|
|
3
|
+
alias: wordpress
|
|
4
|
+
description: Wordpress vulnerability scan
|
|
5
|
+
long_description: |
|
|
6
|
+
Specialized security assessment for WordPress websites and installations.
|
|
7
|
+
Identifies WordPress version, installed themes and plugins, known vulnerabilities,
|
|
8
|
+
misconfigurations, and weak configurations. Uses multiple WordPress-specific tools
|
|
9
|
+
to provide comprehensive coverage. Critical for WordPress site security audits.
|
|
10
|
+
tags: [http, wordpress, vulnerability]
|
|
11
|
+
input_types:
|
|
12
|
+
- url
|
|
13
|
+
- ip
|
|
14
|
+
- host
|
|
15
|
+
- host:port
|
|
16
|
+
|
|
17
|
+
tasks:
|
|
18
|
+
httpx:
|
|
19
|
+
description: URL probe
|
|
20
|
+
tech_detect: True
|
|
21
|
+
follow_redirect: True
|
|
22
|
+
|
|
23
|
+
_group/hunt_wordpress:
|
|
24
|
+
wpscan:
|
|
25
|
+
description: WPScan
|
|
26
|
+
targets_:
|
|
27
|
+
- url.url
|
|
28
|
+
|
|
29
|
+
wpprobe:
|
|
30
|
+
description: WPProbe
|
|
31
|
+
targets_:
|
|
32
|
+
- url.url
|
|
33
|
+
|
|
34
|
+
nuclei:
|
|
35
|
+
description: Nuclei Wordpress scan
|
|
36
|
+
tags: [wordpress]
|
|
37
|
+
targets_:
|
|
38
|
+
- url.url
|