mirror of
https://github.com/0xMarcio/PentestPilot.git
synced 2026-02-13 13:32:55 +00:00
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.
38 lines
907 B
Python
Executable File
38 lines
907 B
Python
Executable File
#!/usr/bin/env python3
|
|
import sys
|
|
|
|
def create(length):
|
|
pattern = ''
|
|
for A in 'ABCDEFGHIJKLMNOPQRSTUVWXYZ':
|
|
for a in 'abcdefghijklmnopqrstuvwxyz':
|
|
for n in '0123456789':
|
|
if len(pattern) >= length:
|
|
return pattern[:length]
|
|
pattern += A + a + n
|
|
return pattern[:length]
|
|
|
|
def offset(sub):
|
|
pat = create(10000)
|
|
if sub.startswith('0x'):
|
|
sub = bytes.fromhex(sub[2:][::-1])
|
|
sub = sub.decode('latin1', 'ignore')
|
|
idx = pat.find(sub)
|
|
return idx if idx != -1 else None
|
|
|
|
def usage():
|
|
print("Usage:\n cyclic.py create <len>\n cyclic.py offset <needle>")
|
|
sys.exit(1)
|
|
|
|
if len(sys.argv) < 3:
|
|
usage()
|
|
|
|
cmd = sys.argv[1]
|
|
if cmd == 'create':
|
|
print(create(int(sys.argv[2])))
|
|
elif cmd == 'offset':
|
|
off = offset(sys.argv[2])
|
|
print(off if off is not None else 'Not found')
|
|
else:
|
|
usage()
|
|
|