[SOLUCIONADO] Fichero hackeado encontrado. ¿Cómo sé lo que ha pasado?

Iniciado por teerakon piruk, Septiembre 18, 2022, 11:57:29 PM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

Buenas.

Estoy investigando un servidor web linux con Apache2 que ha sido hackeado. Lo típico, que te cambian la página por otra.
He ide
ntificado el fichero modificado, y con "stat" saco la fecha de modificación. Pero me gustaría saber con detalle qué ha pasado y por dónde han entrado.

Estoy revisando los ficheros de log en las fechas próximas y no veo nada relevante.

¿Alguna idea?
Gracias

Yo primero miraría las entradas por ssh, en el archivo auth. Entradas a dias//horas raros de usuarios del sistema.

Echaría un vistazo a logs de base de datos y apache. consultas con "union" o "outfiles". Y en las entradas de log del apache lo mismo, solo se verár los que sean via get pero algo es algo.
Yo también echaria un vistazo a árbol de directorios de web mirando webshells, algun system o base64 metido en algun archivo php.

Las más probables vías de entrada suelen ser un password que os robasen o un fallo en la programacion del sistema web.
Y mirad a ver si tenéis algun paquete desactualizado, que entonces el ataque puede que haya ido por otros derroteros.

Lo siento, no contesto dudas por MP, si tienes dudas las planteas en el foro.

Septiembre 19, 2022, 08:19:17 PM #2 Ultima modificación: Septiembre 19, 2022, 08:21:42 PM por DtxdF
Mayormente vale la pena hacerlo antes, pero activar el accounting en este momento puede ser buena idea para ver si el atacante aún sigue teniendo acceso y modifica más archivos, aunque esto podría ralentizar un poco más el sistema debido a los recursos que se están invirtiendo.

También es buena idea usar ClamAV, solo para intentar.

Dado que identificaste el archivo, puedes usar comandos como last(1) o lastlogin(8) y comparar las fechas de inicio de sesión de los usuarios con la fecha de modificación del archivo. Estos comandos deberían funcionar incluso si se ha borrado un usuario. También verifica si tienes en la salida de estos comandos o en algún log de algún servicio que registre los nombres de usuarios, usuarios inexistentes, ya que tal vez se revele información útil.

Verifica los logs (/var/log/*) de los servicios que se estén usando en ese servidor.

Aumenta el nivel de depuración en sshd(8) con LogLevel y verifica ficheros como /var/log/authlog o /var/log/auth.log (relativo a la distribución/sistema operativo). La información es increiblemente útil para estos casos.

Verifica si el servidor está conectado a sitios desconocidos por el administrador con netstat(1). También verifica las conexiones en escucha, tal vez haya cosas que no deberían estar allí.

Suerte.

~ DtxdF
PGP :: <D82F366940155CB043147178C4E075FC4403BDDC>

~ DtxdF