Una conversación de adultos sobre pentesting y piratería



Esta semana, Omar Ganiev, fundador de DeteAct

y miembro del equipo de hackers ruso LC↯BC, habló en nuestras redes sociales . Omar puede ser llamado con seguridad uno de los mejores hackers del país.



LC↯BC ganó el primer lugar en la final del torneo internacional de seguridad informática 0CTF en Shanghai en 2016.



Durante más de la mitad de su vida, Omar ha estado pirateando sistemas informáticos. Para él, esto es principalmente un pasatiempo y una habilidad básica para la vida, que gradualmente se convirtió en un trabajo y solo entonces en una base para el espíritu empresarial.



Además del trabajo en sí, a Omar le atrae mucho la vertiente investigadora de esta actividad, así como la competición de hacking deportivo (CTF), en la que participó mucho de forma individual y como parte de varios equipos.



Ahora, el equipo de More Smoked Leet Chicken, del que Omar es miembro, está formado por entusiastas que trabajan en diferentes empresas y países, y es el equipo CTF más fuerte de Rusia y uno de los más fuertes del mundo.



En cuanto a DeteAct (oficialmente Continuous Technologies LLC), proporciona servicios de análisis de seguridad y pruebas de penetración. En pocas palabras, varias empresas piden a los usuarios que pirateen sus sistemas para probar su solidez y aprender a prevenir ataques de piratas informáticos maliciosos y pérdidas comerciales.



Compartimos contigo la grabación y transcripción de la transmisión.






Hola a todos, mi nombre es Omar Ganiev. También me conocen como beched en la comunidad de hackers. Soy un hacker, he estado involucrado en la verificación de la seguridad de los sistemas informáticos durante muchos años. Se convirtió en un hobby para mí en la escuela, y durante los últimos 9 años ha sido mi principal profesión. Durante los últimos 7 años he estado trabajando en startups en el campo de la seguridad de la información, yo mismo soy el fundador de DeteAct, también conocido como Continuous Technologies. Ahora somos 10 personas, estamos creciendo bien y brindamos servicios en el campo de la seguridad de la información práctica. Pruebas de penetración, análisis de seguridad y otros tipos de auditorías de seguridad: hablaremos de todo esto hoy.



Pentest, pruebas de penetración. Es necesario decidir qué es, porque incluso en el campo de la seguridad de la información, entre quienes están involucrados en pruebas de penetración y auditorías, a menudo hay confusión y malentendidos de terminología. A menudo resulta que diferentes personas quieren decir cosas diferentes cuando se trata de pruebas de penetración; es especialmente desagradable cuando estas personas son el cliente y el proveedor de servicios. Los términos principales aquí son auditoría de seguridad, prueba de penetración, evaluación de seguridad y equipo rojo.



La auditoría de seguridad es el concepto más general. Significa cualquier tipo de investigación de seguridad de un objeto, verificando su cumplimiento con los requisitos de seguridad, no necesariamente informativo. Por ejemplo, podría ser seguridad contra incendios.



Pentest (prueba de penetración) es una cosa mucho más específica, aunque se puede entender de diferentes formas. Una asociación lógica inmediata es que una prueba de penetración es una verificación para ver si es posible penetrar en un determinado sistema, y ​​el resultado de una prueba de penetración debe ser una respuesta binaria: sí / no: si fue posible penetrar o no. Este es uno de los entendimientos de este servicio, es decir, verifica si un atacante potencial puede penetrar en el sistema, lograr algunos objetivos, digamos, en una semana o dos semanas. Durante este tiempo, los pentesters intentan romper el sistema y, por lo tanto, se puede verificar el nivel de seguridad del sistema. Esto es especialmente cierto en el ámbito del cumplimiento. Algunas organizaciones (organizaciones gubernamentales, sistemas de pago internacionales) pueden requerir empresas (bancos,adquisición de tarjeta) superando la prueba de penetración en este sentido. Dicha prueba de penetración debería verificar si funcionó, sí o no, para obtener acceso a los datos de pago. Si no, entonces todo está bien; si es así, entonces todo está mal.



Pero existe otra comprensión de las pruebas de penetración, que a menudo se denomina "análisis de seguridad". Este es un trabajo de amplitud de alcance: en lugar de intentar penetrar profundamente en los recursos, los piratas informáticos-pentesters están buscando tantas vulnerabilidades como sea posible en amplitud. Después de todo, la mayoría de las veces, los clientes quieren ver este servicio en particular. Están interesados ​​no solo en obtener una respuesta (ya sea que esté roto o no), sino en encontrar tantos agujeros como sea posible para cerrarlos, para que no se rompan en el futuro.

Redteaming tiene un significado similar a cómo funciona el pentesting en términos de penetración, pero con algunas peculiaridades. En general, la mayoría de los holivares se llevan a cabo sobre el tema de la sincronización del rojo. En resumen, este es un evento en el que el equipo atacante tiene como objetivo infligir ciertos daños, lograr ciertas amenazas o riesgos comerciales, por ejemplo, robo de fondos, bases de datos de clientes, correo del gerente (cada empresa tiene su propio riesgo comercial, para quién crítico). Prácticamente no hay restricciones impuestas al equipo atacante (la única restricción es el alcance de la ley). A diferencia del análisis de seguridad convencional o las pruebas de penetración, los redtimers pueden asumir riesgos comerciales por cualquier medio: incluso para ingresar a la oficina y robar papel físicamente con contraseñas o interceptar wifi. La parte defensora, es decir, la empresaque se está probando también es ilimitado. Los oficiales de seguridad, administradores, desarrolladores, devops se resisten a estas pruebas, intentan identificar los ataques y prevenirlos. De esta forma se obtiene un entrenamiento y simulación realista de una situación real. Enseñanzas, se podría decir.



P: en aras del interés: ¿en qué países hay más demanda de probadores de penetración y de dónde provienen la mayoría de los pedidos de verificación?



