{"id":22322,"date":"2020-04-03T15:36:10","date_gmt":"2020-04-03T13:36:10","guid":{"rendered":"https:\/\/www.kaspersky.es\/blog\/?p=22322"},"modified":"2020-04-08T13:34:00","modified_gmt":"2020-04-08T11:34:00","slug":"username-enumeration-attack","status":"publish","type":"post","link":"https:\/\/www.kaspersky.es\/blog\/username-enumeration-attack\/22322\/","title":{"rendered":"Los peligros del ataque de enumeraci\u00f3n"},"content":{"rendered":"<p>Hace poco, mientras probaban una plataforma de cadena de bloques en busca de vulnerabilidades, nuestros expertos de Kaspersky Blockchain Security descubrieron que el proceso de recuperaci\u00f3n de la contrase\u00f1a de la plataforma era vulnerable a un ataque mediante la enumeraci\u00f3n de nombres de usuario. Los desarrolladores de la web necesitaban conocer este tipo de ataque y sus peligros.<\/p>\n<h2>\u00bfQu\u00e9 es un ataque de enumeraci\u00f3n?<\/h2>\n<p>Las aplicaciones web con un sistema de autentificaci\u00f3n mediante usuario y contrase\u00f1a suelen incluir varios componentes que interact\u00faan con la base de datos del usuario: la ventana de inicio de sesi\u00f3n (por razones obvias), el formulario de registro (para evitar que se dupliquen los nombres de usuario) y la p\u00e1gina para restablecer la contrase\u00f1a (para asegurarse de que la cuenta correspondiente existe). Si los desarrolladores no implementan estas funciones de forma segura, los atacantes pueden usarlas para determinar si cierto usuario existe en la base de datos.<\/p>\n<p>Antes era habitual que los desarrolladores implementaran todas estas funciones sin ning\u00fan tipo de protecci\u00f3n, por lo que los atacantes podr\u00edan utilizar una lista de nombres de usuario y un programa que los introduc\u00eda uno a uno. Con el tiempo, para deshacerse de los ciberdelincuentes, los desarrolladores comenzaron a aplicar estrategias de protecci\u00f3n como los <em>captchas<\/em>, un l\u00edmite en los intentos de inicio de sesi\u00f3n y el uso de asteriscos u otros medios para ocultar ciertos detalles de la respuesta.<\/p>\n<p>En las aplicaciones web modernas, la ventana de inicio de sesi\u00f3n generalmente cuenta con este tipo de protecci\u00f3n. Sin embargo, a veces faltan los formularios de registro y las p\u00e1ginas para restablecer la contrase\u00f1a. Adem\u00e1s, los desarrolladores web no siempre consideran que la presencia o ausencia de un usuario en la base de datos se pueda determinar seg\u00fan lo que tarde en responder el servidor. Por ejemplo, si el nombre de usuario aparece en la base de datos, la respuesta del servidor tarda 2 milisegundos. Si no, la respuesta tarda el doble: 4 milisegundos. Para un ser humano, la diferencia es indetectable, pero para las herramientas de enumeraci\u00f3n automatizadas, es f\u00e1cil de detectar.<\/p>\n<h2>Los peligros de un ataque de enumeraci\u00f3n de nombres de usuario<\/h2>\n<p>Un ataque de enumeraci\u00f3n permite a un atacante comprobar si existe un nombre en concreto en la base de datos. Esto no permitir\u00e1 que el ciberdelincuente acceda de forma inmediata, pero s\u00ed le concede la mitad de la informaci\u00f3n necesaria. Por ejemplo, para configurar un ataque de fuerza bruta, no tendr\u00e1 que buscar por parejas de nombres de usuario y contrase\u00f1as, solo tendr\u00e1n que encontrar la contrase\u00f1a de un nombre de usuario verificado, lo que le ahorrar\u00e1 tiempo y esfuerzos.<\/p>\n<p>Recuerda tambi\u00e9n que casi todos los servicios utilizan las direcciones de correo electr\u00f3nico como nombres de usuario. Por tanto, el usuario promedio utiliza el mismo nombre de inicio de sesi\u00f3n en muchos sitios web y no todos se toman la seguridad tan en serio; de hecho, las noticias sobre filtraciones de nombres de inicio de sesi\u00f3n y contrase\u00f1as son muy comunes. Las recopilaciones consolidadas de los datos de estas filtraciones est\u00e1n disponibles en los foros de los ciberdelincuentes. Adem\u00e1s, los usuarios suelen usar las mismas contrase\u00f1as en diferentes sitios web, por lo que, despu\u00e9s de asegurarse de que existe un nombre de usuario en tu sitio web, un atacante puede introducir una recopilaci\u00f3n como esa para comprobar si las contrase\u00f1as del usuario existen en otros sitios web y luego intentan acceder con esas contrase\u00f1as<\/p>\n<p>Adem\u00e1s, los operadores del <em>spear phishing<\/em> a menudo emplean ataques de enumeraci\u00f3n durante la fase de reconocimiento. Despu\u00e9s de comprobar que su objetivo tiene una cuenta en tu servicio, pueden enviar un correo electr\u00f3nico supuestamente de tu parte, pidi\u00e9ndole al usuario que cambie su contrase\u00f1a y que se vincule a una p\u00e1gina de <em>phishing<\/em> que se parece a tu sitio web. Cuando el cliente desprevenido introduce una nueva contrase\u00f1a, tambi\u00e9n tiene que confirmar la antigua, y de esta forma proporcionan a los estafadores todo lo que necesitan.<\/p>\n<h2>C\u00f3mo protegerte de un ataque de enumeraci\u00f3n<\/h2>\n<p>\u00bfAlguna vez te has percato de c\u00f3mo responden los sitios web modernos al env\u00edo de un formulario para restablecer una contrase\u00f1a? No dicen \u201cTe hemos enviado un enlace para restablecer tu contrase\u00f1a\u201d o \u201cEl correo electr\u00f3nico especificado no est\u00e1 en nuestra base de datos\u201d, como sol\u00edan hacerlo los sitios web. En su lugar, escriben: \u201cSi este correo electr\u00f3nico existe en nuestra base de datos, te enviaremos un mensaje con un enlace\u201d. En otras palabras, los sitios web no confirman ni desmienten expl\u00edcitamente la existencia del nombre de usuario. Hicieron este cambio precisamente para protegerse contra los ataques de enumeraci\u00f3n.<\/p>\n<p>Asimismo, no es necesario que expliques con detalle en la ventana de inicio de sesi\u00f3n que el usuario ha introducido una contrase\u00f1a incorrecta o que ese nombre de usuario no existe en el sistema. Simplemente di que no se ha encontrado esa combinaci\u00f3n de nombre de usuario y contrase\u00f1a. No es lo ideal desde el punto de la experiencia del usuario: por ejemplo, a m\u00ed me desespera cuando olvido qu\u00e9 correo electr\u00f3nico utilic\u00e9 para el registro, pero estoy bastante seguro de la contrase\u00f1a, o viceversa, pero el sitio web no me indica en qu\u00e9 campo estoy equivocado. Sin embargo, con la seguridad la comodidad casi siempre se ve sacrificada, y en el caso de los servicios de autenticaci\u00f3n, se justifica un sesgo de seguridad menor.<\/p>\n<p>Por supuesto, el uso de un <em>captcha<\/em> y la limitaci\u00f3n en los intentos de inicio de sesi\u00f3n tambi\u00e9n son imprescindibles. Adem\u00e1s de eso, para garantizar la seguridad de tu aplicaci\u00f3n web, recomendamos que te sometas a una auditor\u00eda de terceros. Y, si operas con la tecnolog\u00eda de la cadena de bloques, nuestros colegas de <a href=\"https:\/\/www.kaspersky.es\/enterprise-security\/blockchain-security?icid=es_kdailyplacehold_acq_ona_smm__onl_b2b_kasperskydaily_wpplaceholder_______\" target=\"_blank\" rel=\"noopener\">Kaspersky Blockchain Security pueden ayudarte con el an\u00e1lisis de seguridad de aplicaciones web<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Al auditar unas aplicaciones web, nuestros expertos encontraron una vulnerabilidad a los ataques de enumeraci\u00f3n. Te describimos el problema y te explicamos c\u00f3mo combatirlo.<\/p>\n","protected":false},"author":700,"featured_media":22325,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[2202,2754,2755],"tags":[25,2010,3086,3087],"class_list":{"0":"post-22322","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-business","8":"category-enterprise","9":"category-smb","10":"tag-aplicaciones-web","11":"tag-cadena-de-bloques","12":"tag-cadenas-de-bloques","13":"tag-desarrollo-web"},"hreflang":[{"hreflang":"es","url":"https:\/\/www.kaspersky.es\/blog\/username-enumeration-attack\/22322\/"},{"hreflang":"en-in","url":"https:\/\/www.kaspersky.co.in\/blog\/username-enumeration-attack\/20300\/"},{"hreflang":"en-ae","url":"https:\/\/me-en.kaspersky.com\/blog\/username-enumeration-attack\/16279\/"},{"hreflang":"ar","url":"https:\/\/me.kaspersky.com\/blog\/username-enumeration-attack\/8152\/"},{"hreflang":"en-us","url":"https:\/\/usa.kaspersky.com\/blog\/username-enumeration-attack\/21337\/"},{"hreflang":"en-gb","url":"https:\/\/www.kaspersky.co.uk\/blog\/username-enumeration-attack\/19579\/"},{"hreflang":"es-mx","url":"https:\/\/latam.kaspersky.com\/blog\/username-enumeration-attack\/18335\/"},{"hreflang":"it","url":"https:\/\/www.kaspersky.it\/blog\/username-enumeration-attack\/21222\/"},{"hreflang":"ru","url":"https:\/\/www.kaspersky.ru\/blog\/username-enumeration-attack\/28049\/"},{"hreflang":"tr","url":"https:\/\/www.kaspersky.com.tr\/blog\/username-enumeration-attack\/8044\/"},{"hreflang":"x-default","url":"https:\/\/www.kaspersky.com\/blog\/username-enumeration-attack\/34618\/"},{"hreflang":"fr","url":"https:\/\/www.kaspersky.fr\/blog\/username-enumeration-attack\/14598\/"},{"hreflang":"pt-br","url":"https:\/\/www.kaspersky.com.br\/blog\/username-enumeration-attack\/14668\/"},{"hreflang":"pl","url":"https:\/\/plblog.kaspersky.com\/username-enumeration-attack\/13269\/"},{"hreflang":"de","url":"https:\/\/www.kaspersky.de\/blog\/username-enumeration-attack\/23670\/"},{"hreflang":"zh","url":"https:\/\/www.kaspersky.com.cn\/blog\/username-enumeration-attack\/11317\/"},{"hreflang":"nl","url":"https:\/\/www.kaspersky.nl\/blog\/username-enumeration-attack\/25243\/"},{"hreflang":"ru-kz","url":"https:\/\/blog.kaspersky.kz\/username-enumeration-attack\/22009\/"},{"hreflang":"en-au","url":"https:\/\/www.kaspersky.com.au\/blog\/username-enumeration-attack\/27193\/"},{"hreflang":"en-za","url":"https:\/\/www.kaspersky.co.za\/blog\/username-enumeration-attack\/27031\/"}],"acf":[],"banners":"","maintag":{"url":"https:\/\/www.kaspersky.es\/blog\/tag\/cadena-de-bloques\/","name":"cadena de bloques"},"_links":{"self":[{"href":"https:\/\/www.kaspersky.es\/blog\/wp-json\/wp\/v2\/posts\/22322","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.kaspersky.es\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.kaspersky.es\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.kaspersky.es\/blog\/wp-json\/wp\/v2\/users\/700"}],"replies":[{"embeddable":true,"href":"https:\/\/www.kaspersky.es\/blog\/wp-json\/wp\/v2\/comments?post=22322"}],"version-history":[{"count":6,"href":"https:\/\/www.kaspersky.es\/blog\/wp-json\/wp\/v2\/posts\/22322\/revisions"}],"predecessor-version":[{"id":22356,"href":"https:\/\/www.kaspersky.es\/blog\/wp-json\/wp\/v2\/posts\/22322\/revisions\/22356"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.kaspersky.es\/blog\/wp-json\/wp\/v2\/media\/22325"}],"wp:attachment":[{"href":"https:\/\/www.kaspersky.es\/blog\/wp-json\/wp\/v2\/media?parent=22322"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.kaspersky.es\/blog\/wp-json\/wp\/v2\/categories?post=22322"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.kaspersky.es\/blog\/wp-json\/wp\/v2\/tags?post=22322"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}