Contraseñas en texto plano: los riesgos de guardarlas

Una contraseña en texto plano es cualquier contraseña almacenada o enviada en su forma original y legible, sin cifrado ni cálculo de resúmenes criptográficos que la proteja de quien la encuentre. Si un archivo, una hoja de cálculo, una base de datos o un correo muestra la contraseña tal como se escribió, está en texto plano.

Para los equipos de TI reducidos que manejan una docena de prioridades a la vez, este es un error fácil de cometer y fácil de pasar por alto. Una contraseña se copia a una hoja de cálculo durante la incorporación. Un código de recuperación se guarda como archivo de texto "solo por ahora" y nunca se mueve. Nada de esto parece riesgoso hasta que un actor de amenazas lo encuentra.

Eso fue exactamente lo que le pasó a un socio de Huntress. Más adelante en este artículo, repasamos cómo un solo archivo de texto plano en el escritorio de un ingeniero de seguridad le dio a un actor de amenazas acceso total a su portal de Huntress, y qué puede hacer tu equipo para que no te pase lo mismo.


¿Qué es una contraseña en texto plano?

Una contraseña en texto plano se almacena o transmite exactamente como se ingresó, sin cifrado ni cálculo de resúmenes criptográficos aplicado. Si alguien puede abrir el archivo o mensaje y leer la contraseña directamente, está en texto plano, sin más.

Texto plano frente a texto claro frente a sin cifrar

Texto plano, texto claro y contraseña sin cifrar describen el mismo problema. Son distintos nombres para una credencial almacenada o enviada en un formato legible y sin protección, sin nada que la resguarde si alguien accede a donde se encuentra. Verás "contraseña en texto claro" usado tan a menudo como "contraseña en texto plano" en artículos de seguridad. El riesgo detrás de ambos términos es idéntico: cualquiera que pueda ver el archivo, la base de datos o el mensaje puede leer la contraseña directamente.

Qué es una contraseña con cálculo de resúmenes criptográficos y por qué importa

El cálculo de resúmenes criptográficos pasa una contraseña por una función unidireccional que la convierte en una cadena de caracteres de longitud fija. A diferencia del cifrado, este proceso no se puede revertir. No existe una clave que convierta un resumen criptográfico de vuelta en la contraseña original, y esa es justamente la razón por la que es el estándar para almacenar credenciales de forma segura.

Los equipos de seguridad recomiendan algoritmos de cálculo de resúmenes criptográficos diseñados específicamente para contraseñas, como Argon2 y bcrypt, en lugar de cifrado de uso general o, peor aún, ninguna protección.

El salting añade otra capa de protección. Se agrega un valor aleatorio a la contraseña antes de calcular su resumen criptográfico, de modo que dos contraseñas idénticas producen dos resúmenes distintos. Esto frustra los ataques de rainbow table, donde los actores de amenazas usan tablas precalculadas de resúmenes criptográficos de contraseñas comunes para descifrar credenciales en masa.


Por qué es peligroso almacenar contraseñas en texto plano

Almacenar credenciales en texto plano le da a un actor de amenazas todo lo que necesita en el momento en que encuentra el archivo. Esto es a lo que realmente lleva esa exposición.

  • Filtraciones de datos: Un solo archivo o base de datos expuesto puede entregar todas las credenciales que contiene a la vez. No hace falta descifrar ni adivinar nada. El actor de amenazas simplemente lee lo que hay ahí.

  • Amenazas internas: Las credenciales en texto plano no solo están en riesgo por atacantes externos. Cualquiera con acceso al archivo (empleados actuales, contratistas o personal anterior cuyo acceso no se revocó) puede leerlas y hacer mal uso de ellas.

  • Reutilización de credenciales: Las personas reutilizan contraseñas entre cuentas personales y laborales más de lo que a los equipos de TI les gustaría. Una sola contraseña en texto plano expuesta puede abrir las puertas a otras cuentas y sistemas que nunca formaron parte del objetivo original.

  • Evasión de MFA: Los códigos de recuperación y las credenciales de respaldo existen para que los usuarios vuelvan a acceder a sus cuentas cuando la autenticación multifactor (MFA) les falla. Almacenados en texto plano, esos mismos códigos le permiten a un actor de amenazas saltarse la MFA por completo e iniciar sesión como si fuera el usuario legítimo.

