Perl: получить информацию о процессе.

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС.

Модераторы: SLEDopit, Модераторы разделов

o5_TaHKucT
Сообщения: 19
ОС: Linux

Perl: получить информацию о процессе.

Сообщение o5_TaHKucT »

Добрый день. Ситуация: заметил страный процесс от одного из рядовых пользователей.

/proc/$PID/exe - /usr/bin/perl
/proc/$PID/cmdline - /sbin/syslogd (такой файл есть, но это бинарник, а не перл, да и не должен он запускаться от данного пользователя.
В /proc/$PID/fd симлинки на IN, OUT, ERR и 1 сокет который ведет на совершенно левый ip-адрес. Если сказать strace -fp $PID, то там ничего кроме такого нет:
[pre]select(0, NULL, NULL, NULL, {0, 10000}) = 0 (Timeout)
select(8, [3], NULL, NULL, {0, 0}) = 0 (Timeout)[pre]
Собственно вопрос: как найти что это, откуда взялось. То есть не "как провести аудит аккаунта\сервера", а именно "как понять откуда взялся данный процесс, откуда он запустилса, как назывался и где лежал этот перловый скрипт (если он был) или какие переменные были переданы перлу при запуске".

Ваши советы/предложения?
0 1 0
0 0 1 ...................................................................Мой хомяк
1 1 1
Спасибо сказали:
Аватара пользователя
McSim
Сообщения: 419
Статус: Экспериментатор
ОС: заGNU/Linux Debian

Re: Perl: получить информацию о процессе.

Сообщение McSim »

o5_TaHKucT писал(а):
17.06.2014 19:39
/proc/$PID/exe - /usr/bin/perl

o5_TaHKucT писал(а):
17.06.2014 19:39
/proc/$PID/cmdline - /sbin/syslogd (такой файл есть, но это бинарник, а не перл, да и не должен он запускаться от данного пользователя.

Если процесс работает в памяти, то не обязательно файлы /usr/bin/perl и /sbin/syslogd должны существовать в данный момент (по крайней мере, в том состоянии, в котором они были при запуске). Они могли быть созданы при запуске процесса, а потом удален/заменен. И если файл был заменен или удален, то по идее /proc/$PID/exe об этом напишет.
/sbin/syslogd - это то,что запустило процесс, а /usr/bin/perl - это то, что реально работает в памяти.
Можно попытаться найти PID родительского процесса через /proc/$PID/stat или /proc/$PID/status.
Может родительский процесс о чем-то расскажет.
Спасибо сказали: