secator 0.5.2__tar.gz → 0.7.0__tar.gz
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.
Potentially problematic release.
This version of secator might be problematic. Click here for more details.
- {secator-0.5.2 → secator-0.7.0}/CHANGELOG.md +61 -0
- {secator-0.5.2 → secator-0.7.0}/Dockerfile +6 -3
- {secator-0.5.2 → secator-0.7.0}/PKG-INFO +12 -6
- secator-0.7.0/helm/.helmignore +23 -0
- secator-0.7.0/helm/Chart.yaml +7 -0
- secator-0.7.0/helm/templates/redis-service.yaml +12 -0
- secator-0.7.0/helm/templates/redis.yaml +22 -0
- secator-0.7.0/helm/templates/secator-manager.yaml +18 -0
- secator-0.7.0/helm/templates/secator-worker.yaml +24 -0
- secator-0.7.0/helm/values.yaml +34 -0
- secator-0.7.0/pyproject.toml +97 -0
- secator-0.7.0/secator/celery.py +344 -0
- secator-0.7.0/secator/celery_utils.py +268 -0
- {secator-0.5.2 → secator-0.7.0}/secator/cli.py +327 -106
- {secator-0.5.2 → secator-0.7.0}/secator/config.py +27 -11
- {secator-0.5.2 → secator-0.7.0}/secator/configs/workflows/host_recon.yaml +5 -3
- {secator-0.5.2 → secator-0.7.0}/secator/configs/workflows/port_scan.yaml +7 -3
- secator-0.7.0/secator/configs/workflows/url_bypass.yaml +10 -0
- {secator-0.5.2 → secator-0.7.0}/secator/configs/workflows/url_vuln.yaml +1 -1
- {secator-0.5.2 → secator-0.7.0}/secator/decorators.py +169 -92
- {secator-0.5.2 → secator-0.7.0}/secator/definitions.py +10 -3
- {secator-0.5.2 → secator-0.7.0}/secator/exporters/__init__.py +7 -5
- secator-0.7.0/secator/exporters/console.py +10 -0
- secator-0.7.0/secator/exporters/csv.py +37 -0
- {secator-0.5.2 → secator-0.7.0}/secator/exporters/gdrive.py +16 -11
- {secator-0.5.2 → secator-0.7.0}/secator/exporters/json.py +3 -1
- secator-0.7.0/secator/exporters/table.py +35 -0
- secator-0.7.0/secator/exporters/txt.py +28 -0
- secator-0.7.0/secator/hooks/gcs.py +53 -0
- {secator-0.5.2 → secator-0.7.0}/secator/hooks/mongodb.py +54 -28
- secator-0.7.0/secator/output_types/__init__.py +42 -0
- {secator-0.5.2 → secator-0.7.0}/secator/output_types/_base.py +11 -1
- secator-0.7.0/secator/output_types/error.py +36 -0
- {secator-0.5.2 → secator-0.7.0}/secator/output_types/exploit.py +1 -1
- secator-0.7.0/secator/output_types/info.py +24 -0
- {secator-0.5.2 → secator-0.7.0}/secator/output_types/ip.py +7 -0
- {secator-0.5.2 → secator-0.7.0}/secator/output_types/port.py +8 -1
- {secator-0.5.2 → secator-0.7.0}/secator/output_types/progress.py +6 -1
- {secator-0.5.2 → secator-0.7.0}/secator/output_types/record.py +3 -1
- secator-0.7.0/secator/output_types/stat.py +33 -0
- {secator-0.5.2 → secator-0.7.0}/secator/output_types/tag.py +6 -4
- {secator-0.5.2 → secator-0.7.0}/secator/output_types/url.py +6 -3
- {secator-0.5.2 → secator-0.7.0}/secator/output_types/vulnerability.py +3 -2
- secator-0.7.0/secator/output_types/warning.py +24 -0
- secator-0.7.0/secator/report.py +127 -0
- {secator-0.5.2 → secator-0.7.0}/secator/rich.py +44 -39
- secator-0.7.0/secator/runners/_base.py +897 -0
- secator-0.7.0/secator/runners/_helpers.py +86 -0
- secator-0.7.0/secator/runners/celery.py +18 -0
- {secator-0.5.2 → secator-0.7.0}/secator/runners/command.py +364 -211
- {secator-0.5.2 → secator-0.7.0}/secator/runners/scan.py +8 -24
- secator-0.7.0/secator/runners/task.py +74 -0
- {secator-0.5.2 → secator-0.7.0}/secator/runners/workflow.py +41 -40
- secator-0.7.0/secator/scans/__init__.py +28 -0
- {secator-0.5.2 → secator-0.7.0}/secator/serializers/dataclass.py +6 -0
- secator-0.7.0/secator/serializers/json.py +20 -0
- secator-0.7.0/secator/serializers/regex.py +25 -0
- {secator-0.5.2 → secator-0.7.0}/secator/tasks/_categories.py +6 -3
- secator-0.7.0/secator/tasks/bbot.py +293 -0
- secator-0.7.0/secator/tasks/bup.py +98 -0
- {secator-0.5.2 → secator-0.7.0}/secator/tasks/cariddi.py +38 -49
- {secator-0.5.2 → secator-0.7.0}/secator/tasks/dalfox.py +3 -0
- {secator-0.5.2 → secator-0.7.0}/secator/tasks/dirsearch.py +12 -23
- secator-0.7.0/secator/tasks/dnsx.py +76 -0
- {secator-0.5.2 → secator-0.7.0}/secator/tasks/dnsxbrute.py +2 -0
- {secator-0.5.2 → secator-0.7.0}/secator/tasks/feroxbuster.py +8 -17
- {secator-0.5.2 → secator-0.7.0}/secator/tasks/ffuf.py +3 -2
- {secator-0.5.2 → secator-0.7.0}/secator/tasks/fping.py +3 -3
- {secator-0.5.2 → secator-0.7.0}/secator/tasks/gau.py +5 -0
- {secator-0.5.2 → secator-0.7.0}/secator/tasks/gf.py +2 -2
- {secator-0.5.2 → secator-0.7.0}/secator/tasks/gospider.py +4 -0
- {secator-0.5.2 → secator-0.7.0}/secator/tasks/grype.py +9 -9
- secator-0.7.0/secator/tasks/h8mail.py +70 -0
- {secator-0.5.2 → secator-0.7.0}/secator/tasks/httpx.py +58 -21
- {secator-0.5.2 → secator-0.7.0}/secator/tasks/katana.py +18 -22
- {secator-0.5.2 → secator-0.7.0}/secator/tasks/maigret.py +26 -24
- {secator-0.5.2 → secator-0.7.0}/secator/tasks/mapcidr.py +2 -3
- {secator-0.5.2 → secator-0.7.0}/secator/tasks/msfconsole.py +4 -16
- {secator-0.5.2 → secator-0.7.0}/secator/tasks/naabu.py +3 -1
- {secator-0.5.2 → secator-0.7.0}/secator/tasks/nmap.py +50 -35
- {secator-0.5.2 → secator-0.7.0}/secator/tasks/nuclei.py +9 -2
- {secator-0.5.2 → secator-0.7.0}/secator/tasks/searchsploit.py +17 -9
- {secator-0.5.2 → secator-0.7.0}/secator/tasks/subfinder.py +5 -1
- {secator-0.5.2 → secator-0.7.0}/secator/tasks/wpscan.py +79 -93
- {secator-0.5.2 → secator-0.7.0}/secator/template.py +61 -45
- secator-0.7.0/secator/thread.py +24 -0
- secator-0.7.0/secator/utils.py +691 -0
- {secator-0.5.2 → secator-0.7.0}/secator/utils_test.py +48 -23
- secator-0.7.0/secator/workflows/__init__.py +28 -0
- {secator-0.5.2 → secator-0.7.0}/tests/fixtures/ls.py +1 -1
- {secator-0.5.2 → secator-0.7.0}/tests/integration/inputs.py +5 -4
- {secator-0.5.2 → secator-0.7.0}/tests/integration/outputs.py +40 -23
- {secator-0.5.2 → secator-0.7.0}/tests/integration/setup.sh +1 -0
- secator-0.7.0/tests/integration/test_addons.py +23 -0
- secator-0.7.0/tests/integration/test_celery.py +195 -0
- {secator-0.5.2 → secator-0.7.0}/tests/integration/test_scans.py +5 -26
- {secator-0.5.2 → secator-0.7.0}/tests/integration/test_tasks.py +11 -40
- {secator-0.5.2 → secator-0.7.0}/tests/integration/test_worker.py +20 -10
- {secator-0.5.2 → secator-0.7.0}/tests/integration/test_workflows.py +24 -29
- {secator-0.5.2 → secator-0.7.0}/tests/integration/wordlist.txt +2 -1
- secator-0.7.0/tests/performance/loadtester.py +77 -0
- secator-0.7.0/tests/performance/test_worker.py +31 -0
- secator-0.7.0/tests/unit/test_celery.py +117 -0
- secator-0.7.0/tests/unit/test_config.py +156 -0
- {secator-0.5.2 → secator-0.7.0}/tests/unit/test_offline.py +18 -10
- secator-0.7.0/tests/unit/test_runners.py +435 -0
- {secator-0.5.2 → secator-0.7.0}/tests/unit/test_tasks.py +68 -113
- secator-0.7.0/tests/unit/test_template.py +126 -0
- secator-0.7.0/tests/unit/test_utils.py +40 -0
- secator-0.5.2/pyproject.toml +0 -89
- secator-0.5.2/secator/celery.py +0 -369
- secator-0.5.2/secator/exporters/csv.py +0 -29
- secator-0.5.2/secator/exporters/table.py +0 -7
- secator-0.5.2/secator/exporters/txt.py +0 -24
- secator-0.5.2/secator/output_types/__init__.py +0 -24
- secator-0.5.2/secator/report.py +0 -95
- secator-0.5.2/secator/runners/_base.py +0 -910
- secator-0.5.2/secator/runners/_helpers.py +0 -172
- secator-0.5.2/secator/runners/task.py +0 -108
- secator-0.5.2/secator/serializers/json.py +0 -15
- secator-0.5.2/secator/serializers/regex.py +0 -17
- secator-0.5.2/secator/tasks/dnsx.py +0 -57
- secator-0.5.2/secator/tasks/h8mail.py +0 -80
- secator-0.5.2/secator/utils.py +0 -441
- secator-0.5.2/tests/performance/loadtester.py +0 -55
- secator-0.5.2/tests/unit/test_celery.py +0 -39
- secator-0.5.2/tests/unit/test_config.py +0 -71
- secator-0.5.2/tests/unit/test_template.py +0 -53
- secator-0.5.2/tests/unit/test_workflows.py +0 -75
- {secator-0.5.2 → secator-0.7.0}/.flake8 +0 -0
- {secator-0.5.2 → secator-0.7.0}/.gitignore +0 -0
- {secator-0.5.2 → secator-0.7.0}/CONTRIBUTING.md +0 -0
- {secator-0.5.2 → secator-0.7.0}/LICENSE +0 -0
- {secator-0.5.2 → secator-0.7.0}/README.md +0 -0
- {secator-0.5.2 → secator-0.7.0}/SECURITY.md +0 -0
- {secator-0.5.2 → secator-0.7.0}/cloudbuild.yaml +0 -0
- {secator-0.5.2 → secator-0.7.0}/images/aliases.cast +0 -0
- {secator-0.5.2 → secator-0.7.0}/images/aliases.gif +0 -0
- {secator-0.5.2 → secator-0.7.0}/images/demo.gif +0 -0
- {secator-0.5.2 → secator-0.7.0}/images/demo.tap +0 -0
- {secator-0.5.2 → secator-0.7.0}/images/fmt.cast +0 -0
- {secator-0.5.2 → secator-0.7.0}/images/fmt.gif +0 -0
- {secator-0.5.2 → secator-0.7.0}/images/help.png +0 -0
- {secator-0.5.2 → secator-0.7.0}/images/input.cast +0 -0
- {secator-0.5.2 → secator-0.7.0}/images/input.gif +0 -0
- {secator-0.5.2 → secator-0.7.0}/images/pipe.cast +0 -0
- {secator-0.5.2 → secator-0.7.0}/images/pipe.gif +0 -0
- {secator-0.5.2 → secator-0.7.0}/images/short_demo.cast +0 -0
- {secator-0.5.2 → secator-0.7.0}/images/short_demo.gif +0 -0
- {secator-0.5.2 → secator-0.7.0}/scripts/download_cves.sh +0 -0
- {secator-0.5.2 → secator-0.7.0}/scripts/install.sh +0 -0
- {secator-0.5.2 → secator-0.7.0}/scripts/install_asciinema.sh +0 -0
- {secator-0.5.2 → secator-0.7.0}/scripts/install_go.sh +0 -0
- {secator-0.5.2 → secator-0.7.0}/scripts/install_ruby.sh +0 -0
- {secator-0.5.2 → secator-0.7.0}/scripts/msf/exploit_cve.rc +0 -0
- {secator-0.5.2 → secator-0.7.0}/scripts/msf/ftp_anonymous.rc +0 -0
- {secator-0.5.2 → secator-0.7.0}/scripts/msf/ftp_version.rc +0 -0
- {secator-0.5.2 → secator-0.7.0}/scripts/msf/ftp_vsftpd_234_backdoor.rc +0 -0
- {secator-0.5.2 → secator-0.7.0}/scripts/msf/redis.rc +0 -0
- {secator-0.5.2 → secator-0.7.0}/scripts/msfinstall.sh +0 -0
- {secator-0.5.2 → secator-0.7.0}/scripts/stories/STORY.md +0 -0
- {secator-0.5.2 → secator-0.7.0}/scripts/stories/aliases.sh +0 -0
- {secator-0.5.2 → secator-0.7.0}/scripts/stories/demo.sh +0 -0
- {secator-0.5.2 → secator-0.7.0}/scripts/stories/fmt.sh +0 -0
- {secator-0.5.2 → secator-0.7.0}/scripts/stories/input.sh +0 -0
- {secator-0.5.2 → secator-0.7.0}/scripts/stories/pipe.sh +0 -0
- {secator-0.5.2 → secator-0.7.0}/scripts/stories/short_demo.sh +0 -0
- {secator-0.5.2 → secator-0.7.0}/secator/.gitignore +0 -0
- {secator-0.5.2 → secator-0.7.0}/secator/__init__.py +0 -0
- {secator-0.5.2 → secator-0.7.0}/secator/configs/__init__.py +0 -0
- {secator-0.5.2 → secator-0.7.0}/secator/configs/profiles/__init__.py +0 -0
- {secator-0.5.2 → secator-0.7.0}/secator/configs/profiles/aggressive.yaml +0 -0
- {secator-0.5.2 → secator-0.7.0}/secator/configs/profiles/default.yaml +0 -0
- {secator-0.5.2 → secator-0.7.0}/secator/configs/profiles/stealth.yaml +0 -0
- {secator-0.5.2 → secator-0.7.0}/secator/configs/scans/__init__.py +0 -0
- {secator-0.5.2 → secator-0.7.0}/secator/configs/scans/domain.yaml +0 -0
- {secator-0.5.2 → secator-0.7.0}/secator/configs/scans/host.yaml +0 -0
- {secator-0.5.2 → secator-0.7.0}/secator/configs/scans/network.yaml +0 -0
- {secator-0.5.2 → secator-0.7.0}/secator/configs/scans/subdomain.yaml +0 -0
- {secator-0.5.2 → secator-0.7.0}/secator/configs/scans/url.yaml +0 -0
- {secator-0.5.2 → secator-0.7.0}/secator/configs/workflows/__init__.py +0 -0
- {secator-0.5.2 → secator-0.7.0}/secator/configs/workflows/cidr_recon.yaml +0 -0
- {secator-0.5.2 → secator-0.7.0}/secator/configs/workflows/code_scan.yaml +0 -0
- {secator-0.5.2 → secator-0.7.0}/secator/configs/workflows/subdomain_recon.yaml +0 -0
- {secator-0.5.2 → secator-0.7.0}/secator/configs/workflows/url_crawl.yaml +0 -0
- {secator-0.5.2 → secator-0.7.0}/secator/configs/workflows/url_dirsearch.yaml +0 -0
- {secator-0.5.2 → secator-0.7.0}/secator/configs/workflows/url_fuzz.yaml +0 -0
- {secator-0.5.2 → secator-0.7.0}/secator/configs/workflows/url_nuclei.yaml +0 -0
- {secator-0.5.2 → secator-0.7.0}/secator/configs/workflows/user_hunt.yaml +0 -0
- {secator-0.5.2 → secator-0.7.0}/secator/configs/workflows/wordpress.yaml +0 -0
- {secator-0.5.2 → secator-0.7.0}/secator/exporters/_base.py +0 -0
- {secator-0.5.2 → secator-0.7.0}/secator/hooks/__init__.py +0 -0
- {secator-0.5.2 → secator-0.7.0}/secator/installer.py +0 -0
- {secator-0.5.2 → secator-0.7.0}/secator/output_types/subdomain.py +0 -0
- {secator-0.5.2 → secator-0.7.0}/secator/output_types/target.py +0 -0
- {secator-0.5.2 → secator-0.7.0}/secator/output_types/user_account.py +0 -0
- {secator-0.5.2 → secator-0.7.0}/secator/runners/__init__.py +0 -0
- {secator-0.5.2 → secator-0.7.0}/secator/serializers/__init__.py +0 -0
- {secator-0.5.2 → secator-0.7.0}/secator/tasks/__init__.py +0 -0
- {secator-0.5.2 → secator-0.7.0}/tests/__init__.py +0 -0
- {secator-0.5.2 → secator-0.7.0}/tests/fixtures/h8mail_breach.txt +0 -0
- {secator-0.5.2 → secator-0.7.0}/tests/fixtures/msfconsole_input.rc +0 -0
- {secator-0.5.2 → secator-0.7.0}/tests/fixtures/nmap_output.xml +0 -0
- {secator-0.5.2 → secator-0.7.0}/tests/integration/__init__.py +0 -0
- {secator-0.5.2 → secator-0.7.0}/tests/integration/teardown.sh +0 -0
- {secator-0.5.2 → secator-0.7.0}/tests/integration/wordlist_dns.txt +0 -0
- {secator-0.5.2 → secator-0.7.0}/tests/integration/wordpress_toolbox/Dockerfile +0 -0
- {secator-0.5.2 → secator-0.7.0}/tests/integration/wordpress_toolbox/Makefile +0 -0
- {secator-0.5.2 → secator-0.7.0}/tests/performance/__init__.py +0 -0
- {secator-0.5.2 → secator-0.7.0}/tests/unit/__init__.py +0 -0
- {secator-0.5.2 → secator-0.7.0}/tests/unit/test_scans.py +0 -0
- {secator-0.5.2 → secator-0.7.0}/tests/unit/test_serializers.py +0 -0
|
@@ -1,5 +1,66 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.7.0](https://github.com/freelabz/secator/compare/v0.6.0...v0.7.0) (2024-11-13)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Features
|
|
7
|
+
|
|
8
|
+
* **`bup`:** add proxy option and progress indicator ([#444](https://github.com/freelabz/secator/issues/444)) ([d5c63c8](https://github.com/freelabz/secator/commit/d5c63c81c6465a142ce70e4800effc02d526a243))
|
|
9
|
+
* **`dnsx`:** add IP output type on dnsx A record ([#426](https://github.com/freelabz/secator/issues/426)) ([629439e](https://github.com/freelabz/secator/commit/629439e459a6eefd5cbe68e9fc3a317371ba7987))
|
|
10
|
+
* **`naabu`/`nmap`:** help for defaults and change workflow opts ([#438](https://github.com/freelabz/secator/issues/438)) ([4dd0055](https://github.com/freelabz/secator/commit/4dd00556648e691a093887d294325b00409ac04a))
|
|
11
|
+
* **`nmap`:** add udp scan (`-sU`) and change default scan opts ([#418](https://github.com/freelabz/secator/issues/418)) ([36c6ff3](https://github.com/freelabz/secator/commit/36c6ff3766f88ac311c1bfea86a1b5e8686dd94e))
|
|
12
|
+
* add url_bypass workflow based on bup ([e96b1bc](https://github.com/freelabz/secator/commit/e96b1bc9906cd2f9aa3eb5b3770594811f242abd))
|
|
13
|
+
* chunk dalfox input by 1 ([#443](https://github.com/freelabz/secator/issues/443)) ([26c38d7](https://github.com/freelabz/secator/commit/26c38d79e89be3d35f464e89c6973b7beadb6ac4))
|
|
14
|
+
* **cli:** misc bug fixes and features ([#445](https://github.com/freelabz/secator/issues/445)) ([fccfdb8](https://github.com/freelabz/secator/commit/fccfdb8ca38dcd3a2c559429a7d58d46ecac49a6))
|
|
15
|
+
* **hooks:** explicit output type yield in static hooks ([#439](https://github.com/freelabz/secator/issues/439)) ([2d1f8e6](https://github.com/freelabz/secator/commit/2d1f8e6b7b77210028efe2c2c56866efbd6b0152))
|
|
16
|
+
* **katana:** add form_fill option ([#419](https://github.com/freelabz/secator/issues/419)) ([bebddb1](https://github.com/freelabz/secator/commit/bebddb1e2fae460403adda2d84b9ae515ca977aa))
|
|
17
|
+
* **refactor:** improve performance, add on_interval hook, rework CLI opts ([#473](https://github.com/freelabz/secator/issues/473)) ([4a22a70](https://github.com/freelabz/secator/commit/4a22a7082fe1edf50644034cfc54b11653b47aa4))
|
|
18
|
+
* **runner:** add GCS driver and secator threads ([#476](https://github.com/freelabz/secator/issues/476)) ([cae475a](https://github.com/freelabz/secator/commit/cae475a2fe15742ccd80d40c28ad41aa1ffc5348))
|
|
19
|
+
* **runner:** add skip_if_no_inputs to workflows ([#482](https://github.com/freelabz/secator/issues/482)) ([5546b82](https://github.com/freelabz/secator/commit/5546b82756d6aad0d227072d5a3b1149c44306e8))
|
|
20
|
+
* **runner:** on serialized hooks ([#424](https://github.com/freelabz/secator/issues/424)) ([fde6cd7](https://github.com/freelabz/secator/commit/fde6cd7f6cba015b08b370bfd14b0aca3f4a4018))
|
|
21
|
+
* **runner:** rework Celery core and mix fixes ([#450](https://github.com/freelabz/secator/issues/450)) ([b72f152](https://github.com/freelabz/secator/commit/b72f15286bb29ae60568309907d4dad41d4fbacb))
|
|
22
|
+
* sudo prompt check test ([#432](https://github.com/freelabz/secator/issues/432)) ([f45b123](https://github.com/freelabz/secator/commit/f45b1230fd6313342ebdda5a359c1285f2d80aa8))
|
|
23
|
+
* sudo prompts in non-tty mode ([#431](https://github.com/freelabz/secator/issues/431)) ([0e26b55](https://github.com/freelabz/secator/commit/0e26b55c168bfd69c212bc7667ef1b97e89e6bd5))
|
|
24
|
+
* **tasks:** bbot integration ([#375](https://github.com/freelabz/secator/issues/375)) ([2f0dea4](https://github.com/freelabz/secator/commit/2f0dea4f4cac3370129d0adf0000c8d0efa54361))
|
|
25
|
+
* **tasks:** bup integration ([#398](https://github.com/freelabz/secator/issues/398)) ([ed636aa](https://github.com/freelabz/secator/commit/ed636aad7d90baa7b3b73baebc8f5be002dd796a))
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
### Bug Fixes
|
|
29
|
+
|
|
30
|
+
* **cli:** proper opts override for workflows ([#436](https://github.com/freelabz/secator/issues/436)) ([1d1eaa3](https://github.com/freelabz/secator/commit/1d1eaa3283b3d5e9650b452e3865476e6a60a086))
|
|
31
|
+
* **dalfox:** restore input_chunk_size to default ([8f0a3b4](https://github.com/freelabz/secator/commit/8f0a3b4976e20afc2fb708483c7f8885b2b9f3d9))
|
|
32
|
+
* dnsx parsing output loading error ([#422](https://github.com/freelabz/secator/issues/422)) ([b9e98da](https://github.com/freelabz/secator/commit/b9e98da2b5378957076e1d8f0afd3948d5bcb5f6))
|
|
33
|
+
* empty CVE should pass ([#478](https://github.com/freelabz/secator/issues/478)) ([0644d68](https://github.com/freelabz/secator/commit/0644d68ccb92a4c38e8210e39f14f0850d84348d))
|
|
34
|
+
* gcs bug with empty paths ([549ac4c](https://github.com/freelabz/secator/commit/549ac4c8e7391a829cf1a6c5a43ad291bec1b34a))
|
|
35
|
+
* gcs bug with empty paths ([2d57e1a](https://github.com/freelabz/secator/commit/2d57e1ad4669587cf0abb0a59b0918cf72107d72))
|
|
36
|
+
* get_opt_value default value and reorg hooks ([#429](https://github.com/freelabz/secator/issues/429)) ([a44a36d](https://github.com/freelabz/secator/commit/a44a36d37f888787927ec6dfc891e86dab071aa4))
|
|
37
|
+
* mix bugfixes for stable release ([b743925](https://github.com/freelabz/secator/commit/b7439258c9cdadc7bd14a0a0b49e2db2d0f5b537))
|
|
38
|
+
* nmap defaults ([396f68a](https://github.com/freelabz/secator/commit/396f68a325a5a8f1a9379d314979dbf85a9c95c7))
|
|
39
|
+
* **nmap:** undefined service name ([#437](https://github.com/freelabz/secator/issues/437)) ([596f1af](https://github.com/freelabz/secator/commit/596f1aff53e9add73e1587497aee82465d212300))
|
|
40
|
+
* runner opts processing ([#477](https://github.com/freelabz/secator/issues/477)) ([d788e9d](https://github.com/freelabz/secator/commit/d788e9d3e508a849119d418bcc5ce371c6c53c6c))
|
|
41
|
+
* runner toDict() errors ([#475](https://github.com/freelabz/secator/issues/475)) ([b43c866](https://github.com/freelabz/secator/commit/b43c8669808651368536fa121be2ce79de7556aa))
|
|
42
|
+
* **runner:** bug with no inputs ([#483](https://github.com/freelabz/secator/issues/483)) ([4db7b46](https://github.com/freelabz/secator/commit/4db7b460a949e6b74b5837f0f1e3b5ca51b39094))
|
|
43
|
+
* **url_vuln:** repair bad condition ([214c8ab](https://github.com/freelabz/secator/commit/214c8abf7cad4916c8301ff056d894cc0bc26b28))
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
### Documentation
|
|
47
|
+
|
|
48
|
+
* add package json ([#415](https://github.com/freelabz/secator/issues/415)) ([f9a7c2f](https://github.com/freelabz/secator/commit/f9a7c2fc5df11506cce0d81babf1f7790b80465a))
|
|
49
|
+
|
|
50
|
+
## [0.6.0](https://github.com/freelabz/secator/compare/v0.5.2...v0.6.0) (2024-07-25)
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
### Features
|
|
54
|
+
|
|
55
|
+
* add duplicate finder to mongodb hooks ([#409](https://github.com/freelabz/secator/issues/409)) ([fb0e11c](https://github.com/freelabz/secator/commit/fb0e11cd2b64bf51bc862f47243c8c0602d3d5e9))
|
|
56
|
+
* basic helm chart ([#408](https://github.com/freelabz/secator/issues/408)) ([6b2f84f](https://github.com/freelabz/secator/commit/6b2f84f61bd8eccf2cdd61b6ffdc2eb4489240bc))
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
### Bug Fixes
|
|
60
|
+
|
|
61
|
+
* Dockerfile broken apt install ([#407](https://github.com/freelabz/secator/issues/407)) ([c023279](https://github.com/freelabz/secator/commit/c02327968ecea816004636801684b336735df439))
|
|
62
|
+
* **tasks:** duplicate meta opt entry ([#401](https://github.com/freelabz/secator/issues/401)) ([ae56aa6](https://github.com/freelabz/secator/commit/ae56aa62f5a18936a1787547e37bbe636e6e43c3))
|
|
63
|
+
|
|
3
64
|
## [0.5.2](https://github.com/freelabz/secator/compare/v0.5.1...v0.5.2) (2024-05-07)
|
|
4
65
|
|
|
5
66
|
|
|
@@ -22,8 +22,7 @@ RUN apt update -y && \
|
|
|
22
22
|
jq \
|
|
23
23
|
openssl \
|
|
24
24
|
proxychains \
|
|
25
|
-
proxychains-ng
|
|
26
|
-
&& rm -rf /var/lib/apt/lists/*
|
|
25
|
+
proxychains-ng
|
|
27
26
|
|
|
28
27
|
# Install Metasploit framework
|
|
29
28
|
RUN curl https://raw.githubusercontent.com/rapid7/metasploit-omnibus/master/config/templates/metasploit-framework-wrappers/msfupdate.erb > msfinstall
|
|
@@ -38,10 +37,14 @@ COPY . /code/
|
|
|
38
37
|
RUN pipx install .
|
|
39
38
|
RUN secator install tools
|
|
40
39
|
RUN secator install addons worker
|
|
41
|
-
RUN secator install addons
|
|
40
|
+
RUN secator install addons gdrive
|
|
41
|
+
RUN secator install addons gcs
|
|
42
42
|
RUN secator install addons mongodb
|
|
43
43
|
RUN secator install addons redis
|
|
44
44
|
RUN secator install addons dev
|
|
45
45
|
|
|
46
|
+
# Cleanup
|
|
47
|
+
RUN rm -rf /var/lib/apt/lists/*
|
|
48
|
+
|
|
46
49
|
# Set entrypoint
|
|
47
50
|
ENTRYPOINT ["secator"]
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: secator
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.7.0
|
|
4
4
|
Summary: The pentester's swiss knife.
|
|
5
5
|
Project-URL: Homepage, https://github.com/freelabz/secator
|
|
6
6
|
Project-URL: Issues, https://github.com/freelabz/secator/issues
|
|
7
7
|
Author-email: FreeLabz <sales@freelabz.com>
|
|
8
|
-
License-File: LICENSE
|
|
9
8
|
Keywords: automation,cybersecurity,pentest,recon,vulnerability
|
|
10
9
|
Classifier: Development Status :: 3 - Alpha
|
|
11
10
|
Classifier: Intended Audience :: Developers
|
|
@@ -19,22 +18,26 @@ Classifier: Programming Language :: Python :: 3.9
|
|
|
19
18
|
Classifier: Programming Language :: Python :: 3.10
|
|
20
19
|
Classifier: Programming Language :: Python :: 3.11
|
|
21
20
|
Requires-Python: >=3.8
|
|
22
|
-
Requires-Dist:
|
|
21
|
+
Requires-Dist: beautifulsoup4<=5
|
|
23
22
|
Requires-Dist: celery<6
|
|
24
23
|
Requires-Dist: cpe<2
|
|
25
24
|
Requires-Dist: dotmap<2
|
|
26
25
|
Requires-Dist: free-proxy<2
|
|
27
26
|
Requires-Dist: furl<3
|
|
27
|
+
Requires-Dist: greenlet<4
|
|
28
28
|
Requires-Dist: humanize<5
|
|
29
29
|
Requires-Dist: ifaddr<1
|
|
30
30
|
Requires-Dist: jinja2<4
|
|
31
31
|
Requires-Dist: packaging<25
|
|
32
|
+
Requires-Dist: psutil<7
|
|
32
33
|
Requires-Dist: pydantic<3
|
|
33
34
|
Requires-Dist: python-dotenv<2
|
|
34
35
|
Requires-Dist: pyyaml<7
|
|
35
36
|
Requires-Dist: requests<3
|
|
37
|
+
Requires-Dist: retry<1
|
|
36
38
|
Requires-Dist: rich-click<1.7
|
|
37
39
|
Requires-Dist: rich<14
|
|
40
|
+
Requires-Dist: tldextract<6
|
|
38
41
|
Requires-Dist: typing-extensions<5
|
|
39
42
|
Requires-Dist: validators<1
|
|
40
43
|
Requires-Dist: xmltodict<1
|
|
@@ -44,10 +47,13 @@ Provides-Extra: dev
|
|
|
44
47
|
Requires-Dist: asciinema-automation<1; extra == 'dev'
|
|
45
48
|
Requires-Dist: coverage<8; extra == 'dev'
|
|
46
49
|
Requires-Dist: flake8<8; extra == 'dev'
|
|
50
|
+
Requires-Dist: pytest<9; extra == 'dev'
|
|
47
51
|
Requires-Dist: watchdog<3; extra == 'dev'
|
|
48
|
-
Provides-Extra:
|
|
49
|
-
Requires-Dist: google-
|
|
50
|
-
|
|
52
|
+
Provides-Extra: gcs
|
|
53
|
+
Requires-Dist: google-cloud-storage<3; extra == 'gcs'
|
|
54
|
+
Provides-Extra: gdrive
|
|
55
|
+
Requires-Dist: google-api-python-client<3; extra == 'gdrive'
|
|
56
|
+
Requires-Dist: gspread<7; extra == 'gdrive'
|
|
51
57
|
Provides-Extra: mongodb
|
|
52
58
|
Requires-Dist: pymongo<5; extra == 'mongodb'
|
|
53
59
|
Provides-Extra: redis
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# Patterns to ignore when building packages.
|
|
2
|
+
# This supports shell glob matching, relative path matching, and
|
|
3
|
+
# negation (prefixed with !). Only one pattern per line.
|
|
4
|
+
.DS_Store
|
|
5
|
+
# Common VCS dirs
|
|
6
|
+
.git/
|
|
7
|
+
.gitignore
|
|
8
|
+
.bzr/
|
|
9
|
+
.bzrignore
|
|
10
|
+
.hg/
|
|
11
|
+
.hgignore
|
|
12
|
+
.svn/
|
|
13
|
+
# Common backup files
|
|
14
|
+
*.swp
|
|
15
|
+
*.bak
|
|
16
|
+
*.tmp
|
|
17
|
+
*.orig
|
|
18
|
+
*~
|
|
19
|
+
# Various IDEs
|
|
20
|
+
.project
|
|
21
|
+
.idea/
|
|
22
|
+
*.tmproj
|
|
23
|
+
.vscode/
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
apiVersion: apps/v1
|
|
2
|
+
kind: StatefulSet
|
|
3
|
+
metadata:
|
|
4
|
+
name: {{ .Values.redis.name }}
|
|
5
|
+
namespace: {{ .Values.namespace }}
|
|
6
|
+
spec:
|
|
7
|
+
selector:
|
|
8
|
+
matchLabels:
|
|
9
|
+
app: redis
|
|
10
|
+
serviceName: {{ .Values.redis.name }}
|
|
11
|
+
replicas: {{ .Values.redis.replicas }}
|
|
12
|
+
template:
|
|
13
|
+
metadata:
|
|
14
|
+
labels:
|
|
15
|
+
app: redis
|
|
16
|
+
spec:
|
|
17
|
+
containers:
|
|
18
|
+
- name: {{ .Values.redis.name }}
|
|
19
|
+
image: {{ .Values.redis.image }}
|
|
20
|
+
ports:
|
|
21
|
+
- containerPort: {{ .Values.redis.port }}
|
|
22
|
+
name: client
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
apiVersion: v1
|
|
2
|
+
kind: Pod
|
|
3
|
+
metadata:
|
|
4
|
+
name: {{ .Values.secatorManager.name }}
|
|
5
|
+
namespace: {{ .Values.namespace }}
|
|
6
|
+
labels:
|
|
7
|
+
name: secator-manager
|
|
8
|
+
spec:
|
|
9
|
+
containers:
|
|
10
|
+
- name: secator-manager
|
|
11
|
+
image: {{ .Values.secatorManager.image }}
|
|
12
|
+
command: ["tail"]
|
|
13
|
+
args: ["-F", "anything"]
|
|
14
|
+
env:
|
|
15
|
+
- name: SECATOR_CELERY_BROKER_URL
|
|
16
|
+
value: "redis://{{ .Values.redis.name }}:6379/0"
|
|
17
|
+
- name: SECATOR_CELERY_RESULT_BACKEND
|
|
18
|
+
value: "redis://{{ .Values.redis.name }}:6379/0"
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
apiVersion: apps/v1
|
|
2
|
+
kind: Deployment
|
|
3
|
+
metadata:
|
|
4
|
+
name: {{ .Values.secatorWorker.name }}
|
|
5
|
+
namespace: {{ .Values.namespace }}
|
|
6
|
+
spec:
|
|
7
|
+
selector:
|
|
8
|
+
matchLabels:
|
|
9
|
+
app: secator-worker
|
|
10
|
+
template:
|
|
11
|
+
metadata:
|
|
12
|
+
labels:
|
|
13
|
+
app: secator-worker
|
|
14
|
+
spec:
|
|
15
|
+
containers:
|
|
16
|
+
- name: {{ .Values.secatorWorker.name }}
|
|
17
|
+
image: {{ .Values.secatorWorker.image }}
|
|
18
|
+
command: ["secator"]
|
|
19
|
+
args: ["worker"]
|
|
20
|
+
env:
|
|
21
|
+
- name: SECATOR_CELERY_BROKER_URL
|
|
22
|
+
value: "redis://{{ .Values.redis.name }}:6379/0"
|
|
23
|
+
- name: SECATOR_CELERY_RESULT_BACKEND
|
|
24
|
+
value: "redis://{{ .Values.redis.name }}:6379/0"
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# Default values for Secator
|
|
2
|
+
# This is a YAML-formatted file.
|
|
3
|
+
# Declare variables to be passed into your templates.
|
|
4
|
+
|
|
5
|
+
namespace: secator
|
|
6
|
+
|
|
7
|
+
secatorManager:
|
|
8
|
+
name: secator-manager
|
|
9
|
+
image: "freelabz/secator"
|
|
10
|
+
|
|
11
|
+
# Empty if using default repository
|
|
12
|
+
repository:
|
|
13
|
+
# Empty if using tag "latest"
|
|
14
|
+
tag:
|
|
15
|
+
|
|
16
|
+
secatorWorker:
|
|
17
|
+
name: secator-worker
|
|
18
|
+
image: "freelabz/secator"
|
|
19
|
+
|
|
20
|
+
# Empty if using default repository
|
|
21
|
+
repository:
|
|
22
|
+
# Empty if using tag "latest"
|
|
23
|
+
tag:
|
|
24
|
+
|
|
25
|
+
redis:
|
|
26
|
+
name: redis
|
|
27
|
+
image: "redis"
|
|
28
|
+
|
|
29
|
+
# Empty if using default repository
|
|
30
|
+
repository:
|
|
31
|
+
# Empty if using tag "latest"
|
|
32
|
+
tag:
|
|
33
|
+
replicas: 1
|
|
34
|
+
port: 6379
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
[build-system]
|
|
2
|
+
requires = ['hatchling']
|
|
3
|
+
build-backend = 'hatchling.build'
|
|
4
|
+
|
|
5
|
+
[project]
|
|
6
|
+
name = 'secator'
|
|
7
|
+
version = "0.7.0"
|
|
8
|
+
authors = [{ name = 'FreeLabz', email = 'sales@freelabz.com' }]
|
|
9
|
+
readme = 'README.md'
|
|
10
|
+
description = "The pentester's swiss knife."
|
|
11
|
+
requires-python = '>=3.8'
|
|
12
|
+
keywords = [
|
|
13
|
+
'cybersecurity',
|
|
14
|
+
'recon',
|
|
15
|
+
'vulnerability',
|
|
16
|
+
'pentest',
|
|
17
|
+
'automation'
|
|
18
|
+
]
|
|
19
|
+
classifiers = [
|
|
20
|
+
'Development Status :: 3 - Alpha',
|
|
21
|
+
'Intended Audience :: Developers',
|
|
22
|
+
'Intended Audience :: Information Technology',
|
|
23
|
+
'License :: Free for non-commercial use',
|
|
24
|
+
'Operating System :: Unix',
|
|
25
|
+
'Programming Language :: Python',
|
|
26
|
+
'Programming Language :: Python :: 3',
|
|
27
|
+
'Programming Language :: Python :: 3.8',
|
|
28
|
+
'Programming Language :: Python :: 3.9',
|
|
29
|
+
'Programming Language :: Python :: 3.10',
|
|
30
|
+
'Programming Language :: Python :: 3.11',
|
|
31
|
+
]
|
|
32
|
+
dependencies = [
|
|
33
|
+
'beautifulsoup4 <= 5',
|
|
34
|
+
'celery < 6',
|
|
35
|
+
'cpe < 2',
|
|
36
|
+
'dotmap < 2',
|
|
37
|
+
'free-proxy < 2',
|
|
38
|
+
'furl < 3',
|
|
39
|
+
'greenlet < 4',
|
|
40
|
+
'humanize < 5',
|
|
41
|
+
'ifaddr < 1',
|
|
42
|
+
'jinja2 < 4',
|
|
43
|
+
'packaging < 25',
|
|
44
|
+
'python-dotenv < 2',
|
|
45
|
+
'pyyaml < 7',
|
|
46
|
+
'pydantic < 3',
|
|
47
|
+
'requests < 3',
|
|
48
|
+
'rich < 14',
|
|
49
|
+
'rich-click < 1.7',
|
|
50
|
+
'psutil < 7',
|
|
51
|
+
'retry < 1',
|
|
52
|
+
'tldextract < 6',
|
|
53
|
+
'typing_extensions < 5',
|
|
54
|
+
'validators < 1',
|
|
55
|
+
'xmltodict < 1'
|
|
56
|
+
]
|
|
57
|
+
|
|
58
|
+
[project.optional-dependencies]
|
|
59
|
+
dev = [
|
|
60
|
+
'coverage < 8',
|
|
61
|
+
'flake8 < 8',
|
|
62
|
+
'pytest < 9',
|
|
63
|
+
'watchdog < 3',
|
|
64
|
+
'asciinema-automation < 1',
|
|
65
|
+
]
|
|
66
|
+
build = [
|
|
67
|
+
'hatch < 2',
|
|
68
|
+
]
|
|
69
|
+
trace = [
|
|
70
|
+
'memray < 2',
|
|
71
|
+
'pyinstrument < 5',
|
|
72
|
+
]
|
|
73
|
+
worker = [
|
|
74
|
+
'gevent < 25',
|
|
75
|
+
'eventlet < 1',
|
|
76
|
+
'flower < 3',
|
|
77
|
+
]
|
|
78
|
+
redis = [
|
|
79
|
+
'redis < 6',
|
|
80
|
+
]
|
|
81
|
+
mongodb = [
|
|
82
|
+
'pymongo < 5',
|
|
83
|
+
]
|
|
84
|
+
gdrive = [
|
|
85
|
+
'google-api-python-client < 3',
|
|
86
|
+
'gspread < 7'
|
|
87
|
+
]
|
|
88
|
+
gcs = [
|
|
89
|
+
'google-cloud-storage < 3'
|
|
90
|
+
]
|
|
91
|
+
|
|
92
|
+
[project.scripts]
|
|
93
|
+
secator = 'secator.cli:cli'
|
|
94
|
+
|
|
95
|
+
[project.urls]
|
|
96
|
+
Homepage = 'https://github.com/freelabz/secator'
|
|
97
|
+
Issues = 'https://github.com/freelabz/secator/issues'
|