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
File-Injector — File Injector ist ein Skript, mit dem Sie jede beliebige Datei mithilfe von Steganographie in einem Bild speichern können. | Kitploit
Tools/GitHubGitHub/carlospuenteg/file-injector
Verschlüsselungs-/EntschlüsselungstoolsDatenexfiltrationSteganografieKryptographie
GitHubcarlospuenteg/file-injector

File-Injector

File Injector ist ein Skript, mit dem Sie jede beliebige Datei mithilfe von Steganographie in einem Bild speichern können.

Repository anzeigen
44329vor 3 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

File Injector

Falls Sie eine frühere Version (1.0.2 oder niedriger) verwenden möchten, bei der Sie das Originalbild zum Extrahieren der Datei benötigen, können Sie es hier herunterladen.

Inhaltsverzeichnis

  • 1. Beschreibung
  • 2. Erste Schritte
    • Voraussetzungen installieren
    • Skript ausführen
    • Eingabe auswählen
      • Ein Basisbild/-audio auswählen
      • Eine Eingabedatei auswählen
      • Einen Verschlüsselungsschlüssel auswählen/generieren
  • 3. Ergebnisse
  • 4. Anwendungsbeispiele
    • Injektion
    • Extraktion
  • 5. Konfiguration
  • 6. Was es tut
  • 7. So funktioniert es
    • Optionen
    • inject_file_func
    • extract_file_func
    • get_fernet
    • decrypt_content
    • inject_file
    • extract_file

1. Beschreibung

File Injector ist ein Skript, mit dem Sie jede Datei (.zip, .png, .txt, .gba...) und ihren Dateinamen in einem Bild/Audio als Rauschen speichern können, mittels Steganographie.

Sie können auch wählen, die Eingabedatei vor dem Speichern zu verschlüsseln.

Um die Datei aus dem modifizierten Bild/Audio zu extrahieren, benötigen Sie NICHT das Originalbild/-audio, sondern nur den Verschlüsselungsschlüssel, falls die Datei verschlüsselt wurde.

2. Erste Schritte

Voraussetzungen installieren

root@kitploit:~
python3 -m pip install -r requirements.txt

Falls das nicht funktioniert, versuchen Sie:

root@kitploit:~
py -m pip install -r requirements.txt

Skript ausführen

root@kitploit:~
python3 main.py

Eingabe auswählen

Ein Basisbild/-audio auswählen

Wählen Sie ein Basisbild/-audio zum Speichern der Datei aus dem Ordner files/base aus.

Sie können auch Ihre eigenen Bilder/Audios in diesen Ordner hinzufügen.

  • Die Bilder können .png oder (.jpg/.jpeg) sein, werden jedoch beim Ausführen des Skripts in .png konvertiert.
  • Die Audios müssen .mp3 oder .wav sein, werden jedoch beim Ausführen des Skripts in .mp3 konvertiert.

Eine Eingabedatei auswählen

Wählen Sie eine Datei, die im Bild/Audio gespeichert werden soll, aus dem Ordner files/input aus.

Sie können Ihre eigenen Dateien in diesen Ordner hinzufügen. Es können beliebige Dateitypen sein.

Ein modifiziertes Bild/Audio auswählen

Wählen Sie ein modifiziertes Bild/Audio zum Extrahieren der Datei aus dem Ordner files/modified aus.

Sie können auch Ihre eigenen modifizierten Bilder/Audios in diesen Ordner hinzufügen.

Einen Verschlüsselungsschlüssel auswählen/generieren

Sie können einen Schlüssel aus dem Ordner files/$encryption-keys auswählen oder dort einen generieren.

Die Schlüsseldatei muss die Erweiterung .key haben.

Beim Entschlüsseln einer Datei müssen Sie keinen bestimmten auswählen; er wird automatisch aus dem Ordner ausgewählt.

3. Ergebnisse

Dieses 17,1 MP Bild enthält eine verschlüsselte 9 MB .zip-Datei und ihren Dateinamen, die als Rauschen gespeichert sind.

<img src="https://raw.githubusercontent.com/carlospuenteg/file-injector/HEAD/readme-assets/17"1MP_mod.png" width=500>

Dieses 1,7 MP Bild enthält eine verschlüsselte 0,93 MB .zip-Datei und ihren Dateinamen, die als Rauschen gespeichert sind.

<img src="https://raw.githubusercontent.com/carlospuenteg/file-injector/HEAD/readme-assets/1"7MP_mod.png" width=500>

Diese 42 MB Audiodatei enthält eine verschlüsselte 9 MB .zip-Datei und ihren Dateinamen, die als Rauschen gespeichert sind.

https://user-images.githubusercontent.com/65092569/202014519-24514110-4bd2-4c2b-9307-237964df0c2b.mp4

4. Anwendungsbeispiele

Injektion

root@kitploit:~
... File-Injector % python3 main.py
[0] EXIT
[1] Inject file
[2] Extract file

Option: 1
File to be stored: images.zip
Filename of the base image: 2'2MP
Encrypt the file? (y/n): y

Do you want to use an existing key or generate a new one?
[0] Existing key
[1] New key

Option: 1
Filename of the new key file (blank for default): 
Key generated and saved to files/$encryption-keys/key9.key

Preparing...

Modified bits per channel: 2
Image modification: 1.56%

✅ Storing... ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ [100.0%]

Generating random values...

Storing random values...

Reshaping...

Modified image saved in files/modified-images/2'2MP_mod.png

Done in 7.5892 seconds

Extraktion

root@kitploit:~
... File-Injector % python3 main.py
[0] EXIT
[1] Inject file
[2] Extract file

Option: 2
Filename of the modified image: 2'2MP_mod

