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
lifer — Untersucher für Windows-Verknüpfungsdateien (Shortcuts) | Kitploit
Tools/GitHubGitHub/paul-tew/lifer
ForensikInformationsbeschaffungDigitale ForensikBinäranalyse
GitHubpaul-tew/lifer

lifer

Untersucher für Windows-Verknüpfungsdateien (Shortcuts)

Repository anzeigen
689vor 2 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

lifer

Ein forensisches Werkzeug für die Untersuchung von Windows-Verknüpfungsdateien (d.h. Windows-Verknüpfungen)

ÜBERSICHT

'lifer' ist ein Windows- oder *nix-Kommandozeilenwerkzeug, inspiriert vom Whitepaper 'The Meaning of Link Files in Forensic Examinations' von Harry Parsonage, erhältlich hier. Es begann als leichtgewichtiges Werkzeug, das ich schrieb, um bestimmte Informationen aus Verknüpfungsdateien zu extrahieren und damit bei Ermittlungen zu helfen, die ich während meiner Arbeit als Computerforensiker durchführte. Jetzt bin ich im Ruhestand, aber ich möchte seinen Nutzen erweitern und es veröffentlichen, damit andere davon profitieren können.

Die extrahierten Informationen entsprechen dem Microsoft Open Specification Document 'MS-SHLLNK', das online hier zu finden ist. Zum Zeitpunkt der Erstellung sind die meisten Teile der Spezifikation Version 4.0 implementiert. Ich hoffe, in Zukunft das Parsen von ungeöffneten Jump-List-Dateien zu implementieren.

BEISPIELVERWENDUNG

Details zu den Dateien im Test-Verzeichnis und deren Verwendung finden Sie in der Datei '.\Test\Tests.txt'. Im Folgenden eine kurze Übersicht...

Nach der Installation des Werkzeugs öffnen Sie eine Kommandozeile (z.B. bash oder Powershell) und geben Sie aus dem Verzeichnis './lifer/src' Folgendes ein:

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

Dies sollte folgende Ausgabe liefern:

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

HINWEIS: Der obige Abschnitt mit dem Titel '{OPERATING SYSTEM (stat) DATA}' wird unterschiedliche Daten haben, da diese von den Daten abhängen, an denen Sie diese Verknüpfungsdatei auf Ihrem System installiert und darauf zugegriffen haben. Die eingebetteten Daten bleiben jedoch gleich.

Eine ausführlichere Ausgabe (mit genaueren Zeitstempeln) erhalten Sie, indem Sie die Option '-s' weglassen.

Die meisten Details über eine Verknüpfungsdatei erhalten Sie mit der Option '-i', die auch bekannte Details zu IDList-Objekten ausgibt. Diese Option ist nicht mit der Option '-s' kompatibel.

Alle Verknüpfungsdateien in einem Verzeichnis (Ordner) können durch einfaches Übergeben des Verzeichnisnamens geparst werden:

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

(Der Kürze halber wird die Ausgabe nicht gezeigt).

Die nützlichste Ausgabe für eine Reihe von Verknüpfungsdateien kann erstellt werden, indem die Ausgabe als tabulator- (oder komma-) getrennte Liste in eine Datei umgeleitet wird, die dann zur Analyse in eine Tabelle importiert werden kann. Dies kann wie folgt erreicht werden:

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

oder

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

für eine Datei, bei der einige der überflüssigen und uninteressanten Daten geschwärzt wurden.

WARNUNG ZUR KOMMA-GETRENNTEN AUSGABE!!

Zeichenketten in Verknüpfungsdateien können manchmal Kommas enthalten. Da dies einen Konflikt mit dem Feldtrenner verursacht, wurden alle Kommas in Zeichenketten durch Semikolons ersetzt (d.h. ',' durch ';' ersetzt). Dies gilt nur für die Option '-o csv' und nicht für die Standardoptionen '-o txt', '-o tsv' und '-o xml'.

INSTALLATION AUS EINER RELEASE