Hay dos señales que vale la pena vigilar. Si un servicio alguna vez te envía por correo tu contraseña real en lugar de un enlace para restablecerla, es señal de que la están almacenando en texto plano de su lado, no solo del tuyo. Y si tu propio equipo guarda credenciales o códigos de recuperación en una hoja de cálculo o un archivo de texto en el escritorio, estás a un endpoint comprometido de distancia del escenario exacto que sigue.


Ejemplo real: cómo unos códigos de recuperación en texto plano llevaron a una filtración

Esta es una ramificación de nuestro otro blog, "Huntress Threat Advisory: Active Exploitation of SonicWall VPNs," que permitió el acceso inicial y fue seguido por la rápida implementación de ransomware Akira en todo el entorno de la víctima.

Este blog describe un caso individual interesante dentro de ese periodo.

TL;DR: El actor de amenazas ingresó a través del dispositivo SonicWall de la organización. Al buscar en el endpoint, el actor de amenazas encontró un archivo de texto plano en el escritorio del usuario que contenía los códigos de recuperación de Huntress del cliente. El actor de amenazas luego usó estos códigos para ingresar al portal de Huntress del cliente y comenzó a remediar reportes y a desinstalar endpoints aislados por Huntress.

Punto clave: Evita almacenar códigos de recuperación o credenciales en archivos de texto plano fácilmente accesibles. Hacerlo aumenta significativamente el riesgo de que se vean comprometidas las credenciales, lo que permite a los actores de amenazas moverse a otras plataformas dentro de la organización. No todos los servicios cuentan con protecciones para mitigar el impacto de cuentas comprometidas, lo que podría exponer a la organización a daños adicionales.

Figura 1: Ruta del ataque observado

¿Qué pasó?

El Centro de operaciones de seguridad (SOC) de la región APAC de Huntress detectó a múltiples usuarios administrativos ejecutando comandos para eliminar copias de sombra en varios endpoints dentro de una organización. Al identificar esta actividad sospechosa, los analistas iniciaron una respuesta de aislamiento masivo para asegurarse de que la amenaza estuviera contenida y prevenir un mayor compromiso.

El proceso en ejecución del binario de ransomware Akira w.exe desde el escritorio del usuario permitió que la estación de trabajo fuera cifrada. Sin embargo, la implementación del aislamiento masivo para su contención impidió que todo el entorno fuera cifrado.

Michael, analista del SOC encargado del triaje, confirmó mediante análisis de registros que se accedió a las cuentas de usuario afectadas desde direcciones IP internas en el rango 192.168.x.x. Estas IP no tenían un agente de Huntress instalado, probablemente porque fueron asignadas mediante DHCP a sistemas controlados por los actores de amenazas de Akira tras comprometer la VPN SonicWall de la organización.

Esta técnica es comúnmente utilizada por los actores de amenazas para eludir las soluciones de Detección y respuesta para endpoints (EDR). Al obtener acceso a través de una VPN corporativa, los actores de amenazas se mezclan con el tráfico de red interno legítimo, y a menudo aparecen como usuarios confiables dentro de rangos de IP autorizados.

Dado que los agentes EDR normalmente se implementan solo en endpoints administrados conocidos, cualquier sistema no autorizado introducido a través de la VPN que carezca del agente permanece invisible para el EDR. Además, la actividad que se origina desde una IP asignada por VPN puede parecer que proviene de una fuente interna válida, lo que dificulta las detecciones basadas en anomalías y permite que los actores de amenazas se muevan lateralmente sin levantar sospechas de inmediato.

