Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
tscopy — NTFS $MFT를 파싱하여 사고 대응 중 잠긴 파일을 복사하는 Python 도구입니다. OS 잠금을 우회하기 위해 원시 디스크 위치를 읽습니다. 재귀적, 와일드카드 및 다중 파일 복사를 지원하며 성능을 위해 캐싱을 사용합니다. | Kitploit
도구/GitHubGitHub/trustedsec/tscopy
Disk ForensicsForensicsData RecoveryDigital ForensicsIncident Response
GitHubtrustedsec/tscopy

tscopy

NTFS $MFT를 파싱하여 사고 대응 중 잠긴 파일을 복사하는 Python 도구입니다. OS 잠금을 우회하기 위해 원시 디스크 위치를 읽습니다. 재귀적, 와일드카드 및 다중 파일 복사를 지원하며 성능을 위해 캐싱을 사용합니다.

저장소 보기
103234년 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

TScopy

TScopy 로고

업데이트 2022-03-31

TScopy 소개

사고 대응(IR) 업무 중에는 파일시스템의 파일을 분석할 수 있는 능력이 필수적입니다. 때때로 이러한 파일은 사용 중이기 때문에 운영 체제(OS)에 의해 잠겨 있으며, 특히 이벤트 로그와 레지스트리 하이브의 경우 더욱 frustrating 합니다. TScopy는 관리자 권한으로 실행하는 사용자가 파일시스템에서 원시 위치를 파싱하여 OS에 요청하지 않고 잠긴 파일에 접근하고 복사할 수 있게 해줍니다.

유사한 기능을 수행하는 다른 도구로는 RawCopy가 있으며, 우리는 이를 사용해 왔고 이 도구의 기반이 되었습니다. 하지만 RawCopy에는 성능, 크기, 그리고 다른 도구에 통합할 수 있는 능력 등 몇 가지 단점이 있어 TScopy를 개발하게 되었습니다.

이 블로그는 TScopy를 소개함과 동시에 도움을 요청하기 위한 것입니다. 모든 소프트웨어 개발에서와 마찬가지로, 도구가 더 많이 사용될수록 더 많은 예외 케이스가 발견됩니다. 사람들이 이 도구를 사용해 보고 버그를 보고해 주시기를 부탁드립니다.

TScopy란 무엇인가?

TScopy는 NTFS $MFT 파일을 파싱하여 특정 파일을 찾고 복사하는 Python 스크립트입니다. MFT(Master File Table)를 파싱함으로써 스크립트는 파일에 대한 운영 체제 잠금을 우회합니다. 이 스크립트는 원래 RawCopy의 작업을 기반으로 합니다. RawCopy는 AutoIT로 작성되어 우리의 목적에 맞게 수정하기 어려웠습니다. RawCopy를 Python으로 포팅한 결정은 이 기능을 우리 도구 세트에 기본적으로 통합할 필요성 때문이었습니다.

TScopy는 독립 실행형 프로그램으로 실행되거나 Python 모듈로 포함되도록 설계되었습니다. Python 구현은 https://github.com/williballenthin/python-ntfs 에 있는 python-ntfs 도구를 활용합니다. TScopy는 python-ntfs의 기본 기능 위에 구축되어 각 파일의 위치를 원시 디스크에서 분리합니다.

TScopy의 차별점은 무엇인가?

TScopy는 Python으로 작성되었으며, AutoIT보다 유지 관리 및 가독성을 높이기 위해 클래스로 구성되었습니다. AutoIT는 일부 악성코드가 그 잠재력을 활용했기 때문에 안티바이러스 또는 탐지 소프트웨어에 의해 악성으로 표시될 수 있습니다.

TScopy와 RawCopy의 주요 차이점은 한 번 실행으로 여러 파일을 복사하고 파일 구조를 캐싱하는 기능입니다. 아래 이미지에서 보듯이 TScopy는 단일 파일, 쉼표로 구분된 여러 파일, 디렉터리의 내용, 와일드카드 경로(개별 파일 또는 디렉터리), 그리고 재귀적 디렉터리를 다운로드하는 옵션을 제공합니다.

