KALI SETUP

root@kali:~# weaponizza una Kali pulita in un colpo - tieni ogni macchina in sync
BASH ยท ZSH KALI ROLLING PIPX / IMPACKET NETEXEC MULTI-HOST AUTO-SYNC
./clone_repo ./quick_start
๐Ÿ‡ฌ๐Ÿ‡ง EN ยท ๐Ÿ‡ฎ๐Ÿ‡น IT
โ–ผ scroll

quick_start

root@kali: ~

    

cos'รจ

kali-setup automatizza la configurazione e la manutenzione di una Kali da pentest. Invece di configurare ogni macchina a mano, lo dichiari una volta (liste di tool + script): cloni, lanci un comando, e ottieni lo stesso identico ambiente - pulito, con tutti i tool aggiornati.

Invece di ricordarti a mano cosa hai installato, dove e con quale package manager, lo dichiari una volta in questo repo. Da lรฌ, qualsiasi Kali diventa identica con un comando - e resta tale nel tempo.

cloni โ†’ setup.sh โ†’ attaccante pronto. Ogni settimana update-all e tutto รจ fresco. Aggiungi un tool una volta, compare su ogni Kali.

il problema

Una Kali usata sul campo degrada in fretta:

kali-decay.log
โœ— PATH inquinato dai venv di pipx โ†’ comandi sbagliati, import rotti
โœ— impacket installato 3 volte (apt + pip + pipx), script duplicati
โœ— tool obsoleti da versioni vecchie (crackmapexec, wfuzzโ€ฆ)
โœ— binari in /opt scaricati a mano mesi fa, mai aggiornati
โœ— 3 Kali diverse (VM, laptop, VPS) configurate in modo diverso
โœ— rifare tutto da zero a ogni reinstallazione

Questo repo risolve tutti questi punti in automatico e in modo versionato.

i 3 pilastri

๐Ÿงน setup.sh

bonifica + configura una Kali (PATH, duplicati, impacket, deps, tool). Una volta, su macchina nuova.

๐Ÿ”„ update-all

aggiorna tutto (sistema + tool + repo stesso) in un comando. Settimanale / pre-engagement.

๐Ÿ“ฆ tools-sync

gestisce /opt/pentest-tools da manifesti dichiarativi. Dentro update-all, o a mano.

โš™ filosofia

dichiarativo ยท idempotente ยท single source of truth ยท multi-host ยท non distruttivo di default.

setup.sh --steps

01
AUDIT - stato iniziale: PATH, pipx, apt pentest tool
02
FIX PATH - rimuove i venv dal PATH ยท ~/.local/bin prima di /usr/bin
03
PURGE - crackmapexec ยท dirbuster ยท zenmap ยท wfuzz (apt obsoleti)
04
IMPACKET - pulisce gli script reali ยท reinstalla via pipx da fortra/impacket
05
LEGACY - rimuove il vecchio bloodhound pipx
06
DEPS - libyaml-dev (fix gem psych)
07
TOOLS - crea /opt/pentest-tools ยท installa i tool dai manifesti ยท scaffold liste locali
08
ARM - collega update-all a ~/.zshrc (source-based auto-sync)

update-all()

Un comando. Aggiorna tutto. Si auto-aggiorna anche da solo.

#targetcosa
1kali-setupgit pull del repo config stesso โ†’ auto-sync multi-host
2tools-sync/opt/pentest-tools dai manifesti (git + release, condivisi + locali)
3aptpacchetti sistema + full-upgrade ยท recupera i kept-back ยท pulisce vecchi kernel ยท avviso reboot
4pipxtool Python (impacket, netexec, bloodyad, dploot, git-dumper)
5gemtool Ruby (evil-winrm)
6npmtool Node.js globali (da npm.list locale)
7pip --userlibrerie Python (da pip.list locale)
8/optcloni manuali in /opt/pentest-tools/ (non nei manifesti)

tool manager /opt/pentest-tools

Gestione dichiarativa dei tool esterni: dichiari cosa vuoi in un manifesto, tools-sync.sh lo ricostruisce identico su ogni Kali. Niente scansioni fragili, niente copie a mano.

manifestoformatoaggiornamento
tools/git.listname | git_urlgit clone โ†’ poi git pull
tools/release.listname | owner/repo | globultima release GitHub (solo se il tag cambia)

condiviso

tools/*.list nel repo โ†’ commit + push. Si propaga su tutte le Kali al prossimo update-all.

locale (solo qui)

~/.config/kali-setup/local.*.list. Resta su questa macchina, fuori dal git.
tools-sync.sh
bin/tools-sync.sh                 # sync completo (git + release)
bin/tools-sync.sh --import        # suggerisce tool trovati (non sposta nulla)
bin/tools-sync.sh --dedup         # copie sparse โ†’ keep/backup/trash/delete (chiede)
bin/tools-sync.sh --prune         # rimuove tool non dichiarati (opt-in, chiede conferma)

multi-host sync [strategy B]

   โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”      git push      โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
   โ”‚   KALI #1   โ”‚ โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ถ โ”‚     github.com    โ”‚
   โ”‚   (edit)    โ”‚                    โ”‚  SysK69/kali-setup โ”‚
   โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜                    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                                               โ”‚
                  update-all โ†’ git pull        โ”‚
         โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
         โ–ผ              โ–ผ                       โ–ผ
    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”            โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
    โ”‚ KALI #2 โ”‚    โ”‚ KALI #3 โ”‚    ...     โ”‚ KALI #n โ”‚
    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜            โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
    

Modifichi update-all.zsh su una macchina โ†’ push โ†’ ogni altra Kali la riceve al prossimo update-all. Zero copia manuale.

rules_of_engagement

apt

dipendenze sistema, tool senza alternativa pipx

pipx

tool Python CLI (impacket, netexec, bloodyad, dploot, git-dumper)

gem

tool Ruby (evil-winrm)

npm install -g

tool Node.js globali - --include=optional + --allow-scripts su npm โ‰ฅ11

/opt/pentest-tools/

tool manuali / git / release, gestiti da tools-sync

canonical PATH

~/.local/bin โ†’ ~/.npm-global/bin โ†’ /usr/local/bin โ†’ /usr/bin
mai venvs/*/bin nel PATH