En esta etapa, el SOC de Huntress emitió un reporte de incidente formal a la organización, en el que describió la actividad sospechosa observada e identificó el compromiso de la VPN SonicWall como la causa raíz probable de la intrusión. El reporte también justificó la respuesta inmediata de aislamiento masivo. Su propósito era informar a la organización sobre la amenaza y guiarla a través de las fases iniciales de respuesta y contención del incidente.

Después del reporte, los analistas del SOC colaboraron con el equipo de Threat Hunting & Response para realizar un análisis más profundo de la actividad y del alcance del compromiso. Su objetivo era darle al socio contexto integral e inteligencia procesable sobre la amenaza activa dentro de su entorno.

¿Exportación y abuso de certificados?

Mientras investigaban el controlador de dominio (DC), los analistas observaron que un usuario comprometido ejecutó comandos para enumerar y exportar certificados del almacén de certificados local. Específicamente, el atacante accedió al almacén de certificados My (Personal) usando el siguiente comando:

certutil -store My

Este comando listará los certificados almacenados en el almacén de certificados personal del usuario actual o de la máquina. Estos certificados podrían contener claves confidenciales usadas para autenticación, cifrado o firma.

Poco después, el atacante exportó un certificado identificado por su huella digital (1d967729be08ef8c4bf86874c9542b4e) tanto a C:\temp\cert.pfx como a C:\cert.pfx usando:

certutil -exportPFX 1d967729be08ef8c4bf86874c9542b4e C:\temp\cert.pfx

certutil -exportPFX 1d967729be08ef8c4bf86874c9542b4e C:\cert.pfx

Nota: Exportar un certificado en formato PFX incluye tanto la clave pública como la privada. Si el certificado se usa para autenticación de usuario o dispositivo (por ejemplo, VPN o RDP con autenticación basada en certificados), su compromiso podría permitir a los actores de amenazas suplantar a usuarios o máquinas legítimas. Esta es una táctica común posterior a la explotación que permite el robo de credenciales y el movimiento lateral, especialmente en entornos que utilizan autenticación basada en certificados.

Esta actividad es un fuerte indicador de que un actor de amenazas se está preparando para obtener acceso persistente o una mayor escalada de privilegios. Sin embargo, no pudimos identificar la causa raíz de esta actividad durante el incidente.

Códigos de recuperación de Huntress en texto plano

Los analistas observaron al actor de amenazas enumerando activamente recursos compartidos administrativos desde el DC, probablemente en busca de datos confidenciales para exfiltrar. Durante esta actividad, el actor accedió a un archivo de texto plano que contenía códigos de recuperación de Huntress ubicado en el escritorio de un ingeniero de seguridad interno.

"C:\windows\system32\NOTEPAD.EXE" \\192.168.1.51\c$\Users\<redacted>\Desktop\Huntress_recovery_codes-<redacted>.txt

Estos códigos de recuperación sirven como un método de respaldo para omitir la autenticación multifactor (MFA) y recuperar el acceso a la cuenta. Si se comprometen, le permiten efectivamente a un atacante evadir la MFA por completo, suplantar al usuario legítimo y obtener acceso completo a la consola de Huntress, lo que aumenta significativamente el riesgo de un mayor compromiso o manipulación de las capacidades de detección y respuesta.

Sospecha de juego sucio

Mientras clasificaban el entorno y colaboraban con el soporte del SOC, los analistas notaron actividad inusual vinculada a una cuenta de ingeniero de seguridad que había comenzado a resolver reportes de incidentes activos a través del portal de Huntress.

Figura 2: Remediación inmediata de reportes de incidentes por parte de una cuenta de ingeniero de seguridad


Dado el contexto del compromiso en curso, este comportamiento pareció anómalo y motivó un contacto inmediato con el socio.

Figura 3: Contacto con el socio y preocupación inicial planteada


