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
FFM — Freedom Fighting Mode: Open-Source-Hacking-Werkzeugsammlung | Kitploit
Tools/GitHubGitHub/justicerage/ffm
Privilege EscalationLaterale BewegungDatenexfiltrationInformationsbeschaffungPost-ExploitationPenetrationstestsCommand and ControlDienstprogramme & FrameworksRed Teaming
GitHubjusticerage/ffm

FFM

Freedom Fighting Mode: Open-Source-Hacking-Werkzeugsammlung

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

Freedom Fighting Mode (FFM)

FFM ist ein Hacking-Harness, den Sie während der Post-Exploitation-Phase eines Red-Teaming-Einsatzes verwenden können. Die Idee des Tools stammt von einer Konferenz von 2007 von @thegrugq.

Es wurde auf der SSTIC 2018 präsentiert (Video) und der dazugehörige Foliensatz ist unter dieser URL verfügbar. Wenn Sie mit dieser Art von Werkzeugen nicht vertraut sind, wird dringend empfohlen, sie sich anzusehen, um den Zweck eines Hacking-Harness zu verstehen. Alle Kommentare sind in den Folien enthalten.

Dieses Projekt wird unter den Bedingungen der GPL v3 Lizenz vertrieben.

Dokumentation

Die primäre Dokumentation befindet sich in dieser README und den Befehlsmodulen unter commands/. Die oben genannten SSTIC-Vortragslinks bleiben der beste übergeordnete Hintergrund zur Verwendung des Harness. Zusätzliches Walkthrough-Material ist verfügbar unter:

  • https://ice-wzl.gitbook.io/hacknetics/c2-frameworks/ffm-documentation

Mitwirkende

  • ice-wzl hat im Laufe der Projektgeschichte Befehle, Dokumentation und Refactorings beigetragen.

Installation

Docker-Installation

  • Aufgrund der Vielfalt moderner Terminal-Prompts empfehlen wir dringend, docker mit diesem Tool zu verwenden.
  • Die Verwendung des Dockerfile in diesem Repository wird potenzielle Fehler drastisch reduzieren.
  • Die Verwendung eines Containers zur Interaktion mit entfernten Hosts ist ebenfalls sicherer. Falls Sie während der Interaktion mit einem entfernten Host ausgenutzt werden, befänden sie sich in Ihrem Container und nicht auf Ihrem tatsächlichen Host. Hoffen wir trotzdem, dass das nicht passiert.
  • Stellen Sie sicher, dass Docker auf Ihrem lokalen System installiert ist
git clone https://github.com/JusticeRage/FFM.git
cd /FFM

docker build Docker_Install/ -t ffm:ffm

docker image list 
REPOSITORY                TAG         IMAGE ID      CREATED        SIZE
localhost/ffm             ffm         fb6dd17e3b91  9 minutes ago  614 MB
docker.io/library/ubuntu  22.04       3b418d7b466a  2 weeks ago    80.3 MB

#run your new container and drop into a /bin/bash prompt as root
docker run -it --entrypoint /bin/bash -u 0 fb6dd17e3b91
  • Setzen Sie in Ihrem Container das passwd für root und neo
  • su neo und schon sind Sie bereit

Nicht-Docker-Installation

  • Nicht empfohlen
 git clone https://github.com/JusticeRage/FFM.git
 cd /FFM
 pip install -r requirements.txt

Verwendung

Das Ziel eines Hacking-Harness ist es, als Helfer zu fungieren, der häufige Aufgaben während der Post-Exploitation-Phase automatisiert, aber auch den Benutzer vor Fehlern schützt, die er machen könnte.

Es ist eine Instrumentierung der Shell. Führen Sie ./ffm.py aus, um es zu aktivieren, und Sie können sofort mit der Arbeit beginnen. Die Befehle sind auf die kleinen Module unter commands/ verteilt, wobei commands/command_manager.py die Erkennung und Registrierung übernimmt. Die Hauptgruppen sind Enumeration, Hilfe, Stealth, Transfer und Ausführung.

Es gibt zwei Befehle, die Sie kennen müssen:

  • Tippen Sie !list ein, um alle vom Harness bereitgestellten Befehle anzuzeigen.
  • Tippen Sie !list tags ein, um die verschiedenen Tags zu sehen, unter denen Befehle kategorisiert werden können.
!list tags
List of commands available:
	 enumeration
	 execution
	 help
	 stealth
	 transfer
  • Sie können nun !list enumeration (oder eines der anderen Tags) eingeben, um Befehle zu sehen, die in diese Kategorie fallen.
