LINUX.ORG.RU
ФорумTalks

Хакеры обошли защиту telnetd и почти 10 лет давали root-доступ

 , нинужен


0

2

Специалист по информационной безопасности Саймон Йозефссон обнаружил опасную уязвимость в компоненте telnetd, входящем в пакет GNU InetUtils. Проблема затрагивает все версии GNU InetUtils с 1.9.3 по 2.7 включительно.В итоге сервер автоматически аутентифицирует подключение как root — полностью обходя процесс валидации. Как поясняет Йозефссон, сервер telnetd запускает системную утилиту /usr/bin/login, обычно от имени root, и передаёт ей имя пользователя.

★★
Ответ на: комментарий от Neresar

Моё отношение к жёлтым заголовкам неизменно уже более 20 лет и вряд ли что-то заставит меня его переменить.

unDEFER ★★★★★
()

В заголовке желтизна, в посте тупак. Я за бан.

wandrien ★★★
()
Ответ на: комментарий от Neresar

Надо ещё в заголовок добавить «ко всем серверам на линукс», а в статье описать «уязвимость позволяля получать рутовй доступ ко всем серверам на линукс, на которых установлена уязвимая версия утилиты».

Всему вас, молодых, надо учить. Уже кликбейт и желтуху нормальную сочинить не можете. Совсем обленились со своими нейронками.

kma21 ★★★★★
()

Так-как Линуксоиды предпочитают больше sshd чем telnetd, то наибольшее число пострадавших относится к пользователям Windows, временно пересевших на Linux с целью показать их IQ-коэффициент.

superuser ★★★★☆
()

это они ещё за mingetty не взялись ;-)

чтобы получить доступ достаточно вывести RS-232 с пинов материнки, расключить нуль-модем, найти терминал, применить паяльник к одмину и применить пароль. Главное чтобы mingetty был запущен и криво настроен

MKuznetsov ★★★★★
()
Ответ на: комментарий от MKuznetsov

чтобы получить доступ достаточно вывести RS-232 с пинов материнки

У меня на кухонном компе разъём есть на задней панели.

tiinn ★★★★★
()
Ответ на: комментарий от tiinn

Я прочитал как «кухонном гарнитуре» и даже глазом не моргнул.

Aceler ★★★★★
()
Ответ на: комментарий от dicos

Это не важно. Дело в том, что в этом нашем ИТ хрен чего протестируешь. Слишком много путей прохождения, чтобы можно было быть точно уверенным, что функция вызывается именно в том окружении, для которого она писалась. И проблема нерешаема в рамках текущей архитектуры.

Вот, если б можно было на строки вешать метаданные, тогда программа принимала бы не -f $USER, а -f $USER(проверенный на предыдущем этапе) и это бы уже было надёжнее.

ugoday ★★★★★
()

и почти 10 лет давали root-доступ

Кому давали? Куда доступ?

CrX ★★★★★
()
Ответ на: комментарий от Tanger

Таким образом, для подключения под пользователем root достаточно выставить в переменную окружения USER значение «-f root» и подключиться к telnet-серверу, указав опцию «-a»:

