Pull to refresh

Comments 36

rhel/centos/fedora уже выкатили патч в репы. Нужно ставить.
А что делает exploit? Он что-то все-таки выполняет или просто роняет клиента? Запустил, получил на клиенте SegFault и все.
А код читать перед компилированием и запуском — не? :)
А что PoC уже нынче сходу компилируются?) Никакого уважения, понимаешь...
Кстати… То ли они прикрыли лавочку:

$  host foo.bar.google.com 8.8.8.8
Using domain server:
Name: 8.8.8.8
Address: 8.8.8.8#53
Aliases:

Host foo.bar.google.com not found: 3(NXDOMAIN)

То ли у меня что-то не так с glibc, но:

$  ./a.out
a.out: getaddrinfo: Name or service not known
то ли голову надо включить. в сишном исходнике компилируется обычная сишная программа, использующая системные вызовы. чтобы она завалилась надо запустить питонячий скрипт и прописать машину, где находится скрипт в резолверы.
Ну так ведь не интересно. Могли бы и на своём DNS поднять :)
Вообще, довольно странно перечислять отдельные уязвимые продукты в статье, потому что с glibc по умолчанию линкуются _все_ сишные программы при компиляции. Программы на других языках тоже часто линкуются с glibc, например в golang из glibc использовался резолвер в Linux (в версии 1.5 вроде бы используется pure-go резолвер по умолчанию, но есть опция для включения реализаци из glibc)
поправка: s/по умолчанию/на системах, где glibc используется как таковой/ ;)
Но не все программы используют getaddrinfo().
использование межсетевого экрана, который отклоняет UDP DNS-пакеты размером больше 512 байт

Есть готовые команды для iptables?
iptables -I INPUT -m length --length 513:0xffff -j DROP
забыли добавить --dport 53
а также второе правило, где --dport 1024:65535 --sport 53
ну, справедливости ради, я и -p udp забыл добавить :) Но как-то я всё же не сторонник медвежьих услуг с преподнесением копипасты на блюдечке. Я просто указал основное направление :)
забыли добавить --dport 53

Не нужно. Речь идет только про ответы. Так что достаточно --sport 53.
А предотвратить ответы от Вас, не?
Не. Зачем? Ответы от Вас могу быть, только если у Вас dns-сервер. И вредоносными они могут быть, если Ваш DNS-серер заменили на вредоносный. А для этого нужен рут. А руту Ваши правила в iptables не помеха.
Приятно слышать. Но как это относится к теме?
Это разве не сломает dnssec?
см ветку чуть выше
UFO just landed and posted this here
Решение для iptables:
iptables -N UDP-DNS-LIMIT
iptables -N TCP-DNS-LIMIT
iptables -A UDP-DNS-LIMIT -p udp --sport 53 -m length --length 0:512 -j ACCEPT
iptables -A UDP-DNS-LIMIT -p udp --sport 53 -j DROP
iptables -A TCP-DNS-LIMIT -p tcp --sport 53 -m length --length 0:1024 -j ACCEPT
iptables -A TCP-DNS-LIMIT -p tcp --sport 53 -j DROP
iptables -I INPUT -p tcp --sport 53 -j TCP-DNS-LIMIT
iptables -I INPUT -p udp --sport 53 -j UDP-DNS-LIMIT
iptables -I FORWARD -p tcp --sport 53 -j TCP-DNS-LIMIT
iptables -I FORWARD -p udp --sport 53 -j UDP-DNS-LIMIT

