Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
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
brutus — erweiterbares Exploitation-Framework, das auf einer modularen Multi-Tasking-Architektur basiert | Kitploit
Tools/GitHubGitHub/exbotanical/brutus
Paket-Sniffing & AnalyseAufklärungExploit-FrameworksPort-ScanningWebsicherheitNetzwerksicherheitPenetrationstestsLernen & BildungPayload-Entwicklung
GitHubexbotanical/brutus

brutus

erweiterbares Exploitation-Framework, das auf einer modularen Multi-Tasking-Architektur basiert

8215vor 5 JahrenVon 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
Repository anzeigen

Das Brutus Exploitation Framework

Ein pädagogisches Exploitation-Framework, das auf einer modularen, hochgradig erweiterbaren Multi-Tasking- und Multi-Processing-Architektur basiert.

Inhaltsverzeichnis

  • Einführung
  • Demos
  • Installation
  • Verwendung
  • Funktionen
  • Dokumentation
    • MAC-Adressen-Verwaltung
    • ARP-Netzwerkscanner
    • ARP-Spoofing
    • Multi-Tasking-Paket-Sniffer
    • Multi-Tasking-Portscanner
    • Event-basierter Webcrawler
    • Subdomain-Scanner

Brutus: eine Einführung

Auf der Suche nach Version 1? Siehe die Branches in diesem Repository.

Brutus ist ein pädagogisches Exploitation-Framework, geschrieben in Python. Es automatisiert Netzwerk-basierte Exploits vor und nach der Verbindung sowie webbasierte Aufklärung. Als leichtgewichtiges Framework zielt Brutus darauf ab, die Abhängigkeit von Drittanbieter-Bibliotheken zu minimieren. Optimiert für Kali Linux, ist Brutus auch mit macOS und den meisten Linux-Distributionen kompatibel und bietet eine vollständig interaktive Kommandozeilen-Oberfläche sowie ein vielseitiges Plugin-System.

Brutus zeichnet sich durch eine hochgradig erweiterbare, modulare Architektur aus. Die enthaltenen Exploits (Plugin-Layer) bestehen aus mehreren entkoppelten Modulen, die auf einem „Tasking-Layer" laufen, der aus Thread-Pools und threadsicheren, asynchronen Warteschlangen besteht (je nachdem, was für das jeweilige Modul am besten geeignet ist). Der Hauptthread läuft auf einem Multi-Processing-Pool, der den App-Kontext verwaltet und neue Prozesse startet, sodass Aufgaben im Hintergrund, in separaten Shells usw. ausgeführt werden können.

Die UI-Ebene ist ebenfalls entkoppelt und erweiterbar. Standardmäßig wird Brutus mit einer menübasierten Kommandozeilen-Oberfläche ausgeliefert, aber es spricht nichts dagegen, Adapter für eine GUI, einen Argument-Parser oder sogar eine HTTP-API oder einen Remote Procedure Call hinzuzufügen.

Schließlich verfügt Brutus über eine Dienstprogramm-Ebene mit gängigen Fähigkeiten für Dateisystemoperationen, Shell-Verwaltung (Terminal-Emulator), Persistenzmethoden und Systemmetadaten.

Wenn Sie einfach nur an etwas Python-Hacking interessiert sind, können Sie die Skripte gerne direkt herauspicken – jedes Modul kann eigenständig aufgerufen werden.

Demos

Web-Scanning- und Payload-Kompilierungs-Demo: mp4 ansehen demo

Installation

Sie werden wahrscheinlich die folgenden Abhängigkeiten benötigen:

  • sslstrip
  • pipenv

Brutus ist für Kali Linux optimiert. Im Internet gibt es viele Informationen darüber, wie man Kali Linux in einer VM ausführt.

So installieren Sie es:

root@kitploit:~
pipenv install

Verwendung

Ausführen:

root@kitploit:~
pipenv run brutus

Testen:

root@kitploit:~
pipenv run test

Linten:

root@kitploit:~
pipenv run lint

Git-Hooks für die Entwicklung einrichten:

root@kitploit:~
pipenv run setup

