¿Los hackers descubren vulnerabilidades por prueba y error? Si no, ¿cuál es un método sistemático para identificar vulnerabilidades?

Creo que es una mezcla de los dos y realmente depende de la aplicación que intentes explotar. No creo que haya un método verdaderamente “sistemático” que le diga si existe o no una vulnerabilidad. Es cierto que al observar el flujo de información, puede probar en papel que una aplicación es segura. Sin embargo, hay ciertas cosas, como las fugas en los canales laterales, que simplemente no puede tener en cuenta. Fugas de canal lateral en aplicaciones web: una realidad hoy, un desafío mañana.

Un método, posiblemente sistemático, para encontrar una vulnerabilidad es intentar realizar ingeniería inversa en el software. Teóricamente, podrías aplicar ingeniería inversa a cualquier pieza de software que se ejecute en tu computadora. Podrías desmontarlo y descubrir qué está haciendo. Este proceso puede ayudarlo a encontrar puntos débiles en el software que pueden ser explotados, por ejemplo, un desbordamiento del búfer.

Los servicios en línea / sitios web son otra cuestión. No conozco ningún método sistemático para determinar si un sitio web tiene una vulnerabilidad de scripting entre sitios (XSS). La forma más fácil de determinar si existe una vulnerabilidad XSS es simplemente por prueba y error. Si un sitio web toma información de una fuente no confiable y la incrusta en su página sin desinfectar, entonces eres dorado. Además, si hay desinfección, aún puede haber un caso de explotación, por ejemplo, si la aplicación está usando un filtro rígido, puede haber casos de esquina que no tiene en cuenta. Realmente solo puede encontrarlos a través de prueba y error.

Si puede acceder al código y los datos, puede hacer algo sistemático para encontrar cómo se validan los campos INPUT / OUTPUT, cómo se almacenan los datos sensibles y cómo el software limpia los datos temporales en la memoria, la base de datos o los dispositivos de almacenamiento. Sin acceso al código es solo prueba y error.

Existen muchas herramientas técnicas o de software que pueden acelerar la búsqueda de vulnerabilidades, por ejemplo;

BackTrack Linux : compilación de herramientas de pruebas de penetración.
Metasploit : base de datos de vulnerabilidades y herramientas de explotación.
Havij : Herramientas generales de compilación de scripts de inyección SQL.

Pero nada sistemático.

En caso de piratería / craqueo de software …
Por lo general, se realiza observando el comportamiento del software y la protección que podría haber implementado.
Después del desmontaje del código de la aplicación, se estudia la técnica de protección del software y al principio se encuentran las lagunas por golpe y prueba.
Si la técnica de protección es estándar, un cracker experimentado puede descifrarla en poco tiempo.

Hay mucho que considerar, empacadores, protectores, bloqueo de aplicaciones mapeadas, etc. etc.

Las vulnerabilidades se pueden identificar midiendo la duración del error devuelto. Está más relacionado con la criptografía, y se llama relleno de oráculo. La idea es enviar un error en un intervalo diferente puede ayudar al atacante a saber por qué / dónde ocurrió el error y puede cambiar la forma en que ataca para tener éxito. La mejor manera es recoger casos de error y devolverlos al final de todas las comprobaciones en lugar de devolverlos tan pronto como se encuentre el error.

¿Necesita servicios de piratería? ¡Ten cuidado! La mayoría de los llamados piratas informáticos aquí son impostores, sé cómo funcionan los verdaderos piratas informáticos, nunca se anuncian de manera tan crédulo y siempre son discretos. Me han estafado tantas veces que, por experiencia, sé bastante cómo funcionan. Finalmente, mi entusiasmo por resolver mi problema valió la pena, cuando un amigo mío me presentó a su amigo hacker, Rollins, su profesionalismo es de primera clase. Puede comunicarse con él en [correo electrónico protegido]

Bueno, debemos considerar muchas cosas, como si se trata de un caso de prueba de caja negra, entonces obviamente debe depender de prueba y error … Debe probar algo y ver cómo responde el sistema y, basándose en una evaluación cuidadosa de esa respuesta, necesita avanzar más . Esto es para el caso de caja negra donde literalmente no tienes idea de qué sistema vas a atacar. Luego viene la caja gris o la caja blanca (caja de cristal según algunas personas) donde tendrá acceso a varios detalles internos del sistema, incluido el código fuente, luego podemos usar varios enfoques sistemáticos para identificar vulnerabilidades. Por ejemplo, si tiene algunos archivos de configuración, puede identificar fácilmente la configuración incorrecta de seguridad, si tiene el código fuente, puede encontrar fácilmente xss, desbordamiento, puntos de inyección. Entonces diría que depende de lo que vayas a hackear 🙂

Prueba y error es la primera forma de encontrar vulnerabilidades. Otra forma es abrir exploit-db.com para encontrar las últimas vulnerabilidades de trabajo y usarlo para maximizar su posibilidad de piratear algo.

El uso de prueba y error lógico y sistemático generalmente encuentra la mayoría de los errores, es decir, prueba cualquier posible debilidad uno por uno. La mayoría se puede hacer de forma automática cuando se piensa lo suficiente en cómo se podría implementar algo.

Redirect encubierto “permitió a los atacantes engañar a los usuarios y adquirir sus tokens. Hubo demostraciones en video sobre los trucos aplicados a la implementación de OAuth en Facebook donde los tokens de la herramienta de inicio de sesión se enviaron a un sitio web malicioso

Blog SSL instantáneo | Últimas noticias y actualizaciones de SSL

Prueba y error es el método universal de descubrimiento, por lo que la respuesta es sí.