27 de octubre de 2013

PHP. Comprometido el sitio oficial

El sitio web oficial del lenguaje de programación PHP ha sido comprometido y usado para infectar con malware a los visitantes.
Tras descartar el falso positivo y eliminar el malware del sitio oficial, los administradores de php.net han publicado una nota de prensa admitiendo la intrusión y el alojamiento de malware por parte de los atacantes.
Modus opernadi del ataque 
  • El primer aviso lo dio el motor de bloqueo de Google Chrome, Safe Browsing. En el se podía leer que el motivo del bloqueo era la detección de malware alojado en el sitio web principal de PHP. Exactamente el script  http://static.php.net/www.php.net/userprefs.js
  • Dicho script contenía código ofuscado que generaba un iframe oculto el cual cargaba otro script adicional, de un tercer dominio, para finalmente acabar siendo víctima del exploit kit Magnitude. Un esquema habitual usado por los atacantes para atraer gran cantidad de objetivos (un sitio popular) y alargar en lo posible la infección (código ofuscado, iframe oculto y múltiples dominios maliciosos). 
Fechas probables de infección
  • Aunque todavía se encuentran trabajando en la investigación para llegar a conclusiones, los administradores han situado la ventana de exposición entre el día 22 y 24 de octubre.
  • Durante esos días haber visitado los sitios web de php.net que incluyesen un enlace al script userpref.js significa que se ha estado expuesto a la infección.
Recursos afectados 
En principio han sido comprometidos dos servidores.
  1. El principal alojaba los sitios www.php.net, static.php.net y git.php.net. Este último dominio es el que lleva al repositorio de código de todo el proyecto PHP, no solo la vista web del repositorio, sino el servidor GIT (puerto tcp/9418). Aunque según informan han comprobado que el repositorio de código no se ha "tocado" como precaución se ha bloqueado en modo lectura y migrado a otro servidor.
  2. El otro servidor se correspondería con el dominio bugs.php.net y aloja el sitio web de reporte de errores.
Medidas tomadas para contrarestar el ataque
  • Como medida de precaución los certificados han sido revocados, ya que podrían haber sido extraídos por los atacantes. Es decir, llegaron a tener los privilegios necesarios para leer dichos archivos.
  • De momento los servicios SSL no van a funcionar hasta que sean emitidos nuevos certificados. Un ejemplo perfecto para justificar el mecanismo de revocación de certificados.
Más información:
Fuente: Hispasec