TScopy는 대상 파일의 전체 경로를 반복하면서 각 디렉터리와 파일의 위치를 캐싱합니다. 그런 다음 이 캐시를 사용하여 다른 파일 검색을 최적화하며, 이후의 파일 복사가 훨씬 더 빠르게 수행되도록 합니다. 이는 각 파일마다 전체 경로를 반복하는 RawCopy에 비해 상당한 이점입니다.

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            도움말 메시지를 표시하고 종료합니다.
  -f FILE, --file FILE  복사할 파일 또는 디렉터리의 전체 경로입니다.
                        파일 이름은 쉼표(,)로 구분된 목록으로 그룹화할 수 있습니다.
                        와일드카드 '*'가 허용됩니다.
  -o OUTPUTDIR, --outputdir OUTPUTDIR
                        파일을 복사할 디렉터리입니다. 복사 시 경로가 유지됩니다.
  -i, --ignore_saved_ref_nums
                        스크립트는 내부 실행 속도를 높이기 위해 참조 번호와 경로 정보를 저장합니다.
                        이 옵션은 저장된 MFT 참조 번호와 경로를 무시하고 저장하지 않습니다.
  -r, --recursive       디렉터리를 재귀적으로 복사합니다. 이 옵션은 디렉터리에서만 작동합니다.

숨겨진 옵션 '--debug'가 있으며, 디버그 출력을 활성화합니다.

예제

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

SYSTEM 레지스트리를 e:\outputdir로 복사합니다. 새 파일은 e:\outputdir\windows\system32\config\SYSTEM에 위치합니다.

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

SYSTEM 레지스트리를 e:\outputdir로 복사하지만, 이전에 캐시된 파일이 있으면 무시하고 현재 캐시를 디스크에 저장하지 않습니다.

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

SYSTEM 및 SOFTWARE 레지스트리를 e:\outputdir로 복사합니다.

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

config 디렉터리의 내용을 e:\outputdir로 복사합니다.

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

config 디렉터리의 내용을 재귀적으로 복사하여 e:\outputdir로 복사합니다.

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

각 사용자의 NTUSER.DAT 파일을 e:\outputdir로 복사합니다.

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

각 사용자에 대해 NTUSER.DAT로 시작하는 모든 파일을 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

각 사용자에 대해 모든 점프 목록, 레지스트리 하이브 및 PowerShell 기록 명령을 e:\outputdi로 복사합니다.

버그 보고 정보

버그는 GitHub 페이지의 이슈 섹션에 보고해 주십시오.

버그 수정 및 개선 사항

버전 4.0

  • 희소 데이터가 포함된 파일 복사 문제 수정. 이슈 #13 (c:$extend$usnjrnl$j 복사 오류)
  • 파일을 디스크에 쓰기 전에 메모리로 읽지 않도록 수정. 이제 데이터 실행 읽기로 쓰기가 수행됩니다. 큰 파일의 메모리 사용량이 줄어듭니다.

버전 3.0

  • 대체 데이터 스트림(ADS) 지원 추가. 루트 파일과 ADS 스트림이 복사되도록 요청합니다.
  • 드라이브 문자에 대한 와일드카드 추가. 고정 드라이브만 지원. 예: "*:$MFT"는 모든 로컬 드라이브의 $MFT를 찾습니다.
  • 로깅 문제. 실패한 복사본이 다시 실패로 보고되도록 수정.
  • 256자 파일 경로 크기 제한 제거.

버전 2.0

  • 이슈 1: sys.exit를 Exception 발생으로 변경
  • 이슈 2: 파일의 이중 복사 문제. 전체 이름과 짧은 이름.
  • 이슈 3: 디렉터리 재귀 복사 기능 추가
  • 이슈 4: 경로에 와일드카드 지원 추가. 현재는 *만 지원
  • 이슈 5: 하드코딩된 MFT 크기 제거. MFT 크기는 부트 섹터에서 결정
  • 이슈 6: TScopy 클래스를 싱글톤으로 변환. 클래스가 한 번 인스턴스화되고 현재 MFT 메타데이터 객체를 모든 복사본에 재사용할 수 있음
  • 이슈 7: ATTRIBUTE_LIST 속성 유형 처리 추가
  • 이슈 9: ATTRIBUTE_LIST 속성 유형이 파일에 대해 처리되지 않음. 이로 인해 SOFTWARE 레지스트리 하이브 같은 파일이 조용히 실패했음
  • 변경: 코드에 일반 주석 추가됨
  • 변경: 입력 매개변수 변경. --file, --list, --directory의 세 가지 옵션을 --file로 통합
  • 변경: 새로운 기능 지원을 위한 백엔드 재구성

TODO:

도구 다운로드