Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
SYNwall — Linux-Kernelmodul, das eine konfigurationsfreie, OTP-basierte Firewall für IoT-Geräte implementiert. Authentifiziert Netzwerkverkehr transparent mit einem vorher geteilten Schlüssel und verwirft unbefugte Pakete auf Protokollebene. | Kitploit
Tools/GitHubGitHub/synwall/synwall
Embedded-System-SicherheitIoT-SicherheitNetzwerksicherheitAuthentifizierung
GitHubsynwall/synwall

SYNwall

Linux-Kernelmodul, das eine konfigurationsfreie, OTP-basierte Firewall für IoT-Geräte implementiert. Authentifiziert Netzwerkverkehr transparent mit einem vorher geteilten Schlüssel und verwirft unbefugte Pakete auf Protokollebene.

Repository anzeigen
2622422vor 4 MonatenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

SYNwall

Zero-Config (IoT) Firewall.

SYNwall ist ein Projekt, das (vorerst) als Linux-Kernel-Modul entwickelt wurde, um eine transparente und konfigurations- und wartungsfreie Firewall zu implementieren.

Vielleicht möchten Sie sich den Anwendungsfall für ein Beispiel zur Nutzung ansehen.

Grundlagen

Normalerweise sind IoT-Geräte außerhalb einer zentralen Kontrolle, mit leistungsschwacher Hardware, schwierigen Umgebungsbedingungen und... wir haben keine Zeit, um der Sicherheit zu widmen. Vielleicht können wir unsere IoT-Infrastruktur nicht patchen und es wird sehr schwierig sein, eine „firewall-ähnliche“ Zugriffskontrolle aufrechtzuerhalten.

Die Idee ist, einen dezentralen Einweg-Einmalpasswort-Code zu erstellen, um den NETZWERKzugriff auf das Gerät zu ermöglichen. Der gesamte Datenverkehr, der das OTP nicht enthält, wird verworfen. Es sind keine Vorkenntnisse darüber erforderlich, wer Zugriff benötigt, wir benötigen nur einen vorab geteilten Schlüssel (Pre-Shared Key) zum Bereitstellen. Der Schutz wird für die Anwendungsebene völlig transparent sein, da er auf der Netzwerkprotokollebene (TCP und UDP) implementiert ist.

Installation

Dieses Repository enthält das Linux-Kernel-Modul. Es wurde mit den Versionen 3.x, 4.x und 5.x auf den Architekturen X86_64, ARM, MIPS und AARCH64 getestet.

Es erfordert die aktuellen Kernel-Header für die Kompilierung, die normalerweise mit dem entsprechenden Paketmanager installiert werden können. Zum Beispiel auf Debian-ähnlichen Distributionen:

sudo apt-get install linux-headers-$(uname -r)

Dann sollte es ausreichen, die Kompilierung durchzuführen:

make

Konfiguration

Das Modul kann auf die übliche Weise mit insmod oder modprobe geladen werden.

