JS Automatización de Pruebas de Seguridad para Desarrolladores en Cada Compilación

Rate this content
Bookmark

Como desarrollador, necesitas entregar rápido y simplemente no tienes tiempo para pensar constantemente en seguridad. Aún así, si algo sale mal, es tu trabajo arreglarlo, pero las pruebas de seguridad bloquean tu automatización, crean cuellos de botella y solo retrasan las versiones... pero no tiene por qué ser así...

El escáner de seguridad de NeuraLegion, enfocado en los desarrolladores, Dynamic Application Security Testing (DAST), permite a los desarrolladores detectar, priorizar y remediar problemas de seguridad de manera TEMPRANA, en cada confirmación, sin falsos positivos/alertas, sin ralentizarte.

¡Únete a esta masterclass para aprender diferentes formas en que los desarrolladores pueden acceder a Nexploit y comenzar a escanear sin salir de la terminal!

Recorreremos la configuración de principio a fin, mientras configuramos un pipeline, ejecutamos pruebas de seguridad y analizamos los resultados.

Tabla de contenidos:
- Qué es realmente DAST (Dynamic Application Security Testing) enfocado en los desarrolladores y cómo funciona
- Ver dónde y cómo encaja un DAST moderno y preciso en el CI/CD
- Integrar el escáner Nexploit de NeuraLegion con GitHub Actions
- Comprender cómo se pueden probar las aplicaciones modernas, las API y los mecanismos de autenticación
- Hacer un fork de un repositorio, configurar un pipeline, ejecutar pruebas de seguridad y analizar los resultados

111 min
15 Nov, 2021

Comments

Sign in or register to post your comment.

Video Summary and Transcription

Esta masterclass introduce a los desarrolladores a la automatización de pruebas de seguridad utilizando el enfoque del desarrollador de Neuralegion, DAST. Cubre los desafíos de las pruebas de seguridad de aplicaciones, las limitaciones de las herramientas de análisis estático y los beneficios de utilizar herramientas DAST. La masterclass incluye ejercicios prácticos sobre cómo hacer un fork de un repositorio, ejecutar escaneos, analizar resultados y probar mecanismos de autenticación. Las características de DAST de Neuralegion incluyen pruebas de seguridad de API, validación automática de hallazgos, integración perfecta en pipelines y optimización de la velocidad de escaneo. La masterclass también cubre la configuración de flujos de trabajo de CI, ejecución de escaneos y análisis de vulnerabilidades. Los participantes pueden hacer preguntas y recibir soporte continuo más allá de la masterclass.

Available in English

1. Introducción al taller de pruebas de seguridad

Short description:

Este es un taller práctico sobre automatización de pruebas de seguridad para desarrolladores. Fomentamos la interacción y las preguntas en Discord. Brindaremos apoyo continuo más allá del taller. La agenda incluye una introducción a las pruebas de seguridad, una descripción general de Neuralegion y nuestra tecnología DAST. Luego procederemos con el taller, que cubrirá la bifurcación del repositorio, la ejecución de un escaneo, el análisis de los resultados y la prueba de los mecanismos de autenticación. Todos los activos necesarios están disponibles en el chat y en Discord.

JEFF DIXON NEAT NIENTEN SETO CONTRATACIÓN Este taller práctico sobre automatización de pruebas de seguridad para desarrolladores en cada compilación. Nuevamente, será muy práctico. Creo que rápidamente te darás cuenta de que queremos que sea lo más divertido, relajado y tranquilo posible. Pero también queremos que interactúes con nosotros tanto como sea posible.

Así que cualquier pregunta, cualquier problema, cualquier chiste, lo que sea que quieras compartir, hazlo en Discord idealmente, porque de esa manera podemos mantener una conversación continua. También encontrarás mucha información allí. Y como mencioné, brindaremos apoyo continuo más allá de este taller para cualquier problema que tengas. Lo monitoreamos con nuestros ingenieros de soporte y básicamente toda la empresa para asegurarnos de que tengas éxito en tus pruebas de seguridad.

Entonces, una breve agenda para hoy. No sé si están en el trabajo, en casa, lo que sea, pero vamos a hacer una breve introducción a las pruebas de seguridad, por qué son tan importantes, una breve introducción sobre Neuralegion, sobre nuestra tecnología DAST para que puedas entenderla con un poco más de detalle. Y luego vamos directo al taller. Si aún no lo has hecho, ya puedo ver varios nombres conocidos que ya se han registrado, lo cual es genial. Pero vamos a bifurcar el repositorio. Tenemos las acciones de ejemplo allí, si aún no las has visto, vamos a ejecutar un escaneo juntos, vamos a ver los resultados, entender los resultados y revisar los mecanismos de autenticación, cómo puedes probar las API, básicamente cómo puedes, al final de esta hora y 40 minutos, intentaré devolverte 20 minutos de tu tiempo. Verás lo rápido y fácil que es, que ahora puedes comenzar a automatizar tus pruebas de seguridad con nuestra tecnología DAST. Y lo que necesitarás, está en el chat, está en el servidor de Discord, tal vez si estás viendo esto más tarde, estos son todos los activos que necesitarás para seguir con nosotros. Si no pudiste hacerlo en vivo, pero nuevamente, todos están en el chat y todos están en Discord si aún no los has visto.

2. Introducción a Neuralegion's Developer First DAST

Short description:

Neuralegion es una herramienta de pruebas de seguridad de aplicaciones dinámicas centrada en los desarrolladores. Permite a los desarrolladores construir la superficie de escaneo a partir de pruebas unitarias, programar escaneos y llamar a los escaneos como código. La herramienta valida automáticamente los hallazgos y proporciona pautas de remediación amigables para los desarrolladores. Las pruebas de seguridad de aplicaciones son cruciales debido a la vulnerabilidad de las aplicaciones y al crecimiento de la superficie de ataque. Las herramientas de análisis estático tienen limitaciones y a menudo producen falsos positivos. Las herramientas de Pruebas de Seguridad de Aplicaciones Dinámicas (DAST), como Neuralegion's Developer First DAST, proporcionan un escaneo de seguridad integral al examinar la aplicación construida desde el exterior. Las herramientas DAST pueden identificar vulnerabilidades del mundo real y realizar pruebas de penetración.

Así que una breve introducción a Neuralegion, si aún no has hecho tu tarea, que espero que la mayoría de ustedes lo haya hecho, fundamos en 2018. Somos un equipo global de desarrolladores, investigadores de seguridad, hackers éticos, supongo que esto también es algo en lo que somos muy, muy apasionados, Barz se ríe porque lidera ese lado, pero estamos muy, muy apasionados por las pruebas de seguridad de aplicaciones, pero lo que es más importante, las pruebas de seguridad de aplicaciones para desarrolladores. Realmente creemos que estamos cambiando la forma en que se lleva a cabo la seguridad de las aplicaciones, típicamente realizada por profesionales de seguridad y equipos de seguridad, pero en realidad hemos sido construidos desde cero para proporcionar una herramienta de pruebas de seguridad de aplicaciones dinámicas centrada en los desarrolladores para probar tus aplicaciones web, tus aplicaciones internas, tus APIs, ya sea REST, SOAP o incluso GraphQL, aplicaciones móviles del lado del servidor y, por supuesto, sus APIs correspondientes. Se trata realmente de darte, como desarrollador, la capacidad de construir la superficie de escaneo desde tus primeras pruebas unitarias, permaneciendo dentro de tu entorno. Realizar, programar escaneos, llamar a los escaneos como código, con la Lista de Comandos como parte de la CLI, integrada sin problemas en tus pipelines de desarrollo. Y una cosa de la que hablaremos, y estoy seguro de que todos están levantando las manos y diciendo, finalmente, una herramienta que realmente valida automáticamente cada hallazgo, sin falsos positivos y que realmente te brinda, como desarrollador, pautas de remediación amigables para los desarrolladores, resultados accionables, eliminando el ruido, para que realmente puedas comenzar a solucionar los errores de seguridad temprano y con frecuencia como parte de tu pipeline. Ni siquiera me he presentado. Oli aquí, VP en Neuralegion, y hoy nos acompaña Bar Hoffesch, nuestro CTO y cofundador. Bar, saluda. Hola a todos, encantado de conocerlos. Solo quiero asegurarme de que puedas escucharme y que tu micrófono esté funcionando. Y también es bueno saber que en realidad no he estado hablando durante tres minutos y nadie puede escucharme. ¿Qué? No, solo bromeo. Muy bien. Así que si todos pudieran, ya saben, solo quiero asegurarme de que todos puedan escuchar. Si pueden decir hola en Discord, idealmente, si no en el chat, avísennos de dónde son. Y nuevamente, cualquier pregunta, consulta... Meme favorito, emoji favorito, lo que sea. Todos estamos aquí para pasar una hora y media agradable y relajante. Y espero que aprendamos algo. ¿En qué canal de Discord, James? Es el canal de TestJS. Entonces, vamos... Oh, sí. Y un poco de alarde. Aquí hay una selección de clientes que están utilizando nuestra tecnología innovadora, desde el gobierno, la defensa, seguros, servicios financieros, desde startups con un equipo de dos hasta ocho desarrolladores, hasta equipos con más de 500 desarrolladores, pero que en realidad están dejando atrás sus herramientas heredadas y pasando a Neuralegion. Y repasaremos muy, muy rápidamente las diferencias y cómo sentimos que estamos cambiando el espacio de las pruebas de seguridad y facilitando que los desarrolladores adopten eso.

Entonces, en primer lugar, ¿por qué las pruebas de seguridad de aplicaciones son tan importantes? Muy, muy pocas, una rápida cita tomada del informe de Forrester, el estado de la seguridad de las aplicaciones. Las aplicaciones son y siguen siendo, siempre lo han sido y probablemente siempre serán el eslabón más débil en términos de pruebas de seguridad. Una gran proporción de la superficie de ataque, por lo que es difícil detectar a los usuarios malintencionados y a los hackers que intentarán explotarla, estará en la capa de la aplicación. Estamos viendo un aumento masivo en el uso de APIs y eso se traduce en un modelo de amenaza muy, muy diferente en una superficie de ataque que crece exponencialmente. Y realmente necesitamos asegurarnos de que nuestros productos sean intrínsecamente seguros por diseño. Y estoy seguro de que muchos de ustedes odian ese momento del año en que los golpean con un informe de prueba de penetración con problemas que deben solucionarse en cosas en las que trabajaron hace tres meses, seis meses o un año. No te detienes. Estás desarrollando nuevas funciones, nuevos productos a una velocidad vertiginosa. Y en realidad, las pruebas de seguridad es algo que debe mantenerse al día. Y es por eso que hablamos de mover hacia la izquierda. Vale, mover las pruebas de seguridad hacia la izquierda, más temprano en el proceso, idealmente en tus manos, en las manos de los desarrolladores, para que las pruebas de seguridad puedan coincidir con tus ciclos de lanzamiento rápidos, integrarlas en tu pipeline, detectar problemas temprano, solucionarlos en el momento más eficiente posible y, con suerte, cuanto más a menudo se detecten problemas, menos tiempo se cometerán estos errores. Nadie quiere producir software inseguro, pero realmente se trata de ser seguro por diseño, encontrar problemas lo antes posible.

Ahora, echemos un vistazo a algunos de los diferentes tipos de pruebas de seguridad que es posible que ya conozcas y que es posible que ya estés incluyendo en tus pipelines. Y de hecho, para aquellos que están en Discord o lo han mencionado en el chat, ¿qué herramientas de estas ya estás utilizando en tu pipeline? ¿Estás utilizando SCA, Análisis de Composición de Software, para analizar tus dependencias, bibliotecas? Snyk, White Source, JFrog, entre muchos otros, que realmente están liderando el camino con este tipo de pruebas de seguridad. Pablo usa Sona. Vale, Jalena también está usando Snyk, también es una gran herramienta. Realmente es muy bueno para analizar las bibliotecas y dependencias, como mencioné, que ya estás buscando, White Source, Checkmarx, ¡wow! Vale, genial. Todas las herramientas israelíes. En realidad, son israelíes. Eso es muy, muy cierto. Pero noté que aún nadie ha mencionado ninguna herramienta DAST, lo cual es bastante interesante. Si lo estás ocultando porque no lo he pedido, por favor, mencionalo también. Sería bueno tratar de entender en qué estás enfocándote y tal vez podamos analizar las diferencias o tratar de comprender los problemas y los puntos problemáticos que has experimentado hasta ahora y cómo nuestra tecnología podría manejar eso. Luego tenemos el análisis estático como Susanna usa Checkmarx, por ejemplo. SonarQube es otro que acaban de mencionar en Discord. Pero estas son herramientas que analizan tu base de código, buscan vulnerabilidades, casi como un corrector ortográfico, pero miran las cosas en un espacio unidimensional. Cuando estás mirando los microservicios, cuando miras las aplicaciones de una sola página, ya sabes, el uso de APIs, etc., en realidad, si bien el análisis estático es una gran herramienta para encontrar cosas, hay dos o tres problemas con eso. En primer lugar, están plagados de falsos positivos. A menudo, los desarrolladores están corriendo detrás de su cola, persiguiendo fantasmas o persiguiendo la cola de un fantasma. No sé cómo quieras decirlo. Sabes, genial, pero en realidad se pierde muchas vulnerabilidades, muchos problemas porque cuando miras la aplicación compilada, la aplicación construida, en realidad se está ejecutando de manera muy, muy diferente. Todos los diferentes microservicios que trabajan juntos deben ser examinados de una manera muy diferente y dinámica, ya sabes, en la aplicación compilada o construida, y aquí es donde entra en juego DAS, o Pruebas de Seguridad de Aplicaciones Dinámicas, y SIGCOMM, como Neuralegion's Developer First DAST. Entonces, miramos la aplicación compilada construida, la examinamos desde el exterior, la miramos como un usuario malintencionado o como un hacker que interactúa con tu aplicación para tratar de encontrar vulnerabilidades del mundo real en tus aplicaciones objetivo. Y así es como realmente puedes hacer un escaneo de seguridad muy completo y exhaustivo. Esto es lo que realizarán tus pruebas de penetración, ya sea utilizando herramientas automatizadas como las de Neuralegion o realizando pruebas de manera manual o tal vez de manera manual utilizando otras herramientas que se utilizan para las pruebas de penetración. Por lo tanto, realmente lo estamos mirando de una manera tridimensional, mirando los mecanismos de autenticación, siendo capaces de comprender ataques basados en la lógica real, por ejemplo. Y Bar, no sé si me he perdido algo o si quieres agregar algo a eso. No, creo que fue bastante completo. Básicamente, las diferencias entre mirar el código y mirar el producto real. Una vez que compilamos, una vez que comenzamos a ejecutar, ya sabes, todas esas interacciones entre las diferentes partes del sistema se vuelven reales, lo que significa que cosas como la conexión de la base de datos hacia o desde tu aplicación es algo que un escaneo puede verificar, ¿verdad? Porque cuando todavía es código, son solo palabras, cadenas y texto. Aún no hay funcionalidad allí, por lo que ejecutar un DAST en realidad significa que está ahí, eso es algo que está ahí y podemos verificarlo y darte respuestas reales. Sí, noté que aún nadie ha mencionado qué DAST están utilizando. ¿Están tratando de mantenernos alerta, todos ustedes? Bueno, no están usando DAST.

