¿Siguen siendo atractivas las noticias que
diariamente salen respecto a nuevos troyanos y otros códigos maliciosos? Para
mí, honestamente no. Salen tantos que resulta aburrido seguirles la pista. Confieso
que a veces me encuentro en Symantec (o
en otros sitios) buenos análisis de un malware y ese sí lo leo porque ya
implica conocer el funcionamiento técnico de uno de estos bichos.
Sin embargo hace unas semanas uno de estos
especímenes me llamó la atención ya que se enfocaba en servidores y se
transmitía por medio de una funcionalidad muy utilizada en servers que es el escritorio remoto. Alerta amarilla. ¿Entonces no
es el típico código que roba contraseñas de banca en línea? Al parecer, no.
Rápidamente empecé a leer el detalle en el sitio de
FSecure, donde ya me enteré del nombre del enemigo: Morto. Ok. Lo siguiente más
importante es entender cómo se propaga para analizar esos vectores de infección
y poder hacer algo preventivo/detectivo (sin olvidar La Pregunta de si tu
antivirus ya lo detecta).
Seguro se propagaba por una debilidad de
software (¿verdad, Blaster y Confiker?). Tal vez por carpetas compartidas o
unidades de red. Y cómo olvidar el USB, uno de los medios preferidos por los
desarrolladores de malware.
Pues no. Sorpresa. El principal vector de
infección de Morto es…el escritorio remoto que usa el protocolo RDP (Remote Desktop Ptotocol). El virus busca
equipos que tengan el puerto 3389 abierto y una vez detectado, trata de
ingresar al sistema.
Pero momento. Si tienes un servidor con el
RDP habilitado, pues igual y obtienes un escritorio remoto, PERO si no tienes
el username y password simplemente no entras (quitando a debilidades de RDP,
claro). ¿Entonces cómo le hacía Morto? Buena pregunta.
Y la respuesta es: adivinando el username y password. Entonces pensaríamos que el código incluía una enorme
base de datos con cientos de miles de posibles nombres de usuario y millones de
contraseñas, cierto?
Mmmhh. Pues no. El nombre de usuario era uno
solo: “Administrator” e incluía menos
de 30 posibles contraseñas. Y con estas armas logró infectar miles de sistemas.
Lo que más me sorprendió es que entre las
contraseñas usadas están: admin, password, server, test, user, pass, letmein,
1234qwer, 1qaz2wsx, abc123, admmin123, 123456.
Si ven, son contraseñas construidas a partir
de combinaciones del teclado (123qwe) o las típicas usadas por ¿algunos? administradores
de sistemas (admin123).
¿No hemos aprendido nada? ¿Cómo es posible
que Morto haya tenido éxito al infectar servidores? Se asume que los
servidores, a diferencia (probablemente) de los sistemas de usuarios finales,
tienen ciertas protecciones como por ejemplo: a) exigencia de contraseñas
complejas para administradores y usuarios; b) bloqueo del servidor luego de 3
intentos fallidos; c) tal vez y con suerte, se restringe vía red sólo a unas IP
que pueden establecer una conexión hacia el servidor por el puerto 3389.
Sin mencionar que un administrador jamás
seleccionaría “test” como contraseña, cierto? En fin.
Todo lo anterior me lleva a constatar que varios
no hemos superado le época de las contraseñas débiles en las corporaciones. Y
aguas, no estamos hablando de passwords
débiles usados en servicios en línea (Facebook, Hotmail, Twitter, G+, etc.),
sino que estamos hablando de contraseñas usadas en servidores corporativos.
Morto no explota debilidades en software sino
la debilidad en administradores que se les hace fácil ponerle la contraseña
“test” a ese servidor de pruebas “que ya merito lo vamos a dar de baja” o “123qwE”
porque es robusta e irrompible.
Les debo un post con técnicas para generar
contraseñas robustas y fáciles de recordar. Mientras tanto, absténganse de usar
contraseñas que según esto son muy fuertes (12345qwert), y si están en una
empresa, revisen
que sus servidores no tienen passwords
chafas o de default. Ah! y háganme un favor, cambien el nombre de la cuenta de
“Administrador”.