Cómo detectar qué script PHP envía SPAM

Cómo detectar qué script PHP envía SPAM

Un script php envía toneladas de correos electrónicos. Quiero detectar cuál es la fuente. Todos los correos electrónicos se envían mediante el uso de www-data que el usuario utilizó por apache. Cuando verifico el proceso, tengo este resultado:

www-data 16220  0.7  4.7 402508 95924 ?        S    09:37   0:06 /usr/sbin/apache2 -k start
www-data 16352  0.4  3.8 402132 78064 ?        S    09:39   0:03 /usr/sbin/apache2 -k start
www-data 16725  0.6  3.8 402472 78624 ?        S    09:46   0:02     /usr/sbin/apache2 -k start
www-data 16840  0.8  4.2 410744 87204 ?        S    09:48   0:01 /usr/sbin/apache2 -k start
www-data 16949  1.0  4.5 417560 93436 ?        S    09:49   0:01 /usr/sbin/apache2 -k start
www-data 16958  1.0  3.5 402120 72748 ?        S    09:50   0:01 /usr/sbin/apache2 -k start
www-data 16978  1.2  4.6 425160 94864 ?        S    09:51   0:00 /usr/sbin/apache2 -k start
www-data 16980  0.8  3.5 402140 72208 ?        S    09:51   0:00 /usr/sbin/apache2 -k start
www-data 16983  0.4  2.6 402160 54400 ?        S    09:51   0:00 /usr/sbin/apache2 -k start

Apache utiliza muchos procesos y no sé cuál es el script que envía el correo.

¿Hay una manera de hacer eso?

Respuesta1

Es posible que pueda hacer una búsqueda para volcar todos los procesos de Apache en ejecución en un archivo y luego, una vez que salga el spam, ver si puede rastrear lo que estaba sucediendo (por ejemplo, guardando volcados frecuentes del estado del servidor usando mod_status si es no es obvio desde la ruta al mirar las rutas de los archivos).

Podría intentar algo como lo siguiente, aunque tenga en cuenta que puede consumir muchos recursos. Ajuste el -sparámetro según sea necesario.

pidlist=''; \
for pid in `ps ax | grep apache2 |grep /usr/sbin/apache2 | awk '{print $1}'`;\
    do pidlist="$pidlist -p $pid"; \
done; \
strace -s 1024 -tt -F -f $pidlist  > strace_apache2.out 2>&1

información relacionada