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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
lifer — Windowsリンクファイル(ショートカット)検査ツール | Kitploit
ツール/GitHubGitHub/paul-tew/lifer
フォレンジック情報収集デジタルフォレンジックバイナリ解析
GitHubpaul-tew/lifer

lifer

Windowsリンクファイル(ショートカット)検査ツール

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

人気

すべて見る →

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

すべてのツールを探索

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

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

lifer

Windowsショートカットファイル(リンクファイル)のフォレンジックツール

概要

'lifer' は、Harry Parsonage によるホワイトペーパー「The Meaning of Link Files in Forensic Examinations」(こちらから入手可能)に触発された、Windows または *nix のコマンドラインツールです。このツールは、私がコンピュータフォレンジックアナリストとして働いていた際に、リンクファイルから特定の情報を抽出して調査を支援するために作成した軽量ツールとして始まりました。現在は引退していますが、その有用性を拡張し、他の人々が活用できるように公開しようとしています。

抽出される情報は、Microsoft のオープン仕様文書「MS-SHLLNK」(こちらでオンライン公開)に準拠しています。執筆時点では、仕様バージョン4.0 の大部分が実装されています。将来的には、未開封のジャンプリストファイルの解析も実装したいと考えています。

使用例

Test ディレクトリ内のファイルの詳細とその使用方法は、'.\Test\Tests.txt' ファイルに記載されています。以下はその概要です...

ツールをインストールしたら、コマンドラインシェル(例:bash または Powershell)を開き、'./lifer/src' ディレクトリから次のように入力します:

root@kitploit:~
lifer -s ./Test/Test1.lnk

これにより、次の出力が得られるはずです:

root@kitploit:~
LINK FILE -------------- .\Test\Test1.lnk
{**OPERATING SYSTEM (stat) DATA**}
  Last Accessed:       2017-04-18 20:28:19 (UTC)
  Last Modified:       2017-04-18 20:28:19 (UTC)
  Last Changed:        2017-04-18 20:28:19 (UTC)

{**LINK FILE EMBEDDED DATA**}
  {S_2.1 - ShellLinkHeader}
    Attributes:          0x00000020   FILE_ATTRIBUTE_ARCHIVE
    Creation Time:       2008-09-12 20:27:17 (UTC)
    Access Time:         2008-09-12 20:27:17 (UTC)
    Write Time:          2008-09-12 20:27:17 (UTC)
    Target Size:         0 bytes
  {S_2.3 - LinkInfo}
    {S_2.3.1 - LinkInfo - VolumeID}
      Drive Type:        DRIVE_FIXED
      Drive Serial No:   307A8A81
      Volume Label:      [EMPTY]
      Local Base Path:   C:\test\a.txt
  {S_2.4 - StringData}
    {S_2.4 - StringData - RELATIVE_PATH}
      Relative Path:     .\a.txt
    {S_2.4 - StringData - WORKING_DIR}
      Working Dir:       C:\test
  {S_2.5 - ExtraData}
    {S_2.5.10 - ExtraData - TrackerDataBlock}
      MachineID:         chris-xps
      Droid1:            {94C77840-FA47-46C7-B356-5C2DC6B6D115}
      Droid2:            {7BCD46EC-7F22-11DD-9499-00137216874A}
        UUID Sequence:     153
        UUID Time:         2008-09-10 10:23:17 (UTC)
        UUID Node (MAC):   00:13:72:16:87:4A

注意: '{OPERATING SYSTEM (stat) DATA}' と題されたセクションの日付は、ご自身のシステムでそのリンクファイルをインストールしてアクセスした日付に依存するため異なります。ただし、埋め込みデータは同じです。

より詳細な出力(より正確なタイムスタンプを含む)は、'-s' オプションを省略することで得られます。

リンクファイルに関する最も詳細な情報は、'-i' オプションを使用することで得られます。このオプションは、idlist オブジェクトに関する既知の詳細も表示します。このオプションは '-s' オプションと互換性がありません。

ディレクトリ(フォルダ)内のすべてのリンクファイルは、ディレクトリ名を渡すだけで解析できます:

root@kitploit:~
lifer ./src/Test/WinXP

(簡潔のため、出力は省略しています)

複数のリンクファイルに対して最も有用な出力は、出力をタブ(またはカンマ)区切りのリストとしてファイルに送り、後でスプレッドシートにインポートして分析できるようにすることで作成できます。これは次のように実現できます:

root@kitploit:~
lifer -o tsv ./src/Test/WinXP > WinXP.tsv

または

root@kitploit:~
lifer -so tsv ./src/Test/WinXP > WinXP.tsv

これにより、一部の不要で興味のないデータが削除されたファイルが作成されます。

カンマ区切り出力に関する警告!!

リンクファイル内の文字列にはカンマが含まれる場合があります。これはフィールド区切り文字と競合するため、文字列内のカンマはセミコロンに置き換えられています(つまり、',' は ';' に置き換えられます)。これは '-o csv' オプションにのみ適用され、デフォルトの '-o txt' や '-o tsv'、'-o xml' オプションには適用されません。

リリースからのインストール

Releases Page にアクセスし、最新のリリースからお使いのマシンに適した実行可能ファイルを選択してダウンロードしてください。 実行可能ファイルの名前を 'lifer'(Windows の場合は 'lifer.exe')に変更します。実行可能ファイルとして実行するための正しい属性が設定されていることを確認し、調査したいリンクファイルが含まれているフォルダに配置するか、PATH 変数にその場所を追加すれば、準備完了です。

ソースからのインストール