Besuchen Sie die Releases-Seite und wählen Sie die passende ausführbare Datei für Ihren Rechner aus der neuesten Version aus und laden Sie sie herunter. Benennen Sie die ausführbare Datei in 'lifer' (oder 'lifer.exe' für Windows) um. Stellen Sie sicher, dass sie die richtigen Attribute hat, um als ausführbare Datei zu laufen, und legen Sie sie entweder in einem Ordner mit den zu untersuchenden Verknüpfungsdateien ab oder fügen Sie den Pfad zu Ihrer PATH-Variable hinzu.

INSTALLATION AUS DEM QUELLCODE

Als erstes stellen Sie sicher, dass Git auf Ihrem Rechner installiert ist. Wechseln Sie in einer Kommandozeile in Ihr gewünschtes Projektstammverzeichnis und geben Sie den Befehl ein:

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

Ein neues Verzeichnis mit dem Namen 'lifer' wird erstellt.

LINUX-INSTALLATION (und andere *nix-Plattformen)

(Das könnte auch für Mac-Installationen funktionieren, aber ich habe nicht das nötige Geld, um es sicher zu testen...) Da dieses Werkzeug recht einfach ist, sind die Abhängigkeiten minimal; stellen Sie sicher, dass der 'gcc'-Compiler und die entsprechenden 'libc'-Entwicklungsbibliotheken installiert sind, das ist alles. Starten Sie ein Kommandozeilen-Terminal und navigieren Sie zum Verzeichnis ./lifer/src. Geben Sie den Befehl ein:

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

Falls keine Warnungen oder Fehler aufgetreten sind, sollte sich nun eine ausführbare Datei 'lifer' im Verzeichnis befinden. Sie können dies überprüfen, indem Sie den Befehl eingeben:

root@kitploit:~
ls -la

Wenn alles in Ordnung ist, können Sie testen, ob lifer funktioniert, indem Sie es mit der im Microsoft-Dokument angegebenen Datei testen, die ich als Teil des von Ihnen geklonten Git-Repositorys hinzugefügt habe und die sich im Verzeichnis ./Test/ befinden sollte. Dies können Sie mit dem Befehl tun:

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

Sie können auch testen, ob lifer mit einer Reihe von Verknüpfungsdateien in einem Verzeichnis funktioniert, indem Sie den Befehl eingeben:

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

Installieren Sie das Werkzeug im Betriebssystem mit dem Befehl:

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

Dies ermöglicht Ihnen, lifer überall auf Ihrem System zu verwenden, ohne das Verzeichnispräfix angeben zu müssen (z.B. lifer ./Test/Test.lnk anstelle von ./lifer ./Test/Test.lnk).

WINDOWS-INSTALLATION

Das lifer GitHub-Projekt wird komplett mit einer Visual Studio 2017-Projektmappe geliefert, daher ist der einfachste Weg, eine ausführbare Windows-Datei zu erstellen, zuerst Visual Studio 2017 zu installieren. Es gibt eine kostenlose Version (bekannt als 'Community'-Version) verfügbar hier. Sobald Visual Studio installiert ist:

  • Klicken Sie auf Datei->Öffnen->Projekt/Projektmappe und navigieren Sie zur Datei lifer.sln, um die Projektmappe in Visual Studio zu laden.
  • Legen Sie auf der Standardsymbolleiste die Projektmappenkonfigurationsoptionen fest, die Ihrem Rechner und Ihren Vorlieben entsprechen (z.B. verwende ich 'x64' und 'Debug').
  • Erstellen Sie die Projektmappe über das Menü 'Build' oder verwenden Sie einfach die Tastenkombination: Strg+Umschalt+B
  • Falls keine Fehler aufgetreten sind, sollten Sie eine ausführbare Datei 'lifer.exe' im entsprechenden Unterordner Ihres Projekts haben.
  • An diesem Punkt öffne ich normalerweise ein Powershell-Terminal und navigiere zu dem Ordner mit der ausführbaren Datei, was bei mir mit dem Befehl geschieht:
root@kitploit:~
cd "F:\\lifer\src\x64\Debug\"
  • Dann teste ich die ausführbare Datei mit dem Befehl:
