LINUX.ORG.RU
решено ФорумAdmin

Какие есть варианты root login на /dev/tty1?

 ,


0

3

Добрый день.

У клиента на хостинге завёлся зловред, грузит процессор под 10)% и сканирует все машины по локальной сети. Был создан пользователь httpd с UID 0 и GID 0, заведён пароль, от имени этого пользователя запускался python2 vnc.sh (очень смешно).

На самом деле python2 — это брутфорсер, а vnc.sh это список паролей, ну не суть.

Открываю логи.

окт 11 00:53:12 client systemd[1]: Started User Manager for UID 0.
окт 11 00:53:12 client systemd[1]: Started Session 6 of user root.
окт 11 00:53:12 client login[1496]: ROOT LOGIN  on '/dev/tty1'

Дальше происходит эпичное:

окт 11 00:54:43 client sshd[1513]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=193.124.184.41  user=httpd
окт 11 00:54:45 client sshd[1513]: Failed password for httpd from 193.124.184.41 port 33768 ssh2
окт 11 00:55:00 client systemd[1]: Stopping OpenBSD Secure Shell server...
окт 11 00:55:00 client sshd[757]: Received signal 15; terminating.

Злоумышленник попытался зайти пользователем httpd через ssh, но в sshd отключен вход руту по паролю, поэтому ему пришлось поправить sshd.conf, в корне остался файл .bash_history примерно такого содержания:

curl ifconfig.me
nano /etc/ssh/sshd_config
service sshd restart
exit

Хостинг виртуальный. Используется KVM. /dev/tty1 — это первая виртуальная консоль, доступная только со стороны гипервизора. В эту консоль можно попасть через веб-панель управления хостера, там VNC-клиент в браузере. В веб-панели есть журнал входов и журнал подключений, за 11-е число оба чистые.

Моя мысль: сотрудник хостинга охренел на столько, что подключился к VNC, применил init=/bin/bash, завёл пользователя, залогинился, всунул зловред и ушёл. С этой мыслью я написал в ТП хостера от имени клиента.

Ответ хостера: «Если у вас есть подозрения на странную активность внутри сервера- рекомендуем сменить пароль и провести ряд мероприятий по настройке безопасности сервера.». На вопрос, а вдруг кто-то из сотрудников шалит: «Я не могу себе представить ситуацию, при которой кому-то из сотрудников пришло в голову зайти на ваш сервер, еще и таким образом.». И на вопрос, а вдруг кто-то со стороны взломал вашу панель: «Нет, нашу инфраструктуру не взламывали.».

Внимание, вопрос:

На /dev/tty1 действительно можно зайти только со стороны гипервизора, или я тупой? И есть какая-то уязвимость в ssh/nginx/openvpn, через которую можно зайти рутом на /dev/tty1?

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

P.S. Пока этот вопрос не прояснён, название хостера скрою.

★★★★★

теоретически конечно можно отправить сообщение на /dev/tty*, но насколько я помню для этого надо быть или рутом или владельцем/группой этого самого tty

Atlant ★★★★★
()

На /dev/tty1 действительно можно зайти только со стороны гипервизора, или я тупой?

Штатно, не имея прав рута - да, только из гипервайзора. Но если рут получен или где-то есть уязвимости - возможно что угодно.

Pinkbyte ★★★★★
()

сотрудник хостинга охренел на столько, что подключился к VNC, применил init=/bin/bash

Во избежание таких ситуаций, стоит шифровать root-раздел. Это сводит к минимуму вероятность того, что один из работников хостинга впаяет зловред. Не исключает полностью, всё же boot-раздел остаётся доступен для впаивания, но сильно снижает вероятность.

QsUPt7S ★★
()

Ах, да.

сотрудник хостинга охренел на столько, что подключился к VNC, применил init=/bin/bash

А есть в логах выключение / включение системы? init=/bin/bash «на живую» не применишь.

Ну и сотрудники хостинга уж точно последние кандидаты на подсовывание скучного зловреда.

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

стоит шифровать root-раздел

чтобы, примерно, что?

