Libro “Bug Trap. Una guía práctica para la piratería web "

imagen¡Hola habitantes! “Para aprender algo, es necesario aplicar los conocimientos en la práctica. Así es como aprendimos el oficio de piratear ”. - Michael Prince y Jobert Abma, cofundadores de HackerOne. Bug Trap le presenta la piratería de sombrero blanco: la búsqueda de vulnerabilidades de seguridad. No importa si eres un novato en ciberseguridad que busca hacer que Internet sea más seguro, o un desarrollador experimentado que busca escribir código seguro, Peter Jaworski te muestra cómo hacerlo.



El libro cubre tipos comunes de errores e informes de piratas informáticos de la vida real de empresas como Twitter, Facebook, Google, Uber y Starbucks. A partir de estos informes, comprenderá cómo funcionan las vulnerabilidades y podrá hacer que sus propias aplicaciones sean más seguras.



Aprenderás:



  • cómo funciona Internet y aprender los conceptos básicos de piratería web;
  • cómo los ciberdelincuentes ingresan a los sitios web;
  • cómo la falsificación de solicitudes obliga a los usuarios a enviar información a otros sitios web;
  • cómo acceder a los datos de otro usuario;
  • dónde empezar a buscar vulnerabilidades;
  • cómo conseguir que los sitios web divulguen información mediante solicitudes falsas.


¿Para quién es este libro?



El libro está escrito para piratas informáticos novatos. Pueden ser desarrolladores web, diseñadores web, padres en



baja por maternidad , escolares, jubilados, etc. Por supuesto, la experiencia en programación y un conocimiento general de las tecnologías web serán útiles, pero no serán un requisito previo para la piratería.



Las habilidades de programación pueden facilitar la búsqueda de vulnerabilidades en la lógica de programación. Si puede ponerse en la piel de un programador o leer su código (si está disponible), sus posibilidades de éxito serán mayores.



De que es este libro
:



1. . , . : HTTP-, HTTP.



2. Open Redirect. , .



3. HTTP-. HTTP-­ .



4. . , - HTTP-, .



5. HTML . , HTML- - .



6. . HTTP-, , .



7. . , JavaScript- , .



8. . , . .



9. SQL. , .



10. . , .



11. XML-. , , XML- .



12. . .



13. . , , , .



14. . , .



15. . , , .



16. . , , .



17. OAuth. , , .



18. . , .



19. . , , . .



20. . , , .



. . , , -, , ..



