logo

Suletuxe.de
Linux - Nutzer
helfen
Linux - Nutzern

Willkommen, Gast. Bitte Login oder Registrieren.
25. April 2024, 11:41:14
Übersicht Hilfe Suche Login Registrieren

Amateurfunk Sulingen
 1   allgemeine Kategorie / Tutorials / Re:Eigene Signaturen für clamav schreiben  am: 15. April 2024, 18:28:06 
Begonnen von Sebastian | Letzter Eintrag von Sebastian
Logische Signaturen:

https://docs.clamav.net/manual/Signatures/LogicalSignatures.html

Eine Logische clamav Signatur ist folgendermaßen aufgebaut:

Code:

SignatureName;Zielbeschreibungblock;LogischerAusdruck;Subsig0;Subsig1;Subsig2;...

Hierbei werden die einzelnen Werte mithilfe eines ; getrennt.

SignatureName = Ist selbstbeschreibend, Hier ein Namen eurer Wahl
Zielbeschreibungblock = Gibt die verwendete Clamav Engine sowie die zu untersuchende Dateitypen an (Details in den docs)
LogischerAusdruck = In diesem Bereich werden die Bedingungen niedergeschrieben wie, die Sub Signaturen behandelt werden müssen um einen Match (Fund) zu ergeben.
Subsig0...64 = Es folgen die Hex Signaturen der einzelnen Zeichenketten.

Um unsere Inhaltsbasierte Signatur aus dem vorherigen Beispiel zu einer logischen Signatur umzubauen, und damit auch die Möglichkeit bietet Großkleinschreibung zu ignorieren, gehen wir wie folgt vor:

Vorherige ndb Signatur:

Code:

Malware_name:0:*:46696e6465206d696368

Umgeschrieben zu einer Logischen Signatur (ldb)

Code:

Malware_name;Engine:81-255,Target:0;0;46696e6465206d696368::i

Malware_name
Ausgabe Name bei einem Fund

Engine:81-255,Target:0

Die zu verwendene Clamav Engine, und der zu untersuchende Dateityp (0, Alle Typen) (Die Werte werden durch , getrennt, weitere Informationen in den docs)

0

Hier wurde der logische Ausdruck mit einer einfachen 0 gekürzt, so das einfach nach den Inhalt der ersten Zeichenkette ("Finde mich") gesucht wird, ohne weitere Logik.

46696e6465206d696368

Unsere Zeichenkette "Finde mich" als Hex

::i

Der Kleinbuchstabe i aktiviert das clamav case-insensitive arbeitet, also das Groß- und Kleinschreibung deaktiviert wird. Dies lösst unser Problem auf einfache weise, dass unsere Zeichenkette "Finde mich" in Normalisieren Dateien wie Text Dateien nicht gefunden wird. Da durch die Normalisierung alle Zeichen in der Zeichenkette "finde mich" kleingeschrieben werden.

Die zwei :: dienen hierbei als Trenner zum letzten Hex wert einer Zeichenkette. Dies ist so ähnlich wie bei einem regulären Ausdruck, womit der Engine zum Schluss mitgeteilt wird, welche zusätzlichen Funktionen diese aktivieren soll.

Prüfen ob die Signature funktioniert kann man dann wieder am einfachsten mit:

Code:

clamscan -d mysignature.ldb datei_mit_der_zeichenkette_als_inhalt

Damit würde die Zeichenkette auch in Containerformaten wie zip, odt, doc etc. gefunden werden, also alle die clamav unterstützt.

Dies ist natürlich nicht die beste Signatur, die man schreiben kann, da sie so gut wie keine Logik enthält und somit viele False/Positives erzeugen würde. Dies sollte nur veranschaulichen, wie mächtig clamav sein kann um Dateiinhalte (Auch in Container Formate) aufzuspüren. Man kann seiner Signatur natürlich noch um einiges mehr Logik hinzufügen. Diese entnimmt bitte der Dokumentation, wenn das noch tiefgehender interessiert.

Später werde ich euch dann zeigen, wie Dateien anhand eines Bildes (auch in leicht abgewandelter Form) mithilfe eines Rolling Hashes Verfahren mit clamav detektiert werden kann.