Los analistas del SOC escalaron rápidamente sus inquietudes a Soporte de Huntress, señalando las remediaciones sospechosas y correlacionándolas con hallazgos previos.

Poco después del contacto, Soporte de Huntress recibió confirmación del socio: la actividad atribuida a la cuenta del ingeniero de seguridad no fue realizada por su personal. Esta revelación confirmó que el actor de amenazas había aprovechado credenciales y códigos de recuperación comprometidos para acceder al portal de Huntress.

Figura 4: Confirmación de la actividad maliciosa


Con este conocimiento confirmado, el equipo de Huntress revisó la actividad del portal. Este análisis reveló que una dirección IP maliciosa conocida, 104.238.221[.]69, previamente asociada con otros compromisos relacionados con SonicWall, había accedido con éxito al portal de Huntress utilizando los códigos de recuperación comprometidos.

Figura 5: Inicio de sesión en el portal de Huntress para la cuenta del ingeniero de seguridad


Esta actividad llevó al actor de amenazas a cerrar manualmente informes de incidentes activos para suprimir la visibilidad y dificultar la respuesta del socio. Programaron la desaislación y la eliminación de los agentes de Huntress de los sistemas comprometidos.

Figura 6: Agentes desinstalados recientemente (últimos siete días) en el momento del incidente

   Figura 7: La ruta de desinstalación de los agentes a través del portal


Esta secuencia de eventos subraya la importancia de proteger adecuadamente todas las formas de mecanismos de autenticación, en particular los códigos de recuperación, que suelen pasarse por alto por considerarse credenciales de “respaldo”. En muchos sistemas, los códigos de recuperación están diseñados para omitir MFA en situaciones donde los usuarios pierden acceso a su dispositivo de autenticación principal (por ejemplo, un teléfono o un token de hardware). Sin embargo, cuando se almacenan de forma inadecuada, estos códigos se convierten en un único punto de falla y otorgan acceso completo sin ningún desafío secundario.

En este incidente, la capacidad del atacante para enumerar y acceder a códigos de recuperación en texto plano le permitió:

  • Omitir MFA por completo
  • Hacerse pasar por un usuario privilegiado
  • Acceder al portal de Huntress sin ser detectado
  • Suprimir la visibilidad de incidentes cerrando alertas
  • Intentar eliminar las protecciones de endpoint (EDR)


Cómo proteger contraseñas y códigos de recuperación

Almacenar credenciales y códigos de recuperación en texto plano y en un lugar de fácil acceso representa un riesgo real, uno que Huntress ha visto una y otra vez. Una vez obtenidas, estas credenciales le dan a un actor de amenazas la capacidad de comprometer endpoints, pasar a aplicaciones de terceros y alcanzar plataformas de seguridad críticas. En este incidente, los códigos de recuperación expuestos de Huntress permitieron al atacante iniciar sesión en el portal de Huntress, cerrar alertas activas y comenzar a desinstalar agentes de Huntress EDR, un intento de cegar las defensas de la organización y dejarla expuesta a ataques posteriores.

Trata los códigos de recuperación con la misma sensibilidad que las contraseñas de cuentas privilegiadas. Así es como puedes mantener ambos fuera del alcance de un actor de amenazas:

  • Usa cálculo de resúmenes criptográficos y salting:Calcula el resumen criptográfico de las contraseñas con un algoritmo diseñado para ello, como Argon2 o bcrypt, y agrega un salt para que contraseñas idénticas nunca generen resúmenes idénticos.

  • Evita el almacenamiento en texto plano: No guardes códigos de recuperación en archivos de texto sin protección, unidades compartidas o carpetas no seguras.

  • Mantén las credenciales fuera de configuraciones y copias de seguridad: Nunca registres ni codifiques contraseñas en archivos de configuración, scripts o tareas de copia de seguridad donde puedan pasar desapercibidas durante meses.

  • Usa un administrador de contraseñas: Guarda los códigos de recuperación y las credenciales en un administrador de contraseñas cifrado con una frase de contraseña segura, no en un archivo de texto de escritorio, y evita el autocompletado.

  • Trata los códigos de recuperación como credenciales de administrador: Si un código puede omitir MFA, merece el mismo manejo que una contraseña privilegiada, no un lugar en el escritorio.

  • Rota y supervisa: Regenera periódicamente los códigos de recuperación si están disponibles y supervisa el acceso de inicio de sesión en busca de inicios de sesión inusuales.