Не забываем про ip6tables:
ip6tables -N UDP-DNS-LIMIT
ip6tables -N TCP-DNS-LIMIT
ip6tables -A UDP-DNS-LIMIT -p udp --sport 53 -m length --length 0:512 -j ACCEPT
ip6tables -A UDP-DNS-LIMIT -p udp --sport 53 -j DROP
ip6tables -A TCP-DNS-LIMIT -p tcp --sport 53 -m length --length 0:1024 -j ACCEPT
ip6tables -A TCP-DNS-LIMIT -p tcp --sport 53 -j DROP
ip6tables -I INPUT -p tcp --sport 53 -j TCP-DNS-LIMIT
ip6tables -I INPUT -p udp --sport 53 -j UDP-DNS-LIMIT
ip6tables -I FORWARD -p tcp --sport 53 -j TCP-DNS-LIMIT
ip6tables -I FORWARD -p udp --sport 53 -j UDP-DNS-LIMIT
Я правильно понимаю, что если линковка динамическая, то достаточно установить пропатченную либу и программу даже не надо перезапускать?
Судя по всему Opera Software уже успела пропатчить настоящую Opera на Presto, очередное обновление спустя 2 года отсутствия их пришло:


Оперативно, молодцы! Могу продолжать пользоваться любимым браузером :)
Она же динамически линкована, и у меня обновление почему-то не пришло.

ldd opera
/usr/lib/opera$ ldd opera
    linux-gate.so.1 =>  (0xb7740000)
    libfreetype.so.6 => /usr/lib/i386-linux-gnu/libfreetype.so.6 (0xb766c000)
    libfontconfig.so.1 => /usr/lib/i386-linux-gnu/libfontconfig.so.1 (0xb7629000)
    libSM.so.6 => /usr/lib/i386-linux-gnu/libSM.so.6 (0xb761f000)
    libICE.so.6 => /usr/lib/i386-linux-gnu/libICE.so.6 (0xb7605000)
    libXext.so.6 => /usr/lib/i386-linux-gnu/libXext.so.6 (0xb75f0000)
    libXrender.so.1 => /usr/lib/i386-linux-gnu/libXrender.so.1 (0xb75e4000)
    libX11.so.6 => /usr/lib/i386-linux-gnu/libX11.so.6 (0xb7499000)
    libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 (0xb747b000)
    librt.so.1 => /lib/i386-linux-gnu/librt.so.1 (0xb7472000)
    libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xb746d000)
    libstdc++.so.6 => /usr/lib/i386-linux-gnu/libstdc++.so.6 (0xb72f6000)
    libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0xb72a9000)
    libgcc_s.so.1 => /lib/i386-linux-gnu/libgcc_s.so.1 (0xb728a000)
    libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xb70cf000)
    libz.so.1 => /lib/i386-linux-gnu/libz.so.1 (0xb70b4000)
    libpng12.so.0 => /lib/i386-linux-gnu/libpng12.so.0 (0xb7088000)
    libexpat.so.1 => /lib/i386-linux-gnu/libexpat.so.1 (0xb705f000)
    libuuid.so.1 => /lib/i386-linux-gnu/libuuid.so.1 (0xb7058000)
    libxcb.so.1 => /usr/lib/i386-linux-gnu/libxcb.so.1 (0xb7033000)
    /lib/ld-linux.so.2 (0x80078000)
    libXau.so.6 => /usr/lib/i386-linux-gnu/libXau.so.6 (0xb702f000)
    libXdmcp.so.6 => /usr/lib/i386-linux-gnu/libXdmcp.so.6 (0xb7028000)

Видимо под Windows это не так
А какое тогда имеет отношение win-версия Оперы к обсуждаемой теме? Думаете, там libc внутри?
Может использоваться конкретно этот код позаимствованный из LibC или одна из dll-ек может использовать.
Оперативность молодцов несколько ограничена: для мака последняя версия 12.16, выпущена три года назад
А, может, это новые хозяева китайцы привнесли свои "изменения"?
Слишком быстро — все таки покупка/продажа длительный процесс, тем более когда Heartbleed была обнаружена, та же история с оперативным патчем была.
Возможна ли эксплуатация через рекурсивные DNS-сервера? К примеру Unbound или PDNS? Т.е. я прописываю себе обратную зону с эксплойтом и делаю коннект на жертву на сервис, который делает PTR lookup. Пройдет ли эксплойт через рекурсинвные сервера опреатора, к которому подключена жертва и DNS оператора прописаны у жертвы.
Sign up to leave a comment.