Escaneando la Base de Datos en busca de Datos Maliciosos

3 ene 2011, 16:04:38
Vistas: 32.6K
Votos: 5

Después de que el sitio de un amigo fue hackeado, le dije que debería limpiar todo el desorden y comenzar desde cero para asegurarse de que ningún archivo haya sido alterado.

Podría escanear el sitio por él con herramientas como grep y similares (Para empezar: Grep y sus Amigos) pero lo que me preguntaba es, ¿cómo escanear la base de datos? ¿Qué pasa si algún hacker ha colocado payload dentro de la base de datos? Puede ser algo simple como XSS o incluso código PHP en caso de que todavía haya algún eval en el core (o lo hubiera en el momento del hackeo).

¿Alguna sugerencia? Pensé en usar consultas SQL con la función de comparación LIKE o incluso es posible usar REGEX. Pero tal vez alguien ya ha hecho esto o quiere hacerlo y tiene algunas ideas para compartir.

2
Comentarios

Noté, hace aproximadamente 2 semanas, que el tráfico en Google Analytics para mi sitio WordPress cayó dramáticamente. Finalmente me di cuenta de que algún hacker había entrado y mi blog estaba siendo redirigido forzosamente a una variedad de sitios spam. Hoy revisé detenidamente el código fuente y descubrí que la página estaba cargando 2 scripts JavaScript que no reconocía. Entré a mi administrador de archivos y descubrí que las fechas de esos 2 archivos habían sido modificadas cerca del día en que mi sitio fue hackeado. Escaneé mi sitio con el escáner de malware gratuito recomendado arriba, http://sucuri.net/ y también identificó esos

User User
25 sept 2011 18:14:47

@Pamela por favor no uses las respuestas para discusión. Podrás dejar comentarios cuando ganes algo de reputación en el sitio.

Rarst Rarst
25 sept 2011 18:22:50
Todas las respuestas a la pregunta 2
2

He leído que volcar la base de datos como texto y buscar en ella es una buena opción. Puedes buscar con phpMyAdmin, pero es limitado. Depende del tamaño de la base de datos y de un buen editor de texto, pero puedes eliminar las revisiones de entradas/páginas antes de volcar la base de datos para reducir su tamaño. O volcar unas pocas tablas a la vez.

3 ene 2011 16:55:00
Comentarios

Borrar revisiones antes del escaneo parece una buena estrategia para mí. Le preguntaré a mi amigo si todavía las necesita o no. ¿Tienes algún consejo sobre cadenas de búsqueda reales? Pero antes de preguntar, creo que debería hacer mi propia tarea y buscar en Google vulnerabilidades conocidas, incluso debo haber enlazado algunas desde mi blog.

hakre hakre
4 ene 2011 12:39:41

Buscaría las cadenas habituales como eval(base64_decode. Y si ves el código fuente del sitio y encuentras enlaces de spam, busca esos. http://sucuri.net/ mantiene un registro de cadenas de malware relacionadas con WordPress

markratledge markratledge
4 ene 2011 20:28:36
0

Todos los sitios en mi cuenta fueron infectados con un script Decode_Base64 que infectó muchos archivos php, y a pesar de limpiar un sitio que me tomó horas, se reinfectó apenas horas después.

Terminé descargando la carpeta wp-content/uploads y cualquier otro archivo actualizado manualmente usando una conexión FTP segura.

También tomé notas/copias de seguridad de los temas, plugins y otras personalizaciones que necesitaría volver a aplicar.

Luego cambié todas las contraseñas de la cuenta/FTP, cambié manualmente las contraseñas de la base de datos/usuarios usando phpMyAdmin, para denegar el acceso cuando los sitios volvieran a estar en línea.

Después eliminé TODO el código de Wordpress de TODOS los sitios y en su lugar subí un simple archivo index.html que decía que los sitios estaban en mantenimiento.

Revisé las carpetas WP-content/uploads buscando cualquier cosa que no fuera una imagen o mi propio contenido, especialmente buscando scripts (que no deberían estar allí).

Luego, descargué la última versión de WP, la configuré para la base de datos existente con una nueva contraseña, y la subí al servidor.

Accedí al sitio, que en este momento solo tendría Akismet activo. Revisé y eliminé todo lo que no debería estar allí (páginas, entradas, enlaces, etc).

Instalé un plugin de copias de seguridad para asegurarme de tener respaldos de la base de datos/carpetas.

Instalé el plugin Bulletproof-Security (o similar) que crea archivos .htaccess protegidos y te indica cómo asegurar tus archivos/carpetas. Cumplí con sus recomendaciones.

Finalmente, apliqué gradualmente mis personalizaciones nuevamente.

Si tienes múltiples dominios, repite según sea necesario.

En mi situación, en realidad planeaba migrar a un nuevo host, así que después de hacer esto, guardé todo sitio por sitio y los recreé en el nuevo host, una vez que me aseguré que la versión reconstruida del antiguo estaba limpia.

Buena suerte y espero que esto ayude.

23 feb 2012 16:12:38