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
Tools/GitHubGitHub/trustedsec/tscopy
FestplattenforensikForensikDatenwiederherstellungDigitale ForensikIncident Response
GitHubtrustedsec/tscopy

tscopy

Python-Tool, das die NTFS $MFT parst, um während der Incident-Response gesperrte Dateien zu kopieren, indem es Betriebssystemsperren durch das Lesen von rohen Datenträgerpositionen umgeht. Unterstützt rekursives, Wildcard- und Multi-Datei-Kopieren mit Caching für die Leistung.

Repository anzeigen
10323vor 4 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

TScopy

TScopy Logo

Aktualisiert 2022-03-31

Einführung in TScopy

Bei einer Incident-Response (IR)-Untersuchung ist es erforderlich, Dateien im Dateisystem analysieren zu können. Manchmal sind diese Dateien vom Betriebssystem (OS) gesperrt, weil sie verwendet werden, was besonders bei Ereignisprotokollen und Registry-Hives frustrierend ist. TScopy ermöglicht es dem Benutzer, der mit Administratorrechten arbeitet, auf gesperrte Dateien zuzugreifen, indem es ihren rohen Speicherort im Dateisystem analysiert und sie kopiert, ohne das Betriebssystem zu fragen.

Es gibt andere Tools, die ähnliche Funktionen ausführen, wie RawCopy, das wir verwendet haben und das die Grundlage für dieses Tool bildet. Allerdings gibt es einige Nachteile von RawCopy, die uns zur Entwicklung von TScopy bewogen haben, darunter Leistung, Größe und die Möglichkeit, es in andere Tools zu integrieren.

Dieser Blog soll TScopy vorstellen, aber auch um Hilfe bitten. Wie bei jeder Softwareentwicklung gilt: Je mehr ein Tool verwendet wird, desto mehr Randfälle können gefunden werden. Wir bitten die Leute, das Tool auszuprobieren und etwaige Fehler zu melden.

Was ist TScopy?

TScopy ist ein Python-Skript, das die NTFS-$MFT-Datei analysiert, um bestimmte Dateien zu lokalisieren und zu kopieren. Durch das Parsen der Master File Table (MFT) umgeht das Skript Betriebssystemsperren für Dateien. Das Skript basierte ursprünglich auf der Arbeit von RawCopy. RawCopy ist in AutoIT geschrieben und für unsere Zwecke schwer zu modifizieren. Die Entscheidung, RawCopy nach Python zu portieren, wurde getroffen, weil diese Funktionalität nativ in unser Toolset integriert werden musste.

TScopy ist so konzipiert, dass es als eigenständiges Programm oder als Python-Modul eingebunden werden kann. Die Python-Implementierung nutzt die python-ntfs-Tools unter https://github.com/williballenthin/python-ntfs. TScopy baut auf der Basisfunktionalität von python-ntfs auf, um den Speicherort jeder Datei von der Rohfestplatte zu isolieren.

Was macht TScopy anders?

TScopy ist in Python geschrieben und in Klassen organisiert, um es wartbarer und lesbarer zu machen als AutoIT. AutoIT kann von Antiviren- oder Erkennungssoftware als bösartig eingestuft werden, da einige Malware sein Potenzial genutzt hat.

Der Hauptunterschied zwischen TScopy und RawCopy ist die Fähigkeit, mehrere Dateien pro Ausführung zu kopieren und die Dateistruktur zwischenzuspeichern. Wie im folgenden Bild gezeigt, bietet TScopy Optionen zum Herunterladen einer einzelnen Datei, mehrerer durch Komma getrennter Dateien, des Inhalts eines Verzeichnisses, mit Platzhaltern versehener Pfade (einzelne Dateien oder Verzeichnisse) und rekursiver Verzeichnisse.

TScopy speichert den Speicherort jedes Verzeichnisses und jeder Datei zwischen, während es den vollständigen Pfad der Zieldatei durchläuft. Es verwendet diesen Cache dann, um die Suche nach anderen Dateien zu optimieren, sodass zukünftige Dateikopien viel schneller ausgeführt werden. Dies ist ein wesentlicher Vorteil gegenüber RawCopy, das für jede Datei den gesamten Pfad durchläuft.

TScopy-Optionen

root@kitploit:~
.\TScopy_x64.exe -h

usage: 
    TScopy_x64.exe -r -o c:\test -f c:\users\tscopy\ntuser.dat 
        Description: Copies only the ntuser.dat file to the c:\test directory 
    TScopy_x64.exe -o c:\test -f c:\Windows\system32\config 
        Description: Copies all files in the config directory but does not copy the directories under it.  
    TScopy_x64.exe -r -o c:\test -f c:\Windows\system32\config 
        Description: Copies all files and subdirectories in the config directory.  
    TScopy_x64.exe -r -o c:\test -f c:\users\*\ntuser*,c:\Windows\system32\config 
        Description: Uses Wildcards and listings to copy any file beginning with ntuser under users accounts and recursively copies the registry hives.
    

Copy protected files by parsing the MFT. Must be run with Administrator privileges