LG
Sebastian
 Antwort Antwort mit Zitat Über Antworten benachrichtigen

 2   allgemeine Kategorie / Aktuelles & Ankündigungen / Re:Kein Treffen am 27.04.24  am: 15. April 2024, 17:24:49 
Begonnen von Andreas | Letzter Eintrag von Sebastian
Ich freue mich schon darauf. Ich bin überzeugt, dass der Umgang mit virtuellen Maschinen, vielen beim Lernen durch Ausprobieren hilft. Hierbei wird die Angst etwas Falsches zu machen gegen null gefahren, so dass man ohne Angst, Ausprobieren kann.

Mir haben auf jeden Fall virtuelle Maschinen den Einstieg in die Linux Welt sehr geholfen, und tun dies auch jetzt noch.

LG
Sebastian
 Antwort Antwort mit Zitat Über Antworten benachrichtigen

 3   allgemeine Kategorie / Aktuelles & Ankündigungen / Kein Treffen am 27.04.24  am: 15. April 2024, 15:37:35 
Begonnen von Andreas | Letzter Eintrag von Andreas
Leider kollidiert dieser Termin mit einem persönlichen Termin, weswegen ich ihn canceln muss. Das nächste Treffen findet daher am 25.05.24 statt. Aber ihr seid ja trotzdem mit eventuellen Fragen und Problemen nicht alleine: dieses Forum steht euch 24/7 das ganze Jahr über zur Verfügung! Es macht ja sowieso nur wenig Sinn sich mit Linux nur aus Anlass der Treffen zu beschäftigen. Der Hauptlernprozess findet im Linux-Alltag statt, also dann, wenn ihr es nutzt.

Ich habe mich in den 1,5 Monaten seit dem letzten Treffen intensiv mit virtuellen Maschinen beschäftigt und sehr viel gelernt. Das könnte man auch unmöglich an einem Treffen alles vermitteln - hier hieße es: Grundgerüst wird gezeigt, dann folgt viel Eigenarbeit zu Hause mit vielen "aha" und "oooohhh"!!!

LG
Andreas
 Antwort Antwort mit Zitat Über Antworten benachrichtigen

 4   allgemeine Kategorie / Tutorials / Eigene Signaturen für clamav schreiben  am: 14. April 2024, 15:54:33 
Begonnen von Sebastian | Letzter Eintrag von Sebastian
Einleitung

Hallo Suletuxe,

Erst ein einmal vorweg, ich selbst bin immer noch in der Lernphase Signaturen für Malware für die clamav Engine zu schreiben. Dennoch möchte ich für euch meine Erfahrungen hier festhalten. Vielleicht kann der ein oder andere davon auch etwas Lernen.

Zudem kann man auch gut clamav verwenden um einen bestimmten Inhalt zu finden. Es muss ja nicht immer was Gefährliches sein. The sky is the limit

Standard Signatur Verzeichnis:

/var/lib/clamav

Hash-based Signatures

https://docs.clamav.net/manual/Signatures/HashSignatures.html

Die einfachste Art eine Signatur für clamav zu erstellen ist es den Dateiinhalt Hash von einer Datei zu verwenden. Diese erzeugt die wenigsten False/Positives ist aber auch am striktesten. Mit anderen Worten die kleinste Veränderung der Datei sorgt dafür das die Malware nicht mehr gefunden wird.

clamav unterstützt dabei 3 verschiedene Hash Algorithmen: md5, sha1, sha256

um die Hash Signatur für eine Datei zu erzeugen, können wir das sigtool Programm verwenden, das clamav mit beiliegt

Code:

sigtool --md5 test.exe > test.hdb

Dies rezeugt eine hdb (Hash Data Base) File Signature mit folgendem Inhalt:

Code:

48c4533230e1ae1c118c741c0db19dfb:17387:test.exe

Die Werte werden mit einem : getrennt.

Wert 1 = Hashwert
Wert 2 = Dateigröße in Bytes
Wert 3 = Dateiname

Der Dateiname kann nach Belieben geändert werden. Diese Informationen wird später bei Fund in der Ausgabe angegeben. Hier könnt ihr euch also einen Namen ausdenken, der euch gefehlt.

