Habilidades requeridas antes de saltar a la investigación de vulnerabilidad

3

Hola, soy un principiante en seguridad de TI. Quiero convertirme en hacker ético. Así que sé cómo usar metasploit para escribir exploits, y cómo usar diferentes fuzzers, pero creo que esto no es suficiente. Puedo leer y entender el código de muchos idiomas, incluido el ensamblaje básico. Puedo convertir código de ensamblaje simple en código C o Java en C o C # en C y en algunos otros lenguajes en C. Pero no soy el mejor programador. Estoy bastante familiarizado con las estructuras de datos, pero los algoritmos son mi punto débil. No puedo codificar buenos programas, por ejemplo. Si comienzo a editar el kernel, moriré, pero no haré nada nuevo o bueno. Sé que la pregunta no tiene una respuesta específica, pero no tengo idea de dónde puedo preguntar a los profesionales. ¿Qué habilidades de programación necesito antes de saltar a la investigación de vulnerabilidad?

    
pregunta user3181029 10.01.2014 - 16:27
fuente

2 respuestas

3

La investigación de vulnerabilidad implica que tienes un conocimiento muy bueno de cómo funcionan las cosas. Para empezar, creo que conocer ensamblaje y C es la mejor manera de comenzar. Un conocimiento de ensamblaje realmente bueno lo ayudará con la ingeniería inversa y la búsqueda de vulnerabilidades.

Personalmente estoy aprendiendo el lenguaje ensamblador muy difícil y C. También necesitarás práctica (mucha práctica) en un entorno de laboratorio. Personalmente creo que estos 3 libros harán que te mires de verdad:

1) Manual de Shellcoders

2) Hacking The Art of Exploitation 2da edición

3) Hacking de sombrero gris

    
respondido por el Boogy 10.01.2014 - 16:40
fuente
2

La respuesta de Boogy es correcta y definitivamente correcta. Más que eso, necesita aprender la estructura de los lenguajes de programación y los sistemas en general. Por qué los programadores usan ciertas estructuras de datos. Aprende esas estructuras de datos y cómo funcionan. Los buenos principios de ingeniería se aplican sin importar el sistema, así como los malos.

Las primeras preguntas en tu mente cuando estás viendo algo deberían ser, ¿cómo funciona esto? ¿Cómo puedo abusar de esto? Abuso que significa cómo puedes estimular este objeto para hacer cosas que el autor original no pretendía que sucediera.

Lo que no se puede subestimar, es asegurarse de que aprendas "cómo aprendes", te ayudará cuando estés analizando algo nuevo. Cuanto más aprendas, especialmente acerca de cómo se diseñan las cosas ..., te ayudará a comprenderlo mejor cuando te enfrentes a algo nuevo. Aprenderás más rápido, es un conocimiento compuesto.

Similar en principio al estudio de la complejidad algorítmica, una vez que entiendes las notaciones y sus relaciones, incluso cuando te enfrentas a una estructura novedosa o una nueva implementación de una estructura conocida, hay muchas suposiciones que se pueden hacer y probar en base a las anteriores. trabajo. Todo debido a investigaciones previas y presunciones

    
respondido por el M15K 10.01.2014 - 17:21
fuente

Lea otras preguntas en las etiquetas