Sie können gerne Pull-Requests mit Funktionsvorschlägen, Fehlerbehebungen usw. eröffnen. Beachten Sie, dass ein Großteil dieses Projekts noch in Arbeit ist. Die Basis ist vorhanden und bereit, damit Sie darauf aufbauen können.

Brutus: Funktionen und enthaltene Module

Brutus enthält mehrere Module, die sich in drei Makro-Kategorien einteilen lassen: netzwerkbasiert, webbasiert und Payloads. Die letztgenannte Kategorie ist eine Bibliothek von Compilern und zugehörigen Payloads – Payloads können über das interaktive Kommandozeilenmenü von Brutus kompiliert werden; kompilierte Payloads können anschließend in viele der anwendbaren netzwerkbasierten Module von Brutus geladen werden.

Die Basisebene von Brutus verwendet POSIX-Threads für gleichzeitiges Multi-Tasking. Einige Module – d.h. im Wesentlichen alles, was stark I/O-gebunden ist – verwenden stattdessen Pythons asynchrone I/O-Bibliotheken und laufen auf einer Abstraktion oberhalb der Standard-Ereignisschleife von Python.

Enthaltene Dienstprogramme/Skripte

  • IP-Tabellen-Verwaltung
  • Downgrade von HTTPS auf HTTP
  • Monitor-Modus aktivieren
  • Portweiterleitung aktivieren
  • Keylogger

Dokumentation

48-Bit-MAC-Adressen-Änderer (Quelle anzeigen)

HINWEIS: Dieses Tool ist für 48-Bit-MACs mit einem Standard-Byte-Format von %02x.

MAC (Media Access Control) ist eine permanente, physische und eindeutige Adresse, die Netzwerkschnittstellen von Geräteherstellern zugewiesen wird. Das bedeutet, dass selbst Ihre WLAN-Karte beispielsweise ihre eigene eindeutige MAC-Adresse hat.

Die MAC-Adresse, vergleichbar mit einer IP im Internet, wird innerhalb eines Netzwerks verwendet, um die korrekte Zustellung von Ressourcen und Daten (d.h. Paketen) zu ermöglichen. Eine Interaktion besteht im Allgemeinen aus einer Quell-MAC und einer Ziel-MAC. MAC-Adressen können Sie identifizieren, gefiltert oder anderweitig zugriffsbeschränkt werden.

Wichtig zu beachten ist, dass diese eindeutigen Adressen nicht flüchtig sind; sie sind persistent und bleiben einem Gerät zugeordnet, sollte ein Benutzer es in einem anderen Computer installieren. Aber die beiden müssen nicht untrennbar miteinander verbunden sein...

Dieses Modul akzeptiert als Benutzereingabe ein beliebiges drahtloses Gerät und eine beliebige gültige MAC-Adresse, der der Benutzer das Gerät neu zuweisen möchte. Das Programm ist einfach, sodass ich es nicht weiter erklären muss: Es verwendet das Subprocess-Modul, um die Abfolge der notwendigen Shell-Befehle zu automatisieren, um die drahtlose Schnittstelle herunterzufahren, die MAC neu zuzuweisen und sie neu zu initialisieren.

Wenn Sie Ihre MAC-Adresse aktiv ändern, ist es möglicherweise ratsam, eine Art Validierungsstruktur oder eine Methode höherer Ordnung zu haben, um sicherzustellen, dass 1) das drahtlose Gerät existiert, 2) das drahtlose Gerät eine MAC-Adresse unterstützt, 3) die vom Benutzer eingegebene MAC-Adresse ein gültiges Format hat und 4) die MAC-Adresse des drahtlosen Geräts erfolgreich aktualisiert wurde. Dieses Tool automatisiert diese Funktionen.

Durch die Auswahl der Option „generate" anstelle einer bestimmten MAC-Adresse generiert das Programm eine gültige MAC-Adresse gemäß den IEEE-Spezifikationen. Ich bin begeistert, dass ich eine erweiterte Funktionalität implementiert habe, um nicht nur vollständig zufällige (und gültige) MAC-Adressen zu generieren, sondern auch MAC-Adressen, die entweder mit einem bestimmten Hersteller-Präfix (OUI) beginnen oder mit Multicast- und/oder UAA-Optionen generiert werden. Diese Optionen lösen Bytecode-Logik in der Generierungsmethode aus, die gemäß den IEEE-Spezifikationen erweitert wird. Erfahren Sie mehr über MAC-Adressen hier.

