найдите, кто отправляет спам

Я сказал бы:

cd "/`pwd|cut -d"/" -f2,3`"

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

Можно интегрировать его к Вашему .zshrc файл профиля как это:

function prjroot(){
    cd "/`pwd|cut -d"/" -f2,3`" && return 0;
}  

Также, если Ваш на основном уровне как /opt /usr это ничего не сделает.

2
05.01.2015, 11:12
3 ответа

tmux уже открывает оболочку, в которой выполняет команды cd и perl . Если при этом не требуется запускать другую оболочку только для продолжения интерактивного сеанса (или для предотвращения закрытия окна без использования наборов -rain-on-exit ), можно выполнить следующие действия:

tmux new-window -t $SESSION:0 -k -n MAIN
tmux send-keys 'cd ~/main/ && perl -Ilib myapp' C-m

Если под оболочкой tmux 'создана другая оболочка и требуется, чтобы эта оболочка выполняла команды и стала интерактивной (что отличается от ответа @ n.st, который запускает оболочку после этого), можно выполнить следующие действия:

tmux new-window -t $SESSION:0 -k -n MAIN 'bash --init-file <(echo "cd ~/main/ && perl -Ilib myapp")'

и если проблема заключается в том, что bash имеет неполную среду, выполните следующие действия:

tmux new-window -t $SESSION:0 -k -n MAIN 'bash --init-file <(echo "source ~/.bashrc; cd ~/main/ && perl -Ilib myapp")'
-121--106064-

Можно использовать dpkg-checkbuilddeps . Страница человека говорит

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

Например:

faheem@orwell:/usr/local/src/julia/julia-0.3.2$ dpkg-checkbuilddeps
dpkg-checkbuilddeps: Unmet build dependencies: libopenblas-dev (>= 0.2.10-1~) libopenlibm-dev libopenspecfun-dev (>= 0.4~) patchelf python-sphinx-rtd-theme

Однако, вы можете просто попытаться построить пакет, используя (например) debuild , например

faheem@orwell:/usr/local/src/julia/julia-0.3.2$ debuild -uc -us
 dpkg-buildpackage -rfakeroot -D -us -uc
dpkg-buildpackage: source package julia
dpkg-buildpackage: source version 0.3.2-1
dpkg-buildpackage: source changed by Sébastien Villemot <sebastien@debian.org>
 dpkg-source --before-build julia-0.3.2
dpkg-buildpackage: host architecture amd64
dpkg-checkbuilddeps: Unmet build dependencies: libopenblas-dev (>= 0.2.10-1~) libopenlibm-dev libopenspecfun-dev (>= 0.4~) patchelf python-sphinx-rtd-theme
dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting
dpkg-buildpackage: warning: (Use -d flag to override.)
debuild: fatal error at line 1357:
dpkg-buildpackage -rfakeroot -D -us -uc failed

, который дает ту же информацию (поскольку он использует dpkg-checkbuilddeps ), но немного шумнее.

-121--38162-

Просто идея. Греп через ваши журналы apache. Если у вас есть время, когда письма были отправлены это может быть легко найти их. Особенно ищите сценарии perl.

1
27.01.2020, 22:05

Использование Perl с lookaheads, так что вторая запятая не является частью матча:

perl -pe 's/,(?=,)/,\\N/g'

или, используйте одно и то же выражение дважды на одной строке:

sed 's/,,/,\\N,/g;s/,,/,\\N,/g'
-121--217501-

Получить пользователя

Обычно поля UID поля показывает UID пользователя, который запустил процесс.

В вашем случае это будет ISER с UID 33 .

Использование Phetent Passwd 33 , чтобы увидеть имя пользователя.

Отслеживайте пользователя

Вы можете легко посмотреть и регистрировать активность пользователя с небольшим количеством демона C,

, используя , это ITLE Маленькая библиотека для чтения / POC / PID / Статус Файл и найдите после пользователя.

Это может помочь вам избежать проблем с временем выполнения сервера.

(Вы также можете позволить демону Убить этих процессов)

0
27.01.2020, 22:05

tmux уже открывает оболочку, в которой выполняет команды cd и perl . Если при этом не требуется запускать другую оболочку только для продолжения интерактивного сеанса (или для предотвращения закрытия окна без использования наборов -rain-on-exit ), можно выполнить следующие действия:

tmux new-window -t $SESSION:0 -k -n MAIN
tmux send-keys 'cd ~/main/ && perl -Ilib myapp' C-m

Если под оболочкой tmux 'создана другая оболочка и требуется, чтобы эта оболочка выполняла команды и стала интерактивной (что отличается от ответа @ n.st, который запускает оболочку после этого), можно выполнить следующие действия:

tmux new-window -t $SESSION:0 -k -n MAIN 'bash --init-file <(echo "cd ~/main/ && perl -Ilib myapp")'

и если проблема заключается в том, что bash имеет неполную среду, сделайте что-то вроде:

tmux new-window -t $SESSION:0 -k -n MAIN 'bash --init-file <(echo "source ~/.bashrc; cd ~/main/ && perl -Ilib myapp")'
-121--106064-

Используйте Perl с подстановками, чтобы вторая запятая не была частью соответствия:

perl -pe 's/,(?=,)/,\\N/g'

Или дважды используйте одно и то же выражение в одной строке:

sed 's/,,/,\\N,/g;s/,,/,\\N,/g'
-121--217501-

Отображаемые данные уже содержат много информации: UID пользователя 33, что в моей системе соответствует www-data , и я думаю, что это, скорее всего, то же самое относится и к вашей системе, потому что отображаемые вами сокеты принадлежат www-data .

Также, я сомневаюсь, что командная строка принесет вам больше информации: PPID программы perl - 15176, но PPID 15176 - 1 ( т. е. , init ). Здесь нет оболочки, между ними нет сеанса.

Контактируемые IP-адреса не вызывают особого беспокойства: они принадлежат Microsoft и Google, и те ребята умеют защищаться.

Итак, где доказательства нецензурной брани? Я согласен с тем, что SYN_SENT состояния для соединения действительно вызывает беспокойство, потому что это означает, что ваше соединение не получило правильного SYN/ACK, и вы остались зависшими.

Так что вы можете сделать, чтобы выкопать больше информации? Вы не можете попытаться идентифицировать пользователя напрямую: ваша публикация уже показывает, что пользователь www-data , и что процесс не подключен напрямую к терминалу или сеансу.

Но вы можете в первую очередь убедиться, что ваш IP включен в черный список, например, здесь : если вы есть, это было бы свидетельством спама.

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

В-третьих, вы можете наблюдать за своими портами с помощью

 ss -lntp

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

Для получения дополнительной информации можно просто сбросить все пакеты на часто повторяющийся сайт Microsoft,что-то вроде

  nohup tcpdump -n -i eth0 host 65.52.0.0/14 -w outfile & 

Диапазон IP-адресов - это весь блок, принадлежащий Microsoft, согласно выводу whois 65,55,37,72 ; приведенная выше команда, вероятно, будет генерировать довольно много выходных данных, таким образом, быть готовым оттачивать свои навыки в фильтрации выражений с помощью wireshark .

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

2
27.01.2020, 22:05

Теги

Похожие вопросы