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
Spip-Go — Sensore di rete Spip scritto in Go | Kitploit
Strumenti/GitHubGitHub/honeylabshq/spip-go
Strumenti DifensiviGestione degli Indicatori di Compromissione (IOC)Sniffing e Analisi dei PacchettiRicognizioneRaccolta InformazioniSicurezza di ReteThreat IntelligenceRilevamento IntrusioniRisposta agli IncidentiAnalisi dei Log
GitHub
71314 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 →
honeylabshq/spip-go

Spip-Go

Sensore di rete Spip scritto in Go

Vedi Repository
Condividi

Spip - Sensore Honeypot di Rete

Spip è un sensore honeypot di rete a bassa interazione per Linux, scritto in Go. Accetta connessioni TCP su qualsiasi porta che l'host gli reindirizza, in chiaro o TLS, risponde quanto basta per indurre un client a inviare il proprio messaggio successivo e scrive ogni scambio come un singolo record JSON con nomi di campo ECS, pronto per un SIEM o un data lake. L'acquisizione UDP opzionale registra i datagrammi e non risponde mai ad essi.

HoneyLabs esegue Spip per raccogliere i dati pubblicati su honeylabs.net.

Avvio Rapido

Prerequisiti:

  • Linux. L'agente utilizza opzioni socket di Linux e non viene compilato per altri sistemi.
  • Go 1.27 o successivo
  • iptables e accesso root per installare le regole di reindirizzamento
  1. Compila l'agente
git clone https://github.com/honeylabshq/Spip-Go.git
cd Spip-Go
go build -o spip-agent ./cmd/spip-agent

Per impostare la versione riportata in observer.version e agent.version (predefinita dev), aggiungere -ldflags "-X main.version=v1.2.3".

  1. (Opzionale) Utilizzare l'helper di configurazione interattivo
sudo ./scripts/initial_setup.sh

Vedi Initial setup helper di seguito.

  1. Creare o modificare config.toml config.toml minimale:
name = "spip-agent"
ip = "0.0.0.0"
port = 8080

Chiavi di configurazione opzionali:

  • cert_path / key_path: abilitano TLS se entrambe impostate. I percorsi relativi vengono risolti rispetto alla directory del file di configurazione.
  • log_file: aggiunge i record a questo file invece che a stdout. Vedi Output del log di seguito.
  • [loom]: invia anche i record tramite HTTP. Vedi Loom di seguito.
  • read_timeout_seconds / write_timeout_seconds: timeout di lettura inattivo e timeout di scrittura per connessione.
  • rate_limit_per_second / rate_limit_burst: limite di frequenza sulle nuove connessioni TCP, condiviso da tutte le sorgenti. Una connessione oltre il limite viene chiusa senza essere letta.
  • community_id_seed: seed opzionale a 16 bit per l'hashing dei flussi Community ID v1 (omettere o 0 per il valore predefinito).
  • capture_client_hello: impostare false per omettere tls.client.hello_hex. Vedi Fingerprinting.
  • ignore_sources: indirizzi o reti le cui connessioni e datagrammi vengono chiusi o scartati prima che qualsiasi cosa venga letta, così non vengono mai registrati, sottoposti a fingerprinting o inviati. Indirizzi semplici e CIDR, IPv4 o IPv6: ignore_sources = ["192.0.2.10", "198.51.100.0/24", "2001:db8::/32"]. Un honeypot su un host noleggiato viene interrogato dal monitoraggio dell'host stesso, e conteggiare queste richieste distorce le classifiche delle porte e i conteggi degli scanner. Una voce che non viene analizzata correttamente impedisce l'avvio dell'agente, perché un errore di battitura qui registrerebbe silenziosamente traffico che si ritiene scartato. Gli scarti vengono conteggiati per sorgente e riportati nel log ogni ora e allo spegnimento.
  • udp_enabled e le chiavi udp_*: vedi Cattura UDP.

Se questi campi di ottimizzazione a runtime vengono omessi o impostati a 0, Spip applica i seguenti valori predefiniti:

  • read_timeout_seconds: 30
  • write_timeout_seconds: 10
  • rate_limit_per_second: 20
  • rate_limit_burst: 50000
  1. Reindirizza il TCP in ingresso verso l'agente (esempio, escluso SSH)
sudo iptables -t nat -F
sudo iptables -t nat -A PREROUTING -p tcp --dport 22 -j RETURN
sudo iptables -t nat -A PREROUTING -p tcp -j REDIRECT --to-port 8080

Il primo comando svuota l'intera tabella nat. Ometterlo su un host che ha regole NAT proprie. Le stesse due regole con ip6tables coprono IPv6. Spip legge la destinazione originale di ogni connessione dal connection tracking del kernel e la registra come destination.ip e destination.port.

  1. Avviare l'agente
./spip-agent -config config.toml

-config è l'unico flag e per impostazione predefinita punta a config.toml nella directory di lavoro. SIGINT o SIGTERM arrestano il listener, attendono fino a 15 secondi le connessioni aperte e scrivono qualsiasi batch Loom in sospeso nello spool, concedendogli 5 secondi per l'invio; il resto viene inviato al successivo avvio.

Risposte

Spip sceglie un responder in base alla porta di destinazione originale. Ognuno dice solo quanto basta per far inviare al client il suo messaggio successivo: credenziali, un comando o una busta di posta.

PorteRisposta
23, 2323Negoziazione delle opzioni Telnet e un prompt login:, poi Password:, poi Login incorrect e chiusura
21, 990Saluto FTP, una richiesta di password dopo la prima riga, poi 530 Login incorrect. e chiusura
25, 465, 587Saluto SMTP, risposte 250 alle prime tre righe, 354 alla quarta, poi chiusura. Nulla viene inoltrato e nessuna connessione in uscita viene effettuata.
110, 995Saluto POP3, +OK dopo la prima riga, -ERR invalid login dopo la seconda, poi chiusura
143, 993Saluto IMAP, poi * BAD Login failed e chiusura
6379, 6380, o qualsiasi payload che sembri un comando Redis+PONG a PING, +OK a tutto il resto
qualsiasi altra portaHTTP/1.1 200 OK con l'indirizzo IP del client come corpo per una richiesta HTTP, l'indirizzo IP nudo per qualsiasi altra cosa

Un client che invia SSH-2.0 senza un messaggio di scambio chiavi riceve il banner SSH-2.0-spip, e Spip attende fino a 2 secondi lo scambio chiavi per poter calcolare l'impronta del client.

I saluti telnet, FTP, SMTP, POP3 e IMAP vengono inviati alla connessione. Con TLS abilitato, Spip legge prima un byte per distinguere TLS dal testo in chiaro, quindi quei saluti vengono inviati solo dopo che il client ha inviato qualcosa.

Output dei log

Spip scrive i log ECS su un'unica destinazione locale e può anche inviare gli stessi record a un server Loom:

DestinazioneConfigComportamento
Localelog_fileOmesso o vuoto: stdout. Impostato a un percorso: i record vengono aggiunti a quel file. Sempre attivo.
Loom[loom] con enabled = trueOpzionale. Gli stessi record vengono raggruppati in batch e inviati tramite POST all'URL di ingest di Loom in aggiunta all'output locale.

L'output locale trasporta anche le righe di log dell'agente stesso, come i conteggi orari degli scarti e gli avvisi, come {"timestamp": <unix seconds>, "level": "INFO", "message": "...", "target": "...", "record_type": "log"}. Solo i record di connessione vanno a Loom. I messaggi di avvio vanno su stderr.

Formato dei log

Scarica lo strumento