3. Introducción al Uso de DAST por los Participantes

Short description:

Si en este momento no estás utilizando ningún DAST, por favor avísanos. Queremos entender tus desafíos y lo que aprecias de la herramienta DAST que estás utilizando. Esto nos permitirá tener una conversación interactiva y abordar tus preguntas en tiempo real. Tenemos participantes que ya están utilizando marcas de verificación de origen blanco y otros que están interesados en incorporarse. Al final de esta masterclass, verás lo sencillo que es comenzar a utilizar nuestra tecnología DAS.

Si en este momento no estás utilizando ningún DAST, por favor indícalo en el chat o en Discord. No estoy utilizando uno, por eso estoy aquí. Sería genial entender si estás utilizando uno, cuáles son los problemas que tienes, qué te gusta de la herramienta DAST que estás utilizando, y de esa manera podemos tener una conversación más interactiva. Y como dije, no vamos a esperar hasta el final para responder tus preguntas. Queremos que esto sea dinámico, tan dinámico como nuestras pruebas, y responder estas consultas y preguntas sobre la marcha.

Entonces, Susannah ya mencionó que está utilizando marcas de verificación de origen blanco, genial. Pero no lo está utilizando ella misma, solo recibe el informe de otro departamento, bien. Bueno, bien. Esto es algo que creo que Susannah mencionó en Discord. Ella es líder de equipo en la parte de desarrollo. En realidad, esto es algo que puedes incorporar tú mismo y comenzar a utilizar. Joseph, en este momento no está utilizando ninguno. Bueno, creo que al final, en una hora, te darás cuenta de lo fácil que es comenzar a utilizar nuestra tecnología DAS. Al menos ese es el plan.

4. Características de Neuralegion's DAS

Short description:

Hemos analizado los puntos problemáticos en el mercado de DAS y hemos construido nuestra tecnología para abordarlos. Nuestro objetivo es permitir a los desarrolladores realizar pruebas de seguridad de manera eficiente.

Entonces, ¿qué hemos hecho de diferente? Bien. ¿Qué es lo que es especial, digamos, acerca de Neuralegion's DAS? Y estas son las características que vamos a demostrar en el taller, y esto es algo que verás a medida que comiences a utilizar la tecnología, ejecutándonos y comparándonos con otros, tal vez, si vas a hacer eso. Pero lo que realmente hicimos fue analizar el mercado de DAS, el espacio de pruebas de aplicaciones dinámicas, y ver dónde están todos los puntos problemáticos. Y he estado en reuniones en prácticamente todos los continentes, antes de COVID, por supuesto. Espero ir a muchos más en los próximos 12 meses. Pero ya sea que hables con probadores de penetración, o con desarrolladores, todos tienen los mismos problemas, ¿verdad? Y esto es para lo que la tecnología de Neuralegion's ha sido construida desde cero para permitir. Pero lo más importante, para permitir a los desarrolladores hacer eso.

5. Descripción de las características de Neuralegion's DAS

Short description:

Ofrecemos soporte completo para pruebas de seguridad de API, incluyendo Soap, REST y GraphQL. Nuestra tecnología te permite ejecutar pruebas definidas por alcance aprovechando la funcionalidad de rastreo o consumiendo archivos HAARF. Validamos automáticamente cada hallazgo, eliminando falsos positivos y proporcionando resultados accionables. Nuestra herramienta se integra perfectamente en tu canalización y ofrece una interfaz de usuario fácil de usar. Optimizamos la velocidad de escaneo y minimizamos los requisitos de configuración, haciendo que las pruebas de seguridad sean accesibles para los desarrolladores.

Entonces, analizamos la cobertura, ¿de acuerdo? Como mencioné en mi introducción, realmente lo hacemos muy fácil para que puedas ejecutar pruebas de seguridad en todos tus activos desde una perspectiva de capa de aplicación. Ya sea que se trate de tus aplicaciones web, tus sitios web, tus aplicaciones internas, tal vez aquellas que no están expuestas al público, dándote la capacidad de probar aplicaciones que no están expuestas al público utilizando el repetidor o la CLI, lo cual habrás visto cuando te registraste, y del cual hablaremos en unos tres o cuatro minutos.

Ofrecemos soporte completo para pruebas de seguridad de API, ya sea Soap, REST o GraphQL. La arquitectura basada en microservicios no será un problema para nuestra herramienta DAS. Y repasaremos múltiples mecanismos de autenticación que soportamos. Y lo hacemos permitiéndote, como desarrollador, o tal vez como parte de tu equipo de control de calidad. Y obviamente, si tienes experiencia en seguridad, múltiples métodos diferentes para descubrir la superficie de ataque.

Tal vez estés familiarizado o no con la funcionalidad de rastreo, esto te proporciona la mayor automatización. Aquí es donde nuestro motor rastreará la aplicación objetivo, detectando todos los puntos de entrada, extrayendo los parámetros, construyendo la superficie de ataque, y luego aprovechándola para comenzar a llevar a cabo ataques, imitando básicamente un hackeo ético automatizado. Y luego comenzaremos a atacar. Pero también podemos consumir archivos HAARF, archivos de registro HTTP. Ahora, algunos de ustedes, o muchos de ustedes pueden estar familiarizados o no con ellos, pero estos son registros de interacciones con la aplicación objetivo. Vale, tal vez estés familiarizado con ellos, tu equipo de control de calidad ya esté utilizando herramientas como Selenium, Cypress IO y otras herramientas de automatización de control de calidad, generando sus scripts funcionales.

Y de hecho, puedes aprovechar estos scripts funcionales existentes, guardarlos como un archivo HAARF, subirlos a nuestro motor, lo cual demostraremos, para luego comenzar a ejecutar las pruebas. Pero en realidad, esto te permite ejecutar pruebas definidas por alcance, porque lo que se incluye en la grabación define el alcance de la prueba y no se saldrá de eso. Por ejemplo, podrías grabar una interacción, tal vez con un proceso de inicio de sesión, o un formulario de búsqueda, o un formulario de contacto. Tal vez sea un proceso de pago en tu carrito de compras. Y esto también es válido cuando se desea probar tus API o tal vez tus aplicaciones de una sola página que básicamente son tu esquema de API. Podemos consumir tu documentación de API abierta o incluso tus colecciones de Postman para realmente permitirte usar múltiples métodos de descubrimiento diferentes para construir la superficie de ataque y ejecutar estas pruebas definidas por alcance.

Y esto, llegando al punto tres, te permite ejecutar las cosas rápidamente. En lugar de que los escaneos se ejecuten durante horas o días para que los escaneos duren minutos o unas pocas horas, dependiendo del tamaño del escaneo en sí. Por cierto, si tienes alguna pregunta, quiero llegar a la masterclass, así que si tienes alguna pregunta, por favor, siéntete libre de hacerlas en Discord, donde Baar ya está muy activo. Tengo el chat abierto también. Pero usabilidad y adopción. Todos hablan de shift left. Vale, así que ya hemos discutido tu SCA, muy enfocado hacia la izquierda por los desarrolladores. Análisis estático. Absolutamente, ya lo hacen los desarrolladores, en su mayoría, está a la izquierda. Entonces, ¿de qué habla la gente realmente cuando habla de shift left? Para nosotros, o para mí al menos, y para muchos de los clientes que te mostré antes, lo que realmente quieres hacer es tratar de mover la parte de DAST, o mover las pruebas manuales donde se utilizarán herramientas DAST de todos modos a manos de los desarrolladores. Y aquí es donde realmente entra en juego nuestra tecnología.

Puedes configurar escaneos directamente desde la CLI. Vale, esto será el repetidor que instalaremos en unos minutos una vez que comencemos. Y puedes controlar el escaneo como código. Vale, te mostraré la lista completa de comandos. Tal vez Baar, toma nota, tal vez puedas mostrar la CLI para mostrar cómo se ve desde la perspectiva de un desarrollador. Construyendo la superficie de escaneo desde tus primeras pruebas unitarias. Aprovechando esos archivos simulados para construir la superficie de escaneo lo antes posible para comenzar a realizar las pruebas. Pero un pilar fundamental de nuestra tecnología que no encontrarás en otras herramientas DAST. Y el mayor dolor de cabeza, ya seas desarrollador, probador de penetración o arquitecto de seguridad, no importa quién seas. Eliminar la fatiga de alerta, eliminar el ruido de los falsos positivos es realmente clave. Lo último que necesitas es pasar por ese proceso de validación manual que puede llevar días o incluso semanas.

En mi experiencia, en la experiencia de nuestros clientes, lo que suele suceder es que normalmente tiendes a hacerlo a mano o simplemente lo ignoras. Ignoras la salida porque en realidad no sabes qué es real y qué no lo es. Y eso lleva a una deuda técnica y de seguridad continua porque simplemente la estás desplazando constantemente. Bueno, no importa realmente. Desde el punto de vista de la seguridad, necesitamos lanzar este producto, necesitamos lanzar esta nueva función, pero tenemos 500 vulnerabilidades aquí que realmente no sabemos qué es cierto y qué no lo es. Pero le hemos dicho a nuestros clientes que vamos a lanzar esta nueva función. Así que tenemos que hacerlo, asumimos ese riesgo.

Entonces, lo que hemos hecho es tener una herramienta que valida automáticamente cada hallazgo. Verifica cada hallazgo, elimina los falsos positivos, y solo te proporciona resultados reales que están ahí y que puedes actuar de inmediato pero no necesitan ese proceso de validación manual. Así que cada vez que se detecta una vulnerabilidad por el escáner de Neuralegion, sabes que está ahí y te mostrará la prueba de concepto y toda la información que necesitas para luego ir y remediar de inmediato, o al menos ahora puedes comenzar a priorizar. Creo que la priorización es el mayor problema, y cuando miras CICD, cuando miras DevOps que muchos de ustedes pueden estar implementando ahora, pueden tener una metodología madura o incluso ser muy, muy maduros pero esto seguirá siendo un obstáculo. Seguirá siendo un cuello de botella, esta validación manual. De hecho, verás que Neuralegion lo ha eliminado por completo para que puedas comenzar a solucionar temprano y con frecuencia. Integrado perfectamente en tu canalización, mostraremos algunas de las integraciones que tenemos. También tenemos una API para integrarse en tu entorno tanto como desees, pero lo más importante es que puedes permanecer dentro de tu entorno y la seguridad puede tener una interfaz de usuario atractiva de la cual también hablaremos.

Ya he mencionado algunas cosas sobre la velocidad. Pruebas definidas por alcance, hay múltiples optimizaciones de escaneo incorporadas en nuestra tecnología que incluirán o excluirán pruebas irrelevantes, parámetros irrelevantes que solo ralentizarán la prueba. Se trata de ahorrarte tiempo, maximizar la velocidad de escaneo u optimizar la velocidad de escaneo para que puedas probar temprano y con frecuencia sin ralentizarte. Y desde una perspectiva de cargas útiles, todos hablan de shift left, pongamos las pruebas de seguridad en manos de los desarrolladores. Pero los desarrolladores son desarrolladores, no se espera ni se debe esperar que sean profesionales de la ciberseguridad. No se espera que sean probadores de penetración. Y en realidad, lo que encuentras es que muchas de estas herramientas, especialmente las herramientas DAST, están diseñadas para profesionales de la seguridad. Muchas de las herramientas DAST han existido durante mucho tiempo. Como mencioné, como la lista de clientes que te mostré, todos utilizan las herramientas DAST tradicionales si queremos llamarlo así. Pero se están cambiando porque quieren poner las pruebas de seguridad en manos de los desarrolladores para que sea fácil de usar y comprender los resultados, obtener resultados precisos que sean realmente accionables. Pero no puedes poner una herramienta en manos de un desarrollador donde tengas que configurar cada escaneo para cada objetivo. Verás que nuestra tecnología tiene muy, muy poca configuración mínima. Y es nuestro motor el que hace gran parte del trabajo pesado.

6. Pruebas de seguridad y creación de cuenta

Short description:

Cubrimos pruebas de inyección SQL, scripting entre sitios y lógica de negocio. Nuestra tecnología permite pruebas automatizadas de riesgos y vulnerabilidades de seguridad. DAST se puede realizar antes en el proceso de desarrollo, involucrando a desarrolladores y QA. Neural Legion se integra con varias herramientas y sistemas, proporcionando resultados accionables y automatizando la generación de tickets. También ofrecemos la oportunidad de ganar una Nintendo Switch al registrarse y ejecutar un escaneo. Ahora comencemos creando una nueva cuenta en nuestra aplicación.

Entonces mencioné las optimizaciones de escaneo, por ejemplo. Pero también podemos generar, por lo tanto, las pruebas correctas contra el objetivo correcto, para no ralentizarte y, lo que es más importante, para que no necesites hacer esa configuración. Deja que nuestro motor haga todo el trabajo pesado. Verás aquí que cubrimos la inyección SQL, scripting entre sitios y repasaremos las categorías de pruebas. Pero verás aquí que también llevamos a cabo pruebas de lógica de negocio, ¿de acuerdo? Estas son pruebas que, bueno, la única herramienta DAS que puede hacer esto de manera automatizada. Esto es típicamente lo que realiza manualmente tu equipo de pruebas de penetración. Pero esto busca pasar por alto los mecanismos de validación dentro de tu aplicación o API. Busca romper la lógica dentro de tus aplicaciones y APIs. No son problemas de seguridad en sí, como ataques triviales o inyecciones. ¿Cómo puedo registrarme en un nivel Bronze y obtener derechos de administrador? ¿Puedo manipular una fecha en un campo de informe para causar una denegación de servicio? Un gran riesgo de seguridad, por ejemplo. Y estas son las cosas que puedes tener de manera automatizada con nuestra tecnología. Y esto es cómo debería verse. Y vamos a comenzar, de hecho, el taller en unos minutos. Estamos casi allí. Normalmente, DAS (Pruebas de Seguridad de Aplicaciones Dinámicas) se lleva a cabo en las etapas cuatro y cinco. Tal vez por tu equipo de seguridad o por un tercero. De hecho, con Neural Legion puedes hacer esto mucho antes. Sabes, activar el CI, aprovechar esas pruebas unitarias que mencioné. Sujeto a la madurez de tu equipo o tus metodologías, tu QA ahora puede comenzar a formar parte de esto. Sí, estamos diseñados para desarrolladores, pero también para QA. No necesitas ser un profesional de la seguridad. Ya están creando estos archivos HAAR, estos archivos de registro HTTP, con sus scripts funcionales, aprovechándolos para ahora comenzar a ejecutar pruebas de seguridad. Pero idealmente, y esto es lo que vamos a hacer hoy, hacer un push a GitHub, activar el CI, iniciar un escaneo DAST. La compilación pasará o fallará según la gravedad o el tipo de problema que hayas incluido en el archivo de configuración, del cual también hablaré, algo que mencioné, puedes comenzar a configurar escaneos como código con estos archivos de configuración global basados en YAML. Pero al menos sabes que con Neural Legion tus compilaciones no fallarán por falsos positivos. Serán problemas reales y verdaderos. Y luego automáticamente se puede generar un ticket en JIRA o tu otro sistema de tickets. No tener que ponerlo en una cola, esperar a que se valide manualmente y luego generar un ticket en JIRA. Y desde una perspectiva de cumplimiento, desde una perspectiva de seguridad, desde una perspectiva de priorización, al mirar tus canalizaciones, esto realmente, realmente es fundamental y clave para comprender qué necesita ser corregido y cuándo, ¿verdad? Verás que tenemos integraciones con Slack, tenemos integraciones con Monday.com si lo estás usando, así como una multitud de otros diferentes.

