Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
tscopy — Pythonツールで、インシデント対応時にロックされたファイルをコピーするためにNTFS $MFTを解析し、生のディスク位置を読み取ることでOSのロックを回避します。再帰的、ワイルドカード、複数ファイルのコピーをサポートし、パフォーマンス向上のためのキャッシング機能を備えています。 | Kitploit
ツール/GitHubGitHub/trustedsec/tscopy
ディスクフォレンジックフォレンジックデータ復旧デジタルフォレンジックインシデントレスポンス
GitHubtrustedsec/tscopy

tscopy

Pythonツールで、インシデント対応時にロックされたファイルをコピーするためにNTFS $MFTを解析し、生のディスク位置を読み取ることでOSのロックを回避します。再帰的、ワイルドカード、複数ファイルのコピーをサポートし、パフォーマンス向上のためのキャッシング機能を備えています。

リポジトリを見る
103234年前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

TScopy

TScopy Logo

更新日 2022-03-31

TScopy の紹介

インシデントレスポンス(IR)対応では、ファイルシステム上のファイルを分析できることが求められます。これらのファイルは、使用中のためオペレーティングシステム(OS)によってロックされている場合があり、特にイベントログやレジストリハイブで問題となります。TScopy を使用すると、管理者権限で実行しているユーザーが、ファイルのファイルシステム上の生の場所を解析し、OS に問い合わせずにコピーすることで、ロックされたファイルにアクセスできます。

同様の機能を提供するツールは他にも存在します。例えば RawCopy は以前から使用しており、本ツールの基盤となっています。しかし、RawCopy にはパフォーマンス、サイズ、他のツールへの組み込みの難しさなど、いくつかの欠点があり、TScopy の開発に至りました。

このブログでは TScopy を紹介するとともに、協力をお願いします。ソフトウェア開発全般に言えることですが、ツールが多く使われるほど、より多くのエッジケースが見つかります。ぜひツールをお試しいただき、バグを報告してください。

TScopy とは?

TScopy は、NTFS $MFT ファイルを解析して特定のファイルの位置を特定し、コピーするための Python スクリプトです。マスターファイルテーブル(MFT)を解析することで、OS によるファイルのロックを迂回します。このスクリプトは元々 RawCopy の成果に基づいています。RawCopy は AutoIT で書かれており、目的に合わせて修正するのが困難でした。TScopy を Python に移植したのは、この機能をネイティブにツールセットに組み込む必要があったためです。

TScopy はスタンドアロンプログラムとして実行することも、Python モジュールとして組み込むこともできます。Python 実装では、https://github.com/williballenthin/python-ntfs にある python-ntfs ツールを利用しています。TScopy は python-ntfs の基本機能を拡張し、各ファイルの生のディスク上の位置を特定します。

TScopy の違いは?

TScopy は Python で書かれており、クラスに整理されているため、AutoIT よりも保守性と可読性に優れています。AutoIT はマルウェアに悪用される可能性があるため、アンチウイルスソフトや検出ソフトウェアによって悪意のあるものとしてフラグが立てられることがあります。

TScopy と RawCopy の最大の違いは、1回の実行で複数のファイルをコピーできることと、ファイル構造をキャッシュできることです。下の画像に示すように、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            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.

非表示のオプションとして --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:\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

各ユーザーについて、すべてのジャンプリスト、レジストリハイブ、PowerShell 履歴コマンドを e:\outputdir にコピーします。

バグ報告情報

バグは GitHub ページの Issues セクションに報告してください。

バグ修正と機能強化

バージョン 4.0

  • スパースデータを含むファイルのコピーを修正しました。Issue #13 (Error copying c:$extend$usnjrnl$j)
  • ファイルをディスクに書き込む前にメモリに読み込まなくなりました。データ実行読み取り時に書き込みが行われるようになりました。大きなファイルでのメモリ使用量が削減されます。

バージョン 3.0

  • 代替データストリームのサポートを追加しました。ルートファイルと ADS ストリームの要求によりコピーされます。
  • ドライブ文字のワイルドカード。固定ドライブのみに対応。例 ":$MFT" はすべてのローカルドライブの $MFT を検索します。
  • ログの問題。失敗したコピーが再び失敗として報告されるようになりました。
  • ファイルパスの長さ制限 256 文字を削除しました。

バージョン 2.0

  • Issue 1: sys.exit を raise Exception に変更
  • Issue 2: ファイルの二重コピー(フルネームとショートネーム)を修正
  • Issue 3: ディレクトリの再帰的コピー機能を追加
  • Issue 4: パス内のワイルドカードサポートを追加。現在は * のみ対応
  • Issue 5: ハードコードされた MFT サイズを削除。MFT サイズをブートセクタから決定
  • Issue 6: TScopy クラスをシングルトンに変換。これにより、クラスを一度インスタンス化し、すべてのコピーで現在の MFT メタデータオブジェクトを再利用可能に
  • Issue 7: 属性タイプ ATTRIBUTE_LIST の処理を追加
  • Issue 9: ファイルに対する属性タイプ ATTRIBUTE_LIST が処理されていなかった。これにより、SOFTWARE レジストリハイブなどのファイルで黙示的な失敗が発生していた
  • 変更: コードに一般的なコメントを追加
  • 変更: 入力パラメータを変更。--file、--list、--directory の3つのオプションを --file に統合
  • 変更: 新機能をサポートするためのバックエンド再構成。

TODO:

ツールをダウンロード