La mayor demanda de pentest se encuentra en Estados Unidos. Si la segunda pregunta es sobre empresas rusas, la mayoría de los pedidos proceden de Rusia. Este mercado está bastante aislado en todos los países, en sí mismo. Todo el mundo tiende a solicitar estos servicios a sus conocidos, porque se trata de un tema delicado; nadie quiere confiar su seguridad a alguien de otro país o un extraño. Además, desde Occidente, casi nadie pedirá tales servicios a Rusia, debido a las sanciones y la mala reputación.



Entonces, calculamos aproximadamente la prueba de penetración y sus variedades. Puede contar brevemente cómo se están llevando a cabo los proyectos y cuál es la metodología. Aquí es necesario dividir inmediatamente el método de trabajo en las llamadas "cajas" de diferentes colores. Puede realizar un pentest en modo caja negra: los probadores no reciben casi ninguna información sobre el objeto de la investigación, excepto la dirección del sitio (o incluso el nombre de la empresa). El otro extremo es la caja blanca, cuando se da toda la información. Si es una infraestructura, entonces se muestran todas las direcciones IP, diagrama de red, acceso a la red interna (si es necesario), todos los nombres de host (nombres de dominio). Si se trata de software, algún tipo de servicio web, entonces se emiten códigos fuente, configuración, cuentas con diferentes roles, etc. El modo más común es greybox,puede ser cualquier cosa, desde negro hasta blanco. Se proporciona cierta información, pero no toda. Por ejemplo, para un servicio web, se pueden emitir cuentas con diferentes roles, alguna información básica sobre la pila tecnológica: los lenguajes de programación y las bases de datos utilizadas, el diagrama de la infraestructura del servicio. Pero al mismo tiempo no se dan a conocer las fuentes.



Una vez que han decidido la metodología, el modo de realizar el trabajo, el lado atacante recibe datos de entrada. Es decir, si es necesario, se emiten accesos, direcciones de host, etc. El atacante puede dar a conocer sus direcciones IP, desde las que se llevarán a cabo los ataques, para que el cliente pueda distinguirlos de los atacantes reales. A continuación, se llevan a cabo los pasos clásicos de las pruebas de penetración; la implementación y el desglose específicos pueden diferir, pero en general, la exploración debe hacerse primero. Los probadores de penetración buscan puntos de entrada a la infraestructura: hosts, servicios de red, direcciones de correo electrónico. Si se trata de un servicio web, entonces están buscando puntos finales de API: varias interfaces web, varios hosts de API para dominios, etc. Una vez realizado el reconocimiento, comienza la etapa de escaneo (phasing), cuando se realiza la búsqueda de vulnerabilidades en las interfaces encontradas. Cuando se descubren vulnerabilidades,la siguiente etapa es la explotación: las vulnerabilidades se utilizan para obtener algún tipo de acceso. Además, dependiendo de qué tipo de pentest sea, se puede realizar la post-explotación: profundizando en el sistema y obteniendo accesos adicionales. Además, puede haber una limpieza. El cliente no siempre quiere que se lleve a cabo una explotación adicional: a veces basta con encontrar una vulnerabilidad y reportarla.



Para que quede más claro lo que significa post-explotación: digamos que los pentesters han encontrado un servidor vulnerable en la infraestructura que es accesible desde el exterior. Por ejemplo, recientemente hubo parches para una vulnerabilidad en MS Exchange, el servidor de correo de Microsoft, que casi todas las corporaciones tienen y sobresale. En él se descubrió una vulnerabilidad crítica. Esta vulnerabilidad en sí tiene un efecto enorme: los atacantes pueden usarla para obtener acceso al correo. Pero, además de esto, pueden realizar la post-explotación y desde este servidor de correo expandirse aún más por la infraestructura. Aproveche algunos otros servidores, la infraestructura del dominio de Active Directory de Windows, llegue a las estaciones de trabajo de los empleados, es decir, a la infraestructura de desarrollo. Etc.



P: ¿Cuáles son los insumos mínimos requeridos de una organización para pentesting y auditoría?





El dato mínimo de entrada es el nombre de la empresa, es decir, es posible que prácticamente no estén disponibles. Está claro que en la etapa de reconocimiento, cuando buscamos hosts por el nombre de una empresa, o buscamos hosts asociados a un sitio, podemos equivocarnos y encontrar algunas direcciones IP y hosts que no pertenecen a esta compañía. Por lo tanto, después del reconocimiento, generalmente se aprueba un acuerdo, por si acaso, para no romper algo superfluo. Es bastante fácil cometer errores.



P: ¿Hay verdaderos redtimeters con ganzúas y mazos en Rusia? : D



Creo que muchas personas tienen esas habilidades. Para ser honesto, no sé cuánta demanda tienen estos proyectos y con qué frecuencia se llevan a cabo. Que se requería caminar directamente con llaves maestras y trepar por las vallas. Probablemente, estos proyectos rara vez se llevan a cabo.

P: ¿cómo se pasa por alto el firewall de aplicaciones web o al menos Windows Defender? ¿Qué puedes decir sobre los marcos Empire y Koadic, los usas?



Omitimos WAF manualmente, eligiendo la carga útil adecuada. Los métodos son estándar aquí. La única dificultad con WAF es si es una redirección, cuando el lado defensor evita los ataques, si de alguna manera quemamos nuestro ataque o somos detectados con la ayuda de algún medio de protección como WAF, entonces podemos encubrir la vulnerabilidad. Por lo tanto, debe actuar con cuidado y verificar la carga útil (es decir, su exploit) en algunos otros hosts donde no hay vulnerabilidad. Por lo tanto, WAF se puede verificar y omitir, pero en el camino, la parte defensora no detectará la vulnerabilidad.



P: ¿Qué software se necesita para los atacantes y para la defensa?