Bienvenidos a todos y gracias por unirse a nosotros. Este es el comienzo del taller técnico real. Hay dos cosas que debemos hacer. Las haremos juntos uno al lado del otro. Por cierto, esta nariz, es mi perro. Puedes saludarlo. Eso es genial. Esto se está grabando, así que ahora vivirá para siempre. Genial. Tienes dos recursos. También los pusimos en Discord. Uno es nuestro ejemplo de acciones de GitHub. Es este repositorio, y el otro es nuestra página de registro. Oli también los enviará a través de Discord y el chat de Zoom. ¿De acuerdo? Acabo de ponerlo en el chat de Zoom. Por cierto, algo que no mencioné, que es un poco travieso. Si quieres ganar una Nintendo Switch, tenemos un sorteo de Nintendo Switch, y lo mejor de esto es que si te registras para obtener una cuenta, lo cual harás ahora, porque obviamente estás haciendo nuestro taller, pondremos tu nombre en el sombrero tres veces, y lo que también haremos en este chat, en este taller, es ejecutar un escaneo. Y si ejecutas un escaneo, pondremos tu nombre en el sombrero diez veces. Así que en realidad estás aumentando diez veces las posibilidades de ganar. Sí, sería genial que uno de ustedes que está en el taller gane. Tenemos algunas preguntas serias en Discord. Supongo que tendré que responder eso. Entonces, la espada, sí, se usa básicamente para pruebas de vulnerabilidades rotas. Simplemente golpeas el servidor hasta que algo se rompa y luego dices, ¡vulnerable! Entonces sí. ¿Qué es eso? ¿Es como un guiño a tu D y D o algo así? Es una espada. De acuerdo, vamos a comenzar creando una nueva cuenta en nuestra aplicación. Entonces, nuevamente, la dirección está aquí en mi pantalla. Entonces, appneurolegion.com, regístrate. Y solo... El enlace está en el chat y en Discord. Así que siéntete libre de unirte. Básicamente, tenemos algunas opciones aquí. Podemos registrarnos con GitHub, podemos registrarnos con Google, o podemos registrarnos usando un correo electrónico. Voy a registrarme con un correo electrónico porque he agotado todas las demás opciones a través de todas esas demos. Así que voy a usar la opción de correo electrónico. En primer lugar, deberás ingresar tu nombre. Ingresa Bar Hofesh. Pero sí, no uses mi nombre, usa el tuyo. Sé que quieres usar el mío, pero así sabrás que eres tú.

7. Creación de cuenta y configuración del repetidor

Short description:

Para crear una cuenta, ingresa tu correo electrónico y contraseña. Verifica tu correo electrónico a través del enlace de confirmación. Únete a Discord o al chat para participar. Crea una organización para colaborar y compartir vulnerabilidades. Inicia el asistente de incorporación para instalar la herramienta nextploit-cli y el repetidor. El repetidor permite escanear entornos locales. Elige ejecutar la CLI y el repetidor en Docker, NPM o Windows. Se recomienda Docker. Ejecuta el comando proporcionado y verifica la respuesta.

Lo siguiente es el correo electrónico. Así que cualquier correo electrónico que funcione para ti, o si usaste una de las otras opciones, simplemente voy a usar mi Gmail, que voy a cambiar por completo para que me permita crear una cuenta. Voy a ingresar la contraseña. Por favor, todos aparten la mirada mientras ingreso la contraseña. Gracias. Bien. Necesitamos una buena contraseña. No puede ser tu cumpleaños o algo así. Asegúrate de que sea algo adecuado. Gracias. Gracias. Es una buena contraseña. Y vamos a crear la cuenta. Una vez que hagamos clic en crear una nueva cuenta, recibiremos un correo electrónico de confirmación, lo que significa que me voy a dirigir a mi correo electrónico y hacer clic en el enlace de verificación, lo que debería abrir esta nueva ventana. Eso básicamente significa que, y si se abre, significa que ¡hooray, ahora estás registrado! Por favor, levanten la mano o digan sí o algo en Discord o en el chat, lo que sea que estén usando. Si están usando Discord, háganlo allí, por favor. Si no lo hacen en el chat, sería genial ver quién está participando. Si no están participando y uniendo, gracias, Joseph. Sí. Si no están participando, simplemente pongan una razón por qué al menos. Estoy trabajando, no me importa, lo que sea. No confío en Oliver. Todo está bien. Es bueno saber quién se está uniendo con nosotros. Sebby ya creó una cuenta. James está con nosotros, Paulio está aquí. Salut, Sim. Sebby, me haces quedar mal con la velocidad... Ves que todos ya terminaron el taller. Han terminado y me están mirando a mí, este abuelo. Muy bien, voy a empezar a moverme más rápido, ¿de acuerdo? Los tengo. Muy bien, entonces... Esto se está convirtiendo en algo así como un espectáculo de comedia en lugar de un taller técnico. Todos están esperando por ti, vamos. Muy bien, muy bien. Al iniciar sesión, tenemos esa sección de crear tu organización. ¿Cuál es el punto de la nueva organización? Así que puedo leerlo si quieres, pero en resumen, significa que este es el lugar de trabajo en el que puedes colaborar. Básicamente, si quieres invitar a tus amigos a tu organización, si quieres crear colaboración con tu equipo, si quieres compartir tus vulnerabilidades, ya sea que todos estén trabajando en un equipo en algún proyecto de código abierto o en una empresa en un producto, o si eres un equipo de probadores de penetración que realiza cacerías de errores y solo quieres compartir las cosas que encontraste, puedes hacerlo, encontré más, ¿verdad? Lo aceptamos y puedes crear esta organización e invitar a tus amigos. Así que voy a crear, no, no quería esto, quiero esto. Entonces, bars.org, aquellos que se destaquen recibirán una invitación a mi organización, que probablemente eliminaré después de esta demostración, pero igual recibirás una invitación, que es una muestra de respeto. Así que voy a crear esta organización donde comenzaremos el asistente de incorporación. ¿Cuál es el punto? Este pequeño asistente nos mostrará cómo instalar la... será la herramienta nextploit-cli, que es básicamente la interfaz de línea de comandos para iniciar nuevos escaneos. Esto también nos permitirá iniciar el repetidor, que nos permitirá escanear entornos locales. Básicamente, si tienes algún tipo de proyecto en ejecución localmente, incluso desde la primera línea de Node.js, y solo quieres ejecutar tu servidor y probarlo en esa etapa, el repetidor nos permitirá hacerlo. Es una especie de pequeño proxy que te permite ejecutar los escaneos localmente. Por cierto, es un repetidor o proxy de código abierto para cualquiera que se pregunte. Y debido a que somos una tecnología SaaS, está bien, software como servicio, cuando no necesitas tener toda la infraestructura, etc., a tu alrededor, pero esto también es una especie de solución para poder escanear y probar esas aplicaciones internas. Entonces, si te preguntas cómo podría funcionar esto dentro de tu entorno, en realidad, tu arquitecto de seguridad o quien sea puede bloquear el repetidor, controlar todo lo que entra y sale, etc., lo que te permite comenzar a escanear tus aplicaciones que no son de acceso público, tu entorno de desarrollo, lo que sea, para que tengas esa capa adicional de seguridad sin tener que preocuparte por usar una tecnología basada en SaaS. Y debido a que es de código abierto, puedes simplemente ver el código, ver lo que estabas haciendo allí. Creo que es bastante genial. Muy bien, supongo que nuestro próximo paso es decidir cómo queremos usar el repetidor. Acabo de ver el mensaje de Pablo. Todavía estoy tratando de ignorarlo. No puedo concentrarme ahora. Muy bien, tenemos tres opciones para ejecutar la CLI y el repetidor. Ya sea en Docker, en NPM o si quieres usar Windows, puedes. No sé. Esa es tu elección. Respetemos las elecciones de todos en la vida, incluso usar Windows. Tienes todas esas opciones. Personalmente, voy a usar la opción de Docker. Simplemente copia eso, ejecútalo en tu terminal y asegúrate de que la respuesta tenga sentido. Ejecútalo. Verás que devuelve algún tipo de versión. Si dice algo como 8.6 o cinco o dos, lo que sea, solo significa que está funcionando. Obviamente, si es NPM, simplemente puedes instalarlo a través de NPM. Si es el instalador de Windows, simplemente puedes descargar el instalador MSI. Siguiente, sí, hice eso.

8. Ejecución de la Prueba de Conectividad y Creación de una Copia del Repositorio

Short description:

A continuación, vamos a realizar una prueba para verificar la conectividad. El asistente ha creado un ID de repetidor y una clave de API para nosotros. El ID te permite elegir con qué repetidor ejecutar un escaneo. El token es súper secreto, así que guárdalo en un lugar seguro. El archivo descargado, next.cli, es para instalar el Instalador MSI X para Windows. Este instala el entorno NPM y nuestra CLI. Si ya tienes Docker o NPM instalados, puedes usarlos. De lo contrario, utiliza el Instalador de Windows. Una vez conectado, puedes actualizar el estado. Si has llegado a este punto, el taller ha finalizado. Al hacer clic en 'Hecho', serás redirigido a la organización y al panel de control. La característica más importante es el tema oscuro, pero también puedes usar el modo de alto contraste o el modo claro. Ahora debemos ir a nuestra cuenta de GitHub y crear una copia del repositorio. Asegúrate de elegir la rama 'broken-crystals'. Hay una pregunta sobre las diferencias técnicas entre las tres opciones y si Docker requiere Kubernetes.

Gracias. A continuación, vamos a realizar una prueba para verificar la conectividad. Puedes ver que nuestro asistente ya ha creado para nosotros un ID de repetidor y una clave de API. Vamos a hablar de eso. El ID se utiliza para que puedas elegir, si tienes varias instalaciones del repetidor, puedes simplemente elegir el que desees, ¿verdad? El repetidor con el que deseas ejecutar un escaneo. El token es súper secreto, así que nunca lo compartas con nadie, especialmente en algún tipo de evento grabado donde muestres tu pantalla a muchas personas. Así que guárdalo como en El Señor de los Anillos. Mantenlo en secreto, mantenlo a salvo. Esa es la idea. ¿Qué es lo siguiente? ¿A qué se refiere el archivo descargado, cli? Supongo que te refieres al Instalador MSI X, ¿verdad? Así que eso es si quieres instalar el MSI, ¿verdad? Las instalaciones de Windows. Lo que hará es instalar el entorno NPM y luego usar nuestra CLI para que puedas ejecutarlo en Windows. Si tienes Docker en Windows, simplemente puedes usar Docker. Si ya tienes el entorno NPM, por ejemplo, si estás usando Windows y ya tienes el entorno NPM instalado, simplemente usa NPM. Si no tienes ninguno de esos, utiliza el Instalador de Windows, ¿por qué no? Así que voy a copiar eso, pegarlo en mi terminal, esperar a que se conecte. Y una vez conectado, simplemente actualizo el estado y veo que está conectado. Si has llegado a este punto, significa que todo está listo, ¿verdad? El taller ha finalizado y puedes irte a casa. Muchas gracias. Muchas gracias. Fue genial tenerlos aquí a todos. WSL es una opción muy válida, por cierto, Ray. Así que si estás usando WSL, simplemente deberías tener Docker allí o en NPM, pero entonces no necesitas el Instalador de Windows, ¿verdad? Porque es el subsistema de Windows para Linux. Muy bien. Al hacer clic en 'Hecho', nos llevará, ¡ta-da!, a nuestra organización y panel de control. Ahora tienes dos opciones principales aquí, y para ser honestos, esa es la característica más importante de nuestro producto. Lo más importante que debes hacer ahora, en realidad, es hacer zoom. Oh no, está bien, lo siento. Muy bien. La característica más importante es el tema oscuro. Así que si se ve así y te quema los ojos, simplemente recuerda que está aquí y puedes activar el tema oscuro, ¿verdad? Pero si por necesidades de accesibilidad o por cualquier otra razón te gusta el modo de alto contraste, entonces está bien. También puedes usar este si quieres. Sí, hagamos una votación. ¿Podemos hacer encuestas aquí, me pregunto? Modo oscuro o modo claro. Veamos cuál es la... Creo que sé cuál va a ser la respuesta, pero... Simplemente escríbelo en Discord. El pulgar hacia arriba significa cuatro y el pulgar hacia abajo significa, sí, así que... Bueno, cuatro, cuatro para el modo oscuro. Así que simplemente... Modo gris, muy bien. De acuerdo, voy a hacer una solicitud de función específicamente para los nombres. Y veremos si podemos incluirlo en nuestra próxima iteración. De acuerdo. Modo rosa, eso es bueno. Deberíamos hacerlo para... Tengo algunas ideas al respecto. Ahora necesitas algo así como un estilo completo de Photoshop donde puedas poner tu uso y RGB y simplemente crear una plantilla completa... No, no estoy desarrollando eso. De todos modos, una vez que lleguemos aquí... Modo de los noventa, lo siento, Pablo. A Pablo le gusta. El modo de los noventa sería bueno. Casi como una versión de Mario Kart o... Con como 60 niveles de miniaturas arriba con un montón de virus y, ya sabes, enlaces a todo tipo de herramientas que se instalaron automáticamente por todo tipo de adware. Recuerdo esos días. De todos modos, para avanzar, ahora debemos ir a nuestra cuenta de GitHub. ¡Woo Hoo! Así que simplemente vamos a hacer clic en eso. ¿Verdad? Así que voy a enviarles a todos ustedes este enlace nuevamente en Discord y también aquí. Asegúrense todos de... Voy a ir aquí y crear una copia del repositorio. ¿Por qué? Porque eso es lo que vamos a mostrar y demostrar todas las interacciones con él. Así que también voy a hacerlo ahora. Voy a hacer clic en 'Fork' y voy a elegir mi usuario. ¡Yay! Bien. Ahora, lo que nos importa es la rama 'broken-crystals', ¿verdad? Tenemos muchas ramas. Vamos a hablar de eso, pero ahora queremos hablar de la rama 'broken-crystals', que también será la predeterminada. Supongo que debería estar bien ahora. Tenemos una pregunta. ¿Cuál es la diferencia técnica entre las tres opciones dadas desde una perspectiva técnica? ¿Cuál de ellas administra mejor los recursos, las posibilidades, la memoria? ¿La primera opción Docker requiere la herramienta de software Kubernetes para ejecutarse? Así que...

