
Uno strumento di creazione di pacchetti per Linux.
Pig (che può essere inteso come Packet intruder generator) è uno strumento Linux per la creazione di pacchetti.
Puoi usare Pig per testare il tuo IDS/IPS tra le altre cose.
Pig porta un mucchio di firme di attacco ben note già pronte per essere utilizzate e puoi espandere questa raccolta
con cose più specifiche secondo le tue esigenze.
Fino ad ora è possibile creare firme IPv4 con livello di trasporto basato su TCP, UDP e ICMP.
Puoi anche creare firme basate sul protocollo ARP, oltre a costruire il pacchetto a partire dal suo frame Ethernet.
Se sei arrivato qui tramite il mio articolo su 2600 del numero SPRING 2016 issue
continua a leggere le seguenti sezioni della documentazione perché questo piccolo Pig si è evoluto da allora.
È molto semplice:
[email protected]:~/src# git clone https://github.com/rafael-santiago/pig pig
[email protected]:~/src# cd pig
[email protected]:~/src/pig# git submodule update --init
Devi usare Hefesto per compilare pig. Dopo aver seguito
i passaggi per mettere Hefesto in funzione sul tuo sistema, spostati nella sottodirectory pig chiamata src ed esegui
il seguente comando:
[email protected]:~/src/pig/src# hefesto
Dopo questo comando dovresti trovare il binario pig nel percorso src/bin. Puoi usare il binario relativamente da
src/bin o installarlo.
Se per qualche motivo hai problemi di compilazione, dovresti provare a leggere alcune osservazioni presenti in BUILD.md.
Per installare devi essere nella sottodirectory src e chiamare:
[email protected]:~/src/pig/src# hefesto --install
Per disinstallare, essendo nella sottodirectory src, devi chiamare:
[email protected]:~/src/pig/src# hefesto --uninstall
I file Pigsty sono file di testo semplice in cui puoi definire un insieme di firme di pacchetti. C'è una sintassi specifica da
seguire. Ecco un esempio di file pigsty:
[ signature = "Hello",
ip.version = 4,
ip.ihl = 5,
ip.tos = 0,
ip.src = 192.30.70.10,
ip.dst = 192.30.70.3,
ip.protocol = 17,
udp.dst = 1008,
udp.src = 32000,
udp.payload = "Hello!!" ]
Fondamentalmente, tutti i dati della firma devono essere tra parentesi quadre: [ ... ].
All'interno di quest'area le informazioni sono fornite tramite lo schema field = data.
Se hai un po' di esperienza con le Reti di Computer, è certo che la maggior parte dei campi elencati nella Tabella 1
hanno un forte significato per te. Devi usare questi campi per creare le tue successive firme.
Tabella 1: I campi delle firme di pig.