🔒Pentester
¿Qué es el pentesting y en qué consiste ser pentester?
El pentesting, también conocido en español como “pruebas de penetración”, son un conjunto de verificaciones que se llevan a cabo sobre diversas tecnologías con el objetivo de detectar vulnerabilidades. Por ejemplo, en el caso de aplicaciones web, la identificación de dichas vulnerabilidades puede incluir cosas como inyecciones SQL, ataques Cross-Site Scripting (XSS) y un largo etcétera, las cuales vienen dadas por malas prácticas a nivel de código y/o por errores de configuración de las tecnologías implementadas.
Sabiendo ya qué es el pentesting, queda decir que pentester es la persona que realiza lo mencionado en el párrafo anterior. Sin embargo, dentro de la palabra pentester podemos englobar tres categorías diferentes, que quizás sean más conocidas si, en lugar de utilizar la palabra pentester, utilizamos el término hacker; pero, antes de esto, una pequeña nota: el término hacker a lo largo de los años se ha visto muy denostado a consecuencia del trato que ha tenido en medios de comunicación y la industria cinematográfica, las cuales han dado lugar a pensar que hacker es una persona que busca causar algún tipo de perjuicio a otra por diferentes motivos, cuando la realidad es que hacker es aquella persona a la que, simplemente, le gusta entender cómo funcionan las cosas en gran profundidad, siendo esas “cosas”, usualmente, dispositivos y tecnologías.
Se suele hacer distinción entre tres tipos de hackers:
⚪ Sombrero blanco: persona que se dedica a detectar vulnerabilidades en dispositivos y tecnologías de manera legítima, acogiéndose a un acuerdo contractual entre ella o su empresa, y el cliente que recibirá el servicio.
◻️ Sombrero gris: persona que se dedica a detectar vulnerabilidades sin el consentimiento explícito del objetivo que está analizando. Tras detectar dichas vulnerabilidades, de manera anónima informa a la persona y/o entidad afectada pidiéndole a cambio una suma de dinero.
⚫ Sombrero negro: persona que se dedica a detectar vulnerabilidades con el único fin de obtener información, beneficio económico y/o para causar algún perjuicio al objetivo en cuestión.
En el caso de las personas que se dedican a la rama de pentesting, éstas están dentro de la categoría de ⚪ hackers de sombrero blanco ⚪
¿Cuáles son las especializaciones más frecuentes?
Las personas que nos dedicamos al pentesting podemos tener especializaciones muy diversas, casi tanto como nuestros orígenes. Hay muchas personas que inicialmente comenzaron su carrera laboral en otro sector y, con el paso del tiempo, acabaron dedicándose a esto, pero de temas laborales hablaremos en uno de los siguientes apartados.
Lo más habitual es que quienes se dedican al pentesting traten principalmente con aplicaciones web y con sistemas. Más recientemente está surgiendo la especialización de pentesters en recursos en la nube (cloud) a consecuencia del auge de estas tecnologías a la que (casi) todas las empresas están empezando a migrar total o parcialmente sus servicios.
Las técnicas aplicadas para estos tres casos son similares hasta cierto punto, y esto se debe a que las tecnologías que se suelen someter a procesos de pentesting, una web, por ejemplo, están alojadas en un equipo (host) que puede tratarse de un servidor físico (on-premise) o en la nube (cloud). Cuando se hace pentesting sobre una aplicación alojada en la nube, la aproximación será la misma que si estuviese on-premise con la diferencia de que es posible que la base de datos sea distinta a los motores habituales (MySQL, MongoDB, etc.) y otros puntos ya más específicos de ese tipo de tecnología como puede ser la existencia de una URL de metadatos en el caso de instancias en la nube.
Otra especialización un poco menos frecuente ya que no se encuentra entre los trabajos más solicitados es el pentesting en dispositivos móviles. Las técnicas en este caso son bastante diferentes al enfoque que se suele utilizar en los casos ya mencionados, siendo necesario conocer herramientas bastante más específicas como puede ser ADB en el caso de Android, o estar al tanto de las diferencias entre emuladores y simuladores.
No obstante, estos no son los únicos caminos a seguir y es muy frecuente encontrar a personas que, además de tener conocimientos en estos temas, también controles aspectos de otras áreas como criptografía, sistemas IoT, hardware, redes, etc.
¿Por dónde empezar?
Es frecuente en quienes quieren comenzar en pentesting apuntar directamente a aprender lo que se suele conocer como “romper cosas”, y esto tiene como consecuencia que se acabe ignorando lo obvio: para saber cómo romper algo, primero hay que saber cómo funciona.
Tener una base sólida sobre temas como redes (networking) y bases de datos es fundamental, ya que sin esto se complicará bastante la comprensión de incluso los ataques más básicos y el uso de herramientas tan fundamentales como SQLmap en el caso de inyecciones SQL.
Son muchos los cursos y certificaciones que hay disponibles para quienes quieren aprender, pero también son casi ilimitados los recursos gratuitos de personas que están dispuestas a compartir sus conocimientos para que otras puedan aprender y dar sus primeros pasos sin necesidad de hacer una gran inversión económica (ya que sobre todo en el caso de las certificaciones, éstas suelen ser muy caras). En lo que se refiere a los cursos, hay algunos que como guía para dar los primeros pasos pueden estar bien, pero como opinión personal, no son necesarios.
Youtube es el gran aliado de quienes quieran aprender de forma gratuita (si bien es cierto que a veces es necesario aplicar algo de “filtro” ya que de la misma manera que hay personas con muy buenos contenidos publicados, hay otras que hay que tomar con un poco más de cuidado).
De cara a detección de vulnerabilidades, es esencial conocer la metodología OWASP y saber qué es el OWASP Top 10. Otras metodologías seguidas por la industria de la ciberseguridad de cara a procesos de pentesting son MITRE ATT&CK y OSSTM. Por último, también es interesante conocer la metodología de pruebas sobre redes inalámbricas, otro trabajo también bastante solicitado en la industria; esta metodología es OWISAM (la página oficial de OWISAM era oficialmente https://www.owisam.org hasta que fue comprada y ya no es posible acceder a su contenido, aunque haciendo uso del recurso Internet Archive podemos evadir este pequeño problema aunque sea parcialmente (ya que no es posible acceder a toda la información que inicialmente estaba disponible en la web oficial)).
Para las más aficionadas a los libros, los más frecuentemente recomendados a nivel de iniciación (y que probablemente encontraréis en todos los congresos de ciberseguridad en España) son los de 0xWORD.
De cara a aprender sobre tecnología en la nube, los libros suelen ser un poco caros y realmente están basados casi en su totalidad en la documentación de los proveedores. De estos últimos tenemos tres principales actualmente: AWS, GCP y Azure. Como recomendación, es preferible echarle un ojo a la documentación del que más nos llame la atención (por ejemplo, en mi caso me especializo en AWS), y aprender cómo funcionan sus diferentes servicios (esto puede resultar abrumador al principio ya que son muchísimos, pero la clave es ir poco a poco, no es necesario pasar de 0 a 100 en cuestión de días).
Algo a tener en cuenta sobre los entornos en la nube es el coste económico que conlleva desplegar los servicios, y cuando no se tiene conocimiento porque estamos dando los primeros pasos con estas tecnologías es frecuente incurrir en gastos no intencionados que, a veces, pueden darnos un buen susto a final de mes. Una de las plataformas que más he usado para evitar estos problemas es A Cloud Guru, ya que, además de dar acceso a una gran cantidad de cursos, proporciona una sandbox (dependiendo de la suscripción) en la que se puede practicar desplegando casi la totalidad de los servicios de los proveedores cloud sin que haya que pagar nada adicional al precio de la suscripción.
Antes de hablar de lo último que veo necesario incluir en este apartado (las competiciones Capture the Flag o CTF), a continuación podréis encontrar un par de listas con wikis sobre pentesting genérico y pentesting en la nube:
Pentesting
Pentesting cloud
Capture the Flag (CTF)
Las competiciones Capture the Flag (CTF) o “Captura la bandera” consisten en un conjunto de retos de numerosas categorías como, por ejemplo:
Web
Criptografía
Cloud
Redes
Blockchain
Reversing
OSINT
El objetivo final de un CTF es conseguir la flag o bandera, que normalmente es una cadena de texto alfanumérica totalmente aleatoria que, en ocasiones, puede ser, por ejemplo, el MD5 de una palabra, y que suele seguir un formato similar a HTB{as9023mbxjmñ102’}.
Existen diferentes modalidades:
Jeopardy: es quizás la modalidad más típica, consistente en una serie de retos de diferentes categorías en las que se puede participar para resolverlos de manera individual y/o en grupo (según la competición en cuestión), y se ganan más o menos puntos según la dificultad del reto.
Ataque-defensa: en esta modalidad cada equipo tiene su propia red (o un único sistema) con servicios vulnerables. Nuestro equipo tiene cierto tiempo para solventar (parchear) esas vulnerabilidades y desarrollar exploits, ya que de lo que se trata es de arreglar los fallos en nuestra infraestructura mientras intentamos atacar la de otros equipos que también estarán intentando atacar la nuestra.
Mixto: son competiciones que pueden ser una mezcla de las dos anteriores o, por ejemplo, consistir en una serie de tareas para las que se da un tiempo determinado para poder terminarlas. Son competiciones que no tienen un formato concreto.
¿Por qué es importante al menos conocer y haber entrado alguna vez en el mundo de los CTF? Porque se trata de entornos controlados donde hay vulnerabilidades que podemos explotar libremente sin correr riesgos legales, lo cual a nivel de aprendizaje es justo lo que necesitamos. Existen CTFs que se alejan bastante de lo que un pentester se va a encontrar en su día a día y otros más realistas, pero incluso los primeros servirán para aprender muchísimo y obtener la capacidad de pensar más allá de los pasos estipulados, por ejemplo, en metodologías ampliamente conocidas como las ya mencionadas. Se podría decir que ayudan a aumentar nuestra capacidad de pensar “out of the box”.
Además, cada vez son más las empresas que durante las entrevistas de trabajo incluyen este tipo de retos para valorar el nivel técnico de la persona, dándole más o menos peso según la organización. Es frecuente que la empresa solicite un informe a la persona que aplica para el puesto de trabajo una vez finalizado los retos no solo para ver los pasos que ha seguido y si ha logrado alguno de los objetivos, sino también para analizar el nivel de redacción que se tiene, ya que a los pentesters, además de romper cosas, también nos toca la tarea un poco más tediosa de redactar de manera detallada lo que hemos detectado para facilitar al cliente la tarea de resolver los problemas detectados.
Algunas plataformas y otros recursos para practicar en entornos controlados son:
Congresos de ciberseguridad en España
Mantenerse al día
Hoy en día es imprescindible estar al tanto de las últimas novedades del sector en el que trabajamos casi en cualquier campo, no únicamente en ciberseguridad, pero quizás en dicho sector es algo más relevante que en otros casos ya que, como se suele decir, los malos siempre van diez pasos por delante de quienes tratamos de ayudar.
Esto quiere decir que constantemente salen nuevas vulnerabilidades y técnicas de ataque que debemos conocer no solo para aplicarlas en los procesos de pentesting, sino también para poder defendernos.
En lo que se refiere al uso de estas nuevas técnicas durante los pentests que llevemos a cabo, hacer un repaso diario de las noticias que van saliendo nos puede facilitar enormemente la vida ya que, por ejemplo, supongamos el caso de que estamos auditando una web que hace uso de X tecnología en concreto y justo un par de días antes ha salido un nuevo CVE para dicha tecnología que tiene asociado un exploit conocido y que, sin implicar la pérdida de servicio que proporciona la web (ya que hay exploits que pueden dañar gravemente los sistemas) nos puede llegar a permitir ganar acceso a la máquina donde está alojada la web; esto nos puede llegar a ahorrar días de trabajo y muchos dolores de cabeza.
Se debe tener en cuenta que cuando estamos trabajando, lo ideal es proporcionar un servicio óptimo al cliente, por lo que si disponemos de técnicas/herramientas que van a ayudarnos a hacer nuestro trabajo de manera más eficiente y logrando el mismo resultado que si lo hiciéramos de la forma más compleja pero más “bonita” a nivel técnico, lo más recomendable sería optar por la eficiencia y lo otro dejarlo para nuestro aprendizaje personal, al menos si vemos que coger el camino “bonito” y menos eficiente nos va a acarrear problemas de tiempo.
Dicho lo cual, a continuación encontraréis una lista de los canales de Telegram y noticias que podéis seguir:
Sobre mí
¡Hola! Soy Raquel Gálvez, actualmente pentester aunque me inicié en el mundo de la ciberseguridad de manera profesional hace seis años. Soy de esas personas que se han “reciclado” y después de trabajar durante algún tiempo en aquello para lo que estudié, decidí tomar el camino de ciber, así que os dejo por aquí toda la información que creo que os puede ser de interés para quienes queráis empezar también en esto.
No soy muy activa en redes sociales pero si queréis poneros en contacto conmigo, podéis hacerlo a través de LinkedIn.
Última actualización