¿Así que quieres ser un Hacker?

Recientemente he estado leyendo una tonelada de preguntas, posts y discusiones generales sobre cómo entrar en el juego de la “Seguridad de la Información”, y en mi opinión, al menos, es típicamente seguido por una buena cantidad de información engañosa. Eso podría ser un poco duro teniendo en cuenta que estoy seguro de que es bien intencionado, incluso es posible que el consejo funcionó para ellos (no hay una talla única para todos los consejos), pero pensé que iba a exponer mis pensamientos aquí con la esperanza de ayudar a un nuevo hacker en ciernes a seguir adelante.

Quiero hacer deporte, ¿por dónde empiezo?
Esta pregunta vaga, abierta y muy ambigua es muy similar a alguien que pregunta cómo debe ir a entrar en la seguridad de la información. Lo primero que hay que tener en cuenta es que hay una gran variedad de campos de la seguridad de la información, y dentro de cada uno de esos grandes campos hay toda una vida de contenido de aprendizaje. Al igual que ocurre con la elección de un deporte, no existe el “mejor”, sino que a veces hay áreas que se disfrutan más que otras. De la parte superior de mi cabeza aquí están algunas áreas de ejemplo que es de ninguna manera exhaustiva.

  • Seguridad de aplicaciones web
  • Ingeniería inversa
  • Ingeniería inversa de malware
  • Seguridad de redes
  • Respuesta a incidentes
  • Cumplimiento de normas
  • Programación / Creación de herramientas para otros
  • Desarrollo de exploits
  • Forense
  • Algunos de ellos son más de carácter técnico mientras que otros tienen un enfoque más teórico. Te garantizo que te guste lo que te guste hay otros por ahí que lo encontrarán aburrido, al igual que tú lo harás con lo que a otros les interesa a veces. Ahora mismo es de esperar que si estás leyendo esto puede que sepas muy poco de alguna de estas áreas pero lo importante son tus ganas de aprender y el tipo de motivación que tengas.

    El tipo de Hacking
    Una marca que es casi universal de las personas a través de esos campos es su enfoque en el aprendizaje independiente y autodirigido. Desgraciadamente, en cierto modo, la seguridad todavía se considera un “arte oscuro”, es decir, ¿por qué querría alguien saber cómo entrar en un sistema informático a menos que vaya a hacerlo? Como resultado, mucha gente mostrará desde el desprecio a la hostilidad cuando pregunte sobre cuestiones relacionadas con la seguridad bajo la falsa (quizás a veces verdadera) suposición de que es simplemente un “script kiddie” que busca aprender a hackear sistemas en lugar de querer aprender y usar ese conocimiento para un buen propósito. También es un hecho que los recursos de “aprendizaje” de la seguridad de la información están bastante desarticulados, sin un verdadero repositorio central de material de aprendizaje.

    El punto de resaltar esto es que si deseas prosperar y entrar con éxito en el campo de la seguridad de la información debes estar preparado para saltar y encontrar tu camino sin esperar a que alguien te lleve de la mano y te guíe por el camino correcto. Busca en Google algunos de los términos anteriores y mira qué te parece divertido. A pesar de lo que a veces parece una batalla constante por encontrar el “mejor” campo para aprender, o el “mejor” recurso, o la “mejor” manera de aprender, a menudo se pasa más tiempo procrastinando preguntándose estas cuestiones en lugar de dedicar el tiempo a aprender realmente. Busca vídeos en youtube para ver ejemplos de hacking; no pasa nada si no sabes lo que significan muchas cosas, pero anota una lista y luego busca esos términos en Google. Utiliza los puntos de interés para generar una red de conocimiento cada vez mayor en torno a los temas que te interesan.

    ¿Necesito aprender X primero?
    Claro que necesitas tener un conocimiento completo de la capa OSI antes de empezar. Sí necesitas leer ese libro de 1000 páginas sobre el protocolo TCP. Sí, necesitas dominar 5 lenguajes de programación (¡por lo menos!) antes de considerar el hacking. ¿Puedes compilar tu propio kernel de Linux a partir del código fuente? ¿No? No te molestes en aprender a hackear. En realidad …. todo eso está lleno de tonterías, y sin embargo es una de las respuestas más comunes que se dan a las personas que quieren aprender seguridad informática. Hay un requisito para convertirse en un hacker decente: el interés. La diferencia entre un futuro hacker y un script kiddie no es el conocimiento, es la voluntad de aprender.

    Mientras tengas una vaga idea de cómo usar un ordenador estás en el punto de partida con el que puedes trabajar. Sí, si no tienes un conocimiento sólido de cómo funciona el TCP deberías tenerlo en tu lista de tareas para buscarlo cuando alguien esté hablando de ello en un tutorial de hacking – pero es ridículo pensar que necesitas una tonelada de conocimientos previos antes de que se te permita empezar a aprender sobre los temas que te interesan. Cuando buscas cómo funciona ese rompecabezas de inicio de sesión en un sitio de hacking y utiliza JavaScript, vas a aprender cómo funciona JavaScript. Cuando leas cómo funciona un desbordamiento de búfer y tenga una plantilla de Python aprenderás algunos fundamentos de Python. No, no vas a conseguir un trabajo como desarrollador en esos lenguajes al final del mismo pero vas a recoger las formas comunes de romper el lenguaje.

    Aprendizaje informal
    “Vale, entiendo la indirecta – tengo que aprender cosas por mí mismo, pero ¿puedes al menos darme un punto de partida?”

    Seguro, hay una tonelada de grandes recursos gratuitos o baratos por ahí para empezar dependiendo de qué tema te atrae. Aquí hay algunos ejemplos.

    Seguridad de las aplicaciones web

  • HackThisSite – Es bueno para algunos desafíos básicos basados en la web (enlace)
  • Enigma Group – Similar a Hack this site (enlace)
  • OWASP Top 10 – Idea de cuáles son las vulnerabilidades más vulnerabilidades más comunes (link)
  • OWASP Broken Wep Apps – Un ordenador virtual que puedes cargar para practicar habilidades de hacking en tu red (link)
  • Pentesting Lab – Otra máquina virtual enfocada a la web (link)
  • De hecho cualquier cosa de vulnhub que te interese es buena (enlace)
  • The Web Application Hackers Handbook – El libro sobre hacking web y vulnerabilidades (enlace)
  • Ingeniería inversa / Reversión de malware

  • Lena’s Tutorials – Conocida como una de las mejores introducciones a la ingeniería inversa (enlace)
  • The Legends of Random – De nuevo, otro sólido conjunto de tutoriales para la ingeniería inversa (enlace)
  • Reversing: Secrets of Reverse Engineering – Un buen libro sobre los fundamentos de la ingeniería inversa (enlace)
  • Practical Malware Analysis – Un gran libro centrado en la reversión de malware (enlace)
  • Malware Analysts Cookbook – Otro libro centrado en la reversión de malware (enlace)
  • Network Security

  • Las máquinas virtuales dominan esta categoría ya que te permiten practicar contra máquinas reales. Dirígete a vulnhub y descarga cualquier VM que parezca interesante (enlace)
  • Metasploit Unleashed – Un sólido recorrido por el marco de pruebas de metasploit para ser usado en conjunto contra VM’s. (link)
  • The Basics of Hacking and Penetration Testing – Una mirada muy básica a las pruebas de penetración útil para aquellos completamente nuevos en el campo. (link)
  • Metasploit – The Penetration Testers Guide – Otro libro que se centra en el uso de metasploit en las pruebas de penetración (link)
  • Debido a que este es un campo tan grande, a menudo se trata de dividirlo en un aspecto, y luego investigar ese aspecto específicamente. Los blogs son su mejor amigo aquí. (link)
  • Desarrollo de exploits

  • Corelan – Este es de lejos el mejor recurso que existe para aprender sobre el desarrollo de exploits. (link)
  • FuzzySecurity – Otro buen recurso de aprendizaje con algunos tutoriales disponibles (link)
  • Exploit-DB – Una de las mejores cosas que puedes hacer es encontrar ejemplos de exploits (a menudo con aplicaciones adjuntas) y tratar de replicar el exploit de forma independiente (enlace)
  • Hacking – The Art of Exploitation – Un libro fantástico que cubre toneladas de diferentes técnicas de explotación (enlace)
  • The Shellcoders Handbook – Otro libro fantástico sobre el desarrollo de exploits y shellcoding (enlace)
  • Otros, Google, Google, y algo más de Google. He dejado fuera algunas áreas como la forense y la de cumplimiento de normas porque personalmente no me interesan así que no he ido a buscar recursos, seguro que hay algunos fantásticos por ahí.

    Aprendizaje formal
    Aparte de los recursos gratuitos también puedes empezar a obtener certificados para hacerte más atractivo a los empleadores si deseas hacer la transición a este campo como una carrera más. Algunas de las certificaciones que recomiendo son el curso “Penetration Testing with Kali Linux” de Offensive Security (enlace) si estás interesado en la seguridad de la red. Es fácilmente una de las mejores experiencias de aprendizaje que he tenido en el campo y me enseñó más en 60 días de lo que había aprendido en un año por mi cuenta. Su “Cracking the Perimeter” también es un gran curso, que se centra un poco más en el desarrollo de exploits (enlace).

    Si estás buscando desarrollar tus habilidades de programación, cosas como “Python for Pentesters and Hackers” de SecurityTube (enlace) es una gran base que te enseñará a hacer un montón de cosas ingeniosas como construir tus propios escáneres de puertos, descifradores de contraseñas, etc. No le doy un gran valor a las certificaciones que ofrecen desde el punto de vista laboral, sino que lo veo más bien como un cúmulo de conocimientos y ejemplos consolidados a la venta que aún pueden ser valiosos.

    El curso “Certified Ethical Hacker” es otro de los más mencionados. Honestamente es típicamente menospreciado así que no creo que necesariamente valga el dinero – pero si necesitas un curso formal para aprender cosas entonces podría valer el dinero para ti. Muchas de estas certificaciones y su valor se discuten en los foros de TheEthicalHacker.net ubicados aquí.

    “Sólo para ver si puedes”
    El hacking consiste en obtener acceso a cosas que no debemos. Crear un exploit, encontrar una inyección SQL, crackear contraseñas, todo está diseñado para llevarnos hacia el objetivo de tomar el control de la caja que estamos atacando. Te garantizo que casi todos los nuevos hackers han comenzado a soñar con “Sólo ver si pueden” obtener acceso a ese sitio web de la escuela. “Sólo ver si pueden” acceder a la red WiFi de los vecinos. Enviar a su amigo un virus troyano “sólo para ver si pueden” tomar el control. Peor aún puede terminar visitando sitios como HackForums.net y ver un montón de gente tratando de infectar a otros con RATs, construir botnet’s etc bajo la impresión de que esto es hacking, o tristemente que esta es la única manera de aprender.

    Necesito enfatizar que este no es el caso. Cualquier tipo de ejercicios del tipo “sólo ver si se puede” se puede replicar mediante el uso de máquinas virtuales, sus propios routers o incluso capturar la bandera / competiciones de juegos de guerra por ahí. Siendo realistas, incluso si puedes acceder a la máquina de otra persona, ¿qué vas a hacer con ella? ¿Realmente vas a intentar robar los datos de las tarjetas de crédito y realizar transacciones fraudulentas? ¿Realmente vas a robar contraseñas y a tener la paranoia de que tu actividad va a ser rastreada hasta ti por el hecho de espiar los correos electrónicos de alguien? Ha habido muchos ejemplos de novatos que han sido acusados, sin darse cuenta de la gravedad de los delitos que están cometiendo. Si fueras a por un trabajo en el FBI y echaran un vistazo a tu historial de publicaciones, ¿te gustaría que leyeran ese post en el que preguntabas cómo alojar una red de bots? Es un ejemplo clásico de que lo que está en Internet es para siempre, y si realmente quieres una carrera en la seguridad de la información necesitas ese historial limpio para obtener cualquier autorización de seguridad que vayas a necesitar para hacer tu trabajo. Que te pillen por tonterías no merece la pena.

    Resumen
    Así que después de una larga divagación, ¿cuáles son los puntos clave?

  • Un hacker buscará activamente la información, no esperará a que otros se la den
  • La diferencia entre un script kiddie y un nuevo hacker es el deseo de aprender
  • Tienes que experimentar con una amplia gama de campos de seguridad de la información para encontrar lo que te interesa
  • No dejes que nadie te diga que hay requisitos previos para aprender seguridad de la información, no los hay.
  • No vale la pena “sólo ver si puedes” hacer algo que no sea legal, el riesgo frente a la recompensa no tiene sentido para hacerlo
  • Con cursos, wargames, capturar las banderas y, más importante, máquinas virtuales, no hay escenario de hacking que no pueda ser replicado legalmente
  • ¡Diviértete, lo siento si se puso predicador hacia el final y disfruta pwning cajas! La seguridad de la información es un campo impresionante y aprenderás algo nuevo cada día que estés involucrado en él. No hay una respuesta correcta para entrar en este campo, aparte de lanzarse con los dos pies. Mójate, aprende a pisar el agua y mantente a flote, ¡un día puede que incluso seas capaz de nadar un poco!

    Deja una respuesta

    Tu dirección de correo electrónico no será publicada.