Vorwort:

Ganz abstrakt kann clamav als ein Tool betrachtet werden, welches Dateien auf Auffälligkeiten prüft. Auffällig ist alles, was vorher über Signaturdateien einmal definiert wurde. Sei es durch einen Hash einer ganzen Datei, ein bestimmtes Wort in einer Datei oder eine URL o.Ä.

Die clamav-Signaturdateien liegen unter /var/lib/clamav und haben Endungen wie .db .clv, .ndb oder .ldb.

In diesen Dateien kann ganz banal, ein Hash-Wert einer Datei definiert werden. Taucht diese Datei irgendwo nochmal auf, schlägt clamav Alarm.

Ein sehr bekanntes und offizielles „Hash-Netzwerk“ betreibt Google mit seinem Dienst VirusTotal.

Große Liste mit Milliarden von Hash-Werten. Jeweils immer ein Wert pro eindeutiger Datei.

Eigene Signaturen erstellen:

sigtool –md5 BAD.file > test.hdb
more test.hdb
abc4da58da538155e15982be5ef83c52:126:BAD.file

clamscan -d test.hdb BAD.file
/root/BAD.file: BAD.file.UNOFFICIAL FOUND

———– SCAN SUMMARY ———–
Known viruses: 1
Engine version: 0.102.4
Scanned directories: 0
Scanned files: 1
Infected files: 1
Data scanned: 0.00 MB
Data read: 0.00 MB (ratio 0.00:1)
Time: 0.004 sec (0 m 0 s)

Läuft. Eigene Signaturen erstellen für Datei-Hashes ist jedoch für den Arsch. Da sind die großen Anbieter schneller und besser. Lohnt sich nicht.

Was sich jedoch lohnt sind z. B. individuelle URLs, Textzeichen o.Ä. de gerade eben eine spezielle Datei ausmachen.

Wie läufts?

SIG=echo -n "another bad string" | sigtool --hex-dump && echo "sig1=$SIG" > test.db

1, Schreibt die Zeichenfolge „another bad string“ temporär in eine Variable $SIG
2, Ruft das clamav-Tool ’sigtool‘ zur Signaturerstellung auf, welches nur aus einem gegebenen Text (kommt durch das echo…) das ganze in HEX-Code umwandelt und abschließend mit einer vorangehenden Bezeichnung gebündelt in die Ausgabedatei (test.db) schreibt.

Wie siehts aus?

more test.db
sig1=616e6f746865722062616420737472696e670a

Wie gehts weiter?

clamav-Mailingliste abbonieren
Kommentar hinterlassen

Categories: Blog