Una buena higiene de credenciales cierra el camino más fácil hacia tu entorno, pero no es la única capa que necesitas. Cuando la higiene falla, ya sea por una contraseña reutilizada, un código de recuperación expuesto o un intento de omisión de MFA en curso, Huntress Managed ITDR detecta y responde a ataques basados en identidad en alrededor de tres minutos, con una tasa de falsos positivos menor al 5%.



Los peligros de las credenciales almacenadas en texto plano

Almacenar credenciales y códigos de recuperación en texto plano y en un lugar de fácil acceso representa riesgos de seguridad importantes (unos que Huntress ha visto una y otra vez). Una vez obtenidas, estas credenciales le dan a un actor de amenazas la capacidad de comprometer endpoints dentro de la red y acceder a aplicaciones de terceros y plataformas de seguridad críticas. Este nivel de acceso puede utilizarse como arma para deshabilitar defensas, manipular herramientas de detección y ejecutar más acciones maliciosas.

En este incidente, el atacante usó códigos de recuperación expuestos de Huntress para iniciar sesión en el portal de Huntress, cerrar alertas activas e iniciar la desinstalación de agentes de Huntress EDR, intentando efectivamente cegar las defensas de la organización y dejarla vulnerable a ataques posteriores.

Es importante mitigar estos riesgos. Las organizaciones deben tratar los códigos de recuperación con la misma sensibilidad que las contraseñas de cuentas privilegiadas. Aquí hay algunas prácticas recomendadas para proteger los códigos de recuperación y las credenciales.

  • Evita el almacenamiento en texto plano: No guardes códigos de recuperación en archivos de texto sin protección, unidades compartidas o carpetas sin protección.
  • Usa un administrador de contraseñas: Guarda los códigos de recuperación y las credenciales en un administrador de contraseñas cifrado con una contraseña segura (y sin autocompletado).
  • Cifra el almacenamiento sin conexión: Si no puedes usar administradores de contraseñas digitales, guarda los códigos en un archivo cifrado y protegido con contraseña en una unidad USB o disco duro cifrado.
  • Rota y supervisa: Regenera periódicamente los códigos de recuperación si están disponibles y supervisa el acceso de inicio de sesión para detectar inicios de sesión inusuales.

Los códigos de recuperación no deberían ser una preocupación secundaria; son un camino directo para evadir MFA y obtener acceso.

IoC


Elemento

Descripción

w.exe


SHA256
6f1192ea8d20d8e94f2b140440bdfc74d95987be7b3ae2098c692fdea42c4a69

Ejecutable de ransomware

104.238.221[.]69 

IP del atacante que ingresó a la plataforma de Huntress

cert.pfx

Exportación de certificado


Conclusión 

Las contraseñas en texto plano no son solo un mal hábito. Son un camino directo al robo de credenciales, la evasión de MFA y el compromiso total de la organización. El incidente de Huntress anterior muestra exactamente qué tan rápido puede ocurrir esa escalada, desde un solo archivo de texto en un escritorio hasta un actor de amenazas que cierra informes de incidentes y desinstala agentes EDR dentro de tu propia plataforma de seguridad.

Revisa cómo tu equipo guarda las credenciales y los códigos de recuperación hoy. Si la respuesta involucra una hoja de cálculo, un archivo de escritorio o un correo con una contraseña dentro, vale la pena solucionarlo ahora, antes de que alguien más lo encuentre primero.



También te podría interesar