Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
tscopy — Herramienta en Python que analiza el $MFT de NTFS para copiar archivos bloqueados durante la respuesta a incidentes, evitando los bloqueos del SO mediante la lectura de ubicaciones de disco en bruto. Admite copia recursiva, con comodines y de múltiples archivos con caché para mejorar el rendimiento. | Kitploit
Herramientas/GitHubGitHub/trustedsec/tscopy
Forensia de DiscoAnálisis ForenseRecuperación de DatosForensia DigitalRespuesta a Incidentes
GitHubtrustedsec/tscopy

tscopy

Ver Repositorio
103237hace 4 añosRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →

Acerca de

Herramienta en Python que analiza el $MFT de NTFS para copiar archivos bloqueados durante la respuesta a incidentes, evitando los bloqueos del SO mediante la lectura de ubicaciones de disco en bruto. Admite copia recursiva, con comodines y de múltiples archivos con caché para mejorar el rendimiento.

Compartir

TScopy

Logotipo de TScopy

Actualizado 2022-03-31

Presentando TScopy

Durante un compromiso de Respuesta a Incidentes (IR), es necesario tener la capacidad de analizar archivos en el sistema de archivos. A veces, estos archivos están bloqueados por el sistema operativo (SO) porque están en uso, lo que es particularmente frustrante con los registros de eventos y los archivos del registro. TScopy permite al usuario, que se ejecuta con privilegios de administrador, acceder a archivos bloqueados analizando su ubicación sin procesar en el sistema de archivos y copiándolos sin preguntarle al SO.

Existen otras herramientas que realizan funciones similares, como RawCopy, que hemos utilizado y es la base de esta herramienta. Sin embargo, RawCopy tiene algunas desventajas que nos llevaron a desarrollar TScopy, incluyendo el rendimiento, el tamaño y la capacidad de incorporarlo en otras herramientas.

Este blog pretende presentar TScopy, pero también pedir ayuda. Como en todo desarrollo de software, cuanto más se usa una herramienta, más casos extremos se pueden encontrar. Pedimos que la gente pruebe la herramienta e informe de cualquier error.

¿Qué es TScopy?

TScopy es un script de Python utilizado para analizar el archivo $MFT de NTFS para localizar y copiar archivos específicos. Al analizar la Tabla de Archivos Maestra (MFT), el script evita los bloqueos del sistema operativo en los archivos. El script se basó originalmente en el trabajo de RawCopy. RawCopy está escrito en AutoIT y es difícil de modificar para nuestros propósitos. La decisión de portar RawCopy a Python se tomó debido a la necesidad de incorporar esta funcionalidad de forma nativa en nuestro conjunto de herramientas.

TScopy está diseñado para ejecutarse como un programa independiente o incluirse como un módulo de Python. La implementación en Python hace uso de las herramientas python-ntfs que se encuentran en https://github.com/williballenthin/python-ntfs. TScopy se basa en la funcionalidad base de python-ntfs para aislar la ubicación de cada archivo desde el disco en bruto.

¿Qué hace diferente a TScopy?

TScopy está escrito en Python y organizado en clases para hacerlo más mantenible y legible que AutoIT. AutoIT puede ser marcado como malicioso por software antivirus o de detección porque algunos malware han utilizado su potencial.

La diferencia principal entre TScopy y RawCopy es la capacidad de copiar múltiples archivos por ejecución y almacenar en caché la estructura de archivos. Como se muestra en la imagen de abajo, TScopy tiene opciones para descargar un solo archivo, múltiples archivos delimitados por comas, el contenido de un directorio, rutas con comodines (archivos o directorios individuales), y directorios recursivos.

TScopy almacena en caché la ubicación de cada directorio y archivo a medida que itera la ruta completa del archivo de destino. Luego utiliza esta caché para optimizar la búsqueda de cualquier otro archivo, asegurando que las copias de archivos futuras se realicen mucho más rápido. Esta es una ventaja significativa sobre RawCopy, que itera sobre toda la ruta para cada archivo.

Opciones de TScopy

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.

Hay una opción oculta '--debug', que habilita la salida de depuración.

Ejemplos

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

Copia el registro SYSTEM a e:\outputdir El nuevo archivo se ubicará en e:\outputdir\windows\system32\config\SYSTEM

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

Copia el registro SYSTEM a e:\outputdir, pero ignora cualquier archivo en caché anterior y no guarda la caché actual en el disco

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

Copia los registros SYSTEM y SOFTWARE a e:\outputdir

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

Copia el contenido del directorio config a e:\outputdir

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

Copia recursivamente el contenido del directorio config a e:\outputdir

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

Copia el archivo NTUSER.DAT de cada usuario a e:\outputdir

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

Para cada usuario, copia todos los archivos que comienzan con NTUSER.DAT a e:\outputdir

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

Para cada usuario, copia todas las listas de accesos directos, los archivos del registro y los comandos del historial de PowerShell a e:\outputdir

Información sobre reporte de errores

Por favor, reporte los errores en la sección de issues de la página de GitHub.

Correcciones de errores y mejoras

Versión 4.0

  • Corregida la copia de archivos que contienen datos dispersos. Problema #13 (Error al copiar c:$extend$usnjrnl$j)
  • Los archivos ya no se leen en memoria antes de escribirlos en el disco. Las escrituras ahora se realizan mediante la lectura de la ejecución de datos. Esto debería reducir el uso de memoria en archivos grandes.

Versión 3.0

  • Se agregó soporte para flujos de datos alternativos (ADS). Se solicita el archivo raíz y se copian los flujos ADS.
  • Comodín para la letra de unidad. Solo unidades fijas. Ejemplo: "*:$MFT" encontrará el $MFT para todas las unidades locales.
  • Problemas de registro. Las copias fallidas ahora se reportan nuevamente como fallidas.
  • Se eliminó el límite de tamaño de ruta de archivo de 256.

Versión 2.0

  • Problema 1: Cambiar sys.exit para lanzar una excepción.
  • Problema 2: La doble copia de archivos. Nombre completo y nombre corto.
  • Problema 3: Se agregó la capacidad de copiar directorios de forma recursiva.
  • Problema 4: Se agregó soporte para comodines en la ruta. Actualmente solo admite *.
  • Problema 5: Se eliminó el tamaño fijo del MFT. El tamaño del MFT se determina mediante el sector de arranque.
  • Problema 6: Se convirtió la clase TScopy en un singleton. Esto permite que la clase se instancie una vez y reutilice el objeto de metadatos MFT actual para todas las copias.
  • Problema 7: Ahora se maneja el tipo de atributo ATTRIBUTE_LIST.
  • Problema 9: El tipo de atributo ATTRIBUTE_LIST no se manejaba para los archivos. Esto causaba un fallo silencioso para archivos como el archivo de registro SOFTWARE.
  • Cambios: Se agregaron comentarios generales al código.
  • Cambios: Los parámetros de entrada han cambiado. Se redujeron las tres (3) opciones diferentes --file, --list y --directory a --file.
  • Cambios: Reestructuración del backend para soportar nuevas características.

TODO:

Descargar herramienta