Qué software se necesita para la protección es un tema enorme. Es mucho más ancho que un pentest. Qué software se necesita para los atacantes es una buena pregunta, porque depende del tipo de trabajo del que estemos hablando. Si hablamos de análisis de software, servicios web, prácticamente no se requiere software. Un cuchillo suizo como el Burp Suite es suficiente. La versión paga cuesta $ 400 y contiene casi todas las herramientas necesarias. Además, por supuesto, cualquier lenguaje de programación que funcione, generalmente Python o GoLang para los probadores de penetración. Es suficiente.

Si hablamos de infraestructura, de redireccionamiento, el conjunto de herramientas es mucho más amplio. Necesitamos una variedad de escáneres de vulnerabilidades, necesitamos herramientas para corregirlos en los sistemas: después de haber entrado en un sistema, necesitamos afianzarnos en él, tenemos que ofuscar nuestra carga útil para que no sea detectada por un antivirus. etcétera.



P: ¿en qué áreas de la Federación de Rusia se solicita con mayor frecuencia que prueben o realicen una auditoría?



Aparentemente, estamos hablando de en qué industrias hay mayor demanda de pruebas de penetración. Obviamente, lo necesitan aquellas empresas que tienen TI; cuanto más desarrollada es la TI, cuanto más empresa de TI es, más pruebas de penetración se necesitan. La demanda corresponde aproximadamente a esto. Para algunas empresas, el pentesting es obligatorio porque forman parte de una infraestructura de información crítica: empresas estatales y bancos. Para los bancos, se necesita un pentest a solicitud del Banco Central, y también como parte de la obtención de un certificado PCI DSS para sistemas de pago internacionales. Otras instituciones de pago también necesitan este certificado. Es decir, las organizaciones de pago, los sujetos de la infraestructura de información crítica y las empresas de TI requieren pruebas de penetración. Es decir, cualquier empresa de TI, incluidas las startups, cuya infraestructura completa sea un servicio web con una base de usuarios: es fundamental para ellos si se rompen.



P: ¿Qué importancia tiene la comprensión de la ingeniería social en las pruebas de penetración?



No la mencioné por separado. Yo diría que esta es una de las herramientas para redireccionar; Además, la ingeniería social a menudo se lleva a cabo por separado, como un servicio separado, y parece una simple lista de correo. Creamos un sitio de phishing, buscamos el correo electrónico de los empleados de la empresa y les enviamos un enlace a este sitio con alguna leyenda (por ejemplo, este es un nuevo portal corporativo, todos deben ingresar e ingresar su contraseña).



Luego, mantenemos estadísticas: cuántas personas vieron la carta, hicieron clic en el enlace e ingresaron la contraseña. Se lo mostramos al cliente y él comprende con quién debemos realizar un programa educativo. Para ser honesto, prácticamente no se requieren habilidades para tales pruebas, y la propia empresa puede realizarlas fácilmente utilizando herramientas de código abierto cuando se trata de un envío de correo único. En general, existe un negocio completamente separado: la industria de la concienciación sobre la seguridad, que aumenta la concienciación de las personas en el campo de la seguridad de la información.



Existen productos especiales que envían regularmente correos electrónicos de phishing a la base de usuarios. Si una persona es seducida, recibirá un video de capacitación u otra lección interactiva por la que tendrá que pasar. Y luego se revisará nuevamente y se monitoreará la tendencia; por ejemplo, hace un año, el 50% de los empleados cayeron por phishing, y ahora solo el 5%. Por supuesto, deshacerse por completo de los peligros del phishing es casi imposible.



¿Qué importancia tiene la comprensión? Es importante si está haciendo ese trabajo, pero es bastante fácil. O, si está haciendo una redacción, la ingeniería social es muy efectiva dentro de su marco. Pero al mismo tiempo, tendrán que ser mucho más exactos y precisos, por supuesto; no puede ser un envío masivo a todos los empleados; ellos lo notarán y entenderán dónde puede intentar penetrar. Debe enviarlo a personas específicas individuales.



P: ¿cuál es el costo del servicio?



Gran pregunta, porque nadie realmente la responderá por ti.



Esto es muy diferente. Por lo general, un pentest cuesta cuánto puede pagar el cliente, en términos generales. Este es uno de los coeficientes. El problema es que incluso la cantidad de trabajo inicialmente no será determinista, especialmente si se trata de una caja negra. Inicialmente, ni siquiera sabemos realmente cuántos hosts e interfaces habrá. Solo podemos entender a grandes rasgos cuál es la naturaleza de esta empresa, qué tipo de infraestructura puede tener y cuántas personas y tiempo necesitamos, y a partir de esto será posible estimar los costos laborales en semanas-hombre. Si tenemos algún tipo de marco de precios, podemos multiplicar las semanas-persona por nuestro factor y darlo como precio.

De hecho, todo varía mucho; A menudo, especialmente en las grandes empresas, el vendedor simplemente encuentra una empresa, elimina algún tipo de presupuesto y luego se debe trabajar dentro de este presupuesto. Y aquí, más bien, los costes laborales se ajustan al precio, y no al revés.



También puedo decir que al final, dado que tenemos un mercado opaco con precios incomprensibles, el costo del trabajo puede diferir muchas veces con la misma calidad y costos laborales. Puede encontrar un pentest por 300 mil y por 4 millones de rublos con la misma cantidad de trabajo. Esto se ve a menudo incluso en las licitaciones: hay una especificación técnica, miras las etiquetas de precios y las ofertas: el diferencial es de 5 a 10 veces. A pesar de que es poco probable que la calidad difiera entre 5 y 10 veces.



Ya que hablamos de la calidad y precio de la prueba de penetración. Debe comprender si su empresa necesita una prueba de penetración y, si es un pentester, debe comprender cómo justificar una prueba de penetración y venderla a la empresa. Aquí tampoco hay una respuesta universal. En mi opinión, los controladores de prueba de penetración son algunas cosas simples. Uno de ellos es el cumplimiento, que ya mencioné: cuando una organización está obligada a realizar una prueba de penetración, y sin esta no será posible realizar funciones comerciales, como aceptar pagos con tarjetas plásticas. Eso está claro.



