mirror of
https://github.com/0xMarcio/PentestPilot.git
synced 2026-06-07 23:03:57 +02:00
461c14d676
Initial commit of PentestPilot — AI‑assisted pentest recon and orchestration toolkit.\n\nHighlights:\n- Resumeable pipelines (full_pipeline) with manifest state and elapsed timings\n- Rich dashboard (colors, severity bars, durations, compact/json modes)\n- Web helpers: httpx→nuclei auto, tech routing + quick scanners\n- Agents: multi‑task orchestrator (web/full/ad/notes/post) with resume\n- AD/SMB, password utils, shells, transfer, privesc, tunnels\n- QoL scripts: proxy toggle, cleanup, tmux init, URL extractor\n- Docs: README (Quick Start + Docs Index), HOWTO (deep guide), TOOLKIT (catalog with examples)\n\nStructure:\n- bin/automation: pipelines, dashboard, manifest, resume, tech_actions\n- bin/web: routing, scanners, helpers\n- bin/ai: orchestrators + robust AI utils\n- bin/ad, bin/passwords, bin/shells, bin/transfer, bin/privesc, bin/misc, bin/dns, bin/scan, bin/windows, bin/hashes\n- HOWTO.md and TOOLKIT.md cross‑linked with examples\n\nUse:\n- settarget <target>; agent full <domain|hosts.txt>; dashboard --compact\n- See HOWTO.md for setup, semantics, and examples.
30 lines
767 B
Python
Executable File
30 lines
767 B
Python
Executable File
#!/usr/bin/env python3
|
|
import sys, json, base64
|
|
|
|
def b64url_decode(s):
|
|
s = s.encode() if isinstance(s, str) else s
|
|
s += b'=' * (-len(s) % 4)
|
|
return base64.urlsafe_b64decode(s)
|
|
|
|
if len(sys.argv) < 2:
|
|
print(f"Usage: {sys.argv[0]} <jwt>", file=sys.stderr); sys.exit(1)
|
|
|
|
parts = sys.argv[1].split('.')
|
|
if len(parts) < 2:
|
|
print('Invalid JWT', file=sys.stderr); sys.exit(2)
|
|
|
|
try:
|
|
header = json.loads(b64url_decode(parts[0]))
|
|
payload = json.loads(b64url_decode(parts[1]))
|
|
except Exception as e:
|
|
print(f'Decode error: {e}', file=sys.stderr); sys.exit(3)
|
|
|
|
print('Header:')
|
|
print(json.dumps(header, indent=2))
|
|
print('\nPayload:')
|
|
print(json.dumps(payload, indent=2))
|
|
if len(parts) > 2:
|
|
print('\nSignature (base64url):')
|
|
print(parts[2])
|
|
|