Signatur Testen:

Am schnellsten könnt ihr die Signatur testen ob diese Funktioniert, indem ihr die Option -d verwendet von clamscan

Code:

clamscan -d test.hdb test.exe

Wenn eure Signatur funktioniert, könnt ihr diese in euer Signatur Verzeichnis kopieren.

Hinweis:

Ihr solltet Hash-Based Signaturen nicht für Textdateien verwenden. Clamav führt für Text Dateien eine Normalisierung durch. Das heißt entfernt vor den eigentlichen Scan überflüssige Leerzeichen/Steuerzeichen, konvertiert alle ASCI Zeichen zu Kleinbuchstaben etc. dadurch würde sich der Hashwert ändern und eure Signatur funktioniert dadurch nicht. Wenn ihr dies trotzdem verwenden wollt, so müsst ihr den Hashwert aus der normalisierten Datei verwenden. Dafür müsst ihr clamav mitteilen, dass ihr die tmp Dateien behalten möchtet. Wie das geht, schaut bitte in der Dokumentation nach

Content-based Signaturen

https://docs.clamav.net/manual/Signatures/BodySignatureFormat.html

Möchtet ihr clamav verwenden um einen bestimmten String oder Inhalt in einer Datei zu finden, so könnt ihr das mit Inhaltsbasierten Signaturen bewerkstelligen. Diese werden als *.ndb Dateien gespeichert.

Beispiel:

Wir möchten folgende Zeichenkette in Dateien suchen: "Finde mich"

Zuerst werden wir die Zeichenkette als Hexwert mithilfe von sigtool konvertieren:

Code:

❯ echo -n 'Finde mich' | sigtool --hex-dump
46696e6465206d696368


Diesen Hexwert können wir nutzten, um eine Signatur daraus zu erstellen:

Code:

vi mysignature.ndb


Code:

Malware_name:0:*:46696e6465206d696368

Auch hier wird die Signatur, wieder in mehre Werte unterteilt, die durch ein : getrennt werden.

Wert 1 = Beliebiger Name für den Fund
Wert 2 = Eine Nummer die den Dateityp beschreibt die clamav untersuchen soll (Dateiliste, In unseren Beispiel wird jeder Dateityp untersucht)
Wert 3 = ist ein Offset bzw. ein Offset Berreich an welcher stelle in der Datei nach der Zeichenkette gesucht werden soll. (In userem Beispiel ist der * ein Wildcard der für den Kompletten Dateiinhalt steht)
Wert 4 = Unsere Zeichenkette als Hexwert

Damit ist unsere Siganture auch schon fertig.

Hinweis:

Erinnert euch daran das clamav Text Dateien vor dem scan normalisiert. Das bedeutet, wenn unsere Zeichenkette 'Finde mich' in einer Text Datei drin steckt, wird clamav diese nicht finden, da wir den Hexwert nicht für die Zeichenkette "finde mich" berechnet haben. Man achte auf das kleine f

Wir können dafür einfach die Zeile verdoppen und den Hexwert der Zeichenkette kleingeschrieben auch noch mit einfügen. Mithilfe von Logical Signaturen geht das auch noch besser bei der man unteranderen die groß und Kleinschreibung Unterscheidung abschalten kann. Dazu aber ein ander mal mehr.

Testen können wir unsere Signatur dann wieder so:

Code:

clamscan -d mysignature.ndb datei_mit_der_zeichenkette_als_inhalt


Damit könnt ihr nun Alle Unterstützen Dateiformate auf diese Zeichenkette untersuchen. Also auch zip, odt, doc etc. überall wo diese Zeichenkette gefunden wird, wird diese euch gemeldet. Selbst wenn ihr solche Dinge macht und z.b. einen Bild eure Zeichenkette anfügt, würde dies detektiert werden. 

Somit könntet ihr euch auch einem einfachen Schimpfwort filter bauen 

LG
Sebastian
 Antwort Antwort mit Zitat Über Antworten benachrichtigen

 5   allgemeine Kategorie / Allgemeine Diskussionen / Papierloses Büro mit paperless-ngx  am: 14. April 2024, 10:14:25 
