Y algun día me tenía que tocar. Para cumplir con la ley de Murphy, me tocó cuando justo había terminado de reinstalar todo en mi PC porque puse dos discos más grandes y rápidos para acelerar mi trabajo de desarrollo. Buscando plug-ins para Macromedia, me equivoqué en el enlace sobre el que deseaba presionar y terminé instalando un archivo maligno en mi PC que me costó 3 días de trabajo expulsar. Afortunadamente no se instalaba nada más peligroso gracias al Firewall de Windows, al Windows Defender y a mi firewall externo. Corrí por supuesto los conocidos Lavasoft Adaware y Windows Defender además del Antivirus de Norton. Ninguno encontró nada. A veces un antivirus no detecta algunos virus, asíq que corrí otros dos. Panda ActiveScan no encontró nada y BitDefender solo identificó unos cookies de amenaza nula. Tuve que recurrir a otras herramientas de mi caja de recursos hasta encontrar el problema.
Primero, era obvio que la máquina tenía cambios, las carpetas parpadeaban en el explorador e Internet Explorer se colgaba. Era obvio que Windows Defender había protegido al menos parcialmente el entorno. Pero esa protección causaba otro problema, la máquina se reiniciaba en ciertas condiciones. Poco a poco iba acercándome, el intruso para ocultarse generó una entrada en el desktop.ini que llamaba al archivo de íconos de windows para que no se muestre el de su extensión. Es una técnica que usa la funcionalidad de aplicar personalizaciones a carpetas, como por ejemplo mostrar una carpeta siempre como carpeta de gráficos.
Además se instaló una dll y había un par de llamadas en el registro en la entrada de Internet Explorer para iniciar el dll desde internet. (Este es uno de los principales lugares donde se ubica el spyware). Los intrusos suelen usar nombres importantes para que los usuarios no se den cuenta de que el dll es sospechoso. Hay al menos dos pistas para desenmascararlos: 1) si se cambia la extensión al dll (digamos de archivo.dll a archivo.old) no se regenera. Windows XP tiene un mecanismo de protección que vuelve a crear las librerías críticas de un respaldo. 2) El nombre de la empresa que creó la librería no existe en las propiedades del archivo. Este dato siempre se coloca y es firmado de manera digital.
Con estas dos técnicas determiné el dll, y lo separé. Obviamente ahora había que ubicar los lugares en el registro que llamaban al dll a iniciarse con el sistema operativo. Eso demanda iniciar en modo seguro para que el equipo no se cuelgue ni reinicie. Una vez que pude remover las llamadas en el registro, borré el dll y el desktop.ini y no hubo más problemas.
No todos se animan a tratar de remover las amenazas e infecciones y normalmente los técnicos que ayudan a las personas menos educadas en el manejo de la PC, optan por reinstalar el sistema operativo. Para los avezados, estas son las herramientas de mi caja de recursos:
HijackThis. Una aplicación que busca los lugares comunes donde se intenta afectar a Internet Explorer.
CCleaner. Una herramienta de optimización Remueve archivos temporales sin uso.
Spybot Search & Destroy. Busca spybots o adbots comparando con una lista actualizada de amenazas.
Microsoft Windows Malicious Software Removal Tool. Un utilitario de Microsoft que remueve amenazas comunes.
Systernals Process Explorer. Una aplicación que permite ver con mayor profundidad los procesos que corren en la máquina.
BitDefender. Corrí la aplicación en línea y está me mostró que estaba en el camino correcto al identificar el dll.
El final de la historia es feliz... je je. La PC está en perfecto estado y no tuve que reinstalar nada.