最初に行うことは、マシン/デバイスに git がインストールされていることを確認することです。コマンドラインシェルで、目的のプロジェクトルートディレクトリに移動し、次のコマンドを実行します:

root@kitploit:~
git clone https://github.com/Paul-Tew/lifer.git

新しいディレクトリ 'lifer' が作成されます。

LINUX インストール(およびその他の *nix プラットフォーム)

(Mac インストールでも動作する可能性がありますが、確実にテストするための資金がありません...) このツールは非常に基本的なため、依存関係は最小限です。'gcc' コンパイラと関連する 'libc' 開発ライブラリがインストールされていることを確認してください。それだけです。 コマンドラインターミナルを起動し、./lifer/src ディレクトリに移動します。 次のコマンドを実行します:

root@kitploit:~
gcc -Wall ./lifer.c ./liblife/liblife.c ./libbin2hex/libbin2hex.c -o lifer

警告やエラーが表示されなければ、ディレクトリ内に実行可能ファイル 'lifer' が作成されているはずです。次のコマンドで確認できます:

root@kitploit:~
ls -la

問題がなければ、クローンした git リポジトリの一部として含まれている、Microsoft 文書で指定されたファイルを使用して lifer が動作するかテストできます。このファイルは ./Test/ ディレクトリにあるはずです。次のコマンドでテストできます:

root@kitploit:~
./lifer ./Test/Test.lnk

また、ディレクトリ内の一連のリンクファイルに対して lifer が動作するかテストするには、次のコマンドを実行します:

root@kitploit:~
./lifer ./Test/WinXP/

ツールを OS にインストールするには、次のコマンドを実行します:

root@kitploit:~
sudo install ./lifer /usr/bin/

これにより、ディレクトリプレフィックスを指定しなくても、システム上の任意の場所で lifer を使用できるようになります(例:./lifer ./Test/Test.lnk ではなく lifer ./Test/Test.lnk のように)。

WINDOWS インストール

lifer の GitHub プロジェクトには Visual Studio 2017 プロジェクトソリューションが含まれているため、Windows 実行可能ファイルを作成する最も簡単な方法は、まず Visual Studio 2017 をインストールすることです。無料版('community' バージョンとして知られています)がこちらから入手可能です。 Visual Studio がインストールされたら:

  • File->Open->Project/Solution を左クリックし、lifer.sln ファイルを参照してソリューションを Visual Studio に読み込みます。
  • 標準ツールバーで、ソリューション構成オプションをマシンと好みに合わせて設定します(例:私は 'x64' と 'Debug' を使用しています)。
  • 'Build' メニューからソリューションをビルドするか、キーの組み合わせ Ctrl+Shift+B を使用します。
  • エラーがなければ、プロジェクトの該当サブフォルダに実行可能ファイル 'lifer.exe' があるはずです。
  • この時点で、通常は Powershell ターミナルを開き、実行可能ファイルが含まれているフォルダに移動します(私の場合は次のコマンドで行います):
root@kitploit:~
cd "F:\\lifer\src\x64\Debug\"
  • 次に、次のコマンドで実行可能ファイルをテストします:
root@kitploit:~
.\lifer.exe ..\..\Test\Test1.lnk

Visual Studio をインストールせずに Windows で lifer を作成することも可能ですが、こちらから Visual C++ ビルドツールをダウンロードしてインストールする必要があります。 インストール後、./src/ ディレクトリで次のコマンドを実行して lifer をビルドできます:

root@kitploit:~
CL lifer.c .\liblife\liblife.c .\Win\dirent.c .\Win\getopt.c .\libbin2hex\libbin2hex.c

謝辞

'lifer' は元々 Linux/GNU のみのツールであり、GNU と同じ方法でディレクトリをナビゲートし、コマンドラインオプションを解析するという主要な障害の解決策を見つけるまでは、Windows に移植できませんでした。この点において、以下の2つのプロジェクトに深く感謝しています:

  1. dirent Kevlin Henney
  2. getopt Ludvik Jerabek

出力の解釈

ユーザーは結果に意味を割り当てる前に、ホワイトペーパーを読むことを推奨します。出力が何を表しているかを完全に理解せずに、このツールに結果を帰属させないでください。これは特に、法廷での事実認定に関わる場合に当てはまります。そのような場合、ユーザーは前述の両方の文書を完全に理解し、さらに Windows や他の OS がそのようなファイルの作成、移動、削除をどのように扱うかについて包括的な知識を持っている必要があります。'lifer' がデータをどのように解釈し提示したかについての実用的な知識も必要です(これにはコードを読み、理解することが含まれます)。

非公式の免責事項

私は独学のプログラマーにすぎないため、コードには多くのエラーや「落とし穴」があることは間違いありません。そのため、このツールがシステムに害を及ぼさないという保証は一切しません。システムを壊さないよう努力しましたが、地獄への道は善意で舗装されています...

正式な免責事項

本資料は「現状のまま」提供され、明示または黙示を問わず、商品性、特定目的への適合性、または非侵害の黙示の保証を含むがこれに限定されない、いかなる種類の保証も行われません。一部の法域では黙示の保証の排除を認めていないため、上記の排除が適用されない場合があります。いかなる場合でも、私は、本資料の使用に起因する直接的、間接的、特別またはその他の結果的損害(利益損失、業務中断、情報処理システム上のプログラムやその他のデータの喪失などを含むがこれに限定されない)について、明示的にその可能性を通知された場合でも、いかなる当事者に対しても責任を負いません。

Paul Tew - 2020年3月

ツールをダウンロード