!list enumeration
List of commands available:
	!backup-hunter: Hunts for backup files
	!info: Returns CPU(s), Architecture, Memory, and Kernel Verison for the current machine.
	!log: Toggles logging the harness' input and output to a file.
	!mtime: Returns files modified in the last X minutes
	!os: Prints the distribution of the current machine.
	!db-hunter: Hunts for .sqlite, .sqlite3, and .db files
	!sshkeys: Hunts for Private and Public SSH keys on the current machine.
	!suid: Finds SUID, SGID binaries on the current machine.
	--snip--

  • Drücken Sie SHIFT+TAB, um die Tab-Vervollständigung auf dem lokalen Rechner durchzuführen. Dies kann nützlich sein, wenn Sie per SSH auf einem entfernten Computer angemeldet sind, aber auf eine Datei auf Ihrem eigenen Rechner verweisen müssen.

Liste der Funktionen

Dieser Hacking-Harness bietet einige Funktionen, die unten beschrieben werden. Dabei wird auch die Designphilosophie hinter dem Tool vorgestellt. Es wird nicht erwartet, dass alle in FFM implementierten Befehle für Sie geeignet sind. Jeder hat seine eigene Arbeitsweise, und die Anpassung des Harness an Ihre spezifischen Bedürfnisse erfordert wahrscheinlich, dass Sie etwas Code ändern und/oder ein paar Plugins schreiben. Es wurde viel Mühe darauf verwendet, dass dies eine schmerzlose Aufgabe ist.

Befehle

Enumeration-Befehle

  • !os ist ein extrem einfacher Befehl, der lediglich cat /etc/*release* ausführt, um das Betriebssystem des aktuellen Rechners anzuzeigen. Er ist wahrscheinlich am wertvollsten als Demonstration, dass man im Kontext eines Hacking-Harness Aliase definieren kann, die maschinenübergreifend funktionieren. SSHen Sie sich auf einen beliebigen Computer, geben Sie !os ein und der Befehl wird ausgeführt. Die Enumeration-Befehle befinden sich in commands/enumeration_commands.py, die Hilfe-Befehle in commands/help_commands.py und die Stealth-Befehle sind auf commands/stealth_commands.py, commands/notty_sudo.py und commands/log_control.py verteilt.
  • !backup-hunter Sucht nach Sicherungsdateien
  • !info Gibt CPU(s), Architektur, Arbeitsspeicher und Kernelversion des aktuellen Rechners zurück.
  • !log Schaltet die Protokollierung der Harness-Ein- und Ausgabe in eine Datei um. Implementiert in commands/log_control.py.
  • !mtime Gibt Dateien zurück, die in den letzten X Minuten geändert wurden. Beispiel: !mtime 5 zeigt alle Dateien auf dem lokalen Rechner (die Sie sehen dürfen), die in den letzten 5 Minuten geändert wurden.
  • !db-hunter Sucht nach .sqlite-, .sqlite3- und .db-Dateien sowie anderen Datenbankdateien
  • !sshkeys Sucht nach privaten und öffentlichen SSH-Schlüsseln auf dem aktuellen Rechner.
  • !suid Findet SUID-, SGID-Binärdateien auf dem aktuellen Rechner.
  • !strange-dirs Überprüft das Gerät ab einem benutzerdefinierten Pfad auf seltsame Verzeichnisse auf einem Host
  • !sudo-version Prüft auf eine anfällige sudo-Version
  • !vm Überprüft, ob das Gerät eine virtuelle Maschine ist

Transfer-Befehle

  • Befehle, die Ihnen helfen, Dateien zu holen und zu schieben, ziemlich einfach.
  • !download [entfernte Datei] [lokaler Pfad] holt eine Datei vom entfernten Rechner und kopiert sie lokal über das Terminal. Dieser Befehl ist etwas komplexer, da eine strengere Fehlerprüfung erforderlich ist, aber es ist ein weiterer Befehl, den Sie leicht lesen können, um loszulegen. Er befindet sich in commands/download_file.py. Beachten Sie, dass er xxd oder od auf dem entfernten Rechner benötigt, um ordnungsgemäß zu funktionieren.
  • !download-dir [entferntes Verzeichnis] [lokales Ziel] streamt ein tar-Archiv eines entfernten Verzeichnisses über das Terminal und extrahiert es lokal, ohne das entfernte Dateisystem zu berühren. Es befindet sich in commands/download_directory.py. Es benötigt tar und base64 auf dem entfernten Rechner und verwendet zusätzlich gzip, wenn verfügbar.
  • !upload [lokale Datei] [entfernter Pfad] funktioniert genauso wie der vorherige Befehl, nur dass eine lokale Datei auf den entfernten Rechner gelegt wird. Er befindet sich in commands/upload_file.py.

Ausführungs-Befehle

Tool herunterladen