No aprendes a hackear de un libro …
Primero, vas a querer aprender Linux y algunos lenguajes de codificación realmente bien. Python es probablemente el más fácil. Busca en Google “tutorial de python” y encuentra uno que te guste. Comprométase a usar Linux como su sistema operativo diario durante al menos unos meses y a escribir algunos programas en Python. Esto ya te pondrá por delante de la curva de aprendizaje. Luego, aprenda C o C ++: están más cerca del código de la máquina, que es importante para entender cómo subvertir la computadora, y le permiten cometer el tipo de errores que luego intentará explotar.
Una vez que esté listo, vaya a una universidad con un fuerte programa de informática y tome las clases más técnicas y aplicadas; Lo ideal es buscar uno con un equipo fuerte de CTF. A continuación, explicaré lo que eso significa. Una educación universitaria no es absolutamente necesaria para ser un gran pirata informático, pero es increíblemente útil y, si estás interesado en la criptografía, es esencial.
Dado que eres bastante joven, te recomiendo que sigas el camino más duro y técnicamente difícil: el descubrimiento y la explotación de vulnerabilidades. Esta no es la forma más fácil de simplemente “piratear las cosas”, pero es la que lo configura mejor para cualquier desarrollo que ocurra en informática en los próximos 30 años o más. También es menos probable que te metan en problemas. Para ello, lea:
- ¿Es normal temer ir a otro país para aprender un nuevo idioma?
- Cómo aprender algo nuevo todos los días y hacer algo con él.
- Cómo aceptar el hecho de que solo aprendo cosas a través de ser golpeado y abusado
- ¿Es posible aprender klipfolio o tableu sin comprar el software?
- Cómo mejorar la gestión del tiempo.
Rompiendo la pila por diversión y beneficio por Aleph One
Tutorial de escritura de exploits parte 1: Desbordamientos basados en pila
Sigue con el tutorial de exploits hasta el final, y cada vez que no entiendas algo, búscalo y juega con él hasta que lo hagas. Estos están más o menos desactualizados, pero debe rastrearse antes de poder caminar, y en el momento en que termine comprenderá la idea básica de cómo funcionan las vulnerabilidades y las vulnerabilidades de la corrupción de memoria. Probablemente necesitarás aprender algo de montaje en el camino.
Y, jugar con algunos de estos:
Google Gruyere: Explotaciones y defensas de aplicaciones web
OWASP Vulnerable Web Applications Directory Project / Pages / VMs
Desafíos de ingeniería inversa
Fuzzing es una técnica muy simple usada para encontrar vulnerabilidades. Peach es un fuzzer de código abierto de uso común con el que es bastante fácil comenzar. No intente fuzear un programa importante como Word o Chrome: ya se ha investigado exhaustivamente y no encontrará nada. En su lugar, inténtelo en uno de sus propios programas o en alguna pieza oscura de OSS. Y lea sobre la ética de la divulgación de vulnerabilidades para saber cómo manejar cualquier cosa que encuentre. Es menos complicado buscar vulnerabilidades en el software local que en las aplicaciones web, ya que accidentalmente puede causar problemas graves en las aplicaciones web y puede meterse en problemas, mientras que la confusión en su propia máquina suele ser segura.
Echa un vistazo a las competiciones Capture The Flag (CTF), como EasyCTF (no tengo experiencia con esta organización). Estas son competiciones de piratería organizadas en las que intentas resolver diversos problemas de piratería en un entorno competitivo, y grupos y foros asociados para enseñarte.
¿Recuerdas cuando dije que no aprendes a hackear de un libro? Eso fue un poco mentira (los piratas informáticos lo hacen), porque hay algunos buenos libros que pueden ayudarte a comprender mejor la seguridad informática, lo que te hará un mejor pirata informático. En particular, recomiendo:
24 pecados mortales de la seguridad del software
Escribir código seguro
Ingeniería social: El arte del hacking humano
Rtfm: Red Team Field Manual
Criptografía aplicada
Los dos primeros están más enfocados en escribir código seguro en lugar de encontrar y atacar código incorrecto una vez escrito, pero te darán una buena base en los diferentes temas. Los dos segundos están más enfocados en la explotación práctica en redes del mundo real, que tiende a ser menos sofisticada y técnicamente más fácil que las cosas que vinculé anteriormente. Pero es importante saber cómo operan los atacantes reales, a un nivel básico, por supuesto, ya que obviamente los profesionales van más allá de lo que hay en un libro. El último es el mejor libro sobre criptografía que conozco, accesible sin un extenso historial en matemáticas.
Por último, lee el internet. La mayoría de los hackers modernos son autodidactas. Hay una comunidad próspera en foros, listas de correo, blogs y Twitter. “Ir a averiguarlo” es clave para aprender a hackear. Tenga en cuenta que dentro del campo, generalmente no usamos la palabra piratería; en cambio, decimos “seguridad informática”, porque “piratería” tiene un significado más amplio. “Seguridad de la aplicación” y “seguridad de la información” también son descripciones comunes. Usar los términos correctos le ayudará a encontrar mejor información. Kali Linux no es la solución a todos sus problemas … pero si lee el código fuente de los programas que incluye y entiende cómo funcionan, entonces estará en camino de convertirse en un profesional de la seguridad informática.
Y cuando llegue ese día, pregúntame en Quora o LinkedIn y habrá un buen cambio. Tendré una pasantía o trabajo para ti. 🙂