Gestión de Incidentes Público Código malicioso Capítulo destinado a acciones de respuesta ante incidentes de malware Wordpress comprometido Revisión Online Verificar que no tenga instalado malware: https://www.virustotal.com/#/home/upload https://sitecheck.sucuri.net/ Verificar con herramientas de google el grado de compromiso del sitio: https://transparencyreport.google.com/safe-browsing/overview https://www.youtube.com/watch?v=lG5lOix9b9k Es necesario acceder a la consola de búsqueda de google: https://search.google.com/search-console/welcome Para verificar enlaces comprometidos, obtener el contenido en línea, recuperar posible código malicioso. Coordinación con el RSI Solicitar al RSI que no debe eliminar ningún archivo ni realice cambio s en la base de datos. Si el sitio web sufrió un defacement solicitar al RSI que mueva los archivos de la instalación wordpress a otra ruta que no sea accesible desde el servidor web. Ej. /homve/[USUARIO] y que establezca un sitio web temporal mientras dure la investigación. Solicitar los archivos de la instalación de wordpress. Solicitar el envió del backup de la base de datos.  Solicitar el envió de los logs del servidor web. Revisión Offline 1. Comprobar la integridad de los archivos WordPress (Core y Plugins) Descargar la versión de wordpress que se tiene instalada de https://wordpress.org/download/releases/ diff -r wordpress_Instalado wordpress_descargado De manera similar proceder con los plugins y themes. Alternativamente se puede usar: wp core verify-checksums --allow-root 2. Buscando patrones de cadena maliciosos: 2.1. Buscar webshells/backdoors en el sistema de archivos 2.1.1. Usando GREP Guardar en el archivo pattern.txt eval($_REQUEST eval($_GET eval($_POST eval( $GLOBALS[ $strrev('dedoce base64_decode str_replace preg_replace gzinflate $f53[ hacked FilesMan \x73\x74\x72\x5f str_rot13 Location: google.com bing.com Ejecutar el comando: fgrep -rf pattern.txt folderInstalacion | egrep -iv "\.js|\.css|\.po|\.html|Binary" > resultado.txt Eliminar los falsos positivos. Otros patrones sospechosos (ejecutar dentro del directorio principal): grep -r '\\x' * | egrep -iv "\.gif|\.js|\.png|\#|entities" grep -r '\\057' * | egrep -iv "\.gif|\.js|\.png|\#|binary|Crypto|zip|case|elseif|ChaCha|\\x00|pie|escaper" 2.1.2. Usando la herramienta webshell-scanner-client Descargar e instalar webshell-scanner-client wget https://github.com/baidu-security/webshell-scanner-client/releases/download/v1.0/webdir-linux32.bin sudo mv webdir-linux32.bin /usr/bin/webshell-scanner-client sudo chmod a+x /usr/bin/webshell-scanner-client Escanear un archivo webshell-scanner-client.bin archivo.php- Solicitar al RSI que mueva los archivos de la instalacion wordpress a otra ruta que no sea accesible desde el servidor web. Ej: /home/[USUARIO] 2.1.3. Usando la herramienta webshell-scan Descargar e instalar webshell-scan: git clone https://github.com/tstillz/webshell-scan go build main.go sudo mv main /usr/bin/webshell-scan Escanear en busca de webshells con extensión en php: webshell-scan -dir . -exts php 2.1.4. Usando findbot Instalación: wget https://raw.githubusercontent.com/wellr00t3d/findbot.pl/master/findbot.pl chmod a+x findbot.pl sudo mv findbot.pl /usr/bin Buscar archivos maliciosos: findbot.pl directorio Verificando archivos de wordpress .htaccess wp-config.php Revisar los archivos functions.php find . -iname "functions.php" Verificar que archivos se han modificado recientemente: find . -type f -printf "%-.22T+ %M %n %-8u %-8g %8s %Tx %.8TX %p\n" | sort | cut -f 2- -d ' ' Escanear el servidor en busca de códigos maliciosos en los archivos Buscar código malicioso en archivos y carpetas de WordPress: find wp-includes -iname "*.php" find wp-content/uploads -name "*.php" -print Escanear la base de datos en busca de códigos maliciosos Descargar un back de la base de datos "backup.sql" Guardar en el archivo pattern.txt