secator 0.1.1__tar.gz → 0.3.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.

Files changed (163) hide show
  1. secator-0.3.0/CHANGELOG.md +28 -0
  2. {secator-0.1.1 → secator-0.3.0}/PKG-INFO +23 -1
  3. {secator-0.1.1 → secator-0.3.0}/README.md +20 -0
  4. secator-0.3.0/images/help.png +0 -0
  5. {secator-0.1.1 → secator-0.3.0}/pyproject.toml +4 -1
  6. secator-0.3.0/scripts/install.sh +32 -0
  7. {secator-0.1.1 → secator-0.3.0}/secator/cli.py +441 -334
  8. {secator-0.1.1 → secator-0.3.0}/secator/decorators.py +2 -2
  9. {secator-0.1.1 → secator-0.3.0}/secator/definitions.py +64 -16
  10. {secator-0.1.1 → secator-0.3.0}/secator/exporters/txt.py +1 -1
  11. secator-0.3.0/secator/installer.py +192 -0
  12. {secator-0.1.1 → secator-0.3.0}/secator/runners/command.py +27 -27
  13. {secator-0.1.1 → secator-0.3.0}/secator/tasks/dalfox.py +1 -0
  14. {secator-0.1.1 → secator-0.3.0}/secator/tasks/dnsx.py +1 -0
  15. {secator-0.1.1 → secator-0.3.0}/secator/tasks/dnsxbrute.py +1 -0
  16. {secator-0.1.1 → secator-0.3.0}/secator/tasks/feroxbuster.py +1 -0
  17. {secator-0.1.1 → secator-0.3.0}/secator/tasks/ffuf.py +2 -2
  18. {secator-0.1.1 → secator-0.3.0}/secator/tasks/gau.py +1 -0
  19. {secator-0.1.1 → secator-0.3.0}/secator/tasks/gospider.py +1 -0
  20. {secator-0.1.1 → secator-0.3.0}/secator/tasks/grype.py +1 -0
  21. {secator-0.1.1 → secator-0.3.0}/secator/tasks/httpx.py +1 -0
  22. {secator-0.1.1 → secator-0.3.0}/secator/tasks/katana.py +2 -1
  23. {secator-0.1.1 → secator-0.3.0}/secator/tasks/mapcidr.py +1 -0
  24. {secator-0.1.1 → secator-0.3.0}/secator/tasks/msfconsole.py +1 -1
  25. {secator-0.1.1 → secator-0.3.0}/secator/tasks/naabu.py +2 -1
  26. {secator-0.1.1 → secator-0.3.0}/secator/tasks/nuclei.py +1 -0
  27. {secator-0.1.1 → secator-0.3.0}/secator/tasks/subfinder.py +1 -0
  28. {secator-0.1.1 → secator-0.3.0}/secator/tasks/wpscan.py +1 -1
  29. {secator-0.1.1 → secator-0.3.0}/secator/utils_test.py +1 -0
  30. {secator-0.1.1 → secator-0.3.0}/tests/integration/test_scans.py +2 -2
  31. {secator-0.1.1 → secator-0.3.0}/tests/integration/test_tasks.py +2 -2
  32. {secator-0.1.1 → secator-0.3.0}/tests/integration/test_workflows.py +2 -2
  33. secator-0.1.1/images/help.png +0 -0
  34. secator-0.1.1/scripts/install.sh +0 -21
  35. {secator-0.1.1 → secator-0.3.0}/.flake8 +0 -0
  36. {secator-0.1.1 → secator-0.3.0}/.gitignore +0 -0
  37. {secator-0.1.1 → secator-0.3.0}/CONTRIBUTING.md +0 -0
  38. {secator-0.1.1 → secator-0.3.0}/Dockerfile +0 -0
  39. {secator-0.1.1 → secator-0.3.0}/LICENSE +0 -0
  40. {secator-0.1.1 → secator-0.3.0}/SECURITY.md +0 -0
  41. {secator-0.1.1 → secator-0.3.0}/cloudbuild.yaml +0 -0
  42. {secator-0.1.1 → secator-0.3.0}/images/aliases.cast +0 -0
  43. {secator-0.1.1 → secator-0.3.0}/images/aliases.gif +0 -0
  44. {secator-0.1.1 → secator-0.3.0}/images/demo.cast +0 -0
  45. {secator-0.1.1 → secator-0.3.0}/images/demo.gif +0 -0
  46. {secator-0.1.1 → secator-0.3.0}/images/fmt.cast +0 -0
  47. {secator-0.1.1 → secator-0.3.0}/images/fmt.gif +0 -0
  48. {secator-0.1.1 → secator-0.3.0}/images/input.cast +0 -0
  49. {secator-0.1.1 → secator-0.3.0}/images/input.gif +0 -0
  50. {secator-0.1.1 → secator-0.3.0}/images/pipe.cast +0 -0
  51. {secator-0.1.1 → secator-0.3.0}/images/pipe.gif +0 -0
  52. {secator-0.1.1 → secator-0.3.0}/images/short_demo.cast +0 -0
  53. {secator-0.1.1 → secator-0.3.0}/images/short_demo.gif +0 -0
  54. {secator-0.1.1 → secator-0.3.0}/scripts/download_cves.sh +0 -0
  55. {secator-0.1.1 → secator-0.3.0}/scripts/install_asciinema.sh +0 -0
  56. {secator-0.1.1 → secator-0.3.0}/scripts/install_go.sh +0 -0
  57. {secator-0.1.1 → secator-0.3.0}/scripts/install_ruby.sh +0 -0
  58. {secator-0.1.1 → secator-0.3.0}/scripts/msf/exploit_cve.rc +0 -0
  59. {secator-0.1.1 → secator-0.3.0}/scripts/msf/ftp_anonymous.rc +0 -0
  60. {secator-0.1.1 → secator-0.3.0}/scripts/msf/ftp_version.rc +0 -0
  61. {secator-0.1.1 → secator-0.3.0}/scripts/msf/ftp_vsftpd_234_backdoor.rc +0 -0
  62. {secator-0.1.1 → secator-0.3.0}/scripts/msf/redis.rc +0 -0
  63. {secator-0.1.1 → secator-0.3.0}/scripts/msfinstall.sh +0 -0
  64. {secator-0.1.1 → secator-0.3.0}/scripts/stories/STORY.md +0 -0
  65. {secator-0.1.1 → secator-0.3.0}/scripts/stories/aliases.sh +0 -0
  66. {secator-0.1.1 → secator-0.3.0}/scripts/stories/demo.sh +0 -0
  67. {secator-0.1.1 → secator-0.3.0}/scripts/stories/fmt.sh +0 -0
  68. {secator-0.1.1 → secator-0.3.0}/scripts/stories/input.sh +0 -0
  69. {secator-0.1.1 → secator-0.3.0}/scripts/stories/pipe.sh +0 -0
  70. {secator-0.1.1 → secator-0.3.0}/scripts/stories/short_demo.sh +0 -0
  71. {secator-0.1.1 → secator-0.3.0}/secator/.gitignore +0 -0
  72. {secator-0.1.1 → secator-0.3.0}/secator/__init__.py +0 -0
  73. {secator-0.1.1 → secator-0.3.0}/secator/celery.py +0 -0
  74. {secator-0.1.1 → secator-0.3.0}/secator/config.py +0 -0
  75. {secator-0.1.1 → secator-0.3.0}/secator/configs/__init__.py +0 -0
  76. {secator-0.1.1 → secator-0.3.0}/secator/configs/profiles/__init__.py +0 -0
  77. {secator-0.1.1 → secator-0.3.0}/secator/configs/profiles/aggressive.yaml +0 -0
  78. {secator-0.1.1 → secator-0.3.0}/secator/configs/profiles/default.yaml +0 -0
  79. {secator-0.1.1 → secator-0.3.0}/secator/configs/profiles/stealth.yaml +0 -0
  80. {secator-0.1.1 → secator-0.3.0}/secator/configs/scans/__init__.py +0 -0
  81. {secator-0.1.1 → secator-0.3.0}/secator/configs/scans/domain.yaml +0 -0
  82. {secator-0.1.1 → secator-0.3.0}/secator/configs/scans/host.yaml +0 -0
  83. {secator-0.1.1 → secator-0.3.0}/secator/configs/scans/network.yaml +0 -0
  84. {secator-0.1.1 → secator-0.3.0}/secator/configs/scans/subdomain.yaml +0 -0
  85. {secator-0.1.1 → secator-0.3.0}/secator/configs/scans/url.yaml +0 -0
  86. {secator-0.1.1 → secator-0.3.0}/secator/configs/workflows/__init__.py +0 -0
  87. {secator-0.1.1 → secator-0.3.0}/secator/configs/workflows/cidr_recon.yaml +0 -0
  88. {secator-0.1.1 → secator-0.3.0}/secator/configs/workflows/code_scan.yaml +0 -0
  89. {secator-0.1.1 → secator-0.3.0}/secator/configs/workflows/host_recon.yaml +0 -0
  90. {secator-0.1.1 → secator-0.3.0}/secator/configs/workflows/port_scan.yaml +0 -0
  91. {secator-0.1.1 → secator-0.3.0}/secator/configs/workflows/subdomain_recon.yaml +0 -0
  92. {secator-0.1.1 → secator-0.3.0}/secator/configs/workflows/url_crawl.yaml +0 -0
  93. {secator-0.1.1 → secator-0.3.0}/secator/configs/workflows/url_dirsearch.yaml +0 -0
  94. {secator-0.1.1 → secator-0.3.0}/secator/configs/workflows/url_fuzz.yaml +0 -0
  95. {secator-0.1.1 → secator-0.3.0}/secator/configs/workflows/url_nuclei.yaml +0 -0
  96. {secator-0.1.1 → secator-0.3.0}/secator/configs/workflows/url_vuln.yaml +0 -0
  97. {secator-0.1.1 → secator-0.3.0}/secator/configs/workflows/user_hunt.yaml +0 -0
  98. {secator-0.1.1 → secator-0.3.0}/secator/configs/workflows/wordpress.yaml +0 -0
  99. {secator-0.1.1 → secator-0.3.0}/secator/exporters/__init__.py +0 -0
  100. {secator-0.1.1 → secator-0.3.0}/secator/exporters/_base.py +0 -0
  101. {secator-0.1.1 → secator-0.3.0}/secator/exporters/csv.py +0 -0
  102. {secator-0.1.1 → secator-0.3.0}/secator/exporters/gdrive.py +0 -0
  103. {secator-0.1.1 → secator-0.3.0}/secator/exporters/json.py +0 -0
  104. {secator-0.1.1 → secator-0.3.0}/secator/exporters/table.py +0 -0
  105. {secator-0.1.1 → secator-0.3.0}/secator/hooks/__init__.py +0 -0
  106. {secator-0.1.1 → secator-0.3.0}/secator/hooks/mongodb.py +0 -0
  107. {secator-0.1.1 → secator-0.3.0}/secator/output_types/__init__.py +0 -0
  108. {secator-0.1.1 → secator-0.3.0}/secator/output_types/_base.py +0 -0
  109. {secator-0.1.1 → secator-0.3.0}/secator/output_types/exploit.py +0 -0
  110. {secator-0.1.1 → secator-0.3.0}/secator/output_types/ip.py +0 -0
  111. {secator-0.1.1 → secator-0.3.0}/secator/output_types/port.py +0 -0
  112. {secator-0.1.1 → secator-0.3.0}/secator/output_types/progress.py +0 -0
  113. {secator-0.1.1 → secator-0.3.0}/secator/output_types/record.py +0 -0
  114. {secator-0.1.1 → secator-0.3.0}/secator/output_types/subdomain.py +0 -0
  115. {secator-0.1.1 → secator-0.3.0}/secator/output_types/tag.py +0 -0
  116. {secator-0.1.1 → secator-0.3.0}/secator/output_types/target.py +0 -0
  117. {secator-0.1.1 → secator-0.3.0}/secator/output_types/url.py +0 -0
  118. {secator-0.1.1 → secator-0.3.0}/secator/output_types/user_account.py +0 -0
  119. {secator-0.1.1 → secator-0.3.0}/secator/output_types/vulnerability.py +0 -0
  120. {secator-0.1.1 → secator-0.3.0}/secator/report.py +0 -0
  121. {secator-0.1.1 → secator-0.3.0}/secator/rich.py +0 -0
  122. {secator-0.1.1 → secator-0.3.0}/secator/runners/__init__.py +0 -0
  123. {secator-0.1.1 → secator-0.3.0}/secator/runners/_base.py +0 -0
  124. {secator-0.1.1 → secator-0.3.0}/secator/runners/_helpers.py +0 -0
  125. {secator-0.1.1 → secator-0.3.0}/secator/runners/scan.py +0 -0
  126. {secator-0.1.1 → secator-0.3.0}/secator/runners/task.py +0 -0
  127. {secator-0.1.1 → secator-0.3.0}/secator/runners/workflow.py +0 -0
  128. {secator-0.1.1 → secator-0.3.0}/secator/serializers/__init__.py +0 -0
  129. {secator-0.1.1 → secator-0.3.0}/secator/serializers/dataclass.py +0 -0
  130. {secator-0.1.1 → secator-0.3.0}/secator/serializers/json.py +0 -0
  131. {secator-0.1.1 → secator-0.3.0}/secator/serializers/regex.py +0 -0
  132. {secator-0.1.1 → secator-0.3.0}/secator/tasks/__init__.py +0 -0
  133. {secator-0.1.1 → secator-0.3.0}/secator/tasks/_categories.py +0 -0
  134. {secator-0.1.1 → secator-0.3.0}/secator/tasks/cariddi.py +0 -0
  135. {secator-0.1.1 → secator-0.3.0}/secator/tasks/dirsearch.py +0 -0
  136. {secator-0.1.1 → secator-0.3.0}/secator/tasks/fping.py +0 -0
  137. {secator-0.1.1 → secator-0.3.0}/secator/tasks/gf.py +0 -0
  138. {secator-0.1.1 → secator-0.3.0}/secator/tasks/h8mail.py +0 -0
  139. {secator-0.1.1 → secator-0.3.0}/secator/tasks/maigret.py +0 -0
  140. {secator-0.1.1 → secator-0.3.0}/secator/tasks/nmap.py +0 -0
  141. {secator-0.1.1 → secator-0.3.0}/secator/tasks/searchsploit.py +0 -0
  142. {secator-0.1.1 → secator-0.3.0}/secator/utils.py +0 -0
  143. {secator-0.1.1 → secator-0.3.0}/tests/__init__.py +0 -0
  144. {secator-0.1.1 → secator-0.3.0}/tests/fixtures/h8mail_breach.txt +0 -0
  145. {secator-0.1.1 → secator-0.3.0}/tests/fixtures/msfconsole_input.rc +0 -0
  146. {secator-0.1.1 → secator-0.3.0}/tests/fixtures/nmap_output.xml +0 -0
  147. {secator-0.1.1 → secator-0.3.0}/tests/integration/__init__.py +0 -0
  148. {secator-0.1.1 → secator-0.3.0}/tests/integration/inputs.py +0 -0
  149. {secator-0.1.1 → secator-0.3.0}/tests/integration/outputs.py +0 -0
  150. {secator-0.1.1 → secator-0.3.0}/tests/integration/setup.sh +0 -0
  151. {secator-0.1.1 → secator-0.3.0}/tests/integration/teardown.sh +0 -0
  152. {secator-0.1.1 → secator-0.3.0}/tests/integration/wordlist.txt +0 -0
  153. {secator-0.1.1 → secator-0.3.0}/tests/integration/wordlist_dns.txt +0 -0
  154. {secator-0.1.1 → secator-0.3.0}/tests/integration/wordpress_toolbox/Dockerfile +0 -0
  155. {secator-0.1.1 → secator-0.3.0}/tests/integration/wordpress_toolbox/Makefile +0 -0
  156. {secator-0.1.1 → secator-0.3.0}/tests/performance/__init__.py +0 -0
  157. {secator-0.1.1 → secator-0.3.0}/tests/performance/loadtester.py +0 -0
  158. {secator-0.1.1 → secator-0.3.0}/tests/unit/__init__.py +0 -0
  159. {secator-0.1.1 → secator-0.3.0}/tests/unit/test_celery.py +0 -0
  160. {secator-0.1.1 → secator-0.3.0}/tests/unit/test_scans.py +0 -0
  161. {secator-0.1.1 → secator-0.3.0}/tests/unit/test_serializers.py +0 -0
  162. {secator-0.1.1 → secator-0.3.0}/tests/unit/test_tasks.py +0 -0
  163. {secator-0.1.1 → secator-0.3.0}/tests/unit/test_workflows.py +0 -0
