Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
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.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
netward-standalone — Bot in user-space e deviazione DDoS per piccoli servizi HTTP | Kitploit
Strumenti/GitHubGitHub/dragon-lady/netward-standalone
Strumenti DifensiviProxy Web e IntercettazioneRaccolta InformazioniSicurezza WebSicurezza di ReteRilevamento IntrusioniAnti-BotRilevamento di AnomalieAnalisi dei Log
GitHubdragon-lady/netward-standalone

netward-standalone

Bot in user-space e deviazione DDoS per piccoli servizi HTTP

318 giorni faNon ancora revisionato

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 →
Vedi RepositorySito web
Condividi

Net Ward

Un livello di inganno in user-space che trasforma DDoS e abusi da bot in sforzi sprecati.

License: Apache 2.0 Python Status

Net Ward si colloca davanti al tuo servizio HTTP come reverse proxy. Il traffico reale passa inalterato. Le sonde e i flood noti ricevono innocue risposte speculari che consumano lo sforzo dei bot e non raggiungono mai la tua applicazione — nessun hook nel kernel, nessun payload, nessuna ritorsione, fail-open per progettazione.

Perché Net Ward

  • Deviа, non contrattacca. I bot perdono tempo con specchi convincenti ma innocui; il tuo upstream non vede mai la richiesta.
  • User-space e fail-open. Nessun modulo kernel, nessuna manomissione dei pacchetti. Se la classificazione, una lettura dallo storage o il rendering dovessero fallire, il traffico passa direttamente all'upstream (o allo specchio predefinito se l'upstream è inattivo).
  • Si integra ovunque. Un singolo processo Python davanti a qualsiasi servizio HTTP. Punta il tuo load balancer su di esso e via.
  • Onesto per progettazione. Nessuna telemetria, nessuna credenziale raccolta, l'operatore possiede ogni byte dei dati locali. Apache-2.0.

Creato e mantenuto da Dragon Lady — github.com/Dragon-Lady · X: @answerislove2 Ricercatrice indipendente di sicurezza che monitora campagne attive di supply-chain e abuso da bot nel mondo reale.

Sito web: dragon-lady.github.io/netward-standalone


Avvio rapido

python -m pip install --upgrade "netward>=0.4.12"
python -m netward --config example_config.json

La versione 0.4.12 o successiva è la base raccomandata per nuove installazioni e aggiornamenti. Le versioni precedenti restano disponibili per la riproducibilità; i nuovi deployment dovrebbero utilizzare la release corrente.

Oppure dai sorgenti:

git clone https://github.com/Dragon-Lady/netward-standalone
cd netward-standalone
pip install -e .

Net Ward resta in ascolto su listen_address e inoltra il traffico pulito a upstream_target.


Configurazione

Copia la configurazione di esempio e modifica il target upstream:

cp example_config.json config.json

Prima di avviare Net Ward, punta upstream_target verso un servizio HTTP reale. Se l'upstream non è raggiungibile, le richieste non corrispondenti restituiscono una risposta mirror predefinita invece di esporre un errore grezzo del proxy.

Campi obbligatori:

CampoSignificato
node_idNome stabile per questa istanza di Net Ward
upstream_targetServizio HTTP da proteggere
listen_addressHost e porta su cui Net Ward si mette in ascolto

I campi opzionali controllano l'intensità del mirror, l'archiviazione locale, i segnaposto della mesh, i canali di avviso, i timeout dell'upstream e la conservazione del registro delle sonde. Una corrispondenza di pattern o l'inizio di un flood di richieste registra un avviso in SQLite. Gli avvisi vengono deduplicati per tipo, origine e pattern per cinque minuti. Una lista alert_channels vuota invia a stdout; seleziona qualsiasi combinazione di stdout, email, slack e ntfy per una consegna esplicita. La consegna in uscita viene eseguita in background e ritenta i canali non riusciti. Gli avvisi recenti non consegnati vengono ritentati all'avvio.