Otro impulsor son los incidentes: cuando la empresa ya estaba rota, sufrió daños y se prendió. Para protegerse, debe realizar una investigación, realizar una prueba de penetración para que no se rompa en el futuro y tomar otras medidas. Todo el mundo empieza a correr y a pensar en qué hacer.



El tercer factor es el miedo: digamos que todavía no ha habido incidentes, pero tal vez otros miembros de la industria los hayan tenido, y la empresa tiene miedo. Otro impulsor que se puede considerar junto con el impulsor del miedo son las nuevas empresas, por ejemplo, las startups que acaban de comenzar algún tipo de desarrollo. Lo pensaron y decidieron que era necesario realizar de inmediato una prueba de penetración para corregir las vulnerabilidades y prevenirlas en el futuro. Para que cuando el servicio se vuelva público y, posiblemente, popular, no haya vulnerabilidades. Este es el enfoque más sensato.



Otro impulsor que es muy común entre las startups son los requisitos de las contrapartes. Este tipo de cumplimiento, cuando puede llevar a cabo sus funciones comerciales, pero sus contrapartes quieren verificar que está monitoreando su seguridad. Por tanto, si eres una empresa pequeña que quiere vender, por ejemplo, a grandes empresas occidentales, definitivamente tendrás que pasar un pentest. Especialmente si ofrece SaaS (software como servicio), entonces sin duda se requerirá un informe pentest. Esto estará en sus pautas, sus abogados y personal de seguridad simplemente no permitirán que un contratista no haya pasado la prueba de penetración.



Estas son las razones por las que las empresas recurren a probadores de penetración y realizamos pruebas. Pero con la calidad, de hecho, es muy difícil. Ya he dicho que en la prueba de penetración no se determina inicialmente la cantidad de trabajo, pero el resultado tampoco es determinista. Puede solicitar un pentest por 6 millones de rublos y obtener un informe que consta de las palabras "no se encontraron vulnerabilidades". ¿Cómo comprobar que el trabajo se ha realizado y con buena calidad? No puedes entenderlo. Para verificar esto con precisión, debe hacer prácticamente todo este trabajo de nuevo. Puede intentar monitorear los registros para ver si la actividad de la red proviene realmente de los pentesters, pero todo esto es complicado. Y de forma sencilla, es imposible comprobar la calidad del trabajo.

Las posibles medidas, además de rastrear la actividad, son solicitar informes detallados sobre lo que se está haciendo, solicitar artefactos, informes de escáneres y otros registros, por ejemplo, de la herramienta Burp. Inicialmente, puede discutir la metodología: lo que van a hacer los pentesters. De esto puede quedar claro que lo comprenden. Pero todo esto requiere habilidades y conocimientos; por lo tanto, si la empresa no cuenta con personal de seguridad que ya haya interactuado con pentesters y comprenda estos servicios, no será posible verificar la calidad del trabajo.



P: dime ¿por dónde empezar? ¿Cuál es la edad ideal para bucear en profundidad en el campo del pentest?



Ambas preguntas son sobre carrera, y aquí puede cambiar "pentest" por "programación", por ejemplo. Yo diría que no existe una edad ideal, pero este es el tipo de mantra que todos repiten, supuestamente nunca es demasiado tarde. Pero, por supuesto, si una persona comienza a estudiar a los 10 años, es más probable que logre el éxito y aprenda más rápido que si comienza a los 40; aunque esto no quiere decir que partir de los 40 sea inútil. Solo requiere más esfuerzo. En segundo lugar, si hablamos desde un punto de vista utilitario, para trabajar en el campo del pentesting, para convertirse en pentester y conseguir un trabajo, el umbral de entrada es más bajo que para el desarrollo. Porque para empezar a ser útil en el desarrollo, necesitas al menos saber programar y conocer algunas tecnologías. Y en ordenpara empezar a hacer al menos algo en la prueba de penetración - aunque pueda ser una "ilusión de actividad" - basta con aprender a utilizar un par de herramientas e interpretar los resultados de este trabajo. Pero este será un umbral de entrada muy básico. Se necesitará más esfuerzo para ponerse realmente genial en la prueba de penetración que desarrollarla. Para estar realmente al día con la piratería, necesita conocer el desarrollo, y ni siquiera en un lenguaje de programación y una pila de tecnología, sino en varios. También necesita al menos algunos (o mejor, buenos) conocimientos de infraestructura, redes, administración y programación de Windows y Linux. Necesita una inmersión profunda en alguna zona, y al mismo tiempo poder romper. Es decir, el umbral más bajo de entrada en la prueba de penetración es más bajo, pero convertirse en senior o superior es más difícil.Se necesitará más esfuerzo para ponerse realmente genial en las pruebas de penetración que desarrollarlas. Para estar realmente al día con la piratería, necesita conocer el desarrollo, y ni siquiera en un lenguaje de programación y una pila de tecnología, sino en varios. También necesita al menos algunos (o mejor, buenos) conocimientos de infraestructura, redes, administración y programación de Windows y Linux. Necesitas una inmersión profunda en alguna zona, y al mismo tiempo poder romper. Es decir, el umbral más bajo de entrada en la prueba de penetración es más bajo, pero convertirse en senior o superior es más difícil.Se necesitará más esfuerzo para ponerse realmente genial en las pruebas de penetración que desarrollarlas. Para estar realmente al día con la piratería, necesita conocer el desarrollo, y ni siquiera en un lenguaje de programación y una pila de tecnología, sino en varios. También necesita al menos algunos (o mejor, buenos) conocimientos de infraestructura, redes, administración y programación de Windows y Linux. Necesita una inmersión profunda en alguna zona, y al mismo tiempo poder romper. Es decir, el umbral más bajo de entrada en la prueba de penetración es más bajo, pero convertirse en senior o superior es más difícil.También necesita al menos algunos (o mejor, buenos) conocimientos de infraestructura, redes, administración y programación de Windows y Linux. Necesita una inmersión profunda en alguna zona, y al mismo tiempo poder romper. Es decir, el umbral más bajo de entrada en la prueba de penetración es más bajo, pero convertirse en senior o superior es más difícil.También necesita al menos algunos (o mejor, buenos) conocimientos de infraestructura, redes, administración y programación de Windows y Linux. Necesita una inmersión profunda en alguna zona, y al mismo tiempo poder romper. Es decir, el umbral más bajo de entrada en la prueba de penetración es más bajo, pero convertirse en senior o superior es más difícil.



