LINUX.ORG.RU

Как скрыть комманду и/или параметры в списке процессов?


1

2

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

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

Есть ли нормальный способ (или грязный хак) который позволит спрятать или подменить параметры которые видно в списке процессов?
И да, мне нужно сделать так, чтобы параметры не мог увидеть вообще никто кроме может быть рута и владельца процесса.

Как такое можно сделать?

★★★

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

если я понял суть правильно, фильтровать вывод этой команды

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

И это правильно. Костыли не нужны. :)

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

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

К сожалению софт для кардшаринга пишут мудаки :)

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

winddos

Там надо патчить код, а исходников софтины у меня нет и их не дадут.

наверняка там есть статический массив хотя-бы байт на 50. вставьте туда двоичный код данного вам хака - он должен отработать только 1 раз в самом начале программы. А массив обычно всё равно инициализируется заново (хотя надо проверить конечно). Это во первых проще правки ядра, во вторых сработает на любых машинах, с любым ядром.

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

Во-первых, /usr/bin/grep.
Во-вторых, вы всегда запускаете системные команды, указывая полный путь? Если нет, то как вы собираетесь узнать, что на команду ps повешен альяс?

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

Алиасы и греп не подходит, ибо все равно палится сам процесс.

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

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

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

«Команда» с 1 «м» пишется, балин.

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

Вирус придумал?

Хуже, кардшаринг придумал.
Исходники бекдоров обычно в свободном доступе есть.

Про алиасы просвятись.

А они как то помогут спрятать ценную информацию который кто угодно может прочесть в /proc?

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

методы с патченьем ps итд бесполезны:

cat /proc/[1-9]*/comm

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

А они как то помогут спрятать ценную информацию который кто угодно может прочесть в /proc?

Тогда ХЗ, не интересовался подобными подлыми деяниями :)

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

я чето не понял. или все сразу о сложном думают. подходите с другой стороны)

заверни в отдельный скрипт cmd line твоей команды. то есть

/bin/your_prog -h example.com -c 1 -p Eweqr2
echo '/bin/your_prog -h example.com -c 1 -p Eweqr2' > /bin/myhack
bash /bin/myhack

вроде в proc не нашел...

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

вроде в proc не нашел...

У тебя какая то особая магия, видимо :)

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

delete83

Во-первых, /usr/bin/grep.

в Slackware там ссылка на /bin/grep

delete83

Во-вторых, вы всегда запускаете системные команды, указывая полный путь? Если нет, то как вы собираетесь узнать, что на команду ps повешен альяс?

вы тут сами пытались изобразить команду. Не получилось - man alias не работает, за то работает man bash и help alias. Жаль, что вы не умеете читать. Для вас - попробуйте alias без параметров. Вам понравится. (хотя научится читать ещё круче).

в последних - всегда предполагается, что злоумышленник разбирается в системе по меньшей мере не хуже нас. И уж такой мякиной как алиасы его не проведёшь. Учите матчасть.

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

лолчто?

$ ls -l /bin/grep /usr/bin/grep
ls: cannot access /usr/bin/grep: Нет такого файла или каталога
-rwxr-xr-x 1 root root 134392 янв.  28 21:15 /bin/grep
это базовая утилита, и она должна быть доступна до подмонтирования /usr. но малыши про такую возможность не слышали, да?

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

Да там конечно нет расчета на злоумышленника.
Но это хостинговые серваки, и много кто может посмотреть список процессов.

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

Но это хостинговые серваки, и много кто может посмотреть список процессов.

Насколько хостинговые? Своё ядро можно патченное залить и использовать?
Против админов хостера защиты не выйдет. По крайней мере дешёвой.

imul ★★★★★
()

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

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

anonymous

это базовая утилита, и она должна быть доступна до подмонтирования /usr. но малыши про такую возможность не слышали, да?

у них поттеринг головного мозга.

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

Это мои серваки, но на которых размещены не только мои сайты, но и сайты некоторых знакомых людей. :)

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

winddos

Да там конечно нет расчета на злоумышленника.
Но это хостинговые серваки, и много кто может посмотреть список процессов.

если нет злоумышленников, и вы уверены в этом - зачем скрывать?

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

Имена/ссылки/явки?

И не помешает ли это работе какого то софта?

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

Плюсую это незамеченное сообщение.

Спасибо большое, этот вариант я наверное и буду использовать.
grsec у меня ранее работал в системе, но о такой его функциональности я даже не интересовался.

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

Да я понимаю, что ни в чем нельзя быть уверенным на 100% :)

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

а вот возможная реализация:
cat hide-arg.c
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
/* http://netsplit.com/2007/01/10/hiding-arguments-from-ps/ */

int main(int argc, char **argv)
{
int c;
for (c=0; c<argc; c++)
{
printf(«ARG #%d, STR %s\r\n», c, argv[c]);
}
if (argc > 1) {
char *arg_end;

arg_end = argv[argc-1] + strlen (argv[argc-1]);
*arg_end = ' ';
}
for (c=0; c<argc; c++)
{
printf(«ARG #%d, STR %s\r\n», c, argv[c]);
}
}
$ ./hide-arg 1 456
ARG #0, STR ./hide-arg
ARG #1, STR 1
ARG #2, STR 456
ARG #0, STR ./hide-arg
ARG #1, STR 1
ARG #2, STR 456 ORBIT_SOCKETDIR=/tmp/orbit-byg

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

Спасибо большое, я лучше помучаюсь и накачу grsec.

Все таки это патч на свежее ядро, а у меня на хостинговых серверах centos 5 и ubuntu 10.04.

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

почему никто не вспомнил про то, что можно завернуть софтину в виртуальную машину?

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

чтобы параметры не мог увидеть вообще никто кроме может быть рута и владельца процесса.

Ну тогда задача уже решена.

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

лучше помучаюсь

дело твоё. просто если самонаписано - то лучше ещё и argv сбрасывать -для надёжности!

mumpster ★★★★★
()
Ответ на: gcc -o от mumpster

самое главное, что ты не читал ОП-пост
поэтому говноед, и твои посты не несут смысловой нагрузки

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