Repository navigation
Expand file tree
/
Copy pathpentest.py
More file actions
90 lines (67 loc) · 3.16 KB
/
Copy pathpentest.py
File metadata and controls
90 lines (67 loc) · 3.16 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
#!/usr/bin/env python3
import argparse
from typing import Optional
def cmd_web_scan(url: Optional[str]):
from pentestkit.config import get_base_urls
from pentest_advanced import AdvancedPentest
base, _ = get_base_urls()
target = url or base
pentest = AdvancedPentest(target)
report = pentest.run()
print(f"\n✅ Web scan finished. Report: {report}")
def cmd_owasp_exploit():
from owasp_suite import run_all as run_owasp_suite
run_owasp_suite(include_exploit=True, include_complete=False, include_found=False, include_jwt=False, include_prof=False)
def cmd_owasp_test():
from owasp_suite import run_all as run_owasp_suite
run_owasp_suite(include_exploit=False, include_complete=True, include_found=False, include_jwt=False, include_prof=False)
def cmd_aggressive():
from pentest_aggressive import AggressivePentest
pentest = AggressivePentest()
report = pentest.run_pentest()
print(f"\n✅ Aggressive pentest finished. Report: {report}")
def cmd_exploit_found():
from owasp_suite import run_all as run_owasp_suite
run_owasp_suite(include_exploit=False, include_complete=False, include_found=True, include_jwt=False, include_prof=False)
def cmd_cloud_crypto(url: Optional[str], extra: bool = False):
from pentestkit.config import get_base_urls
from pentest_cloud_crypto import SecurityPentest
base, _ = get_base_urls()
target = url or base
pentest = SecurityPentest(target)
report = pentest.run_full_pentest(extra=extra)
print(f"\n✅ Cloud/Crypto pentest finished. Report: {report}")
def cmd_owasp_suite(url: Optional[str]):
from owasp_suite import run_all as run_owasp_suite
run_owasp_suite(url)
def main():
parser = argparse.ArgumentParser(description="Unified Pentest CLI")
sub = parser.add_subparsers(dest="cmd", required=True)
s1 = sub.add_parser("web-scan", help="Run advanced web scan")
s1.add_argument("--url", dest="url", default=None)
sub.add_parser("owasp-exploit", help="Run OWASP exploitation suite")
sub.add_parser("owasp-test", help="Run OWASP Top10 complete tests")
sub.add_parser("aggressive", help="Run aggressive pentest suite")
sub.add_parser("exploit-found", help="Exploit previously found vulnerabilities")
s5 = sub.add_parser("owasp-suite", help="Run combined OWASP suite (exploitation + complete)")
s5.add_argument("--url", dest="url", default=None)
s6 = sub.add_parser("cloud-crypto", help="Run DNS/TLS/ports/headers checks")
s6.add_argument("--url", dest="url", default=None)
s6.add_argument("--extra", dest="extra", action="store_true", help="Run targeted external scans (if tools present)")
args = parser.parse_args()
if args.cmd == "web-scan":
cmd_web_scan(args.url)
elif args.cmd == "owasp-exploit":
cmd_owasp_exploit()
elif args.cmd == "owasp-test":
cmd_owasp_test()
elif args.cmd == "aggressive":
cmd_aggressive()
elif args.cmd == "exploit-found":
cmd_exploit_found()
elif args.cmd == "owasp-suite":
cmd_owasp_suite(args.url)
elif args.cmd == "cloud-crypto":
cmd_cloud_crypto(args.url, args.extra)
if __name__ == "__main__":
main()