Para no quedarse atascado en el primer peldaño, debe comenzar por aprender las cosas fundamentales. Programación, redes, tecnologías en general: cómo se organizan el sistema operativo, las redes, cómo se implementan los servicios modernos, cómo funcionan varios ataques conocidos en diferentes lenguajes de programación, cómo defenderse de ellos. Hay mucho, pero todas estas son cosas fundamentales que necesitas saber para avanzar.



P: ¿Los ataques a wifi Evil Twin son reales ahora o las empresas tienen autorización a través de un servidor RADIUS?



Para ser honesto, no puedo dar una respuesta experta sin tener estadísticas. Creo que es diferente para todos; Probablemente hay muchos lugares donde Evil Twin funciona muy bien.



P: ¿utiliza en su trabajo los métodos y enfoques de NIST, OSSTMM, OSINT, OWASP, etc., y cuáles puede destacar?



OSINT no es realmente una técnica, es solo inteligencia de código abierto. OWASP es generalmente una organización, pero esta organización tiene metodologías para probar aplicaciones web, aplicaciones móviles y las seguimos; al menos en espíritu, no hacer todas las listas de verificación por garrapatas, pueden ser bastante controvertidas. Seguimos metodologías OSSTMM; En mi opinión, es en el OSSTMM donde se establecen los pasos de exploración, escaneo, explotación, posexplotación, stripping, es decir, el punto principal de esta metodología es que se deben aplicar dichos pasos, pero luego entra en mucho más detalle.



En resumen, sí, pero no literalmente. Seguimos el espíritu de esta metodología.



P: ¿que se preguntan en las entrevistas?



Diferentemente. Depende del puesto al que vayas. A menudo hay un patrón de preguntas como este. Te describen una situación; por ejemplo, dicen: obtuviste la ejecución del código en el servidor Linux desde el exterior, atravesaste el perímetro, rompiste el servidor web, estás adentro, ¿qué acciones debes tomar a continuación? O bien, llegó a la estación de trabajo del empleado, ¿cuáles son los siguientes pasos? O - encontró una vulnerabilidad en la secuencia de comandos entre sitios en alguna página, se implementó una política de seguridad de contenido con tales y tales parámetros, ¿cómo la evitará? Suelen plantearse cuestiones de este tipo.



P: ¿Cuál es el umbral para ingresar a la recompensa de errores? ¿Es realmente posible vivir solo en él?



La recompensa por errores es una recompensa por los errores. Programas en los que una empresa da dinero a personas que informan sobre vulnerabilidades en los sistemas de esa empresa. Tal crowdsourcing de un pentest, cuando no se lleve a cabo bajo un acuerdo entre dos empresas, sino a través de una oferta pública. Esto es para aquellos que no lo saben.



De hecho, la recompensa por errores es algo que va en aumento. Hay grandes espacios con muchos programas. El umbral de entrada para participar en la recompensa de errores para pentesters es tanto bajo como alto. Bajo en el sentido de que hay tantos de estos programas y recursos de recompensas de errores que pueden romperse que puede encontrar algunas vulnerabilidades simples. No necesariamente complicado. Pero, por otro lado, puede encontrarse con algún programa, donde ya ha encontrado todos los errores simples, y pasar dos meses investigando sin encontrar nada. Esto es muy desmotivador. Por lo tanto, a menudo sucede que las personas se prueban a sí mismas en este campo y tienen mala suerte: intentan algo difícil y no encuentran vulnerabilidades.



En general, hay muchas personas en la recompensa de errores que ganan mucho dinero sin tener un conocimiento único y sobresaliente. O tuvieron suerte un par de veces, o entendieron el truco de recompensas por errores y aprendieron cómo encontrar programas y recursos que contienen vulnerabilidades simples. También suele ocurrir que una persona encuentra algún tipo de vulnerabilidad en algún recurso y luego se da cuenta de que en realidad está muy extendido, y de la misma forma muchas más empresas se pueden quebrar al monetizarlo. ¿Es realista vivir solo de la recompensa de errores? Sí, incluso hay millonarios que ganan cientos de miles de dólares al año solo con la recompensa de errores. Son pocos; la mayoría, por supuesto, gana muy poco. Pero hay una capa suficientemente grande de personas que ganan al menos decenas de miles al año. Es decir, no solo unas pocas y decenas de personas, sino cientos.



P: Cuéntenos sobre las versiones de Metasploit. Escuché que hay varios, y entre ellos hay pagos. ¿Cuál es la diferencia?



Creo que puedes ir al sitio de la versión paga y leer cuál es la diferencia. No he usado Metasploit pro durante mucho tiempo, pero al menos hay una interfaz web. Ésta es una de las diferencias; No diré de inmediato qué otras diferencias fundamentales existen. Quizás haya otros módulos.



