Назад | Перейти на главную страницу

Как принудительно регистрировать все действия терминала на сервере Ubuntu 12.04?

Я считаю, что мой сервер только что взломали в интерактивном режиме.

Поскольку этот сервер все равно перейдет в режим "трэш", мне интересно, смогу ли я лучше понять, что делает злодей, принудительно регистрируя все tty.

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

Лучше всего, если бы вывод не хранился локально, а перенаправлялся на другой мой хост (например, по почте http или даже как netcat).

Мой хост использует основное ядро ​​3.8.

У меня нет патча перехвата на уровне ядра, но этот быстрый и грязный сценарий захвата оболочки можно поместить в /etc/profile.d:

if [ -z $INSCRIPT ]; then
    export INSCRIPT=1
    DATE=`date "+%Y%m%d%H%M%S"`
    TTY=`tty | tr "/" "_"`
    script -qf "/tmp/${DATE}${TTY}.log" && exit
fi

Это создаст файлы в / tmp в формате TIMESTAMP_TTY.log и будет записывать почти весь ввод / вывод (включая специальные символы). Сам скрипт не объявляет об этом благодаря флагу тишины, но его легко обнаружить в таблице процессов, если злоумышленник решит посмотреть.

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