I hate this fucking hoster

FreeBSD
День задался изначально не очень. По шахте подъезда кто-то тянул кабель (большие подозрения, что Зеленая Точка, утверждать не буду, но как раз на днях они собираются подключать), и появился разрыв кабеля от Домолинк. После общения с ТП настроение испортилось окончательно.
На этом лирическое отступление закончено, и перейдем собственно к теме статьи.

А перейдем мы не просто, а начнем из далека. Думаю, всем известна такая программа как screen — это консольный оконный менеджер. Запустив программу в нем, можно смело отключаться от сервера — и первая будет жить своей спокойной половой жизнь внутри screen. Как аналог — существует менее известный tmux — выполняет те же самые функции. В tmux — меня буквально пленила зеленая полоска снизу, полюбуйтесь:


И все бы ничего, но периодически этот самый tmux имел свойство зависать. Да не просто зависать, а зависать конкретно. Всячески игнорировал killall tmux.
Ну раз он так умен — то убивался так killall -9 tmux. При этом он убивался вместе с системой :) FreeBSD-Stable очень весело уходила в kernel panic от такого. В то время у меня закралась мысль — что не дело это, что рядовой пользователь может так систему ронять. Да и четко определить при каких манипуляциях зависает tmux — никак не получалось…
Но тут, совсем случайно друг задает вопрос — «а у тебя тоже tmux list-commands виснет?». И это пропущенное звено нашлось :) Именно tmux list-commands вызывал подвисание tmux-а, и как следствие, последующий killall -9 tmux вызывал kernel panic на системе.

Что любопытно, если вызвать tmux list-commands не внутри tmux — то работает нормально, если внутри tmux — то зависание гарантировано. Пример:

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

В результате получился готовый эксплойт для укладывания системы на бочок в горизонтальном положении:
1. Залогиниться на удаленную систему
2. Установить tmux (> pkg_add -rv tmux)
3. Запустить tmux (> tmux)
4. Запустить tmux list-commands (при этом tmux зависает)
5. Залогиниться еще раз на удаленную систему
6. killall -9 tmux
7. Получить удовольствие от картины kernel panic.

После нескольких проверок на своей системе (все проверки ложили систему в панику), было принято решение испытать данный способ на VDS-хостере. Что такое VDS и для чего оно нужно — можно без проблем узнать в Интернет. Хостер предоставляет клетку (jail) на FreeBSD в распоряжение пользователя. Внутри этой клетки был опробован данный способ ..., да, хостер упал.
Хостер был поставлен в известность об данной уязвимости.

Но, хочу предупредить, что сие действие попадает под статью 273 УК РФ.

PS: будьте осторожны, открывая доступ к рабочим системам.
PPS: Нет, под linux этот способ не проверялся

4 комментария

avatar
А еще тебя в вконтакте сломали, спам сыпется
avatar
ну я этой херней давно не пользуюсь :)
avatar
Пароль хоть смени, а то задолбали
avatar
сапожник без сапог :)
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.