9. Configuración de Flujos de Trabajo de CI y Secretos

Short description:

En esta masterclass, creamos un proceso de CI utilizando el repetidor, configuramos un entorno vulnerable llamado broken crystals, ejecutamos un escaneo localmente utilizando Docker Compose y analizamos las vulnerabilidades y la interfaz de usuario. Creamos el usuario para New Religion y bifurcamos el repositorio. A continuación, configuramos las variables de entorno, incluyendo el ID del repetidor y el token de next plot. Para hacer esto, ve a Configuración, luego a Secretos y agrega los secretos del repositorio. Copia el ID del repetidor de la sección de repetidores y pégalo. Para el token de next plot, crea una clave de API en la configuración de usuario con los permisos necesarios. La clave de API de la organización es para equipos más grandes. Por último, configura los flujos de trabajo de CI y habilítalos.

Eso no es una pregunta. No... Oh, tenemos una pregunta. Una vez que tenemos una pregunta sobre Kubernetes, significa que hemos terminado la masterclass. Básicamente, en cuanto a lo que es mejor, creo que la mejor respuesta aquí es que depende, ¿verdad? Depende de tu entorno. Si tienes necesidades de alta disponibilidad, si tienes agrupación en tu entorno y eres una gran empresa y quieres ejecutarlo todo junto y crear redundancia y alta disponibilidad, parece que la mejor opción es utilizar Kubernetes para ejecutar múltiples imágenes del repetidor. Si eres un desarrollador que solo quiere comprobar su propio código localmente y ya tienes un entorno NPM configurado, simplemente usa el enfoque de NPM, ¿por qué no? Si tienes Windows, porque no sé por qué, simplemente usa el instalador MSI o el Windows Subsystem Linux. Todas esas son opciones. Depende. Muy bien. Una vez que bifurcamos el repositorio, tenemos dos cosas que debemos hacer. Primero, debemos ir a Acciones, ¿verdad? Y hacer clic en Entiendo mis flujos de trabajo, y luego habilitarlos. Bien. Y luego vi la última vez que también agregaron algo nuevo. Así que hay un flujo de trabajo llamado CI y habilitar flujo de trabajo. De acuerdo. Así que ambos habilitan flujos de trabajo y luego haz clic en CI y haz clic en habilitar ese, porque de lo contrario no se ejecutará. Eso es lo primero que debemos hacer. Ni siquiera voy a responder a esta. Muy bien. Una vez que esto se haya configurado, hablemos un poco sobre lo que estamos haciendo aquí, ¿verdad? ¿Qué estamos haciendo en esta masterclass? Vamos a crear un proceso de CI donde estamos obteniendo el repetidor, puedes llamarlo el escáner local. Vamos a configurar un entorno vulnerable llamado broken crystals. Vamos a ejecutar un escaneo contra este entorno localmente, dentro del ámbito de CI utilizando Docker Compose. Y luego vamos a ver cómo, uno, encontramos vulnerabilidades y se detiene la compilación, básicamente falla la compilación, y también cómo se ve en la interfaz de usuario. Así que ahora lo que hicimos es crear el usuario para New Religion, lo cual es genial porque ese es nuestro primer objetivo. Y luego bifurcamos el repositorio, que es lo segundo. Solo repasando un poco el flujo, nuevamente es realmente eso. Configuramos el entorno, instalamos la herramienta npm, luego configuramos algunas variables de entorno, que vamos a hacer ahora mismo. Luego iniciamos el escaneo y simplemente esperamos los resultados de este escaneo y luego detenemos el escaneo en caso de fallo. Nuestro próximo paso es crear esas variables de entorno. Así que tenemos dos de esas, dos secretos que necesitamos configurar. El token de next plot y el repetidor. ¿Dónde obtenemos realmente esos? ¿Y cómo los configuramos? Vamos a Configuración en nuestro repositorio y luego ve a Secretos. Dentro de Secretos, queremos agregar un nuevo secreto del repositorio. Y el primero que vamos a agregar es repetidor. Ahora, para asegurarnos de que no tengamos ningún error tipográfico, simplemente copia y pega porque ya sabes cómo es. Simplemente copia y pega la palabra repetidor o del archivo yml, y luego vamos a ir a la cuenta, vamos a hacer clic en repetidores, vamos a crear un nuevo repetidor y esto es importante porque este ya está en ejecución. Así que a menos que quieras detener este en tu CLI, lo cual está bien, puedes hacerlo porque no lo vamos a usar. Así que si detienes este en tu CLI, entonces puedes usar este ID. Si no lo hiciste o simplemente no quieres arriesgarte, simplemente crea uno nuevo, llámalo, mi nuevo repetidor genial. Aquí puedes decir, no sé, lo que quieras. De acuerdo, y voy a crear este repetidor. Voy a copiar básicamente el ID, simplemente haz doble clic en eso, ve a los secretos y pega. Muy bien, asegurándome de que esté todo aquí y haz clic en agregar secretos. Bien, está aquí, lo que significa que tenemos uno, nos queda uno más. El otro es el token de next plot. También voy a copiar y pegar eso en Discord y en el chat. El chat, y vamos a tomar esto de, si haces clic en la configuración de tu usuario y aquí, desplázate hacia abajo, sí, se grabará. Desplázate hacia abajo para administrar tus claves de API de usuario, crea una clave de API, dale algún tipo de nombre, clave de API de demostración. De acuerdo, cualquier nombre que quieras, como puedes ver, realmente nos gusta permitir cualquier texto que quieras agregar allí. Ahora hay permisos específicos que necesitamos. Para que esto funcione, necesitamos, de acuerdo, no te preocupes Udo, voy a volver a este paso nuevamente. Solo voy a preguntar si todos están actualizados, ¿necesitamos ir más despacio? Muy bien, hagámoslo de nuevo. Así que desde la pantalla principal, haz clic en repetidores. Aquí es donde creamos un nuevo repetidor. Luego volviendo a la pantalla principal, está el pequeño perfil de usuario. Debajo de eso, están las configuraciones de usuario. Haz clic en configuraciones de usuario, desplázate hasta abajo, hay crear clave de API. Una vez que hagas clic en esto, te mostrará esa pantalla de creación de clave de API. Solo quiero decir aquí en realidad, que te hemos llevado específicamente a la configuración de usuario para crear tu clave de API. Eso se debe a que con la cuenta gratuita a la que te has registrado, tienes la capacidad de crear una clave de API de usuario. Ahora, como parte de las suscripciones más grandes a nuestra tecnología, ahí es donde en realidad, si fueras a la organización, podrías obtener una clave de API a nivel de organización. Tal vez si has estado jugando anteriormente con la tecnología, sé que muchos de ustedes se registraron en la cuenta anoche o hoy temprano, necesitas la clave de API de usuario, no la clave de API de organización, de lo contrario no funcionará. O tal vez te des cuenta de que no puedes crear una clave de API de organización porque no tienes esa funcionalidad habilitada con la suscripción de nivel gratuito. ¿Por qué querrían una clave de API de organización, por cierto, Bo? La clave de API de organización es específicamente buena para situaciones en las que tienes una gran empresa y un gran equipo. Por ejemplo, no quieres arriesgar un CI con un usuario que sea eliminado o suspendido o, por ejemplo, alguien deja la empresa y luego su usuario es eliminado del sistema y de repente tu CI no funciona porque la clave de API no es válida. Entonces, la clave de API a nivel de organización son nuestras claves del sistema. Permanecen allí hasta que se eliminan manualmente. Hablaremos de eso. Técnicamente, necesitas poner allí el ID del repetidor.

10. Configuración de Clave de API y Repetidor

Short description:

Creamos la clave de API y el token de explotación siguiente. La clave de API es secreta y otorga acceso a varias funciones. El ID del repetidor se puede obtener en la sección de Repetidores de la organización. Ahora, pasemos a iniciar el escaneo o trabajo de CI. Realiza un cambio en el archivo Readme MD y haz un commit para activar el flujo de trabajo. La cuenta es completamente gratuita y no hay restricciones en las capacidades del escáner. El escáner en sí no es de código abierto. Para ejecutar el repetidor, sigue las instrucciones proporcionadas en el canal de Discord.

Pero si lo hiciste- Llegaremos a eso. Ya estábamos allí, pero volveré allí nuevamente solo para asegurarme. Continuando- Oh, las manos. No, hiciste las manos de nuevo lo que significa que estás volviendo a los negocios.

Creamos la clave de API. Hay un alcance específico. Puedes leer sobre ello en la base de conocimientos ahora mismo, simplemente selecciona todo porque no queremos tener problemas. Esta es la forma más insegura de hacerlo, pero ahora mismo solo estamos demostrando. Si quieres, puedes seleccionar todo, hacer clic en Crear, y obtendrás la clave de API. Ahora, esta es una clave de API secreta, especialmente si habilitaste todos los alcances, esta clave de API te permitirá iniciar escaneos, agregar usuarios, hacer todo tipo de cosas en la organización. Asegúrate de mantener esto en secreto. No lo compartas, no lo muestres, no lo divulges en ningún lugar, no lo pegues en Twitter y digas, ¡woo-hoo! Esto es secreto. Cópialo antes de cerrar la ventana.

Luego, en Acciones, este es el token de explotación siguiente. Asegúrate de copiar esto, esto está aquí, y luego puedes hacer Agregar Secretos. ¿Sobre el repetidor, dónde obtenemos el repetidor? Vas a la organización, haces clic en Repetidores, y puedes crear un nuevo repetidor aquí, lo que creará un nuevo repetidor. Simplemente copia el ID y pégalo aquí. Eso es todo lo que necesitamos para el repetidor. ¿Podemos obtener un sí, pulgar arriba de nuevo? Sería bueno saber que no vamos demasiado rápido. Si vamos demasiado lento, avísanos. Puedo ver desde el backend, mucha actividad. Muchas personas parecen estar con nosotros. Genial, Jamie, Halina, Stan, Harikrishna. Maravilloso. De acuerdo. Timor, Mahomed. Genial. Joseph, maravilloso. Muy bien.

Entonces, ahora es el momento del dinero. Si logramos configurar todo correctamente y todo funciona sin problemas, nuestro próximo paso es iniciar el escaneo o básicamente iniciar el trabajo de CI. ¿Cómo lo hacemos? Vamos al Readme MD. Vamos a hacer clic en el botón de edición y vamos a cambiar algo. En este caso, no sé, siempre me gusta agregar un error. Seamos honestos. Por lo general, solo agrego muchos errores porque eso es lo que hacemos en el desarrollo. No se lo digas a Oli.

¿Es esto completamente gratuito y de código abierto? ¿A qué te refieres con completamente gratuito y de código abierto, Teymel? ¿Estás hablando del escáner? Mientras obtenemos una aclaración sobre eso, básicamente voy a hacer cualquier tipo de cambio. Puedes hacer cualquier cambio que quieras. Voy a hacer clic en confirmar cambios. Una vez que hice esto, ya deberíamos ver que hay una acción que comienza a ejecutarse. La actualización del Readme debería haber activado un trabajo. Lo que está sucediendo ahora es que básicamente estamos ejecutando esto, el flujo de trabajo. Solo nuevamente, para aquellos que no estuvieron con nosotros... Ampliar. Ampliando. Y solo para responder a la pregunta de Tymor. La cuenta a la que te has registrado es completamente gratuita. Puedes ver los diferentes niveles en el sitio web de New Religion, por cierto, pero esta es una cuenta completamente gratuita a la que te has registrado. Habrá, por supuesto, algunas limitaciones, como las claves organizativas que mencioné, algunas limitaciones de informes, pero obtienes el polvo completo en todo su esplendor. No hay restricciones que hayamos impuesto en la exhaustividad de las pruebas de seguridad. Queremos que todos se beneficien de eso. El escáner en sí no es de código abierto. Somos una entidad corporativa con una tecnología propietaria, así que no, eso no es de código abierto, pero eres libre de seguir utilizando esta cuenta todo el tiempo que desees. Disfrútalo. Comienza a ejecutar pruebas. Como mencioné, no hay restricciones en las capacidades del escáner, ¿de acuerdo? Y también obtendrás, y nos ocuparemos de ello una vez que se muestre en la interfaz de usuario, obtendrás todas las categorías de pruebas y los ataques basados en lógica incluidos desde un punto de vista de seguridad. Un placer. Un placer. De acuerdo, Bar, archivo de configuración. Estoy respondiendo aquí algunas cosas. Básicamente, así es como si ya iniciaste sesión o simplemente quieres saber cómo ejecutar el repetidor, acabo de responder en Discord. Esta es la forma de ejecutarlo manualmente. Aquí lo estamos ejecutando dentro del CI, ¿verdad? Entonces, lo que hacemos, simplemente obtenemos el paquete npm. Configuramos los secretos. Luego configuramos el entorno a través del Docker Compose. Luego vamos a ejecutar el siguiente.cli. Así es como realmente ejecutas un escaneo, ¿verdad? Si quieres ejecutarlo a través del CI, también puedes ejecutarlo a través de la interfaz de usuario. Una vez que hayas conectado el repetidor, también lo cubriremos.

11. Ejecución de un Escaneo y Configuración de Puntos de Interrupción

Short description:

El escaneo se ha iniciado con un ID específico y actualmente está en modo pendiente. El escaneo esperará hasta que se encuentre un problema de alta gravedad o se alcance un tiempo límite de 10 minutos. Las configuraciones de puntos de interrupción y tiempo límite se pueden personalizar según el alcance específico. La herramienta proporciona resultados validados al 100% sin falsos positivos. La duración del escaneo depende del tamaño de la aplicación. Se recomienda realizar pruebas cortas e incrementales después de cada cambio para obtener comentarios y validación inmediatos. La tecnología está diseñada para permitir a las organizaciones realizar pruebas de seguridad de manera eficiente.