Pensé en contarte sobre las vulnerabilidades más comunes. De hecho, muchas empresas realizan pruebas durante el año y cuentan la cantidad de diferentes tipos de vulnerabilidades para resumir las estadísticas del año. No defraudé esas estadísticas, pero si hablamos de los sentimientos y las cosas más simples que se encuentran, las vulnerabilidades más simples y efectivas en la infraestructura que brindan muchos beneficios a los atacantes son las políticas de contraseñas débiles. Los ataques banales de fuerza bruta son el flagelo de las infraestructuras. Si la empresa emplea al menos a 500 personas, entonces una gran parte de ellas no serán particularmente conocedoras de la tecnología. Al menos uno de ellos normalmente puede forzar la contraseña. Esto funciona especialmente bien cuando se implementa una política de contraseñas en la empresa, lo que obliga, por ejemplo, a tener una contraseña,que contenga una letra mayúscula, una minúscula y un número, de al menos 8 caracteres, y cámbielo cada tres meses o un mes. Esto conduce a malos resultados. Si una persona se ve obligada a hacer esto, entonces no puede recordar la contraseña. Si no usa un administrador de contraseñas con contraseñas aleatorias, a veces solo escribe el mes actual con una letra mayúscula (como "Diciembre de 2020"). De hecho, es muy común en todas las infraestructuras corporativas típicas: imagine Active Directory, cientos de empleados con Windows en sus máquinas. Puede simplemente tomar el mes y año actual o pasado, revisar todas las cuentas, alguien se romperá. Un ataque muy poderoso.entonces no puede recordar la contraseña. Si no usa un administrador de contraseñas con contraseñas aleatorias, a veces solo escribe el mes actual con una letra mayúscula (como "Diciembre de 2020"). De hecho, es muy común en todas las infraestructuras corporativas típicas: imagine Active Directory, cientos de empleados con Windows en sus máquinas. Puede tomar el mes y año actual o el último, revisar todas las cuentas, alguien se romperá. Un ataque muy poderoso.entonces no puede recordar la contraseña. Si no usa un administrador de contraseñas con contraseñas aleatorias, a veces solo escribe el mes actual con una letra mayúscula (como "Diciembre de 2020"). De hecho, es muy común en todas las infraestructuras corporativas típicas: imagine Active Directory, cientos de empleados con Windows en sus máquinas. Puede tomar el mes y año actual o el último, revisar todas las cuentas, alguien se romperá. Un ataque muy poderoso.revise todas las cuentas, alguien se romperá. Un ataque muy poderoso.revise todas las cuentas, alguien se romperá. Un ataque muy poderoso.



Si hablamos de servicios web, entonces el ataque más simple es eludir la autorización y acceder a datos de otros clientes. El ataque consiste en que llevas una solicitud a una aplicación web, que da, por ejemplo, tu extracto bancario por número de cuenta. En el enlace o en la solicitud al sitio, se transmite el número de cuenta, numérico, en respuesta, se emite un archivo PDF con el estado de cuenta. Cambia su número de cuenta por el número de cuenta de otra persona y obtiene el estado de cuenta de otra persona.



Esta vulnerabilidad se denomina "referencia de objeto directo inseguro": referencia de objeto directo inseguro. En los servicios modernos, esta es la vulnerabilidad más común, según mis observaciones. Las vulnerabilidades más clásicas que han prevalecido en el pasado, como la inyección de SQL y las secuencias de comandos entre sitios, son menos comunes en los servicios escritos con marcos modernos. Especialmente inyección SQL. Pero surgen errores lógicos, porque los frameworks no los salvan. El propio desarrollador debe pensar en cómo protegerse, cómo implementar el modelo a seguir y delimitar el acceso a los objetos.



P: está hablando de una cierta gradación de agujeros en el sistema, ¿podría dar ejemplos de vulnerabilidades simples, medias y complejas?



No recuerdo en qué contexto hablé de esto, para ser honesto. Bueno, acabo de decir que las vulnerabilidades simples son aquellas que son fáciles de encontrar y fáciles de explotar. Probablemente, estos parámetros se pueden utilizar para caracterizar la complejidad de la vulnerabilidad: la complejidad de la búsqueda y la complejidad de la explotación. Puede ser difícil encontrarlo; por ejemplo, se trata de algún tipo de vulnerabilidad lógica complicada, para cuya explotación debe comprender la lógica del servicio y la interacción de varios componentes, pero al mismo tiempo, la operación es simple: solo necesitas enviar varias solicitudes. O, por ejemplo, puede ser difícil de encontrar, porque se le proporcionaron fuentes de 100 MB con un millón de líneas de código: siéntese, lea.



Encontrar una vulnerabilidad en esos 100 MB puede ser difícil, pero puede ser fácil de explotar. O viceversa: es difícil de explotar debido a algunas restricciones, debido a los firewalls. Pero en los informes de pentest no hay una gradación “simple-compleja”: hay una gradación según la criticidad. La criticidad se compone del nivel de riesgo, es decir, el nivel de daño y la probabilidad de explotación. Sin embargo, la probabilidad es casi lo mismo que la complejidad. Si nos tomó mucho tiempo y las habilidades de un tester de penetración senior encontrar la vulnerabilidad, entonces podemos estimar que la probabilidad de explotación es baja. Lo encontramos en tres semanas de excavación, mientras que otros pueden no encontrarlo en absoluto. Sin embargo, el daño de esta vulnerabilidad puede ser alto. Al combinar estos indicadores, obtenemos un nivel de riesgo "medio".



Los informes de Pentest tienen una plantilla bastante estándar. Hay una parte introductoria donde simplemente se describe lo que hemos probado y por qué, qué modelo del intruso: acceso externo o interno, si tiene una cuenta o no. Luego hay un resumen, que describe brevemente el resultado: qué vulnerabilidades se descubrieron, qué nivel de seguridad: todo está mal o todo está bien. Cada vulnerabilidad se describe, se demuestra con capturas de pantalla y se proporciona un código para que los desarrolladores de la empresa comprendan todo. Y se dan recomendaciones. También proporciona una evaluación de la probabilidad y el nivel de daño.



P: ¿cuántos Windows 7 sin parchear con ms17-010 en el sector corporativo ha encontrado durante la prueba de penetración?



