The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Уязвимость в CUPS оказалась пригодна для усиления трафика при DDoS-атаках

07.10.2024 11:28

Группа, отвечающая за безопасность сети доставки контента Akamai, выявила дополнительный вектор атаки на процесс cups-browsed, помимо его использования в качестве одного из звеньев в эксплоите, приводящем к выполнению кода в системе. Через отправку запросов к процессу cups-browsed, без ограничений принимающему соединения на 631 порту, можно добиться отправки данных на другой хост, размер которых будет превышать исходный запрос до 600 раз. Для сравнения коэффициент усиления для memcached может достигать 10-50 тысяч раз, NTP - 556 раз, DNS - 28-54, RIPv2 - 21, SNMPv2 - 6.

Подобная особенность позволяет использовать системы с cups-browsed в качестве усилителя трафика при осуществлении DDoS-атак. Метод атаки с использованием усилителя трафика основан на том, что запросы с участвующих в DDoS-атаке компьютеров направляются не напрямую на систему жертвы, а через промежуточный усилитель трафика. В ходе сканирования сети было выявлено более 198 тысяч уязвимых систем с CUPS, из которых 34% (58 тысяч систем) оказались пригодны для усиления трафика в DDoS-атаке.

В отличии от методов усиления трафика, требующих отправки UDP-пакетов с подставным обратным адресом жертвы, использование cups-browsed позволяет обойтись без спуфинга. Cервис cups-browsed имеет штатную возможность загрузки PPD-файла с произвольного сервера в ответ на неавторизированный внешний запрос, в ходе которого клиент передаёт URL, а cups-browsed пытается загрузить PPD-файл с указанного сервера.

При отправке запроса на загрузку PPD-файла в cups-browsed можно добиться прикрепление к значению "IPP URI" добавочного заполнения, которое может достигать 989 байт. При этом в инициируемом cups-browsed обращении значение "IPP URI" дублируется - один раз в HTTP-заголовке, а второй раз внутри тела POST-запроса, а запросы циклично повторяются после неудачных попыток загрузки и возвращения сервером 404 кода ошибки.

На 62% (35900) проверенных системах cups-browsed отправил как минимум 10 TCP/IPP/HTTP-запросов к атакуемой системе в ответ на один исходный UDP-запрос. В среднем для 58000 подверженных проблеме систем число повторных обращений составило 45. При оптимальном сценарии отправка одного 30-байтового исходного запроса при 45 повторных попытках загрузки приведёт к отправке на целевую систему 18000 байт данных, т.е. будет наблюдаться усиление трафика в 600 раз. В наихудшем сценарии усиление составляет 108 раз.