Pero esto en realidad te brinda información sobre cómo ejecutar un escaneo. Luego tienes un ejemplo de comando sobre cómo esperar en un escaneo con un ID específico hasta que termine o llegar a alguna situación. Además, tenemos la documentación completa en el alcance, o simplemente compártelos. Tenemos todas las opciones. También lo voy a poner en el chat, por cierto. Entonces, lo que compartí en Discord son todos nuestros comandos de nuestra documentación. Lo pondré en el chat para aquellos que no estén allí para que todos tengan visibilidad.

Muy bien, lo que sucedió ahora es que construimos el entorno, el Docker Compose. Tenemos algunos registros en ejecución. Iniciamos un escaneo utilizando las configuraciones que hicimos. El escaneo ahora se encuentra aquí. El escaneo se inició con un ID y obtienes el ID. El ID está aquí mismo. Si vas ahora a tu interfaz de usuario, ya verás que hay un escaneo en modo pendiente. Esto significa que has tenido éxito y tienes un escaneo en ejecución. Puedes ver aquí mismo que estamos esperando a que el escaneo realmente comience, ¿verdad? Esperando problemas. Esperará hasta que se alcance el punto de interrupción. ¿Qué es el punto de interrupción? Esa es una buena pregunta. Depende de lo que hayamos configurado. Ahora mismo, en este flujo de trabajo, el punto de interrupción está configurado como punto de interrupción de problema de alta gravedad. Entonces, en el primer problema de alta gravedad que encontremos, fallaremos la compilación. Básicamente, saldremos con un código de estado distinto de cero. Ten en cuenta que también tenemos la opción de tiempo límite, lo que significa que si en 10 minutos no encontramos ningún tipo de vulnerabilidad, estamos diciendo, está bien, no perdamos nuestro tiempo. Continuaremos escaneando esta aplicación o haremos lo que queramos en nuestro propio flujo. Simplemente no detengas la integración continua. Y esto se liberará como si no encontráramos ningún tipo de seguridad vulnerabilidades. ¿Cuáles son las configuraciones óptimas aquí? Realmente depende de tu, gracias, Vader, de tu propia configuración. Correcto. Entonces, si dices que no te importa esperar el tiempo que sea necesario, simplemente puedes eliminar el tiempo límite. Y luego el único punto de interrupción es cuando se encuentra o se alcanza el punto de interrupción. El punto de interrupción puede ser cualquier problema de alta, problema de media, cualquier problema. Y luego en cada abrir AWS tres buckets. Dicen eso. No lo creo. De todos modos, vayamos a nuestras acciones. Podemos ver que la acción ha fallado, lo cual generalmente es malo. Pero para esta demostración, significa que es bueno. Veamos. Así que llegamos al punto de interrupción. A continuación, está el momento en que se encuentra el primer problema de alta gravedad. Oh, oh, no. Sí. Así que iremos después de este ejemplo, y entraremos en más detalles sobre cómo podemos cambiarlo y cómo podemos configurarlo. Ahora mismo, es un buen ejemplo general, pero realmente depende de tu alcance específico.

Muy bien. Ahora veamos cómo se ve en la interfaz de usuario. Una cosa, lo siento, una cosa que vale la pena tener en cuenta. Solo quiero volver siempre al valor desde la perspectiva de un desarrollador. Tal vez si estás viendo esto más tarde o tal vez no estabas escuchando antes. Al ir con el punto de interrupción, por cierto, y el tiempo límite. Entonces, en primer lugar, no olvides que cualquier problema que el motor detecte ha sido validado al 100% por nuestro motor. De acuerdo. Para nosotros, un falso positivo es un error. De acuerdo, no presentamos falsos positivos. Entonces, cualquier cosa que detectes está ahí, y verás cuando revisemos los resultados, la prueba de concepto y la validación que proporcionamos allí. Eso también se remonta a cuando miras tus puntos de interrupción, alta gravedad, tu compilación no fallará por un falso positivo, y puedes estar seguro de eso. Volviendo a los tiempos de espera, por cierto, podrías pensar que 10 minutos podrían ser mucho tiempo, o podría ser poco tiempo. Pero realmente depende de la longitud o el tamaño de la aplicación que se va a escanear que se va a requerir. Pero si estás utilizando el escáner, como deberías hacerlo, mediante pruebas en cada compilación, cada confirmación, y tal vez usando el archivo HAL, usando tus esquemas de API, donde, Bari, necesitamos hacer una nota para mostrar el editor de esquemas de API, pero puedes ejecutar una prueba en un único punto de entrada con algunos parámetros y ejecutarla, ya sabes, 10 minutos serán más que suficientes para eso, ¿verdad? Entonces, realiza pruebas cortas e incrementales después de cada pequeño cambio, cada pequeña cosa que hiciste, obtén comentarios inmediatos, validados al 100%. No necesitas hacer esa validación manual para que sepas que está ahí. Y así es como realmente se supone que se debe utilizar la herramienta. Y sé que muchos de ustedes, tal vez, no estén en esa etapa. Muchas organizaciones con las que hablamos no están en esa etapa porque no sabían cómo hacerlo o se dieron cuenta de que no podían hacerlo con los escáneres que estaban utilizando. Y esto es realmente para lo que se ha construido nuestra tecnología. Espero que puedas ver el valor en eso y cómo puedes comenzar a utilizarlo realmente desde esa perspectiva.

Entonces, supongo que en este punto, queremos ver cómo se ven los escaneos. Entonces, sí, nuestra proceso de CI se canceló, ¿verdad? Falló. Por lo general, esto estará dentro de una solicitud de extracción y no una confirmación directa en la rama principal. ¿Verdad? ¿Verdad? Estoy seguro de que nadie aquí hace confirmaciones directas en la rama principal. Nadie hará eso.

12. Explicación de los Resultados del Escaneo y Criterios de Detención

Short description:

En la interfaz de usuario, vemos información general sobre el escaneo, incluyendo el tiempo que tomó y la gravedad de los problemas encontrados. Detuvimos el escaneo una vez que encontramos el primer problema de alta gravedad. Los parámetros de configuración para ejecutar el escaneo son visibles, incluyendo el ID del repetidor. Detenemos el escaneo después del primer riesgo alto para fallar rápidamente y ahorrar tiempo. Es similar a fallar una compilación por problemas de formato o fallas en las pruebas unitarias. La decisión de detener o continuar el escaneo depende de la situación y los requisitos específicos.

¿Verdad? Todos los líderes de equipo están aquí ahora. ¿Quién dice que no? De acuerdo. Entonces, no está permitido, exactamente. Esto sucederá dentro de la solicitud de extracción, y luego tendrás la información para decir, esto es un fallo, necesitas arreglarlo. Por supuesto, Pablo hace push a la rama principal. Estaba hablando de orgías antes. Así que tiene sentido. Hizo push a la rama principal. Muy bien, ¿cómo se ve realmente en la interfaz de usuario? Entonces, si vamos a nuestro escaneo, veremos algunas cosas interesantes. Primero que nada, obtendremos información general. ¿Cuánto tiempo duró realmente el escaneo desde la perspectiva del motor de escaneo? Así que encontramos el primer problema de alta gravedad en 25 segundos. Eso es bastante genial, ¿verdad? 27, lo siento. Es un siete, así que 20. Las matemáticas nunca fueron su fuerte. El inglés no es mi idioma principal. Se me permite cometer errores. Sí, se te permite, pero solo uno, solo uno por masterclass. Y eso es todo. Ese fue el último error. De lo contrario, es una tarjeta roja. Maldición, de acuerdo, ahora seré muy cuidadoso. Así que tenemos el tiempo transcurrido, tenemos la velocidad promedio del escaneo. Puedes ver que técnicamente el escaneo no se completó y está bien porque lo detuvimos. Está en estado detenido porque dijimos que fallara una vez que lleguemos al primer problema de alta gravedad. Así que encontramos dos problemas de baja gravedad y luego uno solo de alta gravedad. Y cuando eso sucedió, simplemente dijimos detente, ya no nos importa. Alcanzamos nuestro punto de interrupción a partir de aquí. Esta solicitud de extracción, este comité ya está cancelado. Necesitamos arreglarlo primero y luego probarlo de nuevo. Alguien está cancelado. Salad China dijo que el suyo tardó 10 segundos. Hmm, no sé qué significa el hmm pero hay una explicación clara de por qué podría ser, por cierto. La explicación clara es que él es simplemente un mejor escáner que yo. Así que, simplemente una mejor persona. Lo siento, les he fallado a todos. Entonces, yendo a la configuración, puedes ver realmente cuáles eran los parámetros para ejecutar los escaneos. Así que esos son los objetivos de rastreo. Puedes ver qué pruebas de security. Ok, preguntaremos, ¿hay alguna razón por la que nos detuvimos después del primer riesgo alto y no se ejecutó completamente? Sí, hay una buena razón y hablaré de eso en un segundo. Entonces, solo, esta es la configuración y puedes ver tu ID de repetidor aquí. Esto también es por qué dije que el ID del repetidor no es un secreto. Es solo un identificador único. Entonces sabes qué quieres escanear realmente, ¿verdad? Qué repetidor quieres usar. Pero no es un secreto y será bastante visible en varios lugares. Hablemos de los problemas que encontramos. Antes de eso, ¿hay alguna razón por la que te detienes después del primer riesgo alto y no lo dejas correr completamente? Tomemos en consideración la siguiente situación. Tenemos una aplicación con 200 APIs y puntos. Acabas de hacer una refactorización masiva y quieres probar todo. Es exactamente la misma lógica que si tienes problemas de formato o fallas en las pruebas unitarias, quieres fallar la compilación, arreglarlo y luego ejecutarlo de nuevo. Solo quieres fallar rápidamente porque si dices, está bien, security es una de mis pruebas unitarias, es uno de mis parámetros para un CI exitoso, si llego a una situación en la que sé que esto no se fusionará, no hay necesidad de perder tiempo, por así decirlo, ¿verdad? Así que es una lógica de falla rápida. Obviamente, también puedes ir con diferentes configuraciones. Puedes decir, escucha, no falles en nada, ¿verdad? Solo continúa y haré algo manualmente al final, porque no quieres decir, no quieres decir que ejecute todo el escaneo y luego falle si el escaneo se completó correctamente o algo así. Así que básicamente, si el escaneo terminó y no encontramos nada, eso significa que sí, podemos enviarlo a fusionar, pero si encontramos algo, es algo que tendremos que arreglar. Entonces, si tenemos que arreglarlo, y tendremos que ejecutar CI de nuevo, no tiene sentido que el CI siga ejecutándose. Pero realmente depende. Incluso puedes escanear el entorno de producción si quieres. No necesitas escanear específicamente el CI. Realmente depende de lo que tengas, ¿verdad?

13. Ejecución de Escaneo Manual en Broken Crystal

Short description:

Encontramos un bucket abierto en Broken Crystal, que es una vulnerabilidad de alta gravedad. Los buckets de S3 se utilizan a menudo para almacenar información sensible y, si están mal configurados, pueden provocar importantes brechas de seguridad. Demostraremos cómo ejecutar un escaneo manual en Broken Crystal y explicaremos las diferentes configuraciones y categorías de pruebas. Ten en cuenta que Broken Crystal está intencionalmente vulnerable y no está destinado a informes de recompensas por errores.

Muy bien. Pasando al problema real, bucket abierto, ¿quién dijo que encontró un bucket abierto? Oh Dios mío, es cierto. Aparentemente tenemos un bucket abierto en Broken Crystal. Dos CSRF. Así que básicamente hablaré un poco porque veo que hay una verdadera necesidad de entender las diferencias. Aquí, por cierto, también tengo los dos CSRF. ¿Por qué a veces tenemos diferencias en el tiempo? A diferencia de una solución SASS o una solución de análisis de código estático, nuestro objetivo está en vivo, lo que significa milisegundos de respuesta, lo que significa qué URLs recogemos primero, cómo se comporta la aplicación, esas cosas afectan la velocidad del escaneo. Así que incluso si ejecutas un Docker con tu aplicación y tiene una CPU más o un poco más de RAM y reacciona más rápidamente, sí, entonces cambiará no los resultados, pero tal vez, ya sabes, un poco cómo se comportará el escaneo. Ya sabes, es lo esperado porque estás testing una aplicación en vivo y no solo código estático, lo que también nos dará la capacidad de encontrar cosas así. ¿Qué hicimos realmente en esta prueba? Detectamos en la respuesta que hay un bucket de S3. Así que fuimos aquí, ¿verdad? Podemos ver que este es el punto final que tiene la opción de configuración. Pasamos por él. Vimos que hay un bucket de S3. Y luego verificamos que en realidad está abierto y filtrando mirando todas las cosas e incluso mostrándotelas aquí. Así que sí, podemos realmente... Bueno, espera a las vulnerabilidades reales. Pero no, solo estoy bromeando. Entonces, para aquellos que no pueden ver Discord, Udo tiene miedo de revisar un proyecto real suyo. Así que sí, bucket abierto, aunque pueda sonar como, está bien, bucket abierto. Y si miramos los hallazgos, entonces, ya sabes, bien, esta es una bonita imagen genial de un avión, dentro del bosque. Y tenemos tal vez otra imagen aquí de algo, de una vaca atrapada en un árbol. Ahora mismo, esta es solo una imagen muy embarazosa de tener en tu sitio web una vaca atrapada en un árbol, porque no sé por qué alojarías algo así en tus sitios web y aplicaciones. Pero piensa que tal vez esto no fue solo por diversión. Hay cosas peores. Así que confío en ti, no lo expliques. Así que sí, esta es solo una imagen tonta. Pero por lo general, los buckets de S3 se utilizan para almacenar la información de carga de tus clientes, tal vez PDF, tal vez todo tipo de registros internos, todo tipo de recursos que, ya sabes, tal vez no quieres que la gente comience a listar lo que está sucediendo allí y comenzar a descargar todo libremente. Así que esta es una vulnerabilidad de alta gravedad porque podría permitir que las personas hagan cosas muy desagradables. Muchas de las brechas de seguridad más importantes o fugas de información se deben a buckets de S3 abiertos o mal configurados de AWS incluso con el gobierno de EE. UU. que tiene información de clientes, información de ciudadanos, el correo, creo que fue el correo que fue hackeado y tenía una gran cantidad de información de ciudadanos allí. Así que esto es algo muy crítico cuando está presente. Aparte de eso, encontramos algunas otras cosas, pero obviamente, porque solo buscamos alta gravedad. Así que no fallamos en esos, pero hay muchas cosas interesantes ahí fuera.