Es hat mehrere Parameter, mit denen Sie das Verhalten anpassen können:

  • Vorab geteilter Schlüssel (Pre-Shared Key) für das Einmalpasswort

    psk:

    Der PSK muss eine Byte-Sequenz von 32 bis 1024 sein. Er wird Teil des OTP sein, daher beeinflusst seine Länge die Größe des in das Paket eingefügten OTP. Ohne diesen Parameter wird das Modul nicht geladen.

  • UDP aktivieren

    enable_udp: 0

    Aktivieren/Deaktivieren des OTP für das UDP-Protokoll. Standardmäßig ist es deaktiviert. Setzen Sie es auf 1, um es zu aktivieren. Das OTP über UDP erfordert, dass das Modul auf beiden kommunizierenden Geräten aktiv ist, da das OTP (vom Modul) entfernt werden muss, bevor das Paket an die Anwendungsebene weitergeleitet wird. Wenn dies nicht der Fall ist, können Sie seltsame Verhaltensweisen erleben. Die UDP-Verbindungsverfolgung basiert auf dem conntrack-Modul, daher müssen Sie es möglicherweise einfügen, um diese Funktionalität zu nutzen (dies hängt von der Installation ab). Ein Fehler wird im Kernellog angezeigt, wenn dies der Fall ist.

    HINWEIS: Standardmäßig sind die Ports 53 (DNS) und 123 (NTP) für ausgehende Verbindungen auf die schwarze Liste gesetzt, sodass das OTP nicht hinzugefügt wird. Wenn Sie dies ändern müssen, suchen Sie nach dem Array udp_blacklist[]. Ich werde in Zukunft einen Parameter dafür hinzufügen.

  • Zeitgenauigkeitsparameter

    precision: 10

    Das OTP wird auch mit der aktuellen Gerätezeit berechnet. Da das Datum auf den beteiligten Geräten unterschiedlich sein kann, können Sie die Zeit auf einen bestimmten Wert 'runden', um Zeitabweichungen zu ermöglichen. Standard ist 10.

    Die Genauigkeit wird in Zweierpotenzen angegeben (Sie mögen sich fragen, warum... es war eine Entscheidung zur Leistungssteigerung und zur geringen Auswirkung auf Geräte mit niedriger Leistung):

         ...
         9   ->   1 Sekunde
         10  ->   8 Sekunden
         ...
    

    Eine Genauigkeit unter 8 wird wahrscheinlich nicht funktionieren.

    Wenn Sie den Genauigkeitswert auf 11 oder mehr erhöhen, sollten Sie auch den Wert MAX_TRASH in SYNgate_netfilter.c erhöhen.

  • Deaktivieren des OTP für ausgehende Pakete

    disable_out: 0

    Sie können das OTP in ausgehenden Paketen deaktivieren, indem Sie dies auf 1 setzen. In diesem Fall wird das Modul die Pakete ohne OTP einfach verwerfen, aber es wird nicht am Kommunikationsnetz mit anderen SYNwall-Geräten teilnehmen. Dies kann nützlich sein, falls es Probleme mit den ausgehenden Paketen auf Uplink-Geräten gibt.

  • DoS-Schutz aktivieren

    enable_antidos: 0

    Diese Option kann aktiviert werden, indem Sie sie auf 1 setzen. Wenn gesetzt, begrenzt dies die OTP-Berechnung auf dem Gerät auf eine bestimmte Anzahl (Variable allow_otp_ms, standardmäßig auf 1000 gesetzt). In diesem Fall ist nur eine OTP-Berechnung pro Sekunde erlaubt, was die CPU-Zeit des Geräts im Falle eines DoS-Angriffs schont.

  • IP-Spoofing-Schutz aktivieren

    enable_antispoof: 0

    Standardmäßig ist die IP nicht Teil des OTP. Dies könnte zu einem Replay-Angriff führen. Sie können den Antispoof-Schutz aktivieren, um vollständig sicher zu sein. Dies kann die Kommunikation unterbrechen, wenn sich zwischen den Geräten NATs befinden.

  • Verzögerung beim Starten der Modulfunktionen (ms)

    load_delay: 10000

    Sie können entscheiden, eine Weile zu warten, bevor Sie den Schutz nach dem Laden des Moduls aktivieren. Dies könnte nützlich sein, um bei Problemen und nach einem Neustart Zugriff auf das Gerät zu erhalten. Der Standardwert beträgt 10 Sekunden.

  • Liste der Ports für Port-Knocking-Failsafe

    portk: 0,0,0,0,0

    Wenn die Geräteuhr verrückt spielt, kann es schwierig sein, Zugriff zu erhalten. Ein Weg könnte die zuvor besprochene 'Verzögerung' sein, aber Sie können auch eine 'Port-Knocking'-Sequenz festlegen, die das Modul für eine Weile deaktivieren kann. Die Liste muss, falls definiert, aus 5 TCP-Ports bestehen. Wenn das Modul innerhalb einer Sekunde ein SYN-Paket auf diesen Ports erkennt, deaktiviert es sich selbst für die gleiche Zeit, die als 'load_delay' festgelegt ist. HINWEIS: Wenn Sie die Sequenz aktiv nutzen, denken Sie daran, sie zu ändern, da sie leicht ausgespäht werden kann!

Anwendungsbeispiel

WARNUNG: Dies wird den gesamten Datenverkehr zu Ihrem Gerät verwerfen, also stellen Sie sicher, dass Sie wissen, wie Sie mit einem anderen SYNwall-Gerät darauf zugreifen oder es remote deaktivieren können (Port-Knocking).

sudo insmod SYNwall.ko psk=123456789012345678901234567890123 precision=10 portk=12,13,14,15,16 load_delay=5000 enable_udp=1

Projektstruktur

SYNwall Repository:

  • SYNwall_netfilter (.c und .h): Netfilter-Hauptpaket mit Hooks und grundlegenden Prozessfunktionen
    • SYNauth (.c und .h): Authentifizierungsfunktionen, zur Verwaltung von Hashes und Krypto-Zeug
    • SYNquark (.c und .h): Quark-Hashing-Implementierung, direkt basierend auf der Arbeit von Jean-Philippe Aumasson (@veorq) unter https://github.com/veorq/Quark
  • SYNgate_netfilter (.c und .h): Netfilter-Paket für das SOCKS-Server-Modul. Es implementiert nur die Markierung ausgehender Pakete und ist in der Lage, mehrere PSKs und Netzwerke zu verwalten

SYNwall_distrib Repository:

  • Ansible-Skripte zur automatischen Verteilung. Siehe README.md dort

SYNwall_ATAES132 Repository:

  • PoC für die sichere EEPROM-Nutzung (PSK-Speicherung). Siehe README.md dort

SYNwall_docs Repository:

  • Einige Dokumente, Videos, DEMOs

Leistung

Alles wurde für den Einsatz auf Geräten mit geringer Leistung und sehr geringen Ressourcen implementiert. Die Wahl des Quark-Hashings für den Krypto-Hash wurde aus diesem Grund getroffen. Der durch die OTP-Berechnung hinzugefügte Overhead ist im normalen Gebrauch nahezu unsichtbar:

low

während Sie eine deutliche CPU-Ersparnis sehen können, wenn viel Datenverkehr an das Gerät gesendet wird:

Tool herunterladen