@@ -0,0 +1,28 @@
1
+ # Changelog
2
+
3
+ ## [0.3.0](https://github.com/freelabz/secator/compare/v0.2.0...v0.3.0) (2024-04-09)
4
+
5
+
6
+ ### Features
7
+
8
+ * add health command and update check ([#258](https://github.com/freelabz/secator/issues/258)) ([289b86a](https://github.com/freelabz/secator/commit/289b86ac2c278f02102d8824d3de5cf71e3778ae))
9
+ * rework install to use pre-packaged binaries when possible ([#253](https://github.com/freelabz/secator/issues/253)) ([b391fe8](https://github.com/freelabz/secator/commit/b391fe8cfdf991b50435c4f53f470e3cea0150ee))
10
+
11
+
12
+ ### Bug Fixes
13
+
14
+ * health -json output ([#257](https://github.com/freelabz/secator/issues/257)) ([4477bb2](https://github.com/freelabz/secator/commit/4477bb25170e80fca1be5985a3b198dd7b423e5f))
15
+ * txt output bug ([#256](https://github.com/freelabz/secator/issues/256)) ([fca301d](https://github.com/freelabz/secator/commit/fca301d24c5d9999fef9ae13b8e64c099a65ab95))
16
+
17
+ ## [0.2.0](https://github.com/freelabz/secator/compare/v0.1.1...v0.2.0) (2024-04-08)
18
+
19
+
20
+ ### Features
21
+
22
+ * add build & release CLI commands ([#247](https://github.com/freelabz/secator/issues/247)) ([775eba1](https://github.com/freelabz/secator/commit/775eba16d3a6f9d8cbc83f81daed85fb806fe6db))
23
+
24
+
25
+ ### Bug Fixes
26
+
27
+ * docker build & push ([#250](https://github.com/freelabz/secator/issues/250)) ([7cebd9f](https://github.com/freelabz/secator/commit/7cebd9fe61f6dbb76e9f78fcbcd3514d68204c87))
28
+ * install issues & docs ([#243](https://github.com/freelabz/secator/issues/243)) ([0447148](https://github.com/freelabz/secator/commit/0447148c89f13884cbc14579d953e0d3e067cbe2)), closes [#242](https://github.com/freelabz/secator/issues/242) [#241](https://github.com/freelabz/secator/issues/241) [#240](https://github.com/freelabz/secator/issues/240) [#239](https://github.com/freelabz/secator/issues/239)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: secator
3
- Version: 0.1.1
3
+ Version: 0.3.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
@@ -34,6 +34,8 @@ Requires-Dist: rich-click<1.7
34
34
  Requires-Dist: rich<14
35
35
  Requires-Dist: validators<1
36
36
  Requires-Dist: xmltodict<1
37
+ Provides-Extra: build
38
+ Requires-Dist: hatch<2; extra == 'build'
37
39
  Provides-Extra: dev
38
40
  Requires-Dist: asciinema-automation<1; extra == 'dev'
39
41
  Requires-Dist: coverage<8; extra == 'dev'
@@ -319,6 +321,26 @@ secator install addons trace
319
321
 
320
322
  </details>
321
323
 
324
+ <details>
325
+ <summary>build</summary>
326
+
327
+ Add `hatch` for building and publishing the PyPI package.
328
+
329
+ ```sh
330
+ secator install addons build
331
+ ```
332
+
333
+ </details>
334
+
335
+
336
+ ### Install CVEs
337
+
338
+ `secator` makes remote API calls to https://cve.circl.lu/ to get in-depth information about the CVEs it encounters.
339
+ We provide a subcommand to download all known CVEs locally so that future lookups are made from disk instead:
340
+ ```sh
341
+ secator install cves
342
+ ```
343
+
322
344
  ### Checking installation health
323
345
 
324
346
  To figure out which languages or tools are installed on your system (along with their version):
@@ -262,6 +262,26 @@ secator install addons trace
262
262
 
263
263
  </details>
264
264
 
265
+ <details>
266
+ <summary>build</summary>
267
+
268
+ Add `hatch` for building and publishing the PyPI package.
269
+
270
+ ```sh
271
+ secator install addons build
272
+ ```
273
+
274
+ </details>
275
+
276
+
277
+ ### Install CVEs
278
+
279
+ `secator` makes remote API calls to https://cve.circl.lu/ to get in-depth information about the CVEs it encounters.
280
+ We provide a subcommand to download all known CVEs locally so that future lookups are made from disk instead:
281
+ ```sh
282
+ secator install cves
283
+ ```
284
+
265
285
  ### Checking installation health
266
286
 
267
287
  To figure out which languages or tools are installed on your system (along with their version):
Binary file
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "secator"
7
- version = "0.1.1"
7
+ version = "0.3.0"
8
8
  authors = [{ name = "FreeLabz", email = "sales@freelabz.com" }]
9
9
  readme = "README.md"
10
10
  description = "The pentester's swiss knife."
@@ -55,6 +55,9 @@ dev = [
55
55
  'watchdog < 3',
56
56
  'asciinema-automation < 1',
57
57
  ]
58
+ build = [
59
+ 'hatch < 2',
60
+ ]
58
61
  trace = [
59
62
  'memray < 2',
60
63
  'pyinstrument < 5',
@@ -0,0 +1,32 @@
1
+ #!/bin/bash
2
+ YELLOW='\033[0;93m'
3
+ GREEN='\033[0;92m'
4
+ NC='\033[0m' # No Color
5
+
6
+ echo -e "🗄 ${YELLOW}Running apt update ...${NC}"
7
+ sudo apt update
8
+ echo -e "🗄 ${GREEN}Ran apt update successfully !${NC}\n"
9
+
10
+ echo -e "🗄 ${YELLOW}Installing Python and pipx ...${NC}"
11
+ sudo apt install -y python3-pip pipx
12
+ echo -e "🗄 ${GREEN}pipx installed successfully !${NC}\n"
13
+
14
+ echo -e "🗄 ${YELLOW}Setting \$PATH ...${NC}"
15
+ export PATH=$PATH:~/.local/bin:~/go/bin
16
+ echo -e "🗄 ${GREEN}\$PATH modified successfully !${NC}\n"
17
+
18
+ echo -e "🗄 ${YELLOW}Installing secator and dependencies ...${NC}"
19
+ pipx install secator
20
+ secator install langs go
21
+ secator install langs ruby
22
+ secator install tools
23
+ secator install addons redis
24
+ secator install addons worker
25
+ secator install addons google
26
+ secator install addons mongodb
27
+ echo -e "🗄 ${GREEN}secator installed successfully !${NC}\n"
28
+
29
+ echo -e "🗄 ${YELLOW}Adding ~/go/bin and ~/.local/bin to \$PATH in .bashrc ...${NC}"
30
+ echo "export PATH=$PATH:~/go/bin:~/.local/bin" >> ~/.bashrc
31
+ source ~/.bashrc
32
+ echo -e "🗄 ${GREEN}\$PATH modified successfully !${NC}\n"