Виртуалка работает, раздел расшифрован, доступ к гипервизору, а, следовательно, и ко всей оперативке, есть.

Чем в этой ситуации помогает шифрование гостевой машины (ну, кроме как потешить паранойю владельца)?

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

чтобы, примерно, что?

Я и не говорю, что это защищает от физических (или, условно физических) атак на работающую систему. Но вот проведение атак на не загруженную систему, изрядно затрудняет. Атакующий уже не сможет просто так взять, и впаять зловред в root-раздел, или завести аккаунт выполнив условный init=/usr/bin/bash при загрузке. Ему придется или впаивать зловред в файлы лежащие на /boot, или взламывать уже загруженную VM, копаясь в её оперативной памяти. Последнее требует от атакующего больше усилий, и заметно большего уровня экспертизы.

Кроме того, это защищает от сценария кражи чувствительной инфы, в случае ненадлежащей утилизации накопителей дц.

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

арендовать впску, чтобы держать её выключенной? ммм…. мечта! :)

Я не совсем точно выразился. Шифрование предотвращает атаки нацеленные на прямой, непосредственный доступ к содержимому root-раздела. Доступ становится возможен посредством взлома VM, или кражи ключей из оперативной памяти. Но вот тупо подмонтировать раздел, и получить к содержимому доступ уже не выйдет, даже когда VM включена. Атакующему придётся идти сложным путём.

QsUPt7S ★★
()

В эту консоль можно попасть через веб-панель управления хостера, там VNC-клиент в браузере. В веб-панели есть журнал входов и журнал подключений, за 11-е число оба чистые.

Прямое подключение внц работает? Может оно только факты логина через веб регистрирует?

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

Просто запустил скрипт, чтобы всем майнера подкинуть.

ya-betmen ★★★★★
()
Последнее исправление: ya-betmen (всего исправлений: 1)
Ответ на: комментарий от Aceler

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

LamerOk ★★★★★
()
Ответ на: комментарий от ya-betmen

Прямое подключение внц работает? Может оно только факты логина через веб регистрирует?

Оно логирует и подключение по VNC.

Просто запустил скрипт, чтобы всем майнера подкинуть.

Сотруднику хостера реально нет смысла подсовывать брутфорсера. А майнера он не подкинул.

Aceler ★★★★★
() автор топика

Ещё есть вариант что взломали совсем по-другому, а эти логи фейковые чтоб запутать расследование. Хотя зачем такое делать ради бота-брутфорсера не знаю. Может на той системе что-то важное и брутфорсер тоже для отвлечения внимания?

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

А где таймстампы обоих событий?

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

Если юзера действительно создали во время отключения то очевидно это делалось не через дыру в системе а таки через VNC, и почему логов VNC не осталось - вопрос. Может подключились сильно заранее и держали открытую сессию месяц (старые логи есть? айпи можно проверить). Может логи VNC потёрли (а баша и ssh не потёрли, да), тот самый коррумпированный сотрудник.

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

В логах пишется причина выключения? Если выключали через vnc, наверное, это Power key pressed и тогда можно будет ещё задать вопросы сотрудникам техподдержки. Типа «если VNC-логи чистые, то кто и как выключал?»

init=/bin/bash, завёл пользователя

Но, если он наследил .bash_history, то где там команды создания пользователя? И что по временам изменения/создания (birth) файлов passwd, shadow, /.bash_history. ИМХО, нужно в одном месте собрать все временные метки, когда машина была включена, когда нормально загружена, какие файлы в промежуке между этими событиями менялись/создавались.

Вобще, странно, отключение sshd-входа по паролю, вроде как, типовой приём, если уж перегружаешь машину, то можно было сразу и sshd_config поправить.

mky ★★★★★
()

А первая попытка зайти по sshd под пользователем http была ранее 00:54:43? А то по этим данным как-то странно получается, сначала ROOT LOGIN, потом неудачная попытка зайти под http и через 15 с перезапуск sshd. 15 секунд, ИМХО, как-то супербыстро, чтобы понять, что нужно редактировать конфиг, найти там нужную строчку...

mky ★★★★★
()