Existen. En realidad, no suele estar en un dominio. No demasiado.



P: ¿cómo saber cuándo es el momento de una entrevista? ¿Cómo se destacará de otros candidatos? (posiblemente conocimiento de lenguajes de programación o una cuenta en sitios como HackTheBox)



Yo pondría más en una cuenta en sitios. Si, por supuesto, resuelves honestamente los problemas allí. Si no es justo, entonces no habrá conocimiento y no pasará la entrevista de todos modos.

En general, por supuesto, también hay certificaciones. Realmente no muestran nada, pero ayudan a pasar los filtros de recursos humanos y a abrirse paso.



P: ¿Puede proporcionar orientación sobre literatura y recursos para sentar las bases?



Sí, sin embargo, en un formato no muy conveniente.



Enlaces proporcionados por Omar
:

docs.google.com/spreadsheets/d/15w9mA5HB9uuiquIx8pavdxThwfMrH7HSv2zmagrekec/edit#gid=0



:

blog.deteact.com/ru

blog.orange.tw

swarm.ptsecurity.com

malicious.link/post

adsecurity.org

posts.specterops.io/archive



:

portswigger.net/web-security

www.hackthebox.eu

overthewire.org/wargames

ctftime.org



:

.

Web Application Hacker's Handbook

The Tangled Web





Pero ahora no hay escasez de literatura; la dificultad, más bien, es elegir entre la masa de materiales lo que más le convenga. "Cursos pentest" de Google: habrá mucho de todo a la vez. HackTheBox es genial; No decidí nada al respecto, pero tengo una idea. Creo que allí se pueden aprender muchas habilidades.



P: ¿Qué otro lenguaje de programación vale la pena aprender además de Python y Bash?



Probablemente sea necesario hacer Bash. Por cierto, hay un gran sitio OverTheWireBandit donde puedes practicar bien Bash. Y así, solo un idioma, que conoces lo suficiente para completar las tareas. Por supuesto, hay tareas para las que Python no es adecuado, por ejemplo, si necesita recopilar rápidamente datos de muchos hosts en Internet. Pero para la mayoría de las tareas, funcionará. Sin embargo, cuantos más idiomas conozca, al menos en el nivel de comprensión del paradigma y la sintaxis de lectura, mejor. Durante las pruebas de penetración y las auditorías, encontrará diferentes pilas y aplicaciones escritas en diferentes idiomas; debe poder comprender cómo funcionan. Además, incluso si no audita la fuente del software en absoluto, solo se ocupa de la infraestructura, aún necesita conocer diferentes idiomas.Muchas herramientas no están escritas en Python. Si la herramienta no funciona bien, es posible que deba comprenderla, leer el código y parchearlo. Digamos que en una infraestructura de Windows es principalmente C #.



P: ¿Qué certificados son los más solicitados para redtim, además de OSCP?



¿Precisamente para Redtim? Hay certificados que se denominan así: Certified Redream Professional, Certified Redteam Expert, Pentester Academy. Pero no tienen una gran demanda, simplemente existen. Me resulta difícil responder cuáles son realmente los más solicitados. La demanda se calcula por cuántos empleadores los ingresan en los requisitos de vacantes y cuántos clientes en los requisitos de licitación. A menudo sucede que los empleados del contratista deben tener un certificado, y con mayor frecuencia OSCP o CEH, un certificado antiguo, incluso más teórico que práctico.



P: ¿necesitas habilidades de descompilación en un pentest?



Hasta cierto punto, sí. Especialmente si trabaja con seguridad de aplicaciones, en el análisis de seguridad de aplicaciones. Allí podría ser útil. Pero la mayoría de las veces, con aplicaciones móviles: para ellos, es posible que no se le proporcione el código fuente, pero tendrá la aplicación en sí, y la descompilará, aplicará ingeniería inversa.



En general, si pregunta sobre “¿necesita habilidades?”, Bueno, sobre cualquier habilidad, puede decir que es útil. Pero es imposible saber absolutamente todo. Saber mucho es bueno, pero aún necesita comprender su especialización, comprender lo que puede hacer mejor. Incluso dentro de las aplicaciones web, existen especializaciones; hay especializaciones por industrias; por ejemplo, una persona puede conocer bien las vulnerabilidades de los servicios de pago. No importa a nivel web o de lógica financiera; hay personas que solo se dedican a probar terminales de pago, banca por Internet, adquisición de tarjetas, etc. Parece que esto es todo, un área, pero de hecho hay cosas muy diferentes. Y el hardware puede ser diferente (tarjetas inteligentes, terminales) y aplicaciones web, API y móviles. En resumen, cualquier habilidad puede ser útil, pero no necesaria.Es imperativo tener algún tipo de masa crítica de habilidades y conocimientos.



Puedo agregar sobre el costo y la demanda. Según mis estimaciones, el tamaño del mercado ruso de pruebas de penetración es de aproximadamente entre 1 y 1,5 mil millones de rublos. Esto lo conté al final de 19. Esto significa que esto es exactamente lo que las empresas rusas gastan en pentests. Por supuesto, las empresas pentester pueden vender servicios en el extranjero al menos un poco, por lo que el tamaño total del mercado será ligeramente mayor. Por supuesto, el mercado de pentest está muy fragmentado; hay muchas empresas pequeñas que ganan poco dinero. Los clientes tienden a cambiar de proveedor de pruebas de penetración porque la rotación proporciona una apariencia renovada y una cobertura máxima. Un equipo, por ejemplo, no detecta una vulnerabilidad, mientras que el otro la nota, pero puede pasar por alto otra. Debido a esto, no hay un monopolio completo: para que un equipo se siente y los pentests compren solo de él.Cambian todos los años.



P: ¿cuántas horas terminaste con los exámenes OSCP?