Begonnen von Sebastian | Letzter Eintrag von Sebastian
Hallo Suletuxe,

Ich benutzte seit ein paar Jahren jetzt schon, Paperless als Dokumenten Management System, kurz DMS. Dass ich euch hier auch schon mal vorgestellt habe. In der Zwischenzeit hat sich bei dem Projekt viel getan. Ich möchte euch über die Entwicklung und meinen Erfahrungen von Paperless erzählen.

Zu aller erst möchte ich euch die wichtigsten Änderungen nahebringen, die sich geändert haben seid, dem ich das letzte Mal euch über Paperless berichtet habe:


  • paperless-ng wird unter dem neuen Projekt paperless-ngx fortgeführt.
  • paperless-ngx hat nun eine Benutzerverwaltung (Dokumente haben jetzt einen Besitzer und können per Berechtigungen geteilt werden)
  • Es können nun eigene Datenfelder angelegt werden, Falls einen die Standardmetadaten für einen nicht ausreichen. Z.B. könnte man ein extra Feld für eine Kundennummer anlegen, wonach dann gefiltert werden kann.
  • Workflows sind dazu gekommen, womit bestimmte Aktionen automatisiert werden können. Z.B. alle Dokumente die per E-Mail hereinkommen, bekommen einen Tag X etc.
  • Seid der letzten Version können endlich einfache PDF Operationen wie das Aufteilen, zusammenführen und das Rotieren von Dokumenten durchgeführt werden. (Man beachte, ich spreche von Dokumente, nicht von einzelnen Seiten in einem PDF)


Meine Dokumentensammlung in Paperless-ngx ist jetzt über die Jahre schon über 1000 Dokumente angewachsen. Mit Paperless Organisiere ich Quasi meinen ganzen Analogen teilweise auch Digitalen Schriftverkehr.

Alles, was per Post hereinkommt und wichtig genug ist es aufzubewahren (keine Werbung) wird mithilfe meines Duplex Dokumenten Scanner gescannt, und in Paperless abgelegt. Das ganze realisiere ich über den USB-Anschluss meines Scanners, wo dieser PDF-Dateien auf einen USB-Stick ablegt. Diese PDF-Dateien bearbeite ich dann bei Bedarf am PC noch mal nach (rotieren, zusammenführen, aufteilen etc.) bevor ich diese dann für die OCR Text, Erkennung und Archivierung in Paperless gebe.

Ich hätte zwar auch die Möglichkeit die Dokumente von meinem Scanner direkt per Netzwerk an Paperless zu übergeben. Aber da sich meine Post in Grenzen hält, läuft meine Paperless Instanz auch nicht 24/7 auf meinen Raspberry Pi. Dieser wird nur alle paar Wochen mal für diesen Einsatzzweck eingeschaltet. Und da ist das Parken auf einen USB-Stick für mich praktischer.

Paperless bietet auch Funktionen an wie das Automatische drehen von Seiten anhand der Texterkennung. Und sogar das Splitten von Dokumenten mithilfe von Barcodes an, aber diese Dinge erledige ich doch noch an liebsten per Hand. Genauso wie ich nicht mein E-Mail-Postfach von Paperless abfragen lasse, um sich selbständig Dokumente abzuholen. Diese Schmeiße ich auch lieber von Hand in Paperless hinein. Die Möglichkeit gäbe es hierfür aber.

Seid dem ich Paperless in Einsatz habe, habe ich die Papierflut hier in Deutschland besser unter Kontrolle. Dokumente lassen sich jetzt viel einfacher finden und durchsuchen. Man sucht was Bestimmtes weis aber nur noch grob worum es ging? Ein Stichwort in die Suche genügt und man findet schnell das gesuchte Dokument.

Des Weiteren habe ich sehr wichtige Dokumente mit einer Archivierungs-Nr. versehen (Die ich im Original physischer Form, noch aufbewahren muss). Dies ermöglicht es mir die Dokumente in Paperless zu suchen und anhand der Nr. diese Schnell in den physikalischen Ordnern herauszuholen.

Dieser Workflow ist in der Dokumentation von Paperless aber noch besser beschrieben:

https://docs.paperless-ngx.com/usage/#usage-recommended-workflow