Ahora, ¿cómo podemos escanear realmente el objetivo y ver todo lo que está sucediendo allí? Y esto es lo que voy a mostrar ahora. Básicamente, cómo ejecutar un escaneo no CI. Así que tal vez antes de entrar en eso, ¿hay alguna pregunta de nuevo sobre el desencadenador basado en CI? Doo, doo, doo, doo. No, por favor, no cantes, vamos. Muy bien. Supongo que no hay nada. No, pero creo que es bueno mostrar, creo que es bueno mostrar, el escaneo de creación, veámoslo manualmente y toquemos las diferentes configuraciones las cosas que hemos mencionado las categorías de testing y tal vez explicar las cosas lógicas basadas. Y luego podemos pasar al lado de la authentication. Muy bien. Entonces, en primer lugar, esto es Broken Crystal. Así que esto es lo que vamos a mostrar el escaneo manual. Así que solo te envío todos los puntos de entrada y también el parámetro por el que estoy pasando. Así que hablaré de eso. Solo estoy pegando el enlace de Broken Crystal porque esto es lo que vamos a escanear. Será bastante genial e interesante. Así que quédate con nosotros. El recordatorio del escaneo de la API. Sí, también lo cubriremos. Así que pasando a un escaneo manual vamos a hacer clic en crear escaneo. En crear escaneo, tenemos dos opciones. Tenemos estándar, que es el escaneo más directo sin nivel de configuración. Por ejemplo, tengo un sitio web. Quiero escanearlo con rastreo automatizado. Solo pegaré la URL, por ejemplo, Broken Crystals y porque Broken Crystals es sí. Así que puedo usar uno de los repetidores abiertos. Solo inicio mi repetidor predeterminado y puedo ejecutar un escaneo específicamente en Broken Crystal porque es nuestra propia aplicación para este tipo de testing. En realidad, no necesitas un repetidor en absoluto y el escaneo te permitirá comenzar a escanear eso incluso sin un repetidor. Pero para todos los demás objetivos, al menos en la capa gratuita de nuestra solución, deberás pasar por el repetidor. Así que solo para confirmar, Broken Crystals es una aplicación intencionalmente vulnerable. Así que no comiences a enviarnos informes de recompensas por errores o algo por el estilo sobre cualquier cosa que encuentres. Tiene muchas vulnerabilidades para permitirte probarla, ejecutar un escaneo completo de principio a fin, echar un vistazo a los resultados con un montón de diferentes vulnerabilidades que tenemos. Creo que estamos introduciendo cada vez más diferentes tipos de vulnerabilidades en ella, pero en realidad puede ayudarte a comprender problemas de vulnerabilidad, remediación, tal vez dónde te has equivocado. Así que incluso ahora solo ejecutaría un escaneo completo contra brokencrystals.com y luego echar un vistazo más tarde y ver todos los resultados porque es realmente interesante. Un poco sobre lo que vamos a hacer. Así que primero vamos a ejecutar el escaneo. Le daré un nombre.

14. Escanear Objetivo y Tipos de Pruebas

Short description:

Vamos a utilizar Broken Crystals como objetivo de escaneo. Ofrecemos diferentes tipos de descubrimiento, incluyendo rastrear el sitio web, cargar archivos HAR e importar esquemas de API. Nuestro sistema te permite personalizar los parámetros de escaneo y optimizar el proceso de escaneo. Realizamos diversas pruebas, incluyendo buckets abiertos, autenticación JWT rota, inyección LDAP y pruebas de vulnerabilidad de lógica de negocio. Nuestra tecnología combina aprendizaje automático y análisis de contexto para detectar y manipular automáticamente las vulnerabilidades. Esta función avanzada nos permite evadir los mecanismos de validación y romper la lógica dentro de aplicaciones y APIs.

Así que BrokenCrystalsDemo. Y el proyecto, vamos a utilizar el predeterminado. Hablaremos un poco sobre los proyectos más adelante, pero es para organizaciones más grandes. Te permite recopilar toda la información sobre una aplicación específica. Luego puedes ver las diferencias, problemas sin resolver, problemas recurrentes y obtener mucha información de alto nivel. Desde la perspectiva de un VPRMD o líder de equipo, es realmente útil. Como desarrollador individual, supongo que preferirás utilizar los escaneos estándar.

Objetivos de escaneo, así que vamos a utilizar Broken Crystals. Un poco sobre nuestros tipos de descubrimiento. El rastreador, ya sabes, lo más sencillo, solo ingresas la URL, encontraremos automáticamente todos los puntos de entrada, todas las URL del objetivo. Simplemente rastrearemos el sitio web, recopilaremos toda la información y comenzaremos a escanearlo. La otra opción es grabar o archivo HAR. HAR significa HTTP Archive. Si estás utilizando algún tipo de prueba automatizada, ¿verdad? Porque esto es Test.js, estoy seguro de que todos conocen Selenium, todos conocen Cypress.io, espero. Todas esas herramientas se pueden utilizar para exportar un archivo HAR de esas pruebas automatizadas. Este archivo se puede cargar en el sistema, lo que nos permite seguir escaneando y probar el escenario específico. Solo se necesita presionar un botón. Simplemente iniciar sesión como uno de los usuarios. Agregar una nueva organización. Mostrarlos en Broken Crystals en el formulario de contacto o algo así, por si acaso. Entonces, si vas a Broken Crystals, solo abro mi pestaña de red. Puedo hacer algo como, no sé, suscribirme al boletín. Hago clic en Suscribirme. Y como puedes ver, se ha enviado una solicitud. Espero que puedas verlo. Luego puedo hacer clic derecho en eso y guardar todo como HAR. Esta es la forma manual de hacerlo. También puedo actualizar todo el sitio y luego capturará todo, y nuevamente, puedo exportar toda esta información como un archivo HAR y usarlo para el escaneo. La otra opción, que es la opción de API abierta, nos permitirá cargar, básicamente nos permite cargar un esquema de API. ¿Por qué queremos cargar un esquema de API? Digamos que tenemos una aplicación, queremos probar un microservicio. Queremos probar solo el backend. Queremos probar algo que no tiene una interfaz de usuario rastreable. Podemos usar un archivo swagger, una especificación de API abierta o un archivo de Postman para realizar el mapeo automático de los objetivos. Entonces, por ejemplo, en Broken Crystals, puedes obtener el esquema haciendo clic en Esquema de API y Referencia de API. Esto te llevará a la API. Luego puedes hacer clic en el JSON. Copias esto, lo pegas aquí en la importación de archivo desde URL. Haces clic en importar y verás que se importará automáticamente el archivo de API abierta. Si haces clic en abrir en el editor de esquemas, verás que también analizamos automáticamente el esquema de la API y te permitimos modificarlo. Esto es especialmente útil si quieres decir, ok, solo quiero probar este único punto de entrada. No me importa los demás, solo quiero probar este o estos dos, o todo dentro de, no sé, App Controller, ¿verdad? Luego solo guardas y cierras y se modificará y mantendrá solo las partes relevantes del esquema que te interesan. Entonces esta es una de las opciones. Por supuesto, también tenemos el rastreador que, supongo, ya hemos cubierto. Así que voy a usar el rastreador en este ejemplo solo porque creo que es el más obvio. Tenemos mucha información aquí sobre qué partes de la solicitud queremos escanear. Por defecto, probamos la consulta de URL, los fragmentos y el cuerpo de la solicitud, pero podemos agregar más. También hay muchas configuraciones sobre optimizaciones de escaneo y cosas por el estilo que podemos revisar, pero es, supongo, un uso más avanzado. Si quieres, supongo que esos son los más relevantes. Detener el escaneo si el objetivo no responde, responder después de, no sé, si tu objetivo, si lo que estás escaneando deja de responder, entonces quieres detener el escaneo porque no queremos perder tiempo escaneando y obtener un tiempo de espera, o saltar puntos de entrada si la respuesta es más larga que, blah, blah, blah, te permite decir, ok, hay un punto de entrada que es una descarga de archivo que lleva una eternidad, no me importa, ¿verdad? Simplemente omítelo. Un poco sobre lo que significan los puntos de entrada y los parámetros en el contexto del escaneo porque se preguntó. Los puntos de entrada son URL únicas. Cada URL dividida por método. Así que llega a esta URL o envía a esta URL con más información, cada uno de esos es lo que llamamos un punto de entrada. El parámetro son los parámetros modificables reales. ?id=1 es un parámetro, JSON con todo tipo de información, esos son parámetros dentro del JSON y eso es lo que llamamos parámetros. Voy a revisar el mapa del sitio en un momento y mostrarte cómo se ve a través de nuestro escáner, pero por ahora eso es en general. Pasando a las pruebas de escaneo. Estas son todas las pruebas que realmente realizamos. Recuerdas los buckets abiertos. Así que los buckets abiertos están aquí, pero como puedes ver, tenemos muchos escaneos y muchas pruebas. Cualquier cosa entre autenticación JWT rota, inyección LDAP, inclusión local de archivos, fuerza bruta de inicios de sesión, cross site scripting, inicios de sesión predeterminados, listado de directorios, token secreto, inyección de plantillas en el lado del servidor, vulnerabilidades de carga de archivos, todo eso está aquí. Y si tenías miedo antes, ahora ten más miedo. También hay una prueba para pruebas de vulnerabilidad de lógica de negocio. Este es un tipo de prueba muy avanzado. En este momento, somos la única solución que realmente lo hace automáticamente porque combinamos aprendizaje automático, análisis de contexto y otras técnicas para comprender realmente el contexto del servidor que estamos escaneando. Luego podemos manipular todo tipo de información que generalmente requiere lo que llamamos inteligencia humana, ¿verdad? Las vulnerabilidades de lógica de negocio también son una opción, y la tercera parte del camino- Me encanta cómo, Baran, simplemente pasas por encima de eso. Como si fuera, sí, ya sabes. Es una de las características más avanzadas, pero- Ya sabes, simplemente presionamos el pedal y terminamos yendo a una velocidad de la luz, mientras que todos los demás van, ya sabes. Sí, como mencionó Baran, es la capacidad de comprender el contexto, comprender las respuestas que estamos obteniendo de los servidores, de la aplicación, y luego poder manipular y cambiar los vectores de ataque y el proceso para intentar romper la lógica, como mencioné. Así que para aquellos de ustedes que quizás llegaron un poco tarde, poder evadir los mecanismos de validación que tienes, romper la lógica dentro de tus aplicaciones, romper la lógica dentro de tus APIs. Bar, solo rápidamente por un minuto.

15. Vulnerabilidad de Enumeración de ID

Short description:

La enumeración de ID es una vulnerabilidad común en la que ciertos métodos o enfoques pueden filtrar información sobre usuarios a los que no se debería tener acceso. Al enumerar múltiples IDs, podemos identificar y prevenir esta vulnerabilidad. Muchos clientes empresariales han experimentado vulnerabilidades de IDOR.

¿Cuál es un ejemplo de enumeración de ID, por ejemplo? Entonces, la enumeración de ID, supongo que muchos de ustedes están utilizando este tipo de enfoque porque es muy RESTful. Digamos, tienes, por ejemplo, usuarios/barra cinco/barra, no sé, perfil. Y luego, basado en el ID de la ruta después de usuarios, sabes que necesitas mostrar al usuario la información sobre el ID de usuario cinco. La cuestión es que a veces ese tipo de métodos o formas de trabajo pueden filtrar información que en realidad no quieres sobre otros usuarios. Entonces, si estoy autenticado como usuario seis y de repente cambio esto en la URL y voy al usuario cinco o usuario cuatro, usuario dos, de repente tal vez pueda ver información de otros usuarios que no debería obtener. Esta prueba valida que esta situación no ocurra. Enumera múltiples IDs, asegurándose de que la estructura permanezca igual y podamos entender la respuesta, pero la información cambia. Y luego podemos decirte, ¡oh no! Hay una vulnerabilidad de enumeración de ID. Un poco sobre la enumeración de ID, ya lo hemos encontrado. Como muchos de nuestros clientesenterprise empresariales tienen este tipo de vulnerabilidad. Sucede exactamente con IDOR. Así que sucede. Es muy común. Ya sabes.

16. Mecanismos de Autenticación y Soporte

Short description:

Veyda pregunta si el plan gratuito proporciona suficientes horas de escaneo para CI. La respuesta es un poco vaga, pero se recomienda probarlo. El plan gratuito ofrece cinco horas de escaneo, lo cual debería ser suficiente para las pruebas. Incluso si las horas de escaneo son limitadas, el uso de la herramienta puede ayudar a encontrar vulnerabilidades y mejorar la seguridad del producto de inicio. Se pueden configurar diferentes mecanismos de autenticación para garantizar un escaneo profundo adecuado de la aplicación. La herramienta admite varios tipos de autenticación, incluida la autenticación de formulario, la autenticación de encabezado, la llamada a la API, OpenID Connect y la autenticación personalizada de múltiples pasos. Se puede omitir ReCAPTCHA para pruebas automatizadas. La documentación proporciona instrucciones detalladas sobre cómo crear y configurar autenticaciones. El equipo de New Religion está disponible para ayudar y brindar soporte a través de varios canales, incluidos Discord, correo electrónico, Twitter y LinkedIn.

