Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
dinkleberry — Исправьте ваше устройство D-Link, затронутое уязвимостью CVE-2024-3272 | Kitploit
Инструменты/GitHubGitHub/aliask/dinkleberry
Безопасность встроенных системБезопасность IoTАнализ уязвимостейЭксплуатацияТестирование на ПроникновениеБезопасность оборудования и IoTАнализ Бинарных Файлов
GitHubaliask/dinkleberry

dinkleberry

Исправьте ваше устройство D-Link, затронутое уязвимостью CVE-2024-3272

Репозиторий
31 год назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

Dinkleberry 🫐

Вы один из тех 92,000+ человек1, кто застрял с D-Link NAS, уязвимым к CVE-2024-3272, и патча не видно?

Этот инструмент использует сам эксплойт, чтобы пропатчить уязвимое устройство.

1: См. оригинальное раскрытие в ссылках

Что делает

Dinkleberry выполнит команду, чтобы заменить уязвимый файл nas_sharing.cgi пропатченной версией — перезаписав вызов system() командами NOP.

Папка /usr/local/modules (где находится файл) доступна только для чтения, поэтому вместо этого создаётся копия в /usr/local/config, а симлинк в /var/www/cgi-bin обновляется, чтобы указывать на более безопасную версию.

Я решил заменить только сам вызов system() на NOP, чтобы команда по-прежнему отвечала как обычно, просто без реального выполнения.

[!NOTE] Файловая система перезагружается из флеш-памяти при загрузке. Применение этого патча будет работать только до перезагрузки устройства. Если вы хотите более постоянное исправление, придётся перепрошить прошивку — возможно, с помощью Debian.

Использование

root@kitploit:~
aliask:~/git/dinkleberry$ python3 ./src/main.py -h                                                                                                                   10:01:02
usage: dinkleberry [-h] [--telnet] [--kill-telnet] [--test] [--verbose] target

positional arguments:
  target         Target NAS to patch

options:
  -h, --help     show this help message and exit
  --telnet       Start telnet server
  --kill-telnet  Stop telnet server
  --test         Test if device is vulnerable
  --verbose, -v  Set this to print debug messages

Если не указаны дополнительные флаги, скрипт выполняет патчинг.

Telnet

Если вы просто хотите покопаться в устройстве, используйте команду --telnet, которая запускает telnet-сессию на порту 23.

Это до смешного небезопасно, но ваше устройство и так до смешного небезопасно, так что почему бы не воспользоваться удобной оболочкой.

Отказ от ответственности

[!CAUTION] Используйте этот инструмент на свой страх и риск. Он изменяет реальное программное обеспечение устройства.

Я не несу ответственности за:

  • Прекращение работы вашего устройства
  • Потерю данных, хранящихся на NAS
  • Возгорание
  • Расстройство TA, который с удовольствием эксплуатировал ваше устройство

Напоследок

В ходе анализа бинарных файлов nas_sharing.cgi и libsmbif.so быстро стало понятно, что программное обеспечение на этом устройстве чрезвычайно уязвимо. Настолько, что его невозможно поддерживать — только переписывать с нуля.

Только в nas_sharing.cgi около 80 вызовов system() — и многие из них имеют путь для пользовательского ввода. Я не стал анализировать их все в поисках дополнительных дыр для патча, но вот один пример уровня S:

root@kitploit:~
/*  Why use system() instead of libc fopen/fwrite?
    What if you want to write a long string or your filename is long?
    Painfully obvious command injection playground 🤦 */
void append_to_file(const char* string, const char* file) {
  char s_cmd[1024];
  sprintf(s_cmd, "echo %s >> %s", string, file);
  system(s_cmd);
  return;
}

Помимо всех этих безумных вызовов system, здесь переполнений буфера больше, чем можно палкой перетыкать, — а я могу перетыкать много палок.

Этот CVE есть в списке KEV от CISA — Если у вас есть такое устройство в интернете, отключите его от сети. Прямо сейчас.

Возможно, стоит даже последовать совету D-Link и заменить устройство с истёкшим сроком поддержки (EOL). Но я бы точно не стал покупать продукцию D-Link.

Ссылки

  • Оригинальное раскрытие: https://github.com/netsecfish/dlink
  • Страница NVD: https://nvd.nist.gov/vuln/detail/CVE-2024-3272
Скачать инструмент