Salta ai contenuti

Zen-AI-Pentest

Framework di penetration testing potenziato da AI che orchestra 20+ strumenti di sicurezza tramite LLM per ricognizione automatizzata, scansione di vulnerabilità, sfruttamento e reporting.

# Clonare il repository
git clone https://github.com/SHAdd0WTAka/zen-ai-pentest.git
cd zen-ai-pentest

# Installare le dipendenze
pip install -r requirements.txt

# Copiare e configurare l'ambiente
cp .env.example .env

# Modificare .env con le chiavi API e le impostazioni
nano .env
# Distribuzione con un singolo comando con tutti gli strumenti di sicurezza pre-installati
docker-compose up -d

# Verificare che i container siano in esecuzione
docker-compose ps

# Visualizzare i log
docker-compose logs -f
# Caricare tutti gli alias del comando k-*
source tools/setup_aliases.sh

# Verificare l'installazione
k-recon --help
k-exploit --help
CommandDescription
k-recon "Target: example.com"Eseguire la ricognizione guidata da AI su un target
k-exploit "Target: 192.168.1.1"Lanciare l’agente di sfruttamento contro il target
k-reportGenerare il report del test di penetrazione
k-auditEseguire le operazioni di audit di sicurezza
source tools/setup_aliases.shCaricare tutti gli alias degli strumenti CLI
docker-compose up -dAvviare il framework con Docker
docker-compose logs -fSeguire i log dei container
docker-compose downInterrompere tutti i container
AgentPurpose
k-reconRicognizione — raccolta di informazioni, enumerazione di sottodomini, scansione delle porte
k-exploitSfruttamento — validazione delle vulnerabilità, distribuzione di payload
k-reportReporting — compilare i risultati in report di penetration test strutturati
k-auditAudit — verifiche di conformità, revisione della configurazione
k-socialSocial engineering — simulazione di phishing, valutazione di pretexting
k-networkAnalisi di rete — ispezione del traffico, analisi dei protocolli
k-mobileSicurezza mobile — test delle applicazioni Android/iOS
k-redteamOperazioni red team — simulazione di avversari, movimento laterale
k-icsICS/SCADA — valutazione della sicurezza dei sistemi di controllo industriale
k-cloudSicurezza del cloud — scansione di configurazioni errate AWS, Azure, GCP
k-cryptoAnalisi crittografica — valutazione della suite di cipher, controlli dei certificati
CommandDescription
k-recon "Target: example.com"Scansione di ricognizione completa
k-recon "Subdomain enumeration: example.com"Enumerare i sottodomini
k-recon "Port scan: 192.168.1.0/24"Scansionare l’intervallo di rete per le porte aperte
k-recon "DNS enumeration: example.com"Scoperta dei record DNS
k-recon "Technology fingerprint: example.com"Identificare le tecnologie web
k-recon "OSINT gather: target_org"Raccolta di informazioni da fonti aperte
k-recon "SSL analysis: example.com"Analizzare la configurazione SSL/TLS
CommandDescription
k-exploit "Vuln scan: example.com"Scansione automatizzata di vulnerabilità
k-exploit "Web app test: https://example.com"Test di sicurezza delle applicazioni web
k-exploit "SQL injection: https://example.com/login"Test per SQL injection
k-exploit "XSS scan: https://example.com"Rilevamento dello scripting cross-site
k-exploit "API test: https://api.example.com"Valutazione della sicurezza dell’API
k-exploit "Auth bypass: https://example.com/admin"Test di bypass dell’autenticazione
ToolCategoryUsed By
NmapNetwork scanningk-recon, k-network
SQLMapSQL injectionk-exploit
MetasploitExploitation frameworkk-exploit, k-redteam
Burp SuiteWeb app testingk-exploit
GobusterDirectory brute-forcingk-recon
NucleiTemplate-based scanningk-exploit
BloodHoundActive Directoryk-redteam
NiktoWeb server scanningk-recon
HydraPassword crackingk-exploit
John the RipperHash crackingk-exploit
AmassSubdomain enumerationk-recon
SubfinderSubdomain discoveryk-recon
ffufWeb fuzzerk-exploit
ResponderNetwork poisoningk-network
ImpacketNetwork protocolsk-network, k-redteam
CommandDescription
k-reportGenerare il report completo del test di penetrazione
k-report --format jsonEsportare i risultati come JSON
k-report --format junitEsportare come JUnit XML (integrazione CI/CD)
k-report --format sarifEsportare come SARIF (integrazione GitHub/GitLab)
k-report --compliance pciGenerare il report di conformità PCI-DSS
k-report --compliance hipaaGenerare il report di conformità HIPAA
k-report --compliance gdprGenerare il report di conformità GDPR
# .github/workflows/pentest.yml
name: Security Scan
on: [push]
jobs:
  pentest:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: SHAdd0WTAka/zen-ai-pentest@v2
        with:
          target: ${{ secrets.SCAN_TARGET }}
          mode: recon
          output: sarif
# .gitlab-ci.yml
security_scan:
  image: shadd0wtaka/zen-ai-pentest:latest
  script:
    - k-recon "Target: $SCAN_TARGET"
    - k-report --format junit
  artifacts:
    reports:
      junit: report.xml
VariableDescriptionExample
OPENAI_API_KEYChiave API OpenAI per il ragionamento LLMsk-...
ANTHROPIC_API_KEYChiave API Anthropic (LLM alternativo)sk-ant-...
SCAN_TARGETTarget predefinito per le scansioniexample.com
REPORT_FORMATFormato di report predefinitojson, sarif, junit
MAX_THREADSNumero massimo di thread di scansione simultanei10
TIMEOUTTimeout della scansione in secondi3600
PROXYProxy per il traffico di scansionehttp://127.0.0.1:8080
ModeDescription
InteractiveImpegno continuo con decisioni guidate da AI
One-shotEsecuzione singola con parametri predefiniti
PipelineIntegrazione CI/CD con codici di uscita e reporting dello stato
AutonomousScansione completamente guidata da AI con interazione umana minima
  • Ottenere sempre l’autorizzazione appropriata prima di scansionare qualsiasi target
  • Iniziare con la ricognizione prima dello sfruttamento
  • Utilizzare il flag --proxy per instradare il traffico attraverso Burp Suite per la revisione manuale
  • Rivedere le decisioni AI in modalità interattiva prima di consentire lo sfruttamento autonomo
  • Generare report di conformità per i requisiti normativi
  • Utilizzare la distribuzione Docker per versioni di strumenti coerenti tra i membri del team
  • Configurare il rate limiting per evitare di sovraccaricare i sistemi target
  • Archiviare i risultati della scansione nel controllo della versione per i trail di audit