Wer sich für das Projekt interessiert, bekommt auf der Seite dazu alle Informationen, die man benötigt.

https://docs.paperless-ngx.com/

Ich selbst betreibe Paperless-ngx in einem docker Conatiner um Paperless-ngx unter einem Debian System auf dem RP5 auf den neusten Stand halten zu können.

Haben welche von euch auch ein Papierloses-Büro im Einsatz? Und damit Erfahrungen gesammelt? Oder verwaltet ihr wie die meisten deutsche eure Dokumente klassisch mithilfe von Dokumenten, Ordnern bzw. Mappen?

LG
Sebastian
 Antwort Antwort mit Zitat Über Antworten benachrichtigen

 6   allgemeine Kategorie / Allgemeine Diskussionen / Re:Was muss man tun um Linux zu meistern?  am: 14. April 2024, 10:06:43 
Begonnen von Sebastian | Letzter Eintrag von Andreas
Dem kann ich nichts hinzufügen - nur etwas noch einmal deutlich zusammenfassen:

Ihr müsst euch mit eurem System aus eigenem Antrieb heraus regelmäßig beschäftigen und dabei lernen. Können und Wissen kommt nur durch dieses selbst-beschäftigen, auch mit unbekannten Dingen. Ohne diesen Einsatz wird das nichts!

LG
Andreas
 Antwort Antwort mit Zitat Über Antworten benachrichtigen

 7   allgemeine Kategorie / Allgemeine Diskussionen / Was muss man tun um Linux zu meistern?  am: 14. April 2024, 08:33:53 
Begonnen von Sebastian | Letzter Eintrag von Sebastian




Grundlagen Lernen:

  • Mit dem Dateisystem vertraut machen (wurde häufiger bei den Suletux treffen behandelt)
  • Grundlegende Shellbefehle lernen (wurde häufiger bei den Suletux treffen behandelt)
  • Sich mit wichtigen Grundprogrammen vertraut machen (z.b. systemctl, journalctl, pacman etc.)



Eine Distribution Aussuchen

Probiert verschiedene Distributionen aus, jede hat ihre vor und Nachteile, und jede ist für einen anderen Einsatzzweck vorkonfiguriert. Grundsätzlich gilt aber, das man mit etwas Fleiß und Arbeit jede Distribution dazu bringen kann, das zu tun, was man möchte. Bei der einen oder anderen Distribution ist halt nur das eine oder andere schon besser vorbereitet worden.

Übt Regelmäßig

  • Mithilfe von Toturials
  • Oder durch Lösen von Problemen
  • Persönliche Projekte etc.


Nutzt virtuelle Maschinen

Nutzt virtuelle Maschinen zum Üben. Somit könnt ihr Dinge ausprobieren ohne euer eigenes System zu beeinträchtigen.

Lernt die Befehlszeile

  • Macht euch mit den wichtigsten Shell Befehlen vertraut:
  • Für die Dateiververwaltung (wurde häufiger bei den Suletux treffen behandelt)
  • Prozessverwaltung (wurde häufiger bei den Suletux treffen behandelt)
  • System Konfiguration
  • Shell Scripting (Dies hilft ungemein zu verstehen wie eine Shell Tickt, und warum ein Befehl so geschrieben werden wie er in Anleitungen zu finden ist)


Systemverwaltung verstehen

  • Wie legt man einen neuen Benutzer an (auf der Befehlzeile)
  • Wie Funktionieren Berechtigungen?
  • Einfache Netzwerk Befhele. (Wie bekommt man z.b. seine IP Adresse in der Befehlzeile heraus?)


Interagiert mit der Community

  • Durch Diskussionen bei Treffen
  • in Foren
  • oder anderweitig


Macht bei OpenSource Projekten mit

Vielleicht könnt ihr bei einem euerer Lieblingsprojekte mithelfen durch:

  • Programmieren
  • Helfen der Dokumentation zu schreiben
  • Beim Übersetzten
  • Oder auch einfach durch melden von Fehlern
  • Spenden etc.


Bleibt Aktuell und Infomiert euch