Preparing...

Retrieving filename...

Retrieving input file...
Decrypted with "files/$encryption-keys/key2.key"

Output file saved in files/output-files/images.zip

Done in 1.4083 seconds

5. Konfiguration

Sie können die Konfiguration in der Datei config.py ändern.

6. Was es tut

Die Injektion erfolgt durch Speichern der Datei in den X niederwertigsten Bits jedes Elements des Arrays, das durch Abflachen des Bild-/Audio-Arrays erstellt wurde.

  • Jedes Element hat 8 Bits (wenn die Basisdatei ein Bild ist) oder 16 Bits (wenn die Basisdatei ein Audio ist).
  • Dieses Skript ändert 1 bis alle Bits jedes Elements, abhängig von der Größe der zu speichernden Datei im Vergleich zum Basisbild/-audio.
  • Wenn Sie eine größere Datei speichern oder das Basisbild/-audio kleiner ist, werden mehr Bits geändert und die Änderungen sind deutlicher sichtbar.
  • Wenn Sie eine kleinere Datei speichern oder das Basisbild/-audio größer ist, werden weniger Bits geändert und die Änderungen sind weniger sichtbar.
  • Wenn das Basisbild/-audio zu klein ist, um die Datei zu speichern, wird das Skript anhalten und Sie warnen.
  • Wenn Sie die Datei verschlüsseln, wird ihre Größe um etwa 1/3 zunehmen.

7. So funktioniert es

Optionen

OptionBeschreibung
[0] EXITSkript beenden
[1] Inject fileRuft inject_file_func() auf
[2] Extract fileRuft extract_file_func() auf

inject_file_func()

  1. Wenn TEST_MODE == True ist, wird das vordefinierte Basisbild/-audio und die Eingabedatei verwendet. Andernfalls werden Sie nach dem Basisbild/-audio und der Eingabedatei gefragt.
  2. Datei einlesen (in Bytes)
  3. Bild/Audio einlesen und in einem numpy-Array speichern
  4. Dateinamen einlesen (in Bytes)
  5. Wenn der Benutzer die Datei verschlüsseln möchte:
    1. Schlüssel mit get_fernet() holen
    2. Datei und Dateinamen verschlüsseln
  6. Versuchen, die Datei und den Dateinamen mit inject_file() in das Bild/Audio zu injizieren.
    1. Wenn das Bild/Audio zu klein ist, um die Datei zu speichern, einen Fehler auslösen
    2. Andernfalls das modifizierte Bild/Audio zurückgeben.
  7. Modifiziertes Bild/Audio speichern

extract_file_func()

  1. Wenn TEST_MODE == True ist, wird das vordefinierte modifizierte Bild/Audio verwendet. Andernfalls werden Sie nach dem modifizierten Bild/Audio gefragt.
  2. Modifiziertes Bild/Audio einlesen
  3. Datei und Dateinamen als Bytes mit extract_file() extrahieren
  4. Wenn die Datei und der Dateiname verschlüsselt wurden (sie beginnen mit gAAAAA), entschlüsseln Sie sie mit decrypt_content
  5. Dateinamen in UTF-8 dekodieren
  6. Datei mit dem dekodierten Dateinamen speichern

get_fernet()

OptionBeschreibung
[0] Vorhandener SchlüsselVorhandenen Schlüssel verwenden
[1] Neuer SchlüsselNeuen Schlüssel generieren

[0] Vorhandener Schlüssel

  1. Wählen Sie einen Schlüssel aus dem Ordner files/$encryption-keys aus

[1] Neuer Schlüssel

  1. Wählen Sie einen Dateinamen für den neuen Schlüssel (oder lassen Sie ihn leer für den Standardnamen (z.B. key8.key))
  2. Generieren Sie einen neuen Schlüssel und speichern Sie ihn mit dem gewählten Dateinamen
  3. Geben Sie das Fernet-Objekt mit dem neuen Schlüssel zurück

decrypt_content()

  1. Für jeden Schlüssel im Ordner files/$encryption-keys:
    1. Versuchen, die Datei und den Dateinamen damit zu entschlüsseln
    2. Wenn InvalidToken ausgelöst wird:
      1. Das bedeutet, dass der Schlüssel nicht der richtige ist
      2. Mit anderem Schlüssel versuchen
    3. Andernfalls den Schlüssel zurückgeben
  2. Wenn kein Schlüssel gefunden wird, eine Exception auslösen

inject_file()

Gibt das modifizierte Bild/Audio-Array zurück (np.ndarray, mit derselben Form wie arr)

extract_file()

ParameterTypBeschreibung
mod_arr_flatnp.ndarrayAbgeflachtes modifiziertes Bild/Audio

Gibt ein dictionary mit der extrahierten Datei und dem Dateinamen zurück, beide im (bytes)-Format

Tool herunterladen
KonstanteBeschreibungStandardwert
MOD_PREFIXPräfix, den das modifizierte Bild/Audio haben wird""
MOD_SUFFIXSuffix, den das modifizierte Bild/Audio haben wird"_mod"
STORE_RANDOMSpeichere zufällige Daten im modifizierten Bild, damit die Grenze zwischen dem Teil mit gespeicherten Daten und dem Teil ohne nicht so offensichtlich istTrue
TEST_MODEAktiviert/Deaktiviert den Testmodus: Test mit vordefinierten Bildern/Audios und DateienTrue
ParameterTypBeschreibung
arrnp.ndarrayBild/Audio als numpy-Array
filebytesDatei als Bytes
filenamebytesDateiname als Bytes
store_randombooleanOb zufällige Daten im modifizierten Bild/Audio gespeichert werden sollen oder nicht