Por cierto, Veyda pregunta, por cierto, y estamos encantados de responder ahora. Hay algunos de nosotros trabajando en su startup a tiempo completo, pero aún no estamos generando ingresos. No hay problema, tienes la cuenta gratuita. ¿Creemos que con nuestro plan gratuito, tendrían suficientes horas de escaneo para hacer una cantidad razonable de CI, alrededor de tres a 10 P.R.s por semana? Es un poco vago. Es un poco vago. Como mencionó, no están buscando una respuesta precisa. Yo diría, pruébalo, pruébalo y ve si funciona. Creo que Ole, ¿cuántas horas de escaneo tenemos en nuestro nivel gratuito? Son cinco horas de escaneo. Y creo que si lo estás usando correctamente como parte de la CI y tal vez haciendo pruebas más definidas, creo que, teóricamente, sí, deberías poder cubrir mucho, pero realmente depende de, depende de cuánto vayas a estar, cuánto vayas a estar testing. Mi respuesta, sin embargo, es, si no estás haciendo nada en este momento, Vader, vas a encontrar muchas de estas cosas de todos modos. Vas a estar eliminando esa deuda técnica. Vas a asegurarte de que tu producto de inicio sea más seguro de todos modos. Así que, ya sabes, échale un vistazo, así que échale un vistazo también. Entonces, Vader, lo que estamos mostrando ahora mismo es la forma manual de hacerlo. Entonces, en lugar de ejecutarlo en la CI, lo estamos configurando ahora mismo. Sí. Entonces, sí. Así que si quieres, puedes hacerlo de esa manera. Si no tienes, seguro. De acuerdo. Entonces, esas son las configuraciones, ya sabes, solo voy a habilitar todo, porque ¿por qué no? Es divertido. Y, en general, esto es lo que tenemos en la configuración de escaneo. Obviamente tenemos más cosas. Podemos usar el repetidor. Podemos configurar muchas cosas. Pero ahora mismo, para el escaneo de demostración, simplemente vamos a ejecutar esto, ejecutarlo contra cristales rotos mientras explico un poco sobre las autenticaciones, porque teníamos preguntas al respecto. Entonces, cada aplicación, espero, que se ponga en producción, nuevamente, espero, tiene algún tipo de mecanismo de autenticación, ¿verdad? Hay un inicio de sesión. Necesitas estar autenticado para acceder a información privilegiada. Y a menos que configuremos este tipo de autenticación en nuestra solución, solo estarás escaneando la pantalla de inicio de sesión, ¿verdad? No lo pasarás. Entonces, para asegurarnos de que realmente puedas ingresar a la aplicación y realmente hacer un escaneo profundo adecuado, debes crear un esquema de autenticación para el escaneo. ¿Cómo funcionan? Bastante simple. Tenemos varias formas de crear ese tipo de autenticaciones. Desde la autenticación de formulario, donde básicamente nos dices cuál es la URL donde necesitamos enviar el formulario. Luego solo tienes los parámetros, agregas el valor, configuras algunas cosas y haces clic en crear y listo, ¿verdad? También tenemos la autenticación de encabezado, llamada a la API, admitimos OpenID Connect. Admitimos la autenticación personalizada de múltiples pasos, que es una forma super personalizada y scripteada de crear un flujo completo de autenticación. Entonces, básicamente, cualquier cosa que hayas pensado, podemos admitirlo con la autenticación de múltiples pasos. Tenemos... Si has habilitado reCAPTCHA, por cierto, simplemente desactívalo. No, solo estoy bromeando. Para pruebas automatizadas, reCAPTCHA y anti-automatización obviamente son un problema, pero si quieres probarlo, tenemos la autenticación de formulario basada en el navegador. La autenticación de formulario basada en el navegador utilizará nuestro motor de navegador propietario para ir a la URL, buscar los campos correctos, ingresar manualmente los valores como lo haría un humano en pruebas automatizadas y hacer clic en enter o lo que sea para avanzar. Si tienes Google reCAPTCHA, verificará si... Si lo que está haciendo la solicitud parece un bot o un humano, en este caso, parecerá un humano porque es un navegador real que utiliza solo el motor de JavaScript. Y es posible que realmente pase el reCAPTCHA de Google porque no parece un bot automatizado. Pero si tienes un reCAPTCHA para cada solicitud sin la validación, entonces sí, detendrá la autenticación. Y, ya sabes, en ese tipo de situaciones, simplemente di, está bien, reCAPTCHA es bueno, pero no para pruebas automatizadas. Así que puedes simplemente, Sí, sí. Creo que estás bromeando. Pero encuentra errores en reCAPTCHA. Tuvimos un cliente que tenía, creo que era, no creo que fuera reCAPTCHA. Era solo una biblioteca de reCAPTCHA estándar que usaban. Cuando hacías clic en el enlace, el número real o algún tipo de variable estaba en la URL. Nuestro sistema logró encontrar esa URL e inyectar un XSS allí, básicamente un payload de JavaScript que cuando entras en la página de reCAPTCHA, simplemente aparece con algún tipo de ventana emergente o simplemente ejecuta JavaScript malicioso en el lado del cliente. Así que a veces esas cosas se pueden usar con fines maliciosos y pueden ser abusadas. No sucede todo el tiempo, pero encontramos uno, así que es bastante impresionante. De todos modos, esta es la autenticación. Y si quieres hacer una aplicación real, profundizar, entonces necesitas crear este tipo de autenticación. También tenemos información aquí cuando creas una autenticación, cualquiera que elijas, ¿verdad? Entonces digamos autenticación de encabezado, no, tal vez necesito duplicar este paso. Sí, tienes un enlace en nuestra base de conocimientos y también en nuestros documentos. Documentos, en, Neuralegion, este. Sí, tenemos mucha información aquí sobre todo, desde la creación de autenticaciones, sobre todos los tipos de autenticación, APIs, basadas en el navegador, lo que quieras crear y configurar. Todo está aquí, incluidas capturas de pantalla, ejemplos paso a paso, todo lo que necesitas. Sí, hemos tratado de hacerlo lo más estaba a punto de decirlo lo más fácil de usar pero definitivamente eso es lo incorrecto que decir lo más autoservicio posible. Mucha de la información que necesitas está ahí para realmente, realmente ser autoservicio pero para todos los que están en nuestro discord, escríbenos, haznos cualquier pregunta. Estamos aquí para ayudar. No nos alejamos de querer que tengas éxito e integrar New Religion en tu pipeline. Hay una instalación de chat en línea donde puedes hablar con nosotros, podemos ayudar. Envíanos un correo electrónico, contáctanos en Twitter. Síguenos en Twitter, si aún no lo estás haciendo, por cierto, en newreligion.com Síguenos en LinkedIn, LinkedIn.com diagonal, creo que es company diagonal newreligion pero realmente estamos aquí para ayudar lo mejor que podamos. Queremos que tengas éxito.

17. Descripción general de los proyectos y la pestaña de organización

Short description:

Ya sea que seas una pequeña startup o un cliente empresarial, estamos aquí para brindarte soporte y facilitar las cosas para ti. Los proyectos brindan una descripción general de los escaneos y hallazgos. Puedes marcar los hallazgos como resueltos o recurrentes. Una vez encontramos una vulnerabilidad en un intercambio de Bitcoin que permitía transferencias no autorizadas. La pestaña de organización permite la configuración, incluyendo la adición de personas, grupos y claves de API. Hay disponibles varias integraciones con sistemas de canalización y tickets. Estamos terminando pronto y damos la bienvenida a las preguntas. Las pruebas basadas en código son para vulnerabilidades en tu código, mientras que los escaneos prueban la aplicación en ejecución. Las grandes organizaciones prueban sus propias soluciones y proveedores externos.

Ya sea que seas como Vader con una pequeña startup tratando de llevar tu producto al mercado o seas un cliente empresarial, no nos alejamos del soporte. Realmente estamos aquí para ayudar. Así que no dudes en contactarnos. Estamos aquí para que las cosas sean lo más fluidas posible para ti. Sí.

Entonces, supongo que un poco sobre los proyectos porque dijimos que íbamos a hablar de eso. Los proyectos, como puedes ver, te brindan una descripción general de todos los escaneos que hiciste basados en hosts o básicamente en aplicaciones. Por ejemplo, aquí puedes ver todos los hallazgos, puedes verlos, incluso puedes marcarlos.

Por ejemplo, si dices, escucha, este entorno, no sé, brokencrystals.com es un entorno de pruebas. Tenemos el bucket abierto para, um, Por ejemplo, tenemos el bucket abierto pero es solo para fines de desarrollo. Por favor, no me muestres esta vulnerabilidad nuevamente. Puedes hacer clic en ignorar o si dices, está bien, mi equipo ha resuelto esto, está bien, esto se resolverá y luego, si un nuevo escaneo lo encuentra, se marcará como recurrente y recibirás una notificación que dice que se ha encontrado un problema recurrente. Lo cual es, ¿verdad?, básicamente alguien mintió o simplemente no hizo su trabajo correctamente, así que eso es bastante importante de saber.

¿Esto se aplica al software basado en blockchain? Supongo que te refieres, ¿si esto puede escanear cosas de blockchain? Si eso es lo que quisiste decir, entonces solo, no sé, un punto divertido. Uno de los primeros, hace años, uno de nuestros primeros POC que hicimos. Amo esta película. Sí, está bien. Así que uno de los primeros clientes que tuvimos, básicamente los POC que hicimos fue con el intercambio de Bitcoin. Nuestro sistema detectó básicamente que el intercambio de Bitcoin la función para recibir un depósito desde el intercambio, desde el intercambio no estaba funcionando correctamente. Algún tipo de error de validación del lado del cliente, básicamente permitiéndote automatizar un script para simplemente retirar todos los Bitcoins de ese intercambio a tu propia billetera sin que ellos ni siquiera se dieran cuenta porque era poco a poco. Así que fue un hallazgo bastante interesante, una de las primeras cosas que nos hizo decir, vaya, una situación agradable y genial. Creo que tenían alrededor de $60 millones en Bitcoins en su intercambio con una valoración muy, muy baja en ese momento. Sí, creo que tenían alrededor de 5,000 Bitcoins exactos en el intercambio y era como creo que 2,000 dólares por Bitcoin o tal vez 10,000, lo que sea, era mucho dinero. No fue divertido y se descubrió en producción, obviamente lo solucionaron, pero esas cosas suceden, así que escanea tu... Esa fue la base de la lógica. Sí, fue una de las vulnerabilidades basadas en la lógica empresarial. Básicamente transferir Bitcoin a tu billetera aunque no hubiera Bitcoin en la cuenta. Es como entrar en tu banca en línea sin dinero en ella y poder transferir dinero a otra cuenta bancaria tuya.

De acuerdo, así que lo siguiente supongo que es la contabilidad y facturación. Así es donde nos pagas dinero. No, solo estoy bromeando. Entonces, lo siguiente es la pestaña de organización. La pestaña de organización es básicamente donde puedes hacer toda clase de configuraciones a nivel de organización. Si quieres agregar personas, si quieres agregar grupos, miembros del equipo, si quieres hacer todo tipo de, no voy a responder eso. Si vamos a hacer todo tipo de configuraciones que son específicas del dominio, específicas de la organización. Puedes configurar muros, puedes crear claves de API. Obviamente, estas son las claves de API a nivel de organización. Y a menos que tengas la licencia correcta para el nivel de organización, entonces no estará disponible. También puedes ver todas las posibilidades para integraciones de canalización y sistemas de tickets que tenemos. Desde GitHub, Xgen, CircleCI, Jenkins, Azure Pipelines, Travis, GitLab, JFrog. Si quieres, tenemos Azure Boards, problemas de GitHub, GitLab, Slack y Jira. Donde quieras que se encuentren tus vulnerabilidades o en cualquier canalización en la que quieras que ejecutemos esta información y posibilidades están aquí solo para que las configures. Sí. Sí, es fácil de usar. Estaremos terminando relativamente pronto. No quiero mantener a los demás por tanto tiempo. ¿Tenemos alguna pregunta sobre algo que hayas visto ahora? Ponlo en el chat o en Discord. Obviamente podemos responder ahora. ¿Estabas esperando? ¿Esperando hasta que llegáramos al final? Antes de pasar a uno, quiero mostrarte algo realmente, realmente genial sobre nuestra validación automática de un hallazgo, que creo que te gustará mucho. Y luego terminaré con un resumen. Udo, pruebas basadas en código versus escaneo. ¿Cuándo haces qué? El escaneo cuando no tenemos eso y no tenemos acceso al código. Básicamente esto es de lo que hablamos en SAS versus Dust. Tienes dos cosas que hacer. Una es probar tu código en busca de vulnerabilidades y luego probar tu aplicación en busca de vulnerabilidades reales porque hay cosas que solo puedes ver cuando la aplicación está en ejecución. Supongo que cuando haces la prueba basada en código, si estás, por ejemplo, usando node.js, sabes cómo cuando importas usando NPM algún tipo de paquetes y te dice, oh no, este paquete tiene una vulnerabilidad de alta gravedad. Eso es la prueba basada en código, ¿verdad? Ahí es donde realmente pruebas tu código o ves las respuestas de tu código o si usas Snyk o si usas otras herramientas SAS, entonces puedes ver cosas sobre tu código. Y luego cuando haces el escaneo, eso es en realidad, básicamente, polvo. Pruebas dinámicas de seguridad de aplicaciones, ejecutando una prueba real contra tu aplicación en ejecución. Puede suceder ya sea contra algún tipo de imagen de Docker dentro de la CI o algún tipo de sitio web que tengas. Obviamente, también es una posibilidad cuando no tienes acceso al código. Entonces, si tienes un sitio web de WordPress que estás alojando, que estás usando, si tienes algún tipo de sitios web que no escribiste cada línea de código para hacerlo funcionar, no es una mala idea ejecutar un Dust2 en eso solo para asegurarte de que todo esté bien. Eso es lo que están haciendo muchas organizaciones grandes. Están probando tanto sus propias soluciones como también soluciones que utilizan de proveedores externos. Sí, absolutamente. Y por eso volvemos a la diapositiva que teníamos antes, con una amplia gama de...

18. Demo de Escaneo de Rastreo y Validación Automatizada

Short description:

Realizamos un escaneo de rastreo en broken crystals y encontramos numerosos problemas, incluyendo inyección SQL y scripting de sitios cruzados reflectante. Proporcionamos detalles del valor inyectado, sugerencias de solución, lecturas adicionales y posibles exposiciones. Puedes revisar la solicitud, copiarla como un comando curl y acceder a la respuesta. También proporcionamos capturas de pantalla generadas automáticamente de las vulnerabilidades identificadas. Si aún no lo has hecho, regístrate en nuestro sorteo de Nintendo y accede a nuestra documentación y videos para obtener ayuda adicional. La automatización de pruebas de seguridad con New Religious Technology es fácil y sencilla. Comparte tus ideas en Discord y considera integrar nuestra tecnología en tus canalizaciones. Puedes automatizar el rastreo, aprovechar la automatización de QA, cargar especificaciones de API y colecciones de Postman, y configurar escenarios de escaneo utilizando archivos YAML. Nuestra tecnología elimina los falsos positivos y proporciona resultados inmediatos y validados. Prioriza y soluciona vulnerabilidades sin perder tiempo en validación manual. Comienza a asegurar tus aplicaciones e integra nuestra tecnología en tus canalizaciones. Gracias por los comentarios positivos.

