Bad-PDF — атака посредством зараженного PDF файла Для осуществления атаки достаточно сгенерировать и отправить PDF файл цели. Bad-PDF Сегодня разберемся с относительной новой утилитой Bad-PDF от Deepzec и ее возможность украсть данные NTLM и хеши оконных приложений. Пока он не обнаруживается большинством антивирусов. Код размещен на ГитХабе примерно 10 дней назад. По мнению исследователей Check Point, вместо того, чтобы использовать уязвимость в файлах Microsoft Word или обработку RTF-файлов Outlook, злоумышленники используют функцию, позволяющую встраивать удаленные ********* и файлы в файл PDF. Затем злоумышленник может использовать это, чтобы вставлять вредоносный контент в PDF-файл, поэтому, когда этот PDF-файл открывается, объект автоматически течет учетные данные в виде хешей NTLM. Как провести атаку? Запускаем стандартные команды. Я проводил тестирование на Kali Linux: # git clone [URL]https://github.com/deepzec/Bad-Pdf.git[/URL]# cd Bad-Pdf# chmod +x badpdf.py# python badpdf.py Код # git clone [URL]https://github.com/deepzec/Bad-Pdf.git[/URL]# cd Bad-Pdf# chmod +x badpdf.py# python badpdf.py После этого откроется окно с диалоговым меню. Для работы нам нужно знать IP нашей цели, интерфейс и название файла. После запуска нам необходимо ввести путь респондера, если он не определятся автоматически: /usr/sbin/responder // 1 Код /usr/sbin/responder // 1 Далее указываем IP-адресс (2), название файла (3), и выбираем интерфейс(4). После этого запускается процесс. Если у вас возникают ошибки, возможно указан неправильно интерфейс или его лучше вписать ручками. Bad-Pdf Если все получилось, переходим к следующему этапу. Нам нужно доставить файл нашей цели. Он находиться в корне папки Bad-Pdf. Это можно сделать через почту, социальные сети или другим способом. Я воспользовался почтой и отправил потенциальной цели. Загружаем файл на почту и отправляем Далее ждем запуска. После успешной атаки сразу получаем NTML данные. Примем можно увидеть на скриншоте: Успешное проведение атаки Таким образом, после успешного завершения мы получаем данные в NTLMv2. Как можно применять данную уязвимость? pth-winexe Дело в том, что эта атака более актуальная в корпоративных сетях. В двух версиях протокола NTLM есть большая уязвимость. Для аутентификации достаточно знать только хеш пользователя. Таким образом, получив хеш как показано выше, можно пользоваться всеми преимуществами сети скомпроментированного юзера. Данная методолгия называеться Pass The Hash и первый раз применялась в 1997 году. Самый популярный для реализации этой таки набор утилит Pass-the-Hash Toolkit. Остановимся детальней на pth-winexe, который есть с коробки в Kali Linux. Получения доступа с командной строкой FreeRDP Еще одна утилита из набора — FreeRDP. Это консольный клиент удаленного рабочего стола (Remote Desktop Protocol). Одна из особенностей клиента — это возможность использовать хэша пароля, вместо самого пароля. Пример команды: xfreerdp /d:win2012/u:offcec/pth:8846F7EAEE8FB117AD06BDD830B7586C /v:192.168.0.1 где после /d: — имя домена, после /u: — имя пользователя, после /pth: — хеш, после /v: — IP сервера. Код xfreerdp /d:win2012/u:offcec/pth:8846F7EAEE8FB117AD06BDD830B7586C /v:192.168.0.1 где после /d: — имя домена, после /u: — имя пользователя, после /pth: — хеш, после /v: — IP сервера. Доступ с GUI посредством FreeRDP Windows vs Microsoft Регистрация аккаунте при создание учетной записи Windows Также современные версии операционной системы Windows предлагают вам создать аккаунт Microsoft. Понимаете цепочку? Что получив возможность авториpоваться в вашей локальной учетной записи с помощью утилиты Bad-Pdf можно пойти дальше упражняться и получить доступ к почте, Skype и других сервисах Microsoft, которые будут использоваться. Поэтому данная уязвимость очень интересная и имеет большой круг применения. Заключение Лучше несколько раз проверять ссылки и файлы, которые вы открываете. Это очень важно, так как одно такое открытие может предоставить все данные для хакера. Используйте виртуальные машины, а также шифрование данных во всех случаях. В этом случае достаточно отключить возможность NTLM соединения в групповой политике.