. . (-, , ..



14 Capturar un subdominio



El secuestro de un subdominio permite a un atacante distribuir su propio contenido o interceptar el tráfico en el sitio de otra persona.



Nombres de dominio



El dominio es la URL para acceder al sitio web. Se une a una dirección IP mediante servidores DNS. En su estructura jerárquica, las partes individuales están separadas por puntos, y el elemento final (en el extremo derecho) se llama dominio de nivel superior. Ejemplos de dichos dominios son .com, .ca, .info, etc. A la izquierda está el nombre de dominio. Esta parte de la jerarquía es para acceder al sitio web. Por ejemplo, <ejemplo> .com es un nombre de dominio registrado con un dominio de nivel superior .com.



Los subdominios se encuentran en el extremo izquierdo de la URL y pueden pertenecer a diferentes sitios web en el mismo dominio registrado. Por ejemplo, Example ha creado un sitio web pero necesita una dirección de correo electrónico separada. Puede utilizar dos subdominios diferentes con contenido diferente: www. <ejemplo> .comy webmail. <ejemplo> .com.



Los propietarios de sitios pueden usar varios métodos para crear subdominios, como agregar uno de dos registros a la descripción del nombre de dominio: A o CNAME. El registro A vincula el nombre de un sitio a una o más direcciones IP. Un registro CNAME único vincula los dos dominios. Solo el administrador del sitio tiene derecho a crear registros DNS.



Cómo se produce la captura de subdominios



Un subdominio se considera secuestrado si el usuario tiene control sobre la IP y las URL a las que apunta el registro A o el registro CNAME. Ejemplo: después de crear una nueva aplicación, el desarrollador la alojó en Heroku y creó un registro CNAME que apunta al subdominio del ejemplo del sitio principal. Esta situación se salió de control si:



  1. Example ha registrado una cuenta en la plataforma Heroku sin usar SSL.
  2. Heroku Example unicorn457.herokuapp.com.
  3. Example DNS- CNAME, test.<example>.com unicorn457.herokuapp.com.
  4. Example test.<example>.com, Heroku . CNAME .
  5. , CNAME URL- Heroku, unicorn457.heroku.com.
  6. test.<example>.com, URL- Example.


Las consecuencias de hacerse cargo de un subdominio dependen de su configuración y de la configuración del dominio principal. Por ejemplo, en su presentación Web Hacking Pro Tips # 8 ( www.youtube.com/watch?v=76TIDwaxtyk ), Arne Swinnen describe cómo agrupar las cookies para transferir solo los dominios coincidentes. Sin embargo, si especifica un solo punto como subdominio, por ejemplo,. <example> .com, el navegador enviará la cookie <example> .com a cualquier subdominio de Example que visite el usuario. Al controlar la prueba de dirección. <example> .com, un hacker puede robar la cookie <example> .com de una víctima que visita la prueba del subdominio secuestrado. <example> .com.



Pero incluso si las cookies no se agrupan de esta manera, un atacante podría crear un subdominio que imite al sitio principal. Al colocar un formulario de inicio de sesión en este subdominio, puede obligar a los usuarios a pasarle sus credenciales. Esta vulnerabilidad permite dos tipos comunes de ataques, pero existen otros métodos de piratería, como interceptar correos electrónicos.



Para encontrar vulnerabilidades con el secuestro de subdominios, analice los registros DNS del sitio utilizando la herramienta KnockPy, que busca en los subdominios mensajes de error típicos para tales vulnerabilidades devueltas por servicios como S3. KnockPy viene con una lista de nombres de dominio comunes que vale la pena consultar, pero puede ampliarla. Se puede encontrar una lista similar en el repositorio SecLists de GitHub ( https://github.com/danielmiessler/SecLists/).



Capturando el subdominio Ubiquiti



Dificultad: Baja

URL: assets.goubiquiti.com

Fuente: hackerone.com/reports/109699/

Fecha de presentación : 10 de enero de 2016 Recompensa pagada

: $ 500



Amazon Simple Storage (o S3) es un servicio de almacenamiento de archivos que forma parte de Amazon Servicios web (AWS). Una cuenta en S3 es un depósito al que se puede acceder a través de una URL de AWS que comienza con el nombre de la cuenta. Amazon utiliza el espacio de nombres global para las URL de su depósito, por lo que cada depósito registrado es único. Por ejemplo, si registro un depósito <example>, tendrá la URL <example> .s3.amazonaws.com y solo yo lo poseeré. Pero un atacante también puede recoger cualquier cubo S3 gratuito.



Ubiquiti ha creado un registro CNAME para assets.goubiquiti.com y lo ha vinculado al bucket de uwn-images S3 disponible en uwn-images.s3.website.us-west-1.amazonaws.com. Dado que los servidores de Amazon están dispersos por todo el mundo, esta URL contenía información sobre la región geográfica donde se encontraba alojado el depósito: us-west-1 (norte de California).



Este depósito no estaba registrado o Ubiquiti lo eliminó de su cuenta de AWS sin eliminar el registro CNAME, pero al visitar assets.goubiquiti.com, el navegador intentó obtener contenido de S3. El pirata informático tomó este cubo para sí mismo e informó de la vulnerabilidad.



conclusiones



Busque registros DNS que apunten a servicios de terceros como S3. Si se encuentran tales registros, verifique si la empresa configuró el servicio correctamente. Además, puede monitorear continuamente los registros y servicios utilizando herramientas automatizadas como KnockPy en caso de que una empresa elimine un subdominio pero se olvide de actualizar su configuración de DNS.



Enlace del subdominio de Scan.me a Zendesk



Dificultad: Baja

URL: support.scan.me

Fuente: hackerone.com/reports/114134/

Fecha del informe : 2 de febrero de 2016 Recompensa pagada

: $ 1,000 La



plataforma Zendesk brinda soporte al cliente en subdominios de sitios web. Por ejemplo, si Example lo estaba usando, este subdominio podría parecer support. <example> .com.



Como en el ejemplo anterior, los propietarios de scan.me crearon un registro CNAME que vincula support.scan.me con scan.zendesk.com. El servicio scan.me fue adquirido posteriormente por Snapchat. Poco antes de que finalizara el trato, el subdominio support.scan.me se eliminó de Zendesk, pero su registro CNAME permaneció. Después de descubrir esto, el hacker que usaba el alias harry_mg registró scan.zendesk.com y publicó su contenido en él usando la plataforma Zendesk.



conclusiones



Durante el proceso de integración entre empresas matrices e hijas, es posible que se eliminen algunos subdominios. Si los administradores olvidan actualizar los registros DNS, existe la amenaza de secuestro de subdominios. Dado que el subdominio puede cambiar en cualquier momento, inicie un seguimiento continuo de la información de los registros tan pronto como se anuncie la empresa.



Tomando el subdominio windsor en el sitio web de Shopify



Dificultad: Baja

URL: windsor.shopify.com

Fuente: hackerone.com/reports/150374/

Fecha de presentación del informe: 10 de julio de 2016 Recompensa pagada

: $ 500



Tomar el control de un subdominio no siempre implica registrar una cuenta con un servicio de terceros. El hacker zseano descubrió que Shopify creó un registro CNAME para windsor.shopify.com que apuntaba a aislingofwindsor.com. Descubrió esto mientras buscaba en todos los subdominios de Shopify en crt.sh, que rastrea todos los certificados SSL registrados y sus subdominios asociados. Esta información es pública, ya que cualquier certificado SSL debe ser emitido por una CA para que los navegadores puedan verificar su autenticidad al visitar el sitio. Los sitios web también pueden registrar los llamados certificados comodín que brindan protección SSL para todos sus subdominios (en tales casos, crt.sh se muestra con un asterisco en lugar del subdominio).



Cuando un sitio web registra un certificado comodín, crt.sh no puede determinar para qué subdominio es, pero muestra su hash único. El servicio censys.io realiza un seguimiento de los hash de los certificados y los subdominios en los que se utilizan escaneando Internet. Si busca censys.io para el hash del certificado comodín, encontrará nuevos subdominios.



Al desplazarse por la lista de subdominios en crt.sh y visitar cada uno de ellos, zseano notó que windsor.shopify.com estaba devolviendo un error "404 Página no encontrada". Es decir, el sitio estaba vacío o ya no era propiedad de aislingofwindsor.com. Para probar la segunda opción, zseano visitó un servicio de registro de nombres de dominio e intentó encontrar aislingofwindsor.com. Resultó que este dominio se podía comprar por $ 10. Al hacerlo, zseano informó a los representantes de Shopify sobre la vulnerabilidad de secuestro de subdominios.



conclusiones



Si encuentra un subdominio que apunta a otro sitio y devuelve un error 404, verifique si ese sitio está disponible para registrarse. El servicio crt.sh puede servir como punto de partida para identificar un subdominio. Si encuentra un certificado comodín allí, busque su hash en censys.io.



Capturando el subdominio rápidamente en Snapchat



Dificultad: Media

URL: fastly.sc-cdn.net/takeover.html

Fuente: hackerone.com/reports/154425/

Fecha de presentación del informe : 27 de julio de 2016 Recompensa pagada

: $ 3,000



Fastly es una red de distribución de contenido. o CDN). Almacena copias del contenido en servidores de todo el mundo para que estén lo más cerca posible de los usuarios que las solicitan.



El hacker Ibraitas informó a Snapchat sobre una configuración de DNS incorrecta para su dominio sc-cdn.net. La URL es fastly.sc-cdn.nethabía un registro CNAME que se refería al subdominio fastly. Este último pertenecía a Snapchat, pero no estaba correctamente registrado. En ese momento, el servicio Fastly hizo posible registrar subdominios personalizados, siempre que el tráfico se encriptara mediante TLS, para lo cual se utilizó el certificado comodín Fastly common. En caso de configuración incorrecta del subdominio del usuario en el sitio, se mostraba un mensaje de error: “Error rápidamente: dominio desconocido :. Verifique que este dominio se haya agregado a un servicio ”. Verifique que este dominio se haya agregado al servicio.



Antes de informar del problema, Ibraitas buscó el dominio sc-cdn.net en censys.io y confirmó su propiedad a Snapchat registrando su certificado SSL. Luego configuró el servidor para recibir tráfico de esa URL y mostró que el dominio de hecho estaba siendo utilizado.



Snapchat confirmó que un pequeño porcentaje de visitantes seguía usando la versión anterior de su aplicación, que solicitaba contenido no autenticado de ese subdominio. La configuración personalizada se ha actualizado con un enlace a una URL diferente. En teoría, durante un corto período de tiempo, un atacante podría distribuir archivos maliciosos a los usuarios desde este subdominio.



conclusiones



Busque sitios que tengan enlaces a servicios que devuelvan mensajes de error. Si encuentra un error de este tipo, lea la documentación de servicio y comprenda cómo se usa. Luego intente encontrar la configuración incorrecta con la que puede hacerse cargo del subdominio.



Capture un subdominio en el sitio web de Legal Robot



Dificultad: Media

URL: api.legalrobot.com

Fuente: hackerone.com/reports/148770/

Fecha de envío : 1 de julio de 2016 Recompensa pagada

: $ 100



Incluso cuando el subdominio de un servicio de terceros está configurado correctamente, es posible que el servicio en sí no esté configurado correctamente. Frans Rosen le dijo a Legal Robot que el registro CNAME de DNS para el subdominio api.legalrobot.com apuntaba a Modulus.io, que podía secuestrar.



Después de encontrar la página de error, el hacker tuvo que visitar el servicio y registrar un subdominio. Pero en el caso de api.legalrobot.com, esto no fue coronado por el éxito: Legal Robot ya era dueño de este sitio.



Sin darse por vencido, Rosen intentó registrar un subdominio comodín * .legalrobot.com, que permaneció disponible. La configuración del sitio de Modulus dio prioridad a los subdominios comodín sobre las entradas más detalladas, entre las que se encontraba api.legalrobot.com. Como resultado, como se ve en la Fig. 14.1, Rosen pudo marcar su propio contenido en api.legalrobot.com.



imagen


Observe el contenido que Rosen publicó en la fig. 14.1. En lugar de avergonzar al propietario del sitio y afirmar que se había apoderado del subdominio, utilizó una página de texto modesta con un comentario HTML para confirmar que fue él quien publicó el texto.



conclusiones



Cuando un sitio web utiliza servicios de terceros para alojar un subdominio, se basa en los mecanismos de seguridad de esos servicios. No olvide que en caso de una captura exitosa del subdominio, es mejor hacer la demostración con cuidado.



Sobre el Autor



Peter Jaworski se convirtió en un pirata informático y estudió de forma independiente la experiencia de sus predecesores (algunos de ellos se mencionan en el libro). Ahora es un cazador de vulnerabilidades exitoso, gracias a Salesforce, Twitter, Airbnb, Verizon Media, el Departamento de Defensa de EE. UU. Y otros, ahora es ingeniero de seguridad de aplicaciones en Shopify.



Sobre el editor científico



Tsang Chi Hong , también conocido como FileDescriptor, es un pentester y cazador de vulnerabilidades. Vive en Hong Kong, escribe artículos sobre seguridad web en blog.innerht.ml , está interesado en bandas sonoras y criptomonedas.



»Más detalles sobre el libro se pueden encontrar en el sitio web del editor

» Tabla de contenido

» Extracto



para los habitantes un 25% de descuento en el cupón - Hackeo



Tras el pago de la versión impresa del libro, se envía un libro electrónico al correo electrónico.



All Articles