¿Recuerda cuando la gente subió accidentalmente sus claves SSH a Github y sitios similares para compartir código?
Hace dos años escribimos sobre desarrolladores de software descuidados que subían sin darse cuenta cientos de miles de claves de control de acceso privadas junto con archivos de código fuente que querían publicar.
Por lo general, este tipo de error ocurre porque las computadoras Linux y Unix por defecto no muestran directorios o nombres de archivos que comienzan con un punto (punto, punto, ASCII 46, hexadecimal 0x2E).
Es fácil olvidar que estos archivos y directorios «ocultos» incluso existen porque rara vez se notan.
Uno de los directorios «ocultos» más importantes para los usuarios de Unix es .sshque suele ser invisible.
Una lista de directorio simple podría verse así:
$ ls -lR.:total 4drwxr-xr-x 2 lua lua 4096 2021-11-18 20:52 lua-utils/./lua-utils:total 32-rw-r--r-- 1 lua lua 5107 2021-11-18 20:45 args.lua-rw-r--r-- 1 lua lua 12384 2021-11-18 20:45 base.lua-rw-r--r-- 1 lua lua 4628 2021-11-18 20:45 socks5.lua
Empacar a ciegas todos estos archivos en un archivo para cargarlos en su repositorio público preferido parece bastante inofensivo, ya que todos los archivos en el lua La cuenta debe ser pública.
Sin embargo, si insiste en que la utilidad de lista de archivos muestre todos los archivos (agregue la opción -a al Todo el mundo al ls Command), incluidos los archivos ocultos que comienzan con un punto, es posible que tenga un árbol de directorios que se parezca a esto:
$ ls -alR.:total 28drwxr-xr-x 4 lua lua 4096 2021-11-18 20:46 ./drwxr-xr-x 27 lua lua 16384 2021-11-18 20:42 ../drwxr-xr-x 2 lua lua 4096 2021-11-18 20:44 .ssh/drwxr-xr-x 2 lua lua 4096 2021-11-18 20:52 lua-utils/./.ssh:total 16drwxr-xr-x 2 lua lua 4096 2021-11-18 20:44 ./drwxr-xr-x 4 lua lua 4096 2021-11-18 20:46 ../-r-------- 1 lua lua 74 2021-11-18 20:45 id_rsa-rw------- 1 lua lua 1993 2021-11-18 20:45 known_hosts./lua-utils:total 40drwxr-xr-x 2 lua lua 4096 2021-11-18 20:52 ./drwxr-xr-x 4 lua lua 4096 2021-11-18 20:46 ../-rw-r--r-- 1 lua lua 5107 2021-11-18 20:45 args.lua-rw-r--r-- 1 lua lua 12384 2021-11-18 20:45 base.lua-rw-r--r-- 1 lua lua 4628 2021-11-18 20:45 socks5.lua
Como puede ver, el árbol de directorios completo contiene uno oculto .ssh Directorio que tiene un archivo llamado. contiene id_rsa, un archivo de clave privada que generalmente contiene las credenciales de uno o más servidores en línea a los que se conecta de forma regular:
$ cat .ssh/id_rsa -----BEGIN RSA PRIVATE KEY-----[. . . .]-----END RSA PRIVATE KEY-----
¿Inserté 6 archivos o solo 5?
Si su herramienta de empaquetado archiva y carga todos los archivos, no solo los «no ocultos», habría incluido inadvertidamente sus propias claves de inicio de sesión SSH privadas junto con su código fuente público.
Irónicamente, eso es id_rsa file incluso podría contener su clave de acceso al mismo repositorio de código fuente donde el archivo de clave ahora es público y se puede buscar.
Dado este dilema, muchos sitios de carga hacen un esfuerzo por encontrar, advertir y eliminar archivos que simplemente no deberían publicarse.
Pero una computadora Unix o Linux típica tiene cientos o miles de archivos ocultos en el árbol de directorios de un usuario ocupado, y aunque pocos de ellos son tan importantes como sus claves SSH, hay muchos cientos o incluso miles de archivos ocultos que son importantes para revelar información secreta. sobre usted, sus cuentas o sus actividades en línea.
La carga accidental de cualquiera de estos archivos puede ser perjudicial para su salud cibernética.
Búsqueda, comandos, documentos y datos de navegación
Por ejemplo, docenas de utilidades populares almacenan archivos de «historial» ocultos que registran las últimas N búsquedas o los últimos M documentos o los últimos comandos P que realizó, en caso de que llegue rápidamente a uno reciente, el comando o documento que utilizó para regresar. más tarde.
A menudo, estos archivos de historial se remontan a días, semanas o incluso más, y su historial de shell de comandos en particular es susceptible a copias no deseadas de su contraseña que se «recuerdan» inadvertidamente cuando no está sincronizado con la solicitud de contraseña e ingresa su contraseña accidentalmente en el símbolo del sistema.
Bueno, los reporteros del sitio de noticias de TI del Reino Unido El Reg, oficialmente The Register, escribieron hoy una advertencia que recibieron de un lector que acababa de notar miles de copias de archivos de cookies del navegador Firefox llamados cookies.sqlite, se puede encontrar en GitHub.
Muchos usuarios de Firefox nunca habrán visto este archivo, especialmente en computadoras Linux, ya que está por defecto en un directorio llamado. está almacenado .mozilla/firefoxdonde es poco probable que aparezca en la exploración de rutina de sus archivos locales gracias al punto al comienzo del nombre del directorio específico de la aplicación .mozilla.
Repetimos el experimento e inmediatamente encontramos más de 4.400 instancias de archivos con ese nombre, el último de los cuales solo tenía unas pocas horas de antigüedad.
No hemos examinado demasiado de cerca los archivos mostrados, aunque ahora son de conocimiento público, ya que sospechamos que ninguno de los usuarios que los subieron tuvo la intención de hacerlo.
Pero pudimos abrirnos y repasar brevemente las muestras que vimos (.sqlite Los archivos son bases de datos independientes para los populares SQLite Kit de herramientas que es ampliamente utilizado por varias aplicaciones (es muy popular en iOS y Android debido a su tamaño de código compacto) y tenían evidencia clara del comportamiento de navegación actual y los inicios de sesión en el sitio.
Naturalmente, cookies.sqlite es solo un archivo confidencial de una aplicación popular, pero es una mala elección para cargar un archivo privado, ya que generalmente contiene información personalizada sobre sus hábitos de navegación privados.
Lo más importante es que su base de datos de cookies puede contener tokens de autenticación que Vuelve a sus sitios web favoritos sin volver a iniciar sesión la próxima vez que lo visite.
Si está acostumbrado a decirle a los sitios web que «Recuérdeme durante X días» para no tener que ingresar su nombre de usuario, contraseña y código 2FA todas las mañanas, es una buena suposición que el secreto Una cadena de caracteres de texto mezclados que le permite para volver la próxima vez se guarda como una cookie web. Por lo tanto, el delincuente que encuentre su archivo de cookies puede copiar su código personal de «omisión de inicio de sesión» y hacerse pasar por usted en su cuenta.
¿Qué tengo que hacer?
- Cuando cargue archivos para uso público, asegúrese de asegurarse de qué archivos ha incluido en su paquete. Se sabe que Windows suprime las extensiones de archivo de forma predeterminada, lo que dificulta estar seguro de qué tipos de archivos ha seleccionado. Como se muestra arriba, se sabe que Linux y Unix suprimen los archivos «ocultos» que comienzan con un punto.
- Si es posible, pídale a alguien que revise su carga antes de hacer clic [OK]. Por ejemplo, si carga su propio código, es probable que se sienta aliviado y eufórico de que se publique su próxima versión, o feliz de que los errores en los que estaba trabajando finalmente se hayan solucionado. Revisar sus propias cargas es como corregir sus propios artículos: usted sabe cómo quiere que se vean, por lo que los errores que, obviamente, otros están difundiendo, a menudo se evitan por completo.
- Adquiera el hábito de borrar las cookies de su navegador con regularidad. Cuanto más tiempo lo deje, más datos personalizados sobre su navegación por el archivo de cookies contendrá. Idealmente, configure su navegador para que las cookies y los datos web se eliminen automáticamente cuando salga. De esa manera, no tienes que acordarte de hacerlo siempre a mano. Es un inconveniente menor para una gran tranquilidad.
- Cierre sesión en los sitios web tan pronto como deje de usarlos. Sí, esto es un inconveniente ya que a menudo tiene que iniciar sesión nuevamente e ingresar su código 2FA. Pero si le dice oficialmente a un sitio como GitHub, YouTube o Facebook que ha optado por no participar, los tokens de autenticación de su navegador actual se invalidan automáticamente y, por lo tanto, son inútiles para cualquiera que se encuentre con ellos más tarde.
- Descargue sus propias cargas tan pronto como sean públicas. Si carga regularmente archivos en repositorios públicos donde otros pueden acceder a ellos, acostúmbrese a descargar sus propias cargas (use un navegador, nombre de usuario o incluso una computadora diferente si puede) como si fuera un miembro curioso del público. . Verifique el contenido del contenido que acaba de descargar con una herramienta que sabe que le dirá todo en la descarga, independientemente de la extensión o el nombre del archivo. A menos que esté buscando archivos fraudulentos, los delincuentes pueden hacerlo por usted.
¡Esté atento antes de compartir!