optional arguments:
  -h, --help            show this help message and exit
  -f FILE, --file FILE  Full path of the file or directory to be copied.
                        Filenames can be grouped in a comma ',' seperated
                        list. Wildcard '*' is accepted.
  -o OUTPUTDIR, --outputdir OUTPUTDIR
                        Directory to copy files too. Copy will keep paths
  -i, --ignore_saved_ref_nums
                        Script stores the Reference numbers and path info to
                        speed up internal run. This option will ignore and not
                        save the stored MFT reference numbers and path
  -r, --recursive       Recursively copies directory. Note this only works with
                        directories.

Es gibt eine versteckte Option '--debug', die die Debug-Ausgabe aktiviert.

Beispiele

root@kitploit:~
TScopy_x64.exe -f c:\windows\system32\config\SYSTEM -o e:\outputdir

Kopiert die SYSTEM-Registrierungsdatei nach e:\outputdir Die neue Datei befindet sich unter e:\outputdir\windows\system32\config\SYSTEM

root@kitploit:~
TScopy_x64.exe -f c:\windows\system32\config\SYSTEM -o e:\outputdir -i

Kopiert die SYSTEM-Registrierung nach e:\outputdir, ignoriert jedoch alle zuvor zwischengespeicherten Dateien und speichert den aktuellen Cache nicht auf der Festplatte

root@kitploit:~
TScopy_x64.exe -f c:\windows\system32\config\SYSTEM,c:\windows\system32\config\SOFTWARE -o e:\outputdir

Kopiert die SYSTEM- und SOFTWARE-Registrierungen nach e:\outputdir

root@kitploit:~
TScopy_x64.exe -f c:\windows\system32\config\ -o e:\outputdir

Kopiert den Inhalt des Verzeichnisses config nach e:\outputdir

root@kitploit:~
TScopy_x64.exe -r -f c:\windows\system32\config\ -o e:\outputdir

Kopiert den Inhalt des Verzeichnisses config rekursiv nach e:\outputdir

root@kitploit:~
TScopy_x64.exe  -f c:\users\*\ntuser.dat -o e:\outputdir

Kopiert die NTUSER.DAT-Datei jedes Benutzers nach e:\outputdir

root@kitploit:~
TScopy_x64.exe  -f c:\users\*\ntuser.dat* -o e:\outputdir

Kopiert für jeden Benutzer alle Dateien, die mit NTUSER.DAT beginnen, nach e:\outputdi

root@kitploit:~
TScopy_x64.exe  -f c:\users\*\AppData\Roaming\Microsoft\Windows\Recent,c:\windows\system32\config,c:\users\*\AppData\Roaming\Microsoft\Windows\PowerShell\PSReadLine\ConsoleHost_history.txt -o e:\outputdir

Kopiert für jeden Benutzer alle Jumplists, Registrierungs-Hives und PowerShell-Verlaufsbefehle nach e:\outputdi

Fehlerbericht-Informationen

Bitte melden Sie Fehler im Issues-Bereich der GitHub-Seite.

Fehlerbehebungen und Verbesserungen

Version 4.0

  • Korrigiertes Kopieren von Dateien, die sparse Daten enthalten. Issue #13 (Fehler beim Kopieren von c:$extend$usnjrnl$j)
  • Dateien werden nicht mehr in den Speicher eingelesen, bevor sie auf die Festplatte geschrieben werden. Schreibvorgänge erfolgen jetzt durch Datenlauf-Lesen. Sollte die Speichernutzung bei großen Dateien reduzieren.

Version 3.0

  • Unterstützung für alternative Datenströme hinzugefügt. Die angeforderte Stammdatei und die ADS-Ströme werden kopiert
  • Platzhalter für den Laufwerksbuchstaben. Nur feste Laufwerke. Beispiel "*:$MFT" findet die $MFT für alle lokalen Laufwerke
  • Probleme mit der Protokollierung. Fehlgeschlagene Kopien werden wieder als fehlgeschlagen gemeldet.
  • Dateipfad-Längenbeschränkung von 256 entfernt.

Version 2.0

  • Issue 1: sys.exit in Ausnahme auslösen geändert
  • Issue 2: Doppeltes Kopieren von Dateien. Vollständiger Name und Kurzname.
  • Issue 3: Fähigkeit zum rekursiven Kopieren eines Verzeichnisses hinzugefügt
  • Issue 4: Unterstützung für Platzhalter im Pfad hinzugefügt. Derzeit nur * unterstützt
  • Issue 5: Feste MFT-Größe entfernt. MFT-Größe wird vom Bootsektor bestimmt
  • Issue 6: Die TScopy-Klasse in ein Singleton umgewandelt. Dadurch kann die Klasse einmal instanziiert werden und das aktuelle MFT-Metadatenobjekt für alle Kopien wiederverwenden.
  • Issue 7: Attributtyp ATTRIBUTE_LIST wird jetzt behandelt.
  • Issue 9: Attributtyp ATTRIBUTE_LIST wurde für Dateien nicht behandelt. Dies verursachte einen stillen Fehler bei Dateien wie der SOFTWARE-Registrierungsstruktur.
  • Änderungen: Allgemeine Kommentare wurden zum Code hinzugefügt
  • Änderungen: Eingabeparameter wurden geändert. Die drei verschiedenen Optionen --file, --list und --directory wurden auf --file reduziert.
  • Änderungen: Backend-Umstrukturierung zur Unterstützung neuer Funktionen.

TODO:

Tool herunterladen