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 (т.е. ярлыков Windows)

SYNOPSIS

lifer — это инструмент командной строки для Windows или *nix, вдохновлённый техническим документом 'The Meaning of Link Files in Forensic Examinations' Гарри Парсонажа и доступным здесь. Он начинался как лёгкий инструмент, который я написал для извлечения определённой информации из файлов ссылок, чтобы помочь в расследованиях, которые я проводил, работая компьютерным криминалистом. Теперь я на пенсии, но я стремлюсь расширить его полезность и опубликовать, чтобы другие могли извлечь пользу.

Извлекаемая информация соответствует спецификации Microsoft Open Specification Document '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'.

УСТАНОВКА ИЗ РЕЛИЗА

Посетите Страницу релизов и выберите подходящий исполняемый файл для вашей машины из последнего релиза и скачайте его. Переименуйте исполняемый файл в 'lifer' (или 'lifer.exe' для Windows). Убедитесь, что он имеет правильные атрибуты для запуска как исполняемый файл, и либо поместите его в папку, содержащую файлы ссылок, которые вы хотите исследовать, либо добавьте его расположение в переменную 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

Если всё в порядке, то вы можете проверить, что lifer работает, протестировав его на файле, указанном в документе Microsoft, который я включил в состав клонированного вами git-репозитория и который должен находиться в каталоге ./Test/. Это можно сделать, выполнив команду:

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

Вы также можете проверить, что lifer работает с группой файлов ссылок в каталоге, выполнив команду:

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

Установите инструмент в ОС, выполнив команду:

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

Собрать lifer в Windows можно и без установки Visual Studio, но вам всё равно потребуется скачать и установить инструменты сборки Visual C++, доступные здесь. После установки lifer можно собрать в каталоге ./src/, выполнив команду:

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

БЛАГОДАРНОСТИ

'lifer' изначально был инструментом только для Linux/GNU, который не был по-настоящему переносим в Windows, пока я не нашёл решения основных препятствий: навигации по каталогу и разбора параметров командной строки так же, как это делает GNU. За это я глубоко признателен следующим двум проектам:

  1. dirent Kevlin Henney
  2. getopt Ludvik Jerabek

ИНТЕРПРЕТАЦИЯ ВЫВОДА

Пользователям рекомендуется прочитать технический документ перед тем, как придавать какое-либо значение результатам. Никакие результаты не должны приписываться этому инструменту без ПОЛНОГО понимания того, что представляет собой вывод; это особенно относится к вопросам факта для определения в суде. В таких случаях пользователь обязан полностью понимать оба вышеупомянутых документа, а также иметь всестороннее представление о том, как Windows и другие ОС обрабатывают создание, перемещение, удаление таких файлов. Также требуется рабочее понимание того, как 'lifer' интерпретировал и представил данные (для этого требуется прочитать и понять код).

НЕФОРМАЛЬНОЕ ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ

Я всего лишь программист-самоучка, поэтому, несомненно, в коде есть множество ошибок и 'подводных камней'. В связи с этим я НИКАК не гарантирую, что этот инструмент не навредит вашей системе. Я очень старался не сломать вашу машину, но дорога в ад вымощена благими намерениями...

ФОРМАЛЬНЫЙ ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ

ДАННЫЙ МАТЕРИАЛ ПРЕДОСТАВЛЯЕТСЯ «КАК ЕСТЬ» БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ, ЯВНЫХ ИЛИ ПОДРАЗУМЕВАЕМЫХ, ВКЛЮЧАЯ, НО НЕ ОГРАНИЧИВАЯСЬ, ПОДРАЗУМЕВАЕМЫМИ ГАРАНТИЯМИ КОММЕРЧЕСКОЙ ЦЕННОСТИ, ПРИГОДНОСТИ ДЛЯ ОПРЕДЕЛЕННОЙ ЦЕЛИ ИЛИ НЕНАРУШЕНИЯ ПРАВ. В НЕКОТОРЫХ ЮРИСДИКЦИЯХ НЕ ДОПУСКАЕТСЯ ИСКЛЮЧЕНИЕ ПОДРАЗУМЕВАЕМЫХ ГАРАНТИЙ, ПОЭТОМУ ВЫШЕУКАЗАННОЕ ИСКЛЮЧЕНИЕ МОЖЕТ НЕ ОТНОСИТЬСЯ К ВАМ. НИ В КОЕМ СЛУЧАЕ Я НЕ НЕСУ ОТВЕТСТВЕННОСТИ ПЕРЕД КАКОЙ-ЛИБО СТОРОНОЙ ЗА ПРЯМЫЕ, КОСВЕННЫЕ, ОСОБЫЕ ИЛИ ИНЫЕ ПОСЛЕДСТВЕННЫЕ УБЫТКИ, ВОЗНИКШИЕ В РЕЗУЛЬТАТЕ ИСПОЛЬЗОВАНИЯ ДАННОГО МАТЕРИАЛА, ВКЛЮЧАЯ, БЕЗ ОГРАНИЧЕНИЙ, ЛЮБУЮ ПОТЕРЮ ПРИБЫЛИ, ПРЕРЫВАНИЕ ДЕЛОВОЙ АКТИВНОСТИ, ПОТЕРЮ ПРОГРАММ ИЛИ ДРУГИХ ДАННЫХ В ВАШЕЙ ИНФОРМАЦИОННОЙ СИСТЕМЕ ИЛИ ИНЫМ ОБРАЗОМ, ДАЖЕ ЕСЛИ МЫ БЫЛИ ПРЯМО УВЕДОМЛЕНЫ О ВОЗМОЖНОСТИ ТАКОГО УЩЕРБА.

Paul Tew - Март 2020

Скачать инструмент