Bueno, recientemente me he encontrado con un especimen muy interesante.
Me llaman porque los programas instalados para comunicaciones no funcionan. Me conecto a una máquina con una versión especial del ultravnc que no precisa instalación ni mapeo de puertos. Reviso con el process explorer y veo algunos procesos sospechosos. Los elimino de memoria, pero no restablezco las comunicaciones. Reviso los servicios y veo dos servicios sospechosos
NetDDEdsdm
NetDDEssdm
ambos arrancados automaticamente. Detengo los servicios y se restablecen las comunicaciones con uno de los programas de comunicación principales. Desinstalo los servicios para que no vuelvan a aparecer. Ya no aparecen ni en la lista de servicios.
Volviendo a los ficheros que se ejecutaban como procesos, resulta que no es posible su eliminación del disco. Utilizo el unlocker para borrarlos, los cuales, a pesar de no estar utilizados por ningún proceso no pueden ser eliminados hasta el siguiente reinicio.. ¿no están siendo utilizados y no pueden ser eliminados...?
Los archivos encontrados aparecen en la carpeta c:\windows\system y en la carpeta c:\windows\system32 todos ellos tienen en común varias cosas, primero la fecha de creación, que resulta ser la misma que los ficheros de sistema legítimos de windows que fueron instalados con el sistema. Todos ellos están ocultos y son ficheros de sistema. Gracias a esto puedo detectar los ficheros que componen el bichito. También detecto que se lanzan varios archivos .bat. Uno de ellos se encuentra en la carpeta c:\windows\tasks como un fichero oculto. Curiosa forma de ejecutar la tarea, ya que en el programador de tareas no aparece. El comando que lanza es
rtgen ntlm mixalpha-numeric-symbol32-space 1 7 0 50000 134200000 #41
No tengo muy claro para que sirve, pero crea en la misma carpeta unos ficheros de tamaño de varias gigas, buscando un poco por la red me da la sensación que hace dos cosas, primera buscar la clave del administrador y segundo calcular los hashes md5 (o cualquier otro) de lo que tengo en el disco duro. Lo primero le veo su lógica, pero lo segundo no tengo ni idea.
Otro de los cmds que veo ejecuta el siguiente comando, este fichero, y otros tantos bats aparecen en la carpeta de temporales de windows, c:\windows\temp, que es la que se utilizaba antaño para los temporales, el primer comando es
start ciscv.exe --port 14126 --socks5 --daemon --s_user Microsoft --s_password Bgates8246+
con lo que intuyo que lo que hace es crear el usuario Microsoft con el password Bgates8246+ que es con el que lanza la este proceso. Adicionalmente lanza dos procesos más. Esto me hace pensar que quizás el motivo por el que no puedo borrar los archivos es porque pertenecen al usuario Microsoft (que por otro lado no aparece por ningún sitio), quizás este usuario es el administrador y el usuario normal del sistema ha sido relegado. Nobstante el usuario Microsoft no es propietario de los ficheros en cuestión... Tampoco veo que exista ningún usuario con ese nombre, ni siquiera puedo lanzar ese comando de forma manual, muy extraño, la única explicación que se me ocurre es que cree y borre el usuario al arrancar el sistema y entre ellas lance el proceso, pero... ¿con que objetivo? El caso es que el usuario del sistema si ha visto reducidos sus permisos, una vez restaurados sigo sin poder eliminar los ficheros. De echo los ficheros situados en windows\system32 no es posible restaurar los atributos -h y -s. Reinicio para que unlocker borre los ficheros y efectivamente los borra.
Aparentemente ya no está el virus, pero sigo sin poder restablecer las comunicaciones mediante el puerto 5900.
Utilizo el autoruns para ver que es lo que inicia con el sistema, lo único que veo es que no he borrado todas las entradas del registro con lo que se ejecutaban los virus, pero no veo nada más. Pruebo con tcpview y veo que el puerto 5900 está siendo utilizado.... por nadie.
En este punto también he detectado un problema adicional. Habitualmente cuando detecto un especimen nuevo suelo cogerlo y llevármelo a mi máquina. Al estar ocultos y de sistema los programas que utilizo para comunicaciones no me permite copiarlos a mi sistema, intento utilizar el ftp para pasarlos y sorpresa! no puedo usar el ftp, a ver que fisicamente no existe el ftp en el sistema lo intento copiar a mano, pero me da error. Intento copiar el fichero a otra ubicación y me lo permite, pero cuando intento acceder al fichero este ha desaparecido y ya no me permite volverlo a copiar a esta ubicación.
Desconcertado llega el momento de utilizar otras herramientas...
Buscando nuevas herramientas doy con icesword, con este programa soy capaz de ver varias tareas que no veo con el process explorer, estas son
dmsystem.exe
servicessrv.exe
clipsvr.exe
unps.exe
spoolvs.exe
ninguno de estos ficheros es posible verlos desde el explorador de windows o desde la consola, al menos con los comandos que yo conozco, nobstante si puede verlos icesword. Además veo que el puerto 5900 ha sido capturado, no por nadie como dice tcpview, sino por clipsvr, una vez finalizado el proceso las comunicaciones por el puerto 5900 quedan restablecidas.
Buscando solución para el segundo problema, veo que ftp.exe existe en todas las carpetas en las que ha sido copiado, aunque el fichero es un fichero oculto, de esos que no puedo ver con herramientas o comandos estandar y que solo ve el ice.
Una vez elimino de memoria el clipsvr.exe el puerto deja de estar secuestrado y puedo restaurar las comunicaciones. Elimino el resto de ficheros sospechosos pero sigo sin ver los ficheros ocultos.
Borro fisicamente los ficheros del disco, pero... vaya al rato vuelven a estar
Vuelvo a borrarlos y veo que en realidad los vuelve a ejecutar pero desde la carpeta de restauración de sistema, que es quien restaura el fichero original, con paciencia elimino el fichero de la restauración del sistema (que tiene nombre tipo A0021878.exe) y vuelvo a borrar los ficheros fisicamente del disco. Elimino los procesos de memoria y voila! ya no aparecen procesos nuevos.
Sorprendentemente todos los ficheros ocultos reaparecen, las copias del virus que he copiado a otras carpetas, los ftp.exe en todas las rutas creadas, todo. Compruebo la comunicación por ftp y funciona perfectamente, ya no aparecen nuevas sorpresas y creo que la criatura ha muerto definitivamente.
24 horas después puedo comprobar que efectivamente la criatura ha muerto, aunque teniendo en cuenta los bichos con los que he tratado con anterioridad este tiene un nivel de elaboración muy superior al del resto, cuidando hasta el último detalles, pero a la vez queda claro que no solo fallan los antivirus sino que no es necesario utilizar uno de ellos para poder desinfectarlo en caso de resultar infectados. Aunque no he probado todos los antivirus, si es cierto que los online han fallado todos y tras enviar las muestras conseguidas al servicio www.virustotal.com el resultado obtenido por ellos ha sido muy bajo. No se cual es la solución que las empresas de seguridad deberían vendernos para darnos un nivel mínimo de seguridad, pero si tengo claro que no solo las soluciones antivirus son insuficientes, sino que si un creador de malware se preocupa un poco por crear un especimen suficientemente complejo no tenemos escapatoria posible.
En este caso la infección se ha producido por una vulnerabilidad descubierta en uno de los programas de comunicaciones, que, a pesar de haber sido parcheada no había sido desinstalada correctamente, y es que algunos programas cuando actualizas no desinstalan correctamente la versión anterior, y en este caso ha servido para que un atacante que escanea la red infecte máquinas sin parchear. También el problema hubiese sido solucionado cambiando el puerto por defecto, ya que nunca es recomendable utilizar los puertos por defecto, pero mucha gente no lo cambia, puede que por desconocimiento que eso se pueda hacer o por miedo a que eso deje de funcionar, pero hay tantas cosas que vemos a "agua pasada"
En fin, mi recomendación, tener actualizado el sistema, especialmente aquellas aplicaciones que tienen conexión directa con el exterior. Cambiar los puertos por defecto, si es posible utilizar port knocking mucho mejor, el nivel de seguridad aumenta mucho. Utilizar un buen cortafuegos y configurarlo correctamente (es mejor uno malo bien configurado que uno bueno sin configurar) y sobre todo sobre todo, saber lo que se hace y utilizar el sentido común. Utilizar un antivirus es necesario, sobre todo si nuestro conocimientos no son muy elevados
Suscribirse a:
Enviar comentarios (Atom)
No hay comentarios:
Publicar un comentario