En los años que llevamos dentro del mundo de la ciberseguridad ofensiva siempre nos han hecho la misma pregunta. Tanto aquellos que están acabando sus estudios como los que llevan años trabajando y quieren dar el salto al mundo de la ciberseguridad nos preguntan: “¿Por dónde empiezo?”
Por suerte, el mundo de la ciberseguridad ofensiva es muy abierto y da la oportunidad a “cualquiera” de comenzar y avanzar sin la necesidad de presentar títulos oficiales (Si bien es cierto que tras los primeros años empieza a resultar casi imprescindible)
Una buena base técnica es muy importante puesto que ayuda a comprender el funcionamiento y la posible explotación de una vulnerabilidad en un sistema/web/software.
Existen diversas vías de comenzar en este mundo, bien sea estudiando una carrera relacionada (Informática, teleco, desarrollo de software, etc), desde un FP o incluso mediante la autoformación.
El problema viene a la hora de comenzar a analizar y explotar sistemas, ya que, aunque actualmente proliferan los cursos y masters de ciberseguridad, es difícil encontrar uno que te enseñe desde lo más básico.
Son ya varios años que llevamos formando a juniors y becarios por lo que decidimos crear una “lista de tareas” que ayudan a iniciarse en el pentesting.
Conoce tu sistema operativo
Uno de los errores más típicos es descargar una imagen de una distribución para hacking y empezar a lanzar pruebas a diestro y siniestro sin entender bien qué estamos haciendo.
Es importantísimo tener un sistema operativo base que conozcamos bien y sea “nuestro”. En este sentido, decantarse por la instalación de una distribución Linux como SO principal nos parece la mejor alternativa por varias razones:
- Si no lo usas, no vas a sufrirlo. Si no lo sufres no lo arreglas. Si no lo arreglas no lo entiendes.
- Windows ya lo conocemos más que de sobra a nivel usuario.
- Utilizar un sistema operativo alternativo al habitual ayuda a comprender el funcionamiento tanto del propio SO como de otros.
- En futuras auditorias nos encontraremos con distintos sistemas y debemos saber como se componen para poder atacarlos.
No estamos diciendo que Linux sea mejor que Windows, simplemente debemos salir de nuestra zona de confort y abrir nuestra mente a nuevas alternativas. Si por alguna razón no pudieras instalarte un Linux, que sepas que existen muchos profesionales que hacen (casi) todas sus pruebas desde Windows con PowerShell.
Una buena distribución para iniciarse es Kubuntu (Ubuntu + KDE). La instalación es sencilla y no trae demasiadas herramientas preinstaladas. Así, poco a poco, podemos ver el funcionamiento y aprender a instalar aquello que nos sea necesario. Después podemos cambiar pasar a otra distribución ¿Debian? 😉.
Hay demasiadas MUCHAS distribuciones distintas, cada una con sus particularidades y sus ventajas. Si tenéis dudas podéis comentarlo en nuestro grupo de Telegram.
Aprende WEB
Recomendamos comenzar por el análisis de aplicaciones webs puesto que son los primeros proyectos que se realizan cuando te incorporas al mundo laboral como pentester. Prácticamente todo es web y hay infinitas fuentes.
La referencia en este sentido son los laboratorios de Portswigger. Esta compañía ha desarrollado uno de los programas más utilizados para el análisis de aplicaciones web – Burp – y ha creado su propia academia GRATUITA en la que describen todas las vulnerabilidades web existentes (En inglés).
Aquí encontraréis todas las vulnerabilidades explicadas, los métodos de explotación de cada una de ellas y unos laboratorios donde poder poner en práctica lo aprendido (debéis registraros aquí https://portswigger.net/web-security), así como los walkthroughts por si nos atascamos en la resolución de alguno de ellos.
La compañía permite obtener un certificado para demostrar nuestros conocimientos de forma oficial. El precio ronda los 90€ pero es habitual encontrar descuentos y ofertas en las que el precio es significativamente menor (En el último BlackFriday lo ofertaron a 9€).
Una vez hemos realizado este laboratorio, podemos probar – o refrescar – nuestros conocimientos en aplicaciones vulnerables como DVWA (https://dvwa.co.uk/) y BWAPP (http://www.itsecgames.com/download.htm), aunque existen muchas webs similares. Estas webs nos permiten descargar y montar un entorno con aplicaciones vulnerables.
Además de conocer la forma de aprovechar los fallos en una aplicación web, es importante tener una metodología de análisis que nos permita realizar estos trabajos sin dejarnos nada atrás. Si echáis un vistazo por LinkedIn, prácticamente todas las ofertas piden que se conozca esta metodología: OWASP. Es tanto una guía de pruebas a realizar por parte del analista como una forma de unificar/estandarizar el lenguaje.
https://owasp.org/www-project-web-security-testing-guide/
El checklist de OWASP permite tener una guía de las pruebas a realizar, algo que al iniciaros en el pentesting os ayuda muchísimo a no olvidar ninguna prueba.
Otra herramienta que debemos conocer y que es muy importante es la calculadora CVSS.
https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator
Con ella se puede determinar la criticidad de una vulnerabilidad web rellenando una serie de campos predefinidos.
Tanto OWASP como el CVSS son 2 fuentes IMPORTANTÍSIMAS muy utilizadas hoy en día que es totalmente necesario conocer para poder realizar una auditoría correctamente.
Por poner un ejemplo de la importancia, las plataformas de BugBounty identifican las vulnerabilidades web mediante OWASP y establecen la criticidad – según la cual se paga– mediante el CVSS.
Aprende a programar para automatizar tareas.
Ser un buen programador no es estrictamente necesario para empezar en el mundo del pentesting, de lo que si estamos seguros es de que saber programar aunque sea un poco, ayuda mucho a la hora de realizar pruebas de seguridad. Hacer pequeños scripts nos ayudará a realizar tareas repetitivas para las que no hay una herramienta específica.
Por otro lado, os recomendamos que hagáis pequeños programas para realizar tareas aunque ya conozcáis una herramienta con dicha funcionalidad. Por ejemplo, realizar un escáner de puertos en bash es una tarea sencilla que nos ayudará no solo a mejorar nuestras skills de programación, sino a conocer cómo funcionan (de manera básica) otras herramientas.
Inscríbete en cursos (Gratuitos).
En internet hay infinitas fuentes desde las que adquirir conocimientos. Es común que un usuario que quiere iniciarse en el mundo del pentest se cree una cuenta en HackTheBox/TryHackme dando por hecho que es suficiente.
Antes de inscribiros en una academia y sufrir al no ser capaces de absorber toda la información necesaria en el tiempo de laboratorio definido (y perder el dinero invertido), es recomendable ir poco a poco.
Busca fuentes gratuitas con las que poder formarte. Cisco, por ejemplo, ofrece cursos de networking de forma gratuita (https://www.netacad.com/portal/web/self-enroll/m/course-860135) y aquí (https://www.netacad.com/portal/web/self-enroll/m/course-865887).
Plataformas como Udemy ofrecen numerosos cursos de ciberseguridad gratuitos (¡aunque no todos tienen la calidad suficiente, ojo!). HackerOne, una de las plataformas más conocidas de BugBounty también ofrece una academia gratuita donde aprender – algo más dirigida a BugBounty, pero totalmente válida – en Hacker101 https://www.hackerone.com/hackers/hacker101
En futuros posts os compartiremos los cursos gratuitos que vayamos encontrado y que consideremos de utilidad.
Organízate y toma notas.
Aquí viene la última recomendación que, a priori, suena la más aburrida de todas. Toma notas.
Organizar y apuntar TODO lo que hacemos es importantísimo, incluso lo más mínimo. Puede que hoy recuerdes bien que el mes pasado utilizaste un comando específico para acceder a una máquina, pero después de 2 años haciendo proyectos de todo tipo es muy posible que hayas olvidado ese comando y te pasarás HORAS buscándolo hasta dar con él.
Por desgracia, esto se aprende con el tiempo, tanto a apuntarlo como la forma de organizarlo.
Busca una herramienta que te guste (y que sea multiplataforma es importante).
Nosotros te dejamos las siguientes: CherryTree https://www.giuspen.com/cherrytree/ y Keepnote http://keepnote.org/
Y por último, no te agobies. Todos hemos empezamos desde 0.
¡Happy hacking!