Depende de cuál sea su especialidad, pero a decir verdad, muchas personas que se hacen llamar piratas informáticos simplemente aprenden a usar las herramientas disponibles para encontrar vulnerabilidades, desfigurar sitios web y hacer un nombre para ellos. Muy pocos tienen una comprensión profunda de las cosas y aquellos que lo hacen generalmente se limitan a algunos temas clave.
Estoy un poco de acuerdo con la respuesta de Sanchit. Una vez que haya creado un sitio web y lo haya alojado en vivo, le enseñará muchas cosas que no tenía. Si desea comenzar con la penetración de aplicaciones web, debe conocer HTML, CSS, JavaScript, AJAX y SQL como mínimo. Como hacker, no tienes la opción de aprender un solo idioma. Su trabajo es encontrar fallas en el código y el código podría ser PHP, ASP, JSP o Python. Así que no asuma que puede continuar aprendiendo un solo idioma. Además de esto, también debe tener una muy buena comprensión de las redes generales (Qué es un protocolo, un puerto y cómo se mueven los paquetes en un cable en vivo y cómo se ven) .HTTP, TCP, SMTP, UDP, DNS. Una vez que sepa todo esto, puede comenzar aprendiendo el tipo más común de vectores de ataque en las aplicaciones web. Después de esto, puede comenzar a crear sus propios vectores de ataque.
Si uno estuviera interesado en la seguridad de la red, una comprensión profunda de la pila TCP / IP. Los protocolos comunes como TCP, UDP, IP, ARP, DHCP, ICMP, DNS, 802.11 b / g / n deben entenderse bien. La disección y análisis de paquetes es otra habilidad que se debe conocer. Vectores de ataque comunes como MiTM, envenenamiento ARP, Ping de muerte, cómo se realizan varios escaneos de puertos. Después de esto, uno puede comenzar a crear sus propios vectores de ataque.
- ¿Qué es lo peor que alguien podría hacer con el certificado privado de Yahoo?
- He estado leyendo mucho alboroto sobre Java y sus serias fallas de seguridad ... ¿Qué tan preciso es y debo desactivar Java según lo aconsejado por múltiples fuentes?
- ¿Cuáles serían las implicaciones para Quora y sus usuarios si las cuentas de "Usuario Anon" estuvieran expuestas?
- ¿Quién es un hacker ético?
- ¿Por qué ha habido tantas infracciones de seguridad de contraseña en el verano de 2012?
Si uno estuviera interesado en el sistema operativo y la seguridad a nivel del sistema, entonces la programación y el ensamblaje de los sistemas, por decir lo menos. Una vez más, no pudo elegir un idioma, el código en el que tiene que encontrar el código de fallas puede estar en C, C ++, Java, Python, C # u otro lenguaje. Debe aprender un idioma muy bien (posiblemente C o C ++) y luego conectar conceptos entre idiomas. La ingeniería inversa de aplicaciones comunes y la búsqueda de vectores de ataque conocidos deberían ser suficientes para comenzar. En el tiempo extra puede reducir a nuevas aplicaciones y encontrar vulnerabilidades en ellas o crear sus propios vectores de ataque.
Por decir lo menos, nunca asuma que conoce los vectores de ataque más comunes y saber cómo realizarlos no lo llevará tan lejos. Comprender todas las tecnologías involucradas y cómo funciona cada ataque y escribir sus propias herramientas es lo que realmente marca la diferencia