ARP-basierter Netzwerkscanner (Quelle anzeigen)

Der Netzwerkscanner ist ein weiteres sehr nützliches Werkzeug und ein beeindruckendes, wenn es in Verbindung mit dem zuvor erwähnten MAC-Änderer verwendet wird. Dieser Scanner nutzt die ARP-Anforderungsfunktionalität, indem er als Benutzereingabe eine gültige IPv4- oder IPv6-IP-Adresse und eine dazugehörige – wenn auch optionale – Subnetzbereichsangabe akzeptiert.

Das Programm nimmt dann die angegebene IP und/oder den Bereich und validiert sie gemäß den IEEE-Spezifikationen (auch hier wird die Validierung gegen IPv4- und IPv6-Standards durchgeführt). Schließlich wird ein Broadcast-Objekt mit der angegebenen IP und einem generierten Ethernet-Frame instanziiert; dieses Objekt gibt uns eine Liste aller verbundenen Geräte im angegebenen Netzwerk und dem dazugehörigen Bereich zurück und ordnet deren IPs den jeweiligen MAC-Adressen zu.

Das Programm gibt eine Tabelle mit diesen Zuordnungen aus, die dann als Eingabe für den MAC-Änderer verwendet werden könnte, falls die Umstände es erfordern.

Automatisiertes ARP-Spoofing (Quelle anzeigen)

Das ARP-Spoof-Modul ermöglicht es uns, den Paketfluss in einem bestimmten Netzwerk umzuleiten, indem wir gleichzeitig die ARP-Tabellen eines bestimmten Zielclients und seines Netzwerk-Gateways manipulieren. Dieses Modul aktiviert während dieses Vorgangs automatisch die Portweiterleitung und konstruiert und sendet dynamisch ARP-Pakete.

Wenn das Modul vom Benutzer beendet wird, werden die ARP-Tabellen der Ziele zurückgesetzt, um den Controller nicht in einer prekären Situation zurückzulassen (außerdem ist es die nette Sache, dies zu tun).

Da dieser Prozess den Controller in die Mitte des Paketflusses zwischen Client und AP stellt, hat der Controller daher Zugriff auf den gesamten Datenfluss (der Umgang mit der möglichen Verschlüsselung dieser Daten ist Aufgabe eines anderen Skripts). Von hier aus werden die unzähligen Möglichkeiten zur Orchestrierung des Paketflusses offensichtlich: Ersetzung von Code durch Automatisierung und reguläre Ausdrücke, erzwungene Weiterleitungen, Fernzugriff usw. Glücklicherweise kann Brutus auch dies automatisieren.

HTTP-Paket-Sniffer (Quelle anzeigen)

Der Paket-Sniffer ist ein hervorragendes Modul, das nach dem Ausführen des ARP-Spoofers eingesetzt werden kann; es erstellt einen Datenstrom aller abgefangenen HTTP-Paketdaten, der entweder URLs oder mögliche Benutzeranmeldeinformationen enthält.

Das Skript ist erweiterbar und kann eine Vielzahl von Protokollen aufnehmen, indem das Listener-Objekt mit einem von vielen verfügbaren Filtern instanziiert wird. Beachten Sie, dass Brutus automatisch HTTPS herabstuft, sodass der Datenstrom – sofern HSTS nicht involviert ist – für die Aufklärung nutzbar sein sollte.

Haftungsausschluss: Diese Software und alle darin enthaltenen Inhalte wurden ausschließlich für Forschungszwecke erstellt. Ich befürworte weder die Handlungen derjenigen, die diese Software in böswilliger oder anderweitig illegaler Weise verwenden könnten, noch übernehme ich in irgendeiner Form Verantwortung für solche Handlungen.

Tool herunterladen