domingo, 25 de septiembre de 2011

Mi contraseña es “password”


¿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”.