L'email richiede alert_email, alert_smtp_host e alert_smtp_from. Imposta alert_smtp_port e alert_smtp_security (starttls, ssl o none); none è consentito solo per un server SMTP su loopback. Se è necessaria l'autenticazione, imposta alert_smtp_username e alert_smtp_password_env con il nome di una variabile d'ambiente contenente la password. Slack richiede alert_slack_webhook. ntfy richiede alert_ntfy_topic (un topic su ntfy.sh o un URL completo di un topic self-hosted); per un topic protetto, imposta alert_ntfy_token_env con il nome di una variabile d'ambiente contenente il suo bearer token. Le destinazioni HTTP devono usare HTTPS tranne che su loopback. alert_timeout_secs è impostato per impostazione predefinita a cinque secondi. Net Ward verifica le destinazioni richieste all'avvio e memorizza le ricevute di consegna riuscite nella tabella degli avvisi. I messaggi di avviso contengono l'IP di origine, l'ID del pattern e la classificazione; non includono corpi o header delle richieste grezzi.

Campo opzionalePredefinitoSignificato
upstream_timeout_total10Budget per l'intera richiesta verso l'upstream, in secondi
upstream_timeout_connect3Timeout di connessione (DNS + TCP + TLS), in secondi
upstream_timeout_sock_read5Tempo di inattività tra le letture del socket upstream, in secondi
upstream_max_concurrency64Richieste upstream in corso
upstream_max_body_bytes8388608Dimensione massima del corpo della risposta upstream memorizzato nel buffer (8 MiB). I corpi più grandi passano in fail-open al mirror predefinito
probe_retention_secs604800TTL del registro delle sonde (7 giorni)
probe_max_rows10000Numero massimo di righe del registro delle sonde dopo la pulizia in scrittura
alert_timeout_secs5Timeout per canale per la consegna degli avvisi in uscita, in secondi

Esecuzione

python -m netward --config config.json

Esempio di topologia:

ComponenteIndirizzo
Net Ward127.0.0.1:8080
App upstreamhttp://127.0.0.1:9000
Storagenetward.db

Punta il tuo load balancer o web server su Net Ward. Mantieni l'app upstream raggiungibile solo dall'host o dalla rete fidata quando possibile. Imposta listen_address su 0.0.0.0:<port> solo quando vuoi intenzionalmente che Net Ward sia raggiungibile oltre localhost. Su Linux/macOS, mantieni storage_path non scrivibile da tutti. Esempio: chmod 600 netward.db, oppure chmod 644 netward.db solo se hai intenzionalmente bisogno dell'accesso in lettura per il monitoraggio.

Monitoraggio delle risorse

Net Ward sostiene continuamente la capacità documentata per box, ma i pool di memoria del runtime Python possono trattenere lo stato del working-set dopo un carico pesante prolungato. Gli operatori che eseguono Net Ward sotto traffico pesante continuo dovrebbero monitorare l'utilizzo delle risorse del processo e riavviare periodicamente il daemon, ad esempio settimanalmente o quando l'RSS supera il doppio del valore di base. La v0.5 affinerà queste indicazioni in base al feedback degli operatori e alle osservazioni dei test locali, non a telemetria automatica.


Verifica

Una richiesta pulita dovrebbe raggiungere l'upstream:

curl -i http://127.0.0.1:8080/

Il probe noto dovrebbe essere replicato:

curl -i http://127.0.0.1:8080/wp-admin/

La sonda WordPress restituisce una pagina di login falsa. Il servizio upstream non riceve la richiesta.

Esempio di percorso ottimale

Con la topologia di esempio sopra, una prima esecuzione corretta dovrebbe apparire così:

  1. Avviare un piccolo servizio upstream su 127.0.0.1:9000.
  2. Avviare Net Ward su 127.0.0.1:8080.
  3. Richiedere / tramite Net Ward e confermare che arrivi la risposta dell'upstream.
  4. Richiedere /wp-admin/ tramite Net Ward e confermare che arrivi invece una risposta mirror.

Risultato atteso: il traffico normale raggiunge l'app upstream, mentre la sonda nota viene gestita dal livello mirror di Net Ward. Questo è il segnale più semplice che il percorso proxy, la corrispondenza dei pattern e la risposta mirror funzionano tutti.


Comandi per l'operatore

Scarica lo strumento