root@kitploit:~
.\lifer.exe ..\..\Test\Test1.lnk

Es ist möglich, lifer unter Windows ohne Installation von Visual Studio zu erstellen, aber Sie müssen dennoch die Visual C++ Build Tools herunterladen und installieren, verfügbar hier. Nach der Installation kann lifer im Verzeichnis ./src/ mit dem folgenden Befehl erstellt werden:

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

DANKSAGUNGEN

'lifer' war ursprünglich ein reines Linux/GNU-Werkzeug, das erst portabel für Windows wurde, nachdem ich Lösungen für die Hauptprobleme gefunden hatte: das Navigieren in einem Verzeichnis und das Parsen der Kommandozeilenoptionen in der gleichen Weise wie GNU. Zu diesem Zweck bin ich den folgenden beiden Projekten zutiefst dankbar:

  1. dirent Kevlin Henney
  2. getopt Ludvik Jerabek

INTERPRETATION DER AUSGABE

Benutzer werden ermutigt, das Whitepaper zu lesen, bevor sie den Ergebnissen eine Bedeutung beimessen. Keinen Ergebnissen sollte eine Bedeutung zugeschrieben werden, ohne ein vollständiges Verständnis davon zu haben, was die Ausgabe darstellt; dies gilt insbesondere für Tatsachenfeststellungen vor Gericht. In solchen Fällen obliegt es dem Benutzer, beide genannten Dokumente vollständig zu verstehen und ein umfassendes Verständnis davon zu haben, wie Windows und andere Betriebssysteme die Erstellung, Verschiebung und Löschung solcher Dateien behandeln. Ebenso sind praktische Kenntnisse darüber erforderlich, wie 'lifer' die Daten interpretiert und präsentiert hat (dies erfordert das Lesen und Verstehen des Codes).

INFORMELLER HAFTUNGSAUSSCHLUSS

Ich bin nur ein Autodidakt, daher gibt es zweifellos jede Menge Fehler und Überraschungen im Code. In diesem Sinne gebe ich absolut KEINE Versprechungen, dass dieses Werkzeug Ihr System nicht schädigt. Ich habe mich sehr bemüht, Ihren Rechner nicht zu beschädigen, aber der Weg zur Hölle ist mit guten Vorsätzen gepflastert...

FORMELLER HAFTUNGSAUSSCHLUSS

DIESES MATERIAL WIRD "WIE BESEHEN" OHNE JEGLICHE GEWÄHRLEISTUNG ZUR VERFÜGUNG GESTELLT, OB AUSDRÜCKLICH ODER KONKLUDENT, EINSCHLIESSLICH, ABER NICHT BESCHRÄNKT AUF DIE KONKLUDENTEN GEWÄHRLEISTUNGEN DER MARKTGÄNGIGKEIT, DER EIGNUNG FÜR EINEN BESTIMMTEN ZWECK ODER DER NICHTVERLETZUNG VON RECHTEN DRITTER. EINIGE RECHTSORDNUNGEN ERLAUBEN DEN AUSSCHLUSS KONKLUDENTER GEWÄHRLEISTUNGEN NICHT, DAHER GILT DER OBIGE AUSSCHLUSS MÖGLICHERWEISE NICHT FÜR SIE. IN KEINEM FALL WERDE ICH GEGENÜBER EINER PARTEI FÜR DIREKTE, INDIREKTE, BESONDERE ODER ANDERE FOLGESCHÄDEN HAFTEN, DIE SICH AUS DER NUTZUNG DIESES MATERIALS ERGEBEN, EINSCHLIESSLICH, ABER NICHT BESCHRÄNKT AUF ENTGANGENE GEWINNE, GESCHÄFTSUNTERBRECHUNGEN, VERLUST VON PROGRAMMEN ODER ANDEREN DATEN AUF IHREM INFORMATIONSVERARBEITUNGSSYSTEM ODER ANDERWEITIG, SELBST WENN WIR AUSDRÜCKLICH AUF DIE MÖGLICHKEIT SOLCHER SCHÄDEN HINGEWIESEN WURDEN.

Paul Tew - März 2020

Tool herunterladen