Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
sif — la suite di pentesting incredibilmente veloce. | Kitploit
Strumenti/GitHubGitHub/vmfunc/sif
RicognizioneScanner di VulnerabilitàScansione PorteExploitRaccolta InformazioniSicurezza WebPenetration TestingEnumerazione SottodominiCrawlerAnalisi DNS
GitHubvmfunc/sif

sif

6142728 giorni faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

la suite di pentesting incredibilmente veloce.

Vedi Repository
sif



go version build license aur nixpkgs homebrew apt discord

installazione · utilizzo · moduli · documentazione · contribuire

ricognizione rapida e concorrente fino allo sfruttamento in un singolo binario. ogni scanner condivide un singolo client HTTP con pool di connessioni.


cos'è sif?

sif è uno scanner di ricognizione e sfruttamento che esegue l'intera catena in un solo binario: enumerazione dei sottodomini, scansione delle porte, crawler, nuclei, rilevamento di framework/CVE, estrazione di segreti da JS, probe per vulnerabilità web (CORS/XSS/redirect), controlli cloud e di takeover. Oltre 25 tipi di scansione, un unico comando.

root@kitploit:~
sif -u https://example.com -dnslist -ports -crawl -js -framework -nuclei

nuclei e colly sono compilati come librerie anziché eseguiti come comandi esterni (non c'è exec.Command nell'albero), quindi è un singolo binario statico senza dipendenze runtime e nulla da configurare.

Ogni scanner utilizza un singolo client HTTP condiviso e un pool di worker con furto di lavoro. -proxy, -H, -cookie e -rate-limit si applicano all'intera esecuzione contemporaneamente, le connessioni vengono raggruppate e riutilizzate durante la scansione (un'esecuzione su un singolo host riutilizza una connessione per circa 50 richieste invece di stabilire 50 connessioni separate), e un host lento non blocca il resto. Quel client condiviso è il motivo pratico per usarlo invece di concatenare una pila di strumenti separati. La scansione delle porte è basata su connect(), quindi rustscan e nmap sono ancora più veloci per le scansioni raw delle porte.

Legge i target da stdin e stampa i risultati uno per riga con -silent, quindi si compone:

root@kitploit:~
subfinder -d example.com | sif -silent -crawl -js -nuclei | notify

-diff trasforma una nuova scansione in un monitor che segnala solo ciò che è cambiato, -notify pubblica su slack/discord/telegram/webhook e le esecuzioni esportano in sarif e markdown.

installazione

homebrew (macOS)

root@kitploit:~
brew tap vmfunc/sif
brew install sif

arch linux (AUR)

Installa usando il tuo helper AUR preferito:

root@kitploit:~
yay -S sif
# oppure
paru -S sif

nix

root@kitploit:~
# nixpkgs (dichiarativo: aggiungi a configuration.nix o home-manager)
environment.systemPackages = [ pkgs.sif ];

# oppure imperativamente
nix profile install nixpkgs#sif

# oppure esegui senza installare
nix run nixpkgs#sif -- -u https://example.com -headers -sh -framework

Il repository include anche un flake se vuoi compilare dai sorgenti:

root@kitploit:~
nix run github:vmfunc/sif

debian/ubuntu (apt)

root@kitploit:~
curl -1sLf 'https://dl.cloudsmith.io/public/sif/deb/setup.deb.sh' | sudo -E bash
sudo apt-get install sif

dai rilasci

Scarica l'ultimo binario da releases.

dai sorgenti

root@kitploit:~
git clone https://github.com/vmfunc/sif.git
cd sif
make

Richiede go 1.25+

AUR (installazione manuale)

root@kitploit:~
git clone https://aur.archlinux.org/sif.git
cd sif
makepkg -si

utilizzo

root@kitploit:~
# scansione di base
./sif -u https://example.com

# fuzzing delle directory
./sif -u https://example.com -dirlist medium

# enumerazione dei sottodomini
./sif -u https://example.com -dnslist medium

# scansione delle porte
./sif -u https://example.com -ports common

# rilevamento framework javascript + misconfigurazione cloud
./sif -u https://example.com -js -c3

# intelligence host di shodan (richiede variabile d'ambiente SHODAN_API_KEY)
./sif -u https://example.com -shodan

# scoperta domini tramite securitytrails (richiede variabile d'ambiente SECURITYTRAILS_API_KEY)
# scopre sottodomini + domini associati, poi li scansiona tutti
./sif -u https://example.com -securitytrails -headers

# ricognizione sql + scansione lfi
./sif -u https://example.com -sql -lfi

# probe vulnerabilità web (cors, reindirizzamento aperto, xss riflesso)
./sif -u https://example.com -cors -redirect -xss

# rilevamento framework (con ricerca CVE)
./sif -u https://example.com -framework

# una scansione ampia
./sif -u https://example.com -dirlist small -dnslist small -ports common -headers -sh -cms -framework -git -whois

Esegui ./sif -h per tutte le opzioni.

comandi

Un paio di sottocomandi vengono eseguiti senza scansione:

root@kitploit:~
# stampa la versione (le build rilasciate sono timbrate; le build locali usano git describe)
./sif version

# mostra le ultime note di rilascio (anche -pn)
./sif patchnote

La prima volta che esegui una nuova release, sif stampa le note di quella release una volta. Imposta SIF_NO_PATCHNOTES=1 per disattivarlo.

moduli

sif ha un'architettura modulare. I moduli sono definiti in yaml e possono essere estesi dagli utenti.

flag di scansione integrati

opzioni HTTP

Queste si applicano a ogni richiesta in uscita su tutti gli scanner:

root@kitploit:~
# scansione attraverso un proxy socks5 con un header personalizzato, un cookie e un limite di 20 req/s
./sif -u https://example.com -headers -proxy socks5://127.0.0.1:1080 -H "Authorization: Bearer tok" -cookie "session=abc" -rate-limit 20

Uno scanner che imposta esplicitamente un header (es. una chiave API) ha sempre la precedenza sul default globale.

esportazione report

Scrive i risultati dell'esecuzione in un file per CI/CD o triage:

root@kitploit:~
# scansione ed emissione di entrambi i report SARIF e markdown
./sif -u https://example.com -headers -cors -sarif out.sarif -md out.md

L'output SARIF può essere importato da GitHub Code Scanning; il markdown è un riepilogo leggibile per target.

modalità diff

-diff trasforma una nuova scansione in un monitor: sif salva uno snapshot dei risultati normalizzati di ogni target in un file json, e alla successiva esecuzione riporta solo il delta (+ nuovo / - rimosso) rispetto a quello snapshot, poi lo sovrascrive. La prima esecuzione per un target non ha baseline, quindi tutto è + nuovo. Gli snapshot finiscono in -store (un file sanitizzato per target); se non impostato, riutilizza la directory di log, ricadendo su <user-config>/sif/state.

root@kitploit:~
# esecuzione baseline, poi riscansione successiva per vedere solo cosa è cambiato
./sif -u https://example.com -sh -cors -diff
./sif -u https://example.com -sh -cors -diff

Lo snapshot viene sempre riscritto, quindi ogni esecuzione si differenzia dalla precedente. Il delta è chrome (viene inviato al normale sink di output / stderr con -silent), non il flusso dei risultati.

notifica

Invia i risultati a un sink di chat/webhook in modo che un'esecuzione di ricognizione continua possa avvisare su ciò che trova. Ogni provider è un singolo POST attraverso il client HTTP condiviso, quindi si applica la configurazione globale di proxy/rate-limit/header.

I provider sono configurati prima tramite ambiente; un file yaml (-notify-config) sovrascrive per campo. Le chiavi yaml corrispondono a projectdiscovery/notify quindi una configurazione esistente può essere portata:

root@kitploit:~
# avvisa slack per risultati con gravità medium+ scoperti durante una scansione
export SLACK_WEBHOOK_URL=https://hooks.slack.com/services/...
./sif -u https://example.com -cors -xss -notify -notify-severity medium

Un provider senza destinazione viene saltato; con nulla configurato, -notify è un no-op silenzioso. Slack/Discord/Telegram ricevono un blocco di risultati a larghezza fissa; il webhook generico riceve JSON strutturato ({count, findings[]}).

modalità pipe

sif legge i target da stdin e accetta host nudi, quindi si inserisce in una pipeline unix. -silent indirizza tutto il banner/spinner/log chrome su stderr e stampa un risultato normalizzato per riga ([severità] target modulo titolo) su stdout:

root@kitploit:~
# subfinder alimenta host, sif li analizza, notify invia i risultati
subfinder -d example.com | sif -silent -probe | notify
flagdescrizione
stdinun flusso di target piped (un host/URL per riga) viene letto insieme a -u/-f

Gli host senza schema predefiniscono https://; uno schema esplicito http:///https:// viene mantenuto; qualsiasi altro schema (ftp://, ...) viene rifiutato.

moduli yaml

Elenca i moduli disponibili:

root@kitploit:~
./sif -lm

Esegui moduli specifici:

root@kitploit:~
# esegui per id
./sif -u https://example.com -m sqli-error-based,xss-reflected

# esegui per tag
./sif -u https://example.com -mt owasp-top10

# esegui tutti i moduli
./sif -u https://example.com -am

moduli personalizzati

Crea i tuoi moduli in ~/.config/sif/modules/. I moduli utilizzano un formato yaml simile ai template nuclei:

root@kitploit:~
id: my-custom-check
info:
  name: my custom security check
  author: you
  severity: medium
  description: checks for something specific
  tags: [custom, recon]

type: http

http:
  method: GET
  paths:
    - "{{BaseURL}}/admin"
    - "{{BaseURL}}/login"

  matchers:
    - type: status
      status:
        - 200

    - type: word
      part: body
      words:
        - "admin panel"
        - "login"
      condition: or

Vedi docs/modules.md per il formato completo dei moduli.

contribuire

Contributi benvenuti. Vedi contributing.md per le linee guida.

root@kitploit:~
# formatta
gofmt -w .

# lint
go run github.com/golangci/golangci-lint/v2/cmd/[email protected] run

# test
go test ./...

community

Unisciti al nostro discord per supporto, discussioni sulle funzionalità e consigli per il pentesting:

discord

contributori

ringraziamenti

  • projectdiscovery per nuclei e altri strumenti di sicurezza
  • shodan per l'intelligence sulle infrastrutture

licenza BSD 3-clausole · realizzato da vmfunc, xyzeva e contributori
Scarica lo strumento
flagdescrizione
-dirlistfuzzing di directory e file (small/medium/large)
-mcdirlist: corrispondi a questi codici di stato (elenco separato da virgole, es. 200,301)
-fcdirlist: filtra questi codici di stato (elenco separato da virgole)
-fsdirlist: filtra risposte con queste dimensioni del corpo (elenco separato da virgole)
-fwdirlist: filtra risposte con questi conteggi di parole (elenco separato da virgole)
-frdirlist: filtra risposte il cui corpo corrisponde a questa regex
-acauto-calibrazione della baseline wildcard soft-404 (dirlist, sql)
-wdirlist: wordlist personalizzata (file locale o URL; sovrascrive la dimensione di -dirlist)
-edirlist: estensioni aggiunte a ogni parola (elenco separato da virgole, es. php,bak,env)
-dnslistenumerazione dei sottodomini (small/medium/large)
-portsscansione delle porte (common/full)
-nucleiscansione delle vulnerabilità con i template nuclei
-dorkgoogle dorking automatizzato
-jsanalisi javascript + estrazione di segreti ed endpoint
-c3errata configurazione dello storage cloud
-headersanalisi degli header HTTP
-shanalisi degli header di sicurezza (header mancanti/deboli)
-strilevamento takeover del sottodominio
-cmsrilevamento CMS
-whoisquery whois
-gitrilevamento repository git esposto
-shodanquery shodan (richiede SHODAN_API_KEY)
-securitytrailsscoperta domini + espansione target (richiede SECURITYTRAILS_API_KEY)
-sqlricognizione SQL
-lfiinclusione di file locale
-jwtscoperta JWT + analisi offline delle debolezze (alg:none, hmac debole, exp, claims sensibili)
-openapiprobe di esposizione delle specifiche openapi/swagger (enumera percorsi + endpoint non autenticati)
-faviconfingerprinting tramite hash del favicon (mmh3 stile shodan, corrispondenza tech + query pivot)
-corsprobe di errata configurazione CORS
-redirectprobe di reindirizzamento aperto
-xssprobe XSS riflesso
-frameworkrilevamento framework con ricerca CVE
-crawlweb crawler (spider di link/script/form sullo stesso host)
-crawl-depthprofondità massima di ricorsione del crawl (default 2)
-passivescoperta passiva di sottodomini/URL (zero traffico verso il target)
-probeprobe host live (stato, titolo, server, catena di reindirizzamento)
flagdescrizione
-proxyinstrada tutto il traffico attraverso un proxy (URL http/https/socks5)
-H, --headerheader personalizzato da inviare (ripetibile o separato da virgole, "Key: Value")
-cookieheader cookie da inviare con ogni richiesta
-rate-limitmassimo di richieste al secondo (0 = illimitato, default 0)
flagdescrizione
-sarifscrive un report SARIF 2.1.0 in questo file
-markdown, -mdscrive un report markdown in questo file
-silentoutput semplice: chrome su stderr, un risultato per riga su stdout (per pipeline)
-diffmostra solo i risultati aggiunti/rimossi dall'ultimo snapshot di ogni target
-storedirectory degli snapshot per -diff (default: directory di log, altrimenti <user-config>/sif/state)
flagdescrizione
-notifyinvia i risultati a ogni provider configurato dopo la scansione
-notify-severitygravità minima da inviare (info/low/medium/high/critical, default medium)
-notify-configpercorso di un file yaml compatibile con notify (sovrascrive le variabili d'ambiente)
variabile d'ambientechiave yamlprovider
SLACK_WEBHOOK_URLslack_webhook_urlwebhook in arrivo Slack
DISCORD_WEBHOOK_URLdiscord_webhook_urlwebhook Discord
TELEGRAM_BOT_TOKENtelegram_api_keyAPI bot Telegram (richiede anche chat id)
TELEGRAM_CHAT_IDtelegram_chat_idchat di destinazione Telegram
NOTIFY_WEBHOOK_URLwebhook_urlwebhook JSON generico (risultati strutturati)
vmfunc
vmfunc

🚧 🧑‍🏫 📆 🛡️ 💻
ProjectDiscovery
ProjectDiscovery

📦
macdoos
macdoos

💻
Matthieu Witrowiez
Matthieu Witrowiez

🤔
tessa
tessa

🚇 💬 📓
Eva
Eva

📝 🖋 🔬 🛡️ ⚠️ 💻
Zoa Hickenlooper
Zoa Hickenlooper

💻
acxtrilla
acxtrilla

📦