$ USER='-f root' telnet -a имя_сервера`

Ух! Ну и решето…

CrX ★★★★★
()
Ответ на: комментарий от CrX

Ух! Ну и решето…

Но вроде комментаторы не нашли ни одного устройства где стоит GNU InetUtils и telnet включен по дефолту.

Tanger ★★★★★
()
Ответ на: комментарий от Tanger

Это понятно. Я сам не помню когда вообще telnetd в последний раз в дикой природе видел. Но всё равно жесть какое решето же. Какая-то прямо таки детская ошибка. Писать код, связанный с аутентификацией и при этом не держать в голове, что штука-то серьёзная, и подобные вещи надо на каждом шагу по семь раз проверять… Мне даже представить такое сложно. Не люблю всякую конспирологию, и вообще «не ищите злого умысла там, где всё объясняется банальной глупостью», но в такие моменты думаешь, а не специально ли тот, кто этот коммит сделал, дверку себе оставил.

CrX ★★★★★
()
Ответ на: комментарий от ugoday

В данном случае С не виноват (бывает и так).

Но на расте все равно надо переписать, мало ли что

slyjoeh ★★★★
()
Ответ на: комментарий от apt_install_lrzsz

В таком жёлтом виде всё равно бы не подтвердили.

А так, кому скор нужен, запилите, может? Довольно важная новость же.

@XMPP, тебе вроде нужен был? :)

https://www.openwall.com/lists/oss-security/2026/01/20/2

CrX ★★★★★
()
Последнее исправление: CrX (всего исправлений: 1)
Ответ на: комментарий от ugoday

Жду новость

"Вышла новая версия 0.0.0.1-a проекта rulnetd.

Rulnetd – это современная реализация серверной части протокола telnet, написанная на Rust… И ТАМ НЕТ ДЫР ПАТОМУШТО РАСТ СВЯТОЙ АРРЯЯЯЯ!!!"

apt_install_lrzsz ★★★★
()
Ответ на: комментарий от CrX

Новости надо писать по велению души, а не когда скор хочется.

Иначе получается

Вышла минорщина, которой пользуются полтора индуса. А теперь пустите в толксы.

apt_install_lrzsz ★★★★
()
Ответ на: комментарий от apt_install_lrzsz

Да я хотел просто читать удалённые, мне этот скор никогда не был нужен. Но я согласен, что писание новостей это настроение, или инсайд, который хочется опубликовать.

XMPP ★★
()
Ответ на: комментарий от ugoday

В смысле провели? Интернет был там всегда и оттуда начинался.

Погода, хорошая, кстати. Не понимаю, о чём вы.

apt_install_lrzsz ★★★★
()

Кстати а где они telnetd запущеный нашли? У меня вот adsl-модем на телнет отзывается но этот хак на него не действует - он всё так же логин-пароль спрашивает.

firkax ★★★★★
()
Последнее исправление: firkax (всего исправлений: 1)
Ответ на: комментарий от CrX

Я сам не помню когда вообще telnetd в последний раз в дикой природе видел.

На роутерах поищите,там встречается в проприетарных прошивках.

watchcat382
()
Ответ на: комментарий от watchcat382

на сервере кто-нибудь пользуется телнетом?

На сервере нет. А вот на роутерах он довольно часто есть.

И не только на роутерах.

anc ★★★★★
()
Ответ на: комментарий от CrX

Я сам не помню когда вообще telnetd в последний раз в дикой природе видел.

https://wiki.linuxfoundation.org/networking/netkit — речь про telnetd отсюда?

Он у меня стоит :) Правда, я его не запускал ни разу, пакет поставил ради другой программы.

question4 ★★★★★
()

А в windows 98 при авторизации можно было не вводить пароль, просто нажать на «отмена». И ты входил в систему как администратор...

ofp
()
Ответ на: комментарий от CrX

Я сам не помню когда вообще telnetd в последний раз в дикой природе видел.

Я тоже давненько им не пользовался, Но вчера вечерком мне предложили Опенврт на ксиоми-роутер поставить и я с телнетом встретился после стольких лет)))) Короче, штука рабочая, но мне до конца не помогла, т.к. она файлики копировать не очень может, в итоге scp спас))))

Вот по этому описанию делал, но это не рабочий способ, т.к. отказался работать wget и curl (делалось все на китайской версии роутера), они ругались на https, потом оказалось, что они не знают похоже ничего о ДНС, а далее просто весели по 15 минут и вылетали по таймауту, короче я по scp запихал сам то что нужно, далее все как часики заработало)))

Sm0ke85
()
Ответ на: комментарий от ugoday

если б можно было на строки вешать метаданные, тогда программа принимала бы не -f $USER, а -f $USER(проверенный на предыдущем этапе) и это бы уже было надёжнее

Можно иметь различные типы для разных данных, как в этих наших эфшарпах с хацкелями.

Nervous ★★★★★
()
Ответ на: комментарий от CrX

«Mister Potatohead. Mister Potatohead! Backdoors are not secrets!»

alegz ★★★★★
()
Ответ на: комментарий от Nervous

Признаться, ни разу не слышал об ОС с типизированными переменными окружения. Впрочем, я не то чтоб далеко за пределы mainstream’а (который весь родом из 70-80х) выходил.

ugoday ★★★★★
()
Ответ на: комментарий от ugoday

Признаться, ни разу не слышал об ОС с типизированными переменными окружения

Думаю, это не нужно — достаточно, чтобы программы, которые его используют, работали с типизированными данными и не использовали напрямую сырые строки непонятно откуда.

Nervous ★★★★★
()
Ответ на: комментарий от Nervous

Так переменная окружения — это и есть сырая строка непонятно откуда. Достаточно ввести тип строка без запрещённых символов (например без пробелов) или экранированная строка, чтобы приколы вида USER='-f root' перестали получаться.

ugoday ★★★★★
()
Ответ на: комментарий от ugoday

переменная окружения — это и есть сырая строка непонятно откуда

Ну да. Проблема не в сырых строках самих по себе, а а программах, которые суют в рот что попало с пола, и даже без термической обработки.

Nervous ★★★★★
()
Ответ на: комментарий от Shadow

А tp-link проверяли?

Я у себя в сети нашел одну точку tplink - там telnet не включен вовсе.

Штук 6-7 устройств было с поднятым телнетом. Из них только микротик поддерживал опцию -a, но на -f root не клюнул:

$ USER='-f root' telnet -a x.x.x.x
Trying x.x.x.x...
Connected to x.x.x.x.
Escape character is '^]'.
I don't hear you!
Connection closed by foreign host.
Tanger ★★★★★
()
Ответ на: комментарий от Nervous

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

ugoday ★★★★★
()

GNU InetUtils

Некрофилы

Harliff ★★★★★
()
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)