Bueno, no, solo una amplia gama de diferentes clientes, ya sean startups con dos o tres desarrolladores, hasta bancos de primer nivel. ¿Cuándo podemos obtener una demostración de cómo usar la espada? ¿Es difícil volver a colocarla en la pared? Permíteme compartir mi pantalla por un segundo, porque me gustaría mostrarles a todos otro ejemplo, por cierto, de otro escaneo que realizamos. Entonces, esto es en realidad, puedes ver aquí un escaneo de rastreo en broken crystals, un escaneo mucho más lento que realizamos solo con fines de demostración y configuración. Pero puedes ver aquí, si ejecutaras, y espero que todos hayan ejecutado el escaneo de broken crystal simplemente ingresando la URL de manera manual, puedes ver aquí, hay muchos más problemas. Aquí usamos la plantilla OWASP Top 10 2017. Así que verás allí. Tenemos múltiples plantillas diferentes que puedes utilizar. Pero lo que realmente quiero mostrarte son algunos de los problemas. Entonces, puedes ver aquí, tenemos inyección SQL. Scripting de sitios cruzados reflectante es siempre uno que me gusta ver. Porque, ¿cómo sabes que el scripting de sitios cruzados reflectante, ese XSS está ahí? Así que, un poco diferente al bucket OpenS3 que Bar les mostró. Pero puedes ver aquí que te proporcionamos el valor que fue inyectado, ok, dentro de este escenario malicioso específico. Sugerencias de solución sobre cómo puedo solucionar esto. Lecturas adicionales. En este caso, todos son artículos y la base de conocimientos sobre XSS que hemos escrito nosotros mismos. Posible exposición. Ok, ¿qué significa esto si no soy un técnico o si no soy una persona de ciberseguridad, cómo puedo entender qué significa realmente esto? Nunca había oído hablar de XSS antes. Puedes ver aquí que proporcionamos la revisión tipo diff de la solicitud, ok, para que puedas ver la cantidad, el valor que fue inyectado. Puedes, por cierto, no sé si Bar te mostró esto, puedes copiar esta solicitud como un curl, copiar todas las solicitudes. Copiar la URL, copiar los encabezados. Ok, toda la información está ahí para que puedas entrar directamente en el modo de depuración. Te damos la respuesta, los encabezados y el cuerpo. Pero una cosa, si simplemente actualizo esta página, una cosa que también proporcionamos, como Bar mencionó el XSS que se generó que produjo esta ventana emergente ejecutable, ¿verdad? En realidad, te proporcionamos una captura de pantalla generada automáticamente de esta ventana emergente. Ok, así que estamos ejecutando un navegador en segundo plano buscando esta reflexión en este scripting de sitios cruzados, en esta reflexión. Esto podría, por ejemplo, un usuario malintencionado podría llevar a tus clientes desprevenidos a un sitio o una página que ellos controlan, solicitando información de tarjeta de crédito, solicitando información de identificación personal. Sea lo que sea, podría ser una página que clona y simula el sitio que tienes. Los enlaces a los que vamos para validar manualmente los problemas, o para validar automáticamente estos problemas, puedes ver aquí que realmente lo estamos haciendo, proporcionándote una captura de pantalla. Sabes que está ahí, validado al 100%, para que ahora puedas comenzar a solucionarlos, sabiendo que el problema está ahí. Sí, Hare Krishna, también capturas de pantalla. ¿Hay algo que no te proporcionemos? ¿Alguna idea de cosas que nos falten, por cierto, avísanos, pero sería bueno ver si puedes pensar en algo. Pero sí, si aún no lo has hecho, por cierto, esto es lo aburrido, ve al enlace en el chat y en Discord. Puedes ingresar tu dirección de correo electrónico y registrarte en nuestro sorteo de Nintendo. Como mencioné, porque has pasado por esto con nosotros, porque vas a ejecutar un escaneo, tienes hasta el final de la próxima semana para ejecutar tus pruebas, pondremos tu nombre en el sombrero 10 veces, toda nuestra información, todo el soporte se puede encontrar en docs.neurolegion.com, D-O-C-S punto neurolegion.com. Puedes encontrar toda la información que necesitas allí. Tenemos todos los videos en nuestro canal de YouTube. Todo, desde crear un objeto de autenticación de encabezado, instalar a través de NPM, conectar el repetidor, pero ustedes ya lo han hecho. Agregar un nuevo usuario, configurar un rol personalizado, usar esquemas de API, configurar un escaneo con colecciones de Postman. Míralo constantemente. Siempre tenemos muchos más videos básicamente semanalmente. Así que cualquier información adicional que necesites o ayuda, estamos aquí para ayudarte. Pero solo como un resumen final, supongo, espero que se den cuenta de que en realidad la automatización de pruebas de seguridad para desarrolladores puede ser realmente, realmente fácil y simple con New Religious Technology. Obviamente estamos siendo interactivos aquí. Comparte tus ideas en el chat, déjanos saber tus ideas en Discord. ¿Qué tan fácil fue? ¿Puedes verte usando esta tecnología en tus canalizaciones? Ya sea que seas una startup, ya sea que seas una empresa enterprise, ¿qué tan fácil ha sido para ti usarla? Pero se trata de cómo puedes comenzar a automatizar hoy. ¿Cómo has comenzado a automatizar ya básicamente, si has pasado por esto con nosotros, rastreo, agregar la URL, déjanos hacer el trabajo duro, archivos de archivo HTTP, archivos duros, aprovecha tu automatización de QA, registra esa interacción con la cosa específica de inmediato y cárgala. Carga tus especificaciones de API, tus colecciones de Postman, abre el editor de esquemas de API dentro de nuestra tecnología e incluye o excluye ciertos, ciertos parámetros de puntos finales, etc., que deseas probar. Te mostramos los archivos de configuración YAML globales muy simples y estás listo para comenzar. Usa nuestro ejemplo. Usa nuestro ejemplo. Mira la lista de comandos en los documentos, cámbialo, ejecuta tus propios escaneos, ten el control del escaneo desde el CLR utilizando esas listas de comandos también. Ejecuta escaneos, vuelve a ejecutar escaneos, detén, inicia, incluye ciertos escenarios de prueba. Realmente, realmente bueno verlo en Discord. Paoleo muy fácil y autoexplicativo. Absolutamente. James definitivamente interesado en integrar esto en el flujo de trabajo de Github Actions. Nate, ya lo has hecho. Realmente, realmente es así de fácil. ¿Qué puedes probar? Aplicaciones web, aplicaciones internas, microservicios para nosotros, sin ningún problema. Aplicaciones de una sola página, arquitecturas basadas en websockets, así como APIs SOAP, REST o incluso GraphQL. Realmente, realmente es simple de usar. No olvides que cada hallazgo que detectamos es validado automáticamente por el motor, eliminando los falsos positivos, comienza a trabajar en ello ahora. Sabes, VADA era una startup. Lo último que quieres hacer es comenzar a validar manualmente todos estos problemas. Dijiste que estás trabajando las 24 horas tratando de crear tu producto, crear nuevas funciones. No pierdas tiempo validando manualmente. Escucharás otras charlas sobre AppSec hablando de triaje, ¿verdad? Triage significa, ¿en qué vamos a trabajar? ¿En qué vamos a, qué es real? Ok, triaje, oh sí, solo hagamos triaje. Hay mucho trabajo que se realiza en el triaje, que incluye la validación manual de problemas. No necesitas hacer eso con nuestra tecnología. Resultados reales informados de inmediato. No tienes que esperar hasta el final del escaneo. La priorización es fácil, comienza a solucionar, sé seguro por design. Y nuevamente, integrado en tus canalizaciones. Todas las integraciones están en nuestros documentos, están en nuestro sitio web. Muchas gracias por todos los comentarios encantadores en el chat, en Discord, están llegando muy bien. Muchas gracias.

Watch more workshops on topic

React Summit 2023React Summit 2023
151 min
Designing Effective Tests With React Testing Library
Top Content
Featured Workshop
React Testing Library is a great framework for React component tests because there are a lot of questions it answers for you, so you don’t need to worry about those questions. But that doesn’t mean testing is easy. There are still a lot of questions you have to figure out for yourself: How many component tests should you write vs end-to-end tests or lower-level unit tests? How can you test a certain line of code that is tricky to test? And what in the world are you supposed to do about that persistent act() warning?
In this three-hour workshop we’ll introduce React Testing Library along with a mental model for how to think about designing your component tests. This mental model will help you see how to test each bit of logic, whether or not to mock dependencies, and will help improve the design of your components. You’ll walk away with the tools, techniques, and principles you need to implement low-cost, high-value component tests.
Table of contents- The different kinds of React application tests, and where component tests fit in- A mental model for thinking about the inputs and outputs of the components you test- Options for selecting DOM elements to verify and interact with them- The value of mocks and why they shouldn’t be avoided- The challenges with asynchrony in RTL tests and how to handle them
Prerequisites- Familiarity with building applications with React- Basic experience writing automated tests with Jest or another unit testing framework- You do not need any experience with React Testing Library- Machine setup: Node LTS, Yarn
TestJS Summit 2022TestJS Summit 2022
146 min
How to Start With Cypress
Featured WorkshopFree
The web has evolved. Finally, testing has also. Cypress is a modern testing tool that answers the testing needs of modern web applications. It has been gaining a lot of traction in the last couple of years, gaining worldwide popularity. If you have been waiting to learn Cypress, wait no more! Filip Hric will guide you through the first steps on how to start using Cypress and set up a project on your own. The good news is, learning Cypress is incredibly easy. You'll write your first test in no time, and then you'll discover how to write a full end-to-end test for a modern web application. You'll learn the core concepts like retry-ability. Discover how to work and interact with your application and learn how to combine API and UI tests. Throughout this whole workshop, we will write code and do practical exercises. You will leave with a hands-on experience that you can translate to your own project.
React Summit 2022React Summit 2022
117 min
Detox 101: How to write stable end-to-end tests for your React Native application
Top Content
WorkshopFree
Compared to unit testing, end-to-end testing aims to interact with your application just like a real user. And as we all know it can be pretty challenging. Especially when we talk about Mobile applications.
Tests rely on many conditions and are considered to be slow and flaky. On the other hand - end-to-end tests can give the greatest confidence that your app is working. And if done right - can become an amazing tool for boosting developer velocity.
Detox is a gray-box end-to-end testing framework for mobile apps. Developed by Wix to solve the problem of slowness and flakiness and used by React Native itself as its E2E testing tool.
Join me on this workshop to learn how to make your mobile end-to-end tests with Detox rock.
Prerequisites- iOS/Android: MacOS Catalina or newer- Android only: Linux- Install before the workshop
TestJS Summit 2023TestJS Summit 2023
48 min
API Testing with Postman Workshop
Top Content
WorkshopFree
In the ever-evolving landscape of software development, ensuring the reliability and functionality of APIs has become paramount. "API Testing with Postman" is a comprehensive workshop designed to equip participants with the knowledge and skills needed to excel in API testing using Postman, a powerful tool widely adopted by professionals in the field. This workshop delves into the fundamentals of API testing, progresses to advanced testing techniques, and explores automation, performance testing, and multi-protocol support, providing attendees with a holistic understanding of API testing with Postman.
1. Welcome to Postman- Explaining the Postman User Interface (UI)2. Workspace and Collections Collaboration- Understanding Workspaces and their role in collaboration- Exploring the concept of Collections for organizing and executing API requests3. Introduction to API Testing- Covering the basics of API testing and its significance4. Variable Management- Managing environment, global, and collection variables- Utilizing scripting snippets for dynamic data5. Building Testing Workflows- Creating effective testing workflows for comprehensive testing- Utilizing the Collection Runner for test execution- Introduction to Postbot for automated testing6. Advanced Testing- Contract Testing for ensuring API contracts- Using Mock Servers for effective testing- Maximizing productivity with Collection/Workspace templates- Integration Testing and Regression Testing strategies7. Automation with Postman- Leveraging the Postman CLI for automation- Scheduled Runs for regular testing- Integrating Postman into CI/CD pipelines8. Performance Testing- Demonstrating performance testing capabilities (showing the desktop client)- Synchronizing tests with VS Code for streamlined development9. Exploring Advanced Features - Working with Multiple Protocols: GraphQL, gRPC, and more
Join us for this workshop to unlock the full potential of Postman for API testing, streamline your testing processes, and enhance the quality and reliability of your software. Whether you're a beginner or an experienced tester, this workshop will equip you with the skills needed to excel in API testing with Postman.
TestJS Summit - January, 2021TestJS Summit - January, 2021
173 min
Testing Web Applications Using Cypress
WorkshopFree
This workshop will teach you the basics of writing useful end-to-end tests using Cypress Test Runner.
We will cover writing tests, covering every application feature, structuring tests, intercepting network requests, and setting up the backend data.
Anyone who knows JavaScript programming language and has NPM installed would be able to follow along.
React Summit 2023React Summit 2023
56 min
0 to Auth in an hour with ReactJS
WorkshopFree
Passwordless authentication may seem complex, but it is simple to add it to any app using the right tool. There are multiple alternatives that are much better than passwords to identify and authenticate your users - including SSO, SAML, OAuth, Magic Links, One-Time Passwords, and Authenticator Apps.
While addressing security aspects and avoiding common pitfalls, we will enhance a full-stack JS application (Node.js backend + React frontend) to authenticate users with OAuth (social login) and One Time Passwords (email), including:- User authentication - Managing user interactions, returning session / refresh JWTs- Session management and validation - Storing the session securely for subsequent client requests, validating / refreshing sessions- Basic Authorization - extracting and validating claims from the session token JWT and handling authorization in backend flows
At the end of the workshop, we will also touch other approaches of authentication implementation with Descope - using frontend or backend SDKs.

Check out more articles and videos

We constantly think of articles and videos that might spark Git people interest / skill us up or help building a stellar career

TestJS Summit 2021TestJS Summit 2021
33 min
Network Requests with Cypress
Top Content
Whether you're testing your UI or API, Cypress gives you all the tools needed to work with and manage network requests. This intermediate-level task demonstrates how to use the cy.request and cy.intercept commands to execute, spy on, and stub network requests while testing your application in the browser. Learn how the commands work as well as use cases for each, including best practices for testing and mocking your network requests.
TestJS Summit 2021TestJS Summit 2021
38 min
Testing Pyramid Makes Little Sense, What We Can Use Instead
Top Content
Featured Video
The testing pyramid - the canonical shape of tests that defined what types of tests we need to write to make sure the app works - is ... obsolete. In this presentation, Roman Sandler and Gleb Bahmutov argue what the testing shape works better for today's web applications.
Node Congress 2022Node Congress 2022
26 min
It's a Jungle Out There: What's Really Going on Inside Your Node_Modules Folder
Top Content
Do you know what’s really going on in your node_modules folder? Software supply chain attacks have exploded over the past 12 months and they’re only accelerating in 2022 and beyond. We’ll dive into examples of recent supply chain attacks and what concrete steps you can take to protect your team from this emerging threat.
You can check the slides for Feross' talk here.
TestJS Summit 2022TestJS Summit 2022
27 min
Full-Circle Testing With Cypress
Top Content
Cypress has taken the world by storm by brining an easy to use tool for end to end testing. It’s capabilities have proven to be be useful for creating stable tests for frontend applications. But end to end testing is just a small part of testing efforts. What about your API? What about your components? Well, in my talk I would like to show you how we can start with end-to-end tests, go deeper with component testing and then move up to testing our API, circ
TestJS Summit 2021TestJS Summit 2021
31 min
Test Effective Development
Top Content
Developers want to sleep tight knowing they didn't break production. Companies want to be efficient in order to meet their customer needs faster and to gain competitive advantage sooner. We ALL want to be cost effective... or shall I say... TEST EFFECTIVE!But how do we do that?Are the "unit" and "integration" terminology serves us right?Or is it time for a change? When should we use either strategy to maximize our "test effectiveness"?In this talk I'll show you a brand new way to think about cost effective testing with new strategies and new testing terms!It’s time to go DEEPER!