No recuerdo, unas horas. Para ser honesto, pasé dos veces; la primera vez que resolví todo durante el día, escribí un informe de 80 páginas, pero no leí los requisitos. Resultó que se necesitaba un cierto formato de capturas de pantalla y mi informe no fue aceptado, por lo que tuve que enviarlo nuevamente. Tomó 5 horas volver a tomar la prueba .



P: aconsejar a los blogueros de habla rusa en el campo del pentesting



Nuestra empresa tiene un blog. Es cierto que rara vez escribimos. Básicamente, necesitas seguir a la gente en Twitter; la mayoría de los pentesters escriben en inglés, incluidos los pentesters de habla rusa. Intentamos duplicar: escribimos tanto en ruso como en inglés. Recibo información de Twitter: me suscribo a personas interesantes que, tarde o temprano, volverán a publicar todo lo interesante, por lo que no puedes seguir los blogs específicamente, sino obtener todo a través de Twitter. O a través de los canales de Telegram. No hay blogueros de habla rusa, me parece.



P: ¿Cuáles son las posibilidades de que un administrador de red / Linux ingrese al Pentest?



Camino directo a la prueba de penetración de infraestructura. Debería ser bastante fácil de implementar si el administrador tiene un buen conocimiento de redes y Linux. Lo único es que el camino será aún más corto si se trata de un administrador de Windows; Las redes corporativas suelen ser Windows. Pero de todos modos está bien, es un buen trasfondo.



De hecho, tengo una placa de Google donde escribí un conjunto de conocimientos para diferentes especializaciones y niveles de probadores de penetración. Pasante, Junior, Intermedio, Senior, Web e Infraestructura. Probablemente, el enlace se pueda insertar; estará en Habré, si hay un puesto final. Estos son mis requisitos subjetivos, pero los cambié un poco en base a los comentarios de las personas que dieron sus comentarios y sugerencias y agregaron algo. Por lo tanto, podemos considerarlos más o menos adecuados y centrarnos en ellos. Hay certificaciones enumeradas, e incluso tasas salariales en el mercado, e instrucciones para el desarrollo.



P: qué hermoso es alejarse de la pregunta del cliente, que puede hacer durante la prueba de penetración: "Bueno, ¿encontraste algo?"



¿Por qué alejarse de la pregunta? Responder. Si aún no ha encontrado nada, no lo ha encontrado. Tarde o temprano, tendrá que responder a esta pregunta en el informe. Por tanto, es normal que te pregunten una semana después del inicio del trabajo y digas que no lo encontraste.



P: ¿dónde buscar vacantes en un pentester? Hay muy poco en hh.



Sí, Headhunter no tiene mucho. Por lo general, todos se buscan por conocidos, por lo que, probablemente, solo necesite comunicarse con la gente. Puede publicar su currículum, tal vez en este modo habrá más atención. También puede buscar trabajos en LinkedIn. Y también hay canales de Telegram donde se publican las vacantes



P: ¿Qué opinas de tryhackme?



No conozco ninguno. Ahora hay muchos sitios, en la web recomendaría que Portswigger Academy decida. Portswigger es la empresa detrás de Burp.



Q: pentest y control remoto. ¿Es real? ¿O, debido a los detalles del trabajo, intentan reclutar a la oficina?



En realidad. Bueno, ahora todo el mundo trabaja de forma remota, incluso las grandes empresas. Está claro que si está considerando una opción puramente remota, puede haber dificultades. También existe un formato tal que primero viene a la oficina a trabajar, durante un mes, por ejemplo, y luego de forma remota.



P: ¿Existe una base de datos pública o una lista de vulnerabilidades típicas de las que aprender? ¿O un libro de algún tipo?



Sí, por ejemplo, OWASP Top 10. Esto es algo controvertido, pero estas son las 10 principales vulnerabilidades de las aplicaciones web. También existe CWE (Common Weakness Enumeration): un intento de clasificar todas las vulnerabilidades, dividiéndolas en un sistema jerárquico. Puede ver que hay ejemplos de vulnerabilidades específicas. Otro directorio es CVE, es solo un directorio de vulnerabilidades en varios software. También hay ejemplos reales allí, puede ver y comprender cómo funcionan los exploits.



P: ¿Puede leer un poco de su placa de especificaciones?



El formato de voz es, por supuesto, extraño. Puedo compartir la pantalla. [la pantalla no se comparte] Creo que el enlace al documento estará en Habré. Dice cuánta experiencia (en años) se necesita para cada nivel; esto es, por supuesto, subjetivo, más bien, como un punto de referencia. Las habilidades se describen sin ningún orden en particular. Salario y certificación a apuntar. Y el camino del crecimiento: qué hacer para alcanzar el siguiente nivel. Por ejemplo, para un pentester junior se necesita alrededor de un año de experiencia, ya sea de trabajo o de estudio; si una persona no ha estudiado durante al menos un año, no ha estado involucrado en TI o programación, e inmediatamente trató de pasar a la prueba de penetración, entonces apenas tiene los conocimientos y las habilidades. Los principales requisitos en este nivel son la familiaridad general con la metodología pentest, el conocimiento de los conceptos básicos de la tecnología, la capacidad de usar Linux y escribir scripts simples que funcionen con la red (analizadores, por ejemplo),conocimiento de expresiones regulares, conocimiento del protocolo HTP, trabajo con herramientas - escáneres de vulnerabilidades y Burp. En general, léelo, no voy a enumerarlo todo.



P: ¿Qué hacer en condiciones en las que casi todas las vacantes requieren al menos 2 años de experiencia? ¿Seguir con Bug Bounty y HackTheBox, o intentar abrirse paso a un nivel que no iguala?



Es una mierda. Exigen y exigen; de hecho, mirarán el conocimiento. Puede escribir en "experiencia" simplemente recompensa de errores y HackTheBox. Si realmente no corresponde al nivel requerido de conocimiento y comprensión, significa que no corresponde. Pero el criterio formal para el número de años de experiencia no es tan importante, creo.






All Articles