-
Автор темы
- #1
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.

Пожалуйста, авторизуйтесь для просмотра ссылки.
критическая уязвимость. Ее эксплуатация позволяет злоумышленнику получить корректную подпись для произвольных данных и с помощью этой подписи вносить в него изменения или получать список всех DNS-записей сервера (dns zone transfer attack).В чем проблема
Уязвимость CVE-2017-3143 обнаружена в реализации протокола аутентификации для BIND DNS под названием TSIG. Также протокол TSIG используется рядом других DNS-сервисов вроде PowerDNS, NSD и Knot DNS.
Исследователи компании Synacktiv обнаружили ошибку в обработке TSIG-записей, позволяющую злоумышленнику, который знает название ключа (key name) преодолевать механизм защиты операций обновления зоны, оповещения и трансфера зон.
Если отправить TSIG-дайджест неправильной длины (больше той, что должна быть при используемом алгоритме хеширования), сервер, вместо пустой подписи, вернет данные из запроса злоумышленника с корректной подписью. В результате атакующий получает возможность получить правильную подпись для произвольных поддельных данных и преодолеть аутентификацию TSIG. Уязвимость может быть использована злоумышленниками для изменения данных или получения доступа к файлу с DNS-зонами.
Согласно RFC 2845, ответный дайджест вычисляется от трех полей из запроса:
- дайджест (MAC) из запроса вместе с полем длины;
- записи из запроса (обновления), но без записи TSIG;
- сама запись TSIG, но без дайджеста.
Таким образом, эксплуатация уязвимости происходит в несколько этапов:
- Злоумышленник посылает DNS запрос с обновлением зон и записью SOA, где вместо дайджеста помещает данные RR записей, которые он намерен вставить в базу сервера. Например, запись TXT в одну из подконтрольных серверу зон с текстом “Injected”. Длина такого дайджеста должна быть больше той, которая подразумевается используемым алгоритмом хеширования, например, с длинной больше 32 байт для алгоритма HMAC-SHA256.
- Сервер, вместо ответа с пустым полем MAC (дайджест) в записи TSIG, возвращает данные от атакующего, включая запрос с обновлением зон и запись TXT, подписанные секретным ключом сервера.
- Используя полученную подпись, злоумышленник посылает тот же запрос с обновлением зон, что и на шаге 1, но дополнительные записи, вместо поля MAC записи TSIG, находятся в секции Zones после записи SOA, а поле MAC теперь содержит корректный дайджест из шага 2. Для эксплуатации, значение поля Time Signed записей TSIG должно быть одинаковым, чтобы при проверке сигнатуры уязвимый сервер использовал одни и те же данные.
- Сервер, после успешной проверки присланного запроса, применяет данные к базе, о чем можно узнать из лога:
Согласно опубликованной исследователями информации, наличие уязвимости подтверждено для следующих версий BIND:14-Jun-2017 07:48:55.003 client 172.17.42.1#50445/key tsig_key: updating zone 'example.com/IN': adding an RR at 'i.can.inject.records.in.the.zone.example.com' TXT "injected"
По данным компании ISC, под лицензией которой распространяется программное обеспечение BIND, также уязвимы версии:
- BIND 9.9.10
- BIND 9.10.5
- BIND 9.11.1
- с 9.4.0 до 9.8.8
- с 9.9.0 до 9.9.10P1
- с 9.10.0 до 9.10.5P1
- с 9.11.0 до 9.11.1P1
- с 9.9.3S1 до 9.9.10S2
- с 9.10.5S1 до 9.10.5S2
Как защититься
Специалисты ISC опубликовали
Пожалуйста, авторизуйтесь для просмотра ссылки.
(кликабельно) для устранения описанной ошибки безопасности. Кроме того, эксперты Positive Technologies создали сигнатуру для IDS Suricata, которая позволяет выявлять и предотвращать попытки эксплуатации уязвимости CVE-2017-3143 по сети, в архиве также пример трафика при эксплуатации данной уязвимости:
Пожалуйста, авторизуйтесь для просмотра ссылки.
(кликабельно)