Informiert euch über neue Entwicklungen z.B. über:

  • Blogs
  • Videoportale wie youtube
  • Bei Konferrenzen oder treffen
  • Mailing Lists etc.


Setzt euch realistische Ziele

z.B. selbst ein Linux in einer virtuellen Maschine zu installieren. Und später dann auf der richtigen Hardware.

Aber am wichtigsten ist es bleibt am Ball und setzt Linux regelmäßig ein.
Sonst entsteht nur Frust, wenn es dann mal so weit ist, man etwas Dringendes tun muss, und es dann nicht umsetzten kann, weil einem die Grundlagen fehlen.

Bei vielen dieser Dinge unterstützt euch schon Regelmäßig Andreas auf den Suletux treffen. Dafür auch von mir ein herzliches Dankeschön an den Elan und die Hartnäckigkeit, die Andreas bei den Treffen immer wieder anführt, um uns Linux und die OpenSource Gemeinschaft näherzubringen.

LG
Sebastian
 Antwort Antwort mit Zitat Über Antworten benachrichtigen

 8   allgemeine Kategorie / Installation & Einrichtung / darcut wird unter dracut-ng weitergeführt  am: 13. April 2024, 17:28:09 
Begonnen von Sebastian | Letzter Eintrag von Sebastian
Hallo Suletuxe,

Eine kurze Information für alle, die dracut als Initramfs Generator verwenden.
Dracut ist schon etwas länger der Standard initramfs Generator für ein EOS

Dracut wird jetzt unter einem neuen Projektnamen dracut-ng weiterentwickelt.

Dies hat Arch Linux in dem Paket extra/dracut auch schon übernommen, so das wir durch das Paket nun die aktuellen Versionen aus dem fork dracut-ng bekommen.

Seid der Version 100 sind auch endlich Anpassungen für systemd 255 vorgenommen worden, wodurch auch der Ruhezustand wieder Out of the box ohne manuellen eingriff wieder funktioniert.

Mit anderen Worten ihr könnt die Zeile:

Code:

install_items+=" /usr/lib/systemd/system/systemd-hibernate-resume.service "

Aus euren drop-in Config Files unter '/etc/dracut.conf.d/' wieder entfernen.

Dies wird von Dracut nun wieder automatisch hinzugefügt, wenn das resume Modul ins innitramfs geladen wird.

LG

Sebastian
 Antwort Antwort mit Zitat Über Antworten benachrichtigen

 9   allgemeine Kategorie / Installation & Einrichtung / Re:Das xz Paket hat eine Hintertür  am: 05. April 2024, 15:03:58 
Begonnen von Sebastian | Letzter Eintrag von Andreas
Wie gut dass Arch-Pakete in der Regel extrem schnell gefixt werden....

Der Fehler wurde nach dem BSI am 29.03. gemeldet - und am 29.03. gab es bei Arch bereits eine fehlerbereinigte Version:
https://gitlab.archlinux.org/archlinux/packaging/packages/xz/-/commits/main

LG
Andreas
 Antwort Antwort mit Zitat Über Antworten benachrichtigen

 10   allgemeine Kategorie / Installation & Einrichtung / BSI Publikation - Kritische Backdoor in XZ für Linux  am: 05. April 2024, 14:41:31 
Begonnen von Sebastian | Letzter Eintrag von Sebastian
https://www.bsi.bund.de/SharedDocs/Cybersicherheitswarnungen/DE/2024/2024-223608-1032.html

In dem Paper steht eigentlich alles Wichtige über die Backdoor drin.

LG
Sebastian
 Antwort Antwort mit Zitat Über Antworten benachrichtigen

Zurück zur Foren-Übersicht.


Login mit Username, Passwort und Session Länge

 Es wird die Verwendung "Blink"-basierter Browser und mindestens 1024x768 Pixel Bildschirmauflösung
für die beste Darstellung empfohlen
 
freie Software für freie Menschen!
Powered by MySQL Powered by PHP Diskussions- und Newsboard der Linux Interessen Gruppe Suletuxe | Powered by YaBB SE
© 2001-2004, YaBB SE Dev Team. All Rights Reserved.
- modified by Andreas Richter (DF8OE)
Valid XHTML 1.0! Valid CSS!