Дополнительно можно отметить об отражении компанией Cloudflare рекордной DDoS-атаки, в результате которой на систему жертвы был направлен поток в 3.8 терабит в секунду (2.14 миллиардов пакетов в секунду). Отмечается, что атака была организована с использованием большого числа скомпрометированных домашних маршрутизаторов Asus и Mikrotik, а также DVR-устройств и web-серверов, взломанных среди прочего с использованием относительно свежих уязвимостей.

  1. Главная ссылка к новости (https://www.openwall.com/lists...)
  2. OpenNews: Удалённо эксплуатируемые уязвимости в сервере печати CUPS
  3. OpenNews: Уязвимость в cups-filters, позволяющая выполнить код на сервере
  4. OpenNews: Атака на некоторые протоколы на основе UDP, приводящая к зацикливанию обмена пакетами
  5. OpenNews: Уязвимость в UPnP, подходящая для усиления DDoS-атак и сканирования внутренней сети
  6. OpenNews: Уязвимость в протоколе HTTP/2, задействованная в крупнейшей DDoS-атаке
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/62008-cups
Ключевые слова: cups, ddos
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (61) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 13:17, 07/10/2024 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • +/
     

     ....ответы скрыты (8)

  • 1.2, Аноним (-), 13:18, 07/10/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > т.е. будет наблюдаться усиление трафика в 600 раз.
    > В наихудшем сценарии усиление составляет 108 раз.

    В наихудшем для кого?))

     
     
  • 2.4, Аноним (12), 13:21, 07/10/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    В наихудшем для компании Майки софт. Решения которого показали свою полную безопасность несмотря на все визги про вирусы для шинды.  
     
     
  • 3.17, Аноним (12), 13:58, 07/10/2024 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 3.18, Аноним (18), 14:52, 07/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Майки софт. Решения которого показали свою полную безопасность

    Для атакующих?

     
  • 3.37, Ivan_83 (ok), 21:56, 07/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Точно, они спуллер печати как сломали так и не могли починить года два.
     

  • 1.13, mos87 (ok), 13:54, 07/10/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Зачем выставлять browsed в Интернет?
     
     
  • 2.15, Аноним (12), 13:56, 07/10/2024 [^] [^^] [^^^] [ответить]  
  • –4 +/
    Зачем не выставлять, когда можно выставить?
     

  • 1.19, Аноним (-), 15:17, 07/10/2024 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • +/
     
  • 1.20, Аноним (20), 15:39, 07/10/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Вот так маленький кусочек криво написанного кода в утилите которой "оказваются пользуются почти все" может попортить настроение куче народу, у которых сайты не будут грузиться.
     
     
  • 2.21, Массоны Рептилоиды (?), 16:13, 07/10/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Вот так маленький кусочек криво написанного кода
    В утилите которой "оказваются пользуются почти все"
    Может попортить настроение куче народа,
    У которых сайты будут в 3.14зде.
     
     
  • 3.28, Та самая звезда (?), 17:40, 07/10/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Вот так малюсенький кусочек кривокода
    Той утилиты, что юзается везде,
    Расстроить может множество народа,
    Загрузка сайтов чьих пройдётся по звезде.
     
     
  • 4.46, Омномном анон (?), 23:41, 07/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Шикарно!
     

  • 1.22, Аноним (22), 16:37, 07/10/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Интересно, что от такого рода уязвимостей безопастные языки не помогут. Помогут только ИИ-инструменты проверки безопасности кода, которые сейчас быстро развиваются.
     
     
  • 2.25, Аноним (-), 17:13, 07/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Да и нет.
    Если программисту приходится писать такие конструкции
    else if ((model = strchr(make, ' ')) != NULL)
        *model++ = '\0';
    то значит что рабоьа со строками в языке сделана на отшибись.

    И тут не нужен какой-то "безопастный язык".
    Тут просто достаточно хорошего, с нормальной std в которой сплит строки не нужно велосипедить в каждом втором проекте.

    ps в ИИ не верю, тк его тренируют на кодах которые сейчас существуют.
    Думаю он так же будет кастовать все что угодно в void* и класть на типы)

     
     
  • 3.26, Аноним (26), 17:20, 07/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Не надо путать язык со стандартной библиотекой.
    И, да, strtok_s.
     
  • 3.38, Ivan_83 (ok), 22:00, 07/10/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Сколько вам повторять: в С нет строк, не считая констант.
    Приняв эту парадигму всё встаёт на свои места и по сети приходит не строка а буффер с данными, который надо обрабатывать юзая memchr, memmem и подобное.
     
     
  • 4.41, Аноним (41), 22:36, 07/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Открываем так называемый стандарт.
    Пункт 7.21.1 String function conventions
    Например


    The strcpy function copies the string pointed to by s2 (including the terminating null
    character) into the array pointed to by s1.


    или


    The strcat function appends a copy of the string pointed to by s2 (including the
    terminating null character) to the end of the string pointed to by s1.

    Чего тебе не ясно в термине the string ?

    Так, нехитрым способом мы убедились, что в СИ есть stringʼи, просто, как и все прочее, они сделаны через одно место.
    Я уже молчу про такое ненужное в современном мире как UTF-8))

     
     
  • 5.49, Ivan_83 (ok), 23:57, 07/10/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Клал я с прибором на то что кто то называет стандартом. )
    Любой кто в С использует "строковые" функции на данных полученных извне - ССЗБ.
    К любым данным нужно относится как к куску памяти с непредсказуемым содержимым, соотвественно всегда нужно отдельно хранить размер этого куска памяти и во все функции обработки передавать этот размер.

    Да, так писать дольше и код получается больше.
    Но любители sscanf() и прочей хрени из библиотеки чаще генерируют код который потом приходится править.

     
     
  • 6.51, Аноним (-), 00:09, 08/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Клал я с прибором на то что кто то называет стандартом. )

    Я от абсолютно не удивлен))

    > Да, так писать дольше и код получается больше.
    > Но любители sscanf() и прочей хрени из библиотеки чаще генерируют код который потом приходится править.

    Нужно больше велосипедов и костылей богу велосипедов и костылей.
    А потом самописный сплит в ядре отстреливает обе ноги.

     
     
  • 7.59, Ivan_83 (ok), 02:22, 08/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    А давай я расскажу тебе на ночь историю, про то как я положил болт на RFC и написал программу которая разошлась по бывшему СНГ, ну чтобы ты спал как младденец (плакал и писался :) ).

    Есть такой протокол - DHCP, и по нему есть пачка RFC.
    Так вот на основные можно положить болт и выдавать адреса как хочется а не как там написано.
    И это прекрасно работает, возможно и твой IP получен от моего поделия.

    А есть ещё более страшная история.
    Она про криптографию.
    Мою поделку для ECDSA/GOST взяли в сертифицированный российский линух.
    Да, я вот взял и забашлял крипту на сях: Куяк-муяк и готово.
    Представь только, примерно 5к строк на С от меня.

     
     
  • 8.67, Аноним (-), 12:16, 08/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Охотно верю Люди же не хотят разбираться, им нужно от прям щас, а там хоть пото... большой текст свёрнут, показать
     
     
  • 9.74, Ivan_83 (ok), 22:26, 08/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Так у людей то этот non RFC compliant DHCP сервер работает годами на сотнях тыщ ... текст свёрнут, показать
     
  • 8.68, Анонимусс (-), 12:24, 08/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Зачем ты всем рассказываешь просто свой быdлoкодинг Это такой каминг-аут Типа ... текст свёрнут, показать
     
     
  • 9.75, Ivan_83 (ok), 22:38, 08/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Ребята, вы похоже к ИТ индустрии вообще никак не относитесь Мой код уверенно ка... текст свёрнут, показать
     
  • 5.55, Аноним (55), 01:58, 08/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    >Я уже молчу про такое ненужное в современном мире как UTF-8

    UTF8 сейчас везде как стандарт по дефолту, все интернеты на нем. С каких пор он стал ненужен?

     
     
  • 6.70, Аноним (-), 13:13, 08/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > С каких пор он стал ненужен?

    Ты совсем не умеешь в сарказм?
    Даже все скобочки в конце поставили...
    Но нет, все равно найдется тот, до которого не доходит!

     
  • 5.73, _ (??), 19:02, 08/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    >Открываем так называемый стандарт. Пункт 7.21.1 String function conventions
    >Например "The strcpy function"

    И видим что __все__ строковые функции сидят в стандартной библиотеке, а не в описании самого языка! Так? Так!
    Не знаю зачем тебе вбрасывать и тупить, но в Си реально нету строк.
    Есть __вариант__ их имплементации среди battery included standard library ...

    И да Ivan_83 - прав. Но ведь все нормальные люди уже давно топят за то что "оставьте Си для ведра и драйверов ... ну и для лютого байтодроча :) Всё остальное пишите на всём остальном!"

    И ваш кислотно-щелочной баланс ... (С)  :)

     
  • 3.40, Ivan_83 (ok), 22:06, 07/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    А всё и так есть void*, зачем вы сопротивляетесь и придумываете какие то типы?)
     
     
  • 4.44, Аноним (-), 22:50, 07/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Ты наверное в свободное время пишешь на JS?
    "b" + "a" + +"a" + "a"; // -> 'baNaNa'
    Или складываешь арбузы с крокодилами, ну а х-ли, они оба зеленые)

    Я уже молчу про то, что использование для enum интов приводит к регулярным сравнением
    enum_AAAA c enum_BBB.

     
     
  • 5.48, Ivan_83 (ok), 23:52, 07/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Я пишу на С, луа и иногда всяком разном.
    На js у меня только плагин к rutorrent - hostnames, больше я ничего такого машстабного не писал :)
    Енумы я не использую совсем - не вижу смысла.
    И отдельно меня крайне бесят сообщения компелятора: "ой, у вас тут switch с enum и вы не перечислили все возможные значения через case".

    Кастование в void* и обратно - нормальная практика, отказыватся от которой просто тупо: отрежешь сам себе доступ к системным API да и внутри своего кода часто имеет смысл разделять код а не делать монолит.

     
     
  • 6.52, Аноним (52), 00:09, 08/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Енумы я не использую совсем - не вижу смысла.
    > И отдельно меня крайне бесят сообщения компелятора: "ой, у вас тут switch  с enum и вы не перечислили все возможные значения через case".

    Для этого есть слово default)

    > Кастование в void* и обратно - нормальная практика,

    Если понимаешь зачем и какие риски.
    Просто от нечего делать (и чтобы не писать конверторы) - это отличный способ выстрелить в ногу.


     
  • 2.34, Аноним (34), 20:02, 07/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    ... сказал ИИ для рекламы. Не будет вам денег, а будет ответственность за решения ИИ.
     
  • 2.39, Ivan_83 (ok), 22:04, 07/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Точно, я у мамки хороший мальчик, я не будут делать ничего за что могут наругать, вот пусть раст и ИИ сами как нибудь всё починят, и если что ругать их будем.

    Ну вот впредставьте если бы я написал такое.
    Я бы сказал: ну ок, щас подумаем как исправить.
    А для вас то почему это трагедия всей жизни?

     
     
  • 3.42, Аноним (-), 22:37, 07/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Точно, я у мамки хороший мальчик

    Нет, ты плохой мальчик, очень плохой!
    Вот кто это там нагадил, а? Кто за пределы буфера вылез? Кто индексы не смог подсчитать и рут подарил?

    > Я бы сказал: ну ок, щас подумаем как исправить.

    Сорок лет сишники думали... и не шмогли.

    > А для вас то почему это трагедия всей жизни?

    Кто сказал что трагедия?

     
     
  • 4.47, Ivan_83 (ok), 23:45, 07/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Ну чё дядя, фиксить будем али как?
    Стандартная такса - неделю, х10 и будет после завтра.

    Сишники делали чтобы оно работало, а если брать 40 лет интервал то "работало на том слабом тормозном мусоре".
    Ты пойми, виндовс95 работал на компе с 16мб оперативы, 4мб видео памяти и мегабайт 100 на диске.
    Комп с 32 оперативы и 16 видео памяти - это был раскошный игровой комп, в 90х годах
    Там было ОДНО ядро проца, на котором кое как можно было в реалтайме декодировать mp3.
    Вопрос стоял не в каких то вымышленных уязвимостях когда придурки от скуки всё ломают, а в том, чтобы оно хотя бы не падало и не тормозило при обычных действиях.
    С тех пор прогресс огромный - нынче софт очень-очень редко падает при обычных действиях сам по себе.

    А ты тут сопли разводишь про уязвимости какие то.

     
     
  • 5.53, Аноним (-), 00:19, 08/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    4Мб видео - это был жЫр Ты пойми, я практически твоего года рождения Я застал ... большой текст свёрнут, показать
     
     
  • 6.57, Ivan_83 (ok), 02:04, 08/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Зашифрует диск - достану бэкап.
    Чтобы получить вирус достаточно было открыть ворд/эксель а иногда и письмо в превью, по типу лулзового iloveyou.

    У чувака просто крышу рвёт, ему надо чтобы не ехало а чтобы безопасно.
    Я лично за баланс, когда скорее удобно чем вот это ональное безопасно.
    Чувак видимо молодой и не понимает как легко сдохнуть ИРЛ в любой момент, и что стоит тратить жизнь на гедонизм, удобства и удовольствия а не на постоянные страхи и самоограничения.

    Насчёт ддос - да хоть 100000500000, это временное мелкое неудобство.

    Моя жизнь протекает не ради прикроватного сервачка, это сервачёк нужен исключительно для того чтобы радовать меня. Так же как и всё остальное в этом мире.
    Вы же в серьёз тащите этот булщит для идиотов продающий "безопасность" в свою личную жизнь, те повелись на собственную пропаганду по сути :)

    Можете ещё подратся между собой выясняя сколько антивирусов надо держать и каких вендоров, а так же чем шифровать диск.


    А насчёт ценного - так всё что ценное оно измеряется в деньгах, а нынче в мире такая Ж что без одобрения госов ничего дороже 10к бачей не протащить, а всё что меньше - ещё можно, но там и транзакцию откатить можно.

     
  • 5.56, Аноним (55), 02:02, 08/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    >С тех пор прогресс огромный - нынче софт очень-очень редко падает при обычных действиях сам по себе.

    Скажи это пользователям gnome, пусть поржут.

     
     
  • 6.61, Ivan_83 (ok), 02:25, 08/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    У меня XFCE, в нём куски гнома, ничего давно уже не падало.
    Это тебе не былые времена, когда мышкой пошевелил и ворд упал, от того там и сделали автосохранения каждые 5 минут.
     

  • 1.23, Аноним (23), 17:09, 07/10/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    >cups-browsed имеет штатную возможность загрузки PPD-файла с произвольного сервера в ответ на неавторизированный внешний запрос

    Охренеть! Вот это архитектура сервиса!

     
  • 1.33, Аноним (33), 19:53, 07/10/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    >на систему жертвы был направлен поток в 3.8 терабит в секунду

    Интересно что за жертва, почему ей выпало такое счастье

     
     
  • 2.36, Аноним (36), 21:03, 07/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Вот бы монетизировать!
     
  • 2.45, Аноним (45), 23:00, 07/10/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    а они не пробовали эти пакеты отсылать обратно, как им не нужные?
     

  • 1.43, Аноним (45), 22:48, 07/10/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    CUPs и Samba -- два столпа для "пофиксить баги", куда же без них.
    Проще оказалось отказаться от указанных технологий, чем каждый квартал срочно патчить.
     
     
  • 2.50, Ivan_83 (ok), 00:01, 08/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Отказатся - а как потом печатать?

    Вы бы для начала разделили мух и котлеты.
    cups-borrowed - хреновина для play&play сетевого, учитывая сколько там зависимостей любому опытному администратору уже бы показалось это не здоровой ситуацией.
    Вот мне показалось и я не стал собирать и запускать эту фигню у себя.

    Самба - она нужна в основном для взаимодействия с виндуст хостами, нет венды - и самба никому не нужна.
    Самба на минималках (как файлопомойка без авторизации) тоже вполне себе ничем не угрожает.

     
     
  • 3.54, Аноним (54), 00:47, 08/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Причем тут Виндоус хосты? Самба умеет кучу всего, чего в том же nfs никогда не будет. Например банальный follow symlinks.
     
     
  • 4.62, Ivan_83 (ok), 02:25, 08/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    А оно кому то вообще надо?
     

  • 1.63, Аноним (-), 04:39, 08/10/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > с использованием большого числа скомпрометированных домашних маршрутизаторов Asus и Mikrotik

    Ну что, админы микротиков, рассуждавшие про безопасность, вы все еще будете рассуждать о том как безопасны ваши мыльницы? Или, таки, соседстсва в 1 списке с асусом вам хватит? Ваш уровень - это вот оно! :))

     
     
  • 2.64, scriptkiddis (?), 11:54, 08/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Что предлагаешь брать вместо них?
     

  • 1.71, glkoo (?), 13:59, 08/10/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А что CUPS вообще делает открытым портом в интернете?
     
  • 1.72, Лёха тот самый (?), 14:10, 08/10/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    чуть не испугался, ажно полез посмотреть как оно там
    ---
    # netstat -lan4 | grep 631  
    tcp4       0      0 127.0.0.1.631          *.*                    LISTEN    
    ---
    отпустило
     
  • 1.76, iZEN (ok), 08:13, 09/10/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Лайфхак: во FreeBSD при самостоятельной сборке пакетов из портов можно отказаться от зависимости с CUPS. CUPS может в принципе отсутствовать в настольной системе.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру