Inicio / Blog / Incidente con credenciales de FTP comprometidas

Incidente con credenciales de FTP comprometidas

Publicado el 26/06/2014, por INCIBE
FTPs_comprometidos

A principios del mes de junio de 2014, varias fuentes informan al CERT de INTECO de credenciales FTP comprometidas que están siendo explotadas activamente con fines maliciosos y que según una serie de pruebas, muchas de las credenciales son válidas.

Estas fuentes adjuntan varios ficheros que contienen un total de 1.259.051 de credenciales con 327.787 direcciones IP únicas afectadas. A continuación, se incluye una gráfica del impacto por países

mapa de países afectados

Top 10 de los principales paí­ses afectados por número de credenciales comprometidas:

Top 10 de paí­ses por número de credenciales

Dentro del ámbito de actuación de INTECO, se vieron afectados 295 AS (Autonomous System) y un total de 12.536 direcciones IP únicas en España.

Con el feedback sobre el incidente de los distintos responsables de direccionamiento público con credenciales afectadas, se recopilaron una serie de datos que aportan más luz al incidente:

  • Las credenciales robadas se obtenían mayoritariamente de equipos comprometidos de los usuarios.
  • El catálogo variado de credenciales:
    • Antiguas (más de 10 años) y actuales.
    • Cuentas válidas y cuentas que nunca existieron en los sistemas.
    • Contraseñas válidas y no válidas.
    • Accesible desde Internet o sólo internamente.

En los casos que las credenciales eran válidas, y el servicio estaba accesible desde Internet, se detectó posteriormente la subida de ficheros con el nombre "ftpchk3.php" entre el 08/04/2014 y el 17/06/2014 principalmente, aunque se ha visto alguna evidencia también con fechas de finales de 2013.

Durante la investigación se observa que hay documentación pública que coincide con una variante similar del virus Bagle (octubre 2009). Aunque el código fuente del fichero no es mismo, el comportamiento se aprecia que es similar.

El atacante intenta subir el fichero al FTP estableciendo permisos al fichero a "chmod 0755" y probando en varias rutas:

/
/docs
/domains
/content
/ftp_pub
/htdocs
/html
/httpdocs
/pages
/PUB
/public
/public_html
/root
/site
/sites
/subdomains
/web
/webroot
/webseiten
/website
/www
/wwwroot

Una vez subido, accede por HTTP a ese fichero y si no puede acceder al fichero por HTTP, intenta borrarlo del FTP.

La finalidad del fichero es buscar información sobre el tipo de CMS, el sistema operativo que está ejecutando, la versión de PHP y los módulos que ha cargado.

A continuación se muestra el código del fichero mencionado:

código php de ftpchk3.php

Revisando el conjunto de logs que enviaron los diferentes responsables de los servicios FTP comprometidos, se obtuvo la siguiente lista de direcciones IP origen:

direcciones IP origen

Ejemplo de peticiones HTTP:

peticiones HTTP

Ejemplo de conexiones FTP:

conexiones FTP

Una vez realizado el chequeo con el fichero "ftpchk3.php" y viendo que cumplen los requisitos, se ha detectado que los atacantes realizan diferentes acciones.

Por ejemplo, aquí el atacante inyecta código JavaScript en ficheros "index.html". Dicho código JavaScript, redirige a las víctimas a dominios ".eu" que se generan en función de fecha y hora. Por ejemplo: hxxp://81c41a93.eu/script.html?0.7042193934902765

código JavaScript

En esta otra ocasión, el atacante sube un fichero PHP ”.49bd.php” (nombre con 5 caracteres de longitud y el primero con un punto para realizar su ocultación en sistemas tipo UNIX) que ejecuta acciones en función de los parámetros enviados vía HTTP POST. A continuación se muestra el código ofuscado:

fichero PHP .49bd.php

Recomendaciones:

En el caso de haberse visto afectado por este incidente de seguridad, desde el CERT le recomendamos:

  • Cambiar las contraseñas de todos los usuarios del FTP y del sistema, por si ha habido un mayor grado de compromiso.
  • Buscar evidencias relacionadas con lo explicado previamente en los logs del servidor FTP y HTTP.
  • Analizar los equipos desde los que se ha accedido con cuentas posiblemente comprometidas, con el fin de identificar el malware con el posiblemente estén infectados y desinfectarlo.
  • Implementar medidas de prevención ante este tipo de ataques como pueden ser:
    • Establecer caducidad de contraseñas en un periodo razonable, para evitar que las mismas credenciales se puedan utilizar en un largo de periodo de tiempo por los atacantes.
    • No reutilizar contraseñas. Cuando un equipo es comprometido y se obtienen credenciales de usuarios, los atacantes tratarán de ganar acceso a otros equipos o servicios haciendo uso de esta información
    • En caso de no tener usuarios con acceso desde otros países, filtrar los accesos desde direcciones IP geolocalizadas fuera de España. Esto es evadible accediendo desde España, pero dificulta la tarea de los atacantes y ante casos masivos como este posiblemente lo descarten.