Foro de elhacker.net

Seguridad Informática => Hacking => Mensaje iniciado por: Tr3ceh en 7 Septiembre 2025, 11:01 am



Título: Experiencias Pentesters
Publicado por: Tr3ceh en 7 Septiembre 2025, 11:01 am
Buenos días,
Me gustaría conocer experiencias de Pentesters, experiencias laborales, que puedan explicarme la principal diferencia entre entornos controlados o preparados tipo CTF's y entornos reales.
Soy una persona buscando trabajar activamente en este mundo, y me gustaría conocer diferentes experiencias personales y primeros pasos en este mundo.

Gracias!


Título: Re: Experiencias Pentesters
Publicado por: @XSStringManolo en 7 Septiembre 2025, 13:09 pm
Algunas de mis experiencias y como empecé:

Cuando tenía 12 o 13 años, mi madre me compró un portatil/laptop como sorpresa, creo que por un cumpleaños, mas o menos por el año 2007. Mi madre no sabía ni lo que era un PC, asique no tenía internet, ni pendrive, ni nada, por lo que era un Windows Vista con el que no podía hacer casi nada. Me aburría asique me fuí a un cibercafé con un mp4 y pensé en que programas y "cosas" podía descargar para poder hacer "algo" con el portátil.

Una de las primeras cosas que me descargué fue el Dreamweaver, y varios tutoriales sobre desarrolo web y html, para aprender a hacer páginas web.El Dreamweaver era un programa que te salía una lista de elementos web que podías arrastrar a la pantalla. Por ejemplo arrastrabas los formularios a la pantalla y te generaba el código sin programar nada.

Tenía curiosidad por entender como funcionaba por detrás todo. Asique al cabo de un tiempo di con este foro y con su Warzone. En la warzone había ejercicios (hoy conocidos como CTF) en los que se incluían por ejemplo, modificar cabeceras http con la extensión para navegador http headers.

Este descubrimiento del protocolo http y otros temas del foro me llevó a instalar un Ubuntu Server con LAMP en el portátil. También a aprender C++, PHP y JS. Y a buscar por Google otros proyectos similares a la Warzone, como hackthissite.org, google-gruyere.appspot.com, etc.

En el momento que me centré en JS, tras 2 años aprendiendo C++, aprendí a explotar XSS y las vulnerabilidades clásicas como SQLi, csrf, etc.

De ahí vino mi primer "hackeo" real. Leyendo blogs aprendí lo que eran Dorks (búsquedas en google avanzadas para encontrar páginas que comunmente suelen tener tecnologías vulnerables. Por ejemplo: "intranet inurl:login ext:aspx" y empecé a probar la "cadena mágica" de sqli en distintos portales. Adentrándome en servidores de todo tipo, subiéndoles ncat usando los propios paneles (estilo cpane y webminl) de control de las páginas y servidores, evadiendo distintos AV para colar los ncat y shells reversas, etc.

Al principio explotaba todo lo que veía. Nunca causaba daños y muchas veces ni reportaba los fallos, simplemente exploraba un poco y si me apetecía les metía el fix y me salía, o simplemente me iba sin mas tras explorar un poco y descargarme algún programa que tenía el servidor.

Mas adelante empecé a buscar fallos de seguridad en servicios que utilizaba todos los días. Por ejemplo en elhacker.net reporté algún fallo de seguridad (como extraer los token csrf de los usuarios, hacer DOS a posts o inyecciones html en uno de los componentes), en https://www.w3schools.com/ encontré varios XSS y csfr. ETC. https://bugwriteups.netlify.app/#writeups/xss Aquí tienes el blog que hice hace tiempo sobre algunas vulns.

Después empecé a investigar fallos de seguridad mucho mas avanzados o nicho que muchos no conocerán, como puedan ser HTML dangling, DOM clobbering, etc. Y empecé a trabajar en grupos con otros hackers. Al principio haciendo exploits webs y escalando vulnerabilidades para compañeros que trabajan en consultoras y/o bug hunting. También empecé a desarrollar mis propias herramientas de ciberseguridad y a buscar bugs por mi cuenta en todo tipo de software. Desde entonces encontré muchos fallos de seguridad en servicios y tecnologías de todo tipo. Sin dar muchos detalles; cámaras web, motores de búsqueda, intranets, sistemas Android, etc.

Me salto muchas cosas por el camino, ofertas laborales y demás, pero no quiero extenderme mucho más.

La principal diferencia entre entornos controlados tipo CTF y reales es el realismo. Por desgracia el 99% de los CTF si bien contienen fallos de seguridad reales, no suelen imitar muy bien los entornos. Hay CTF que son muy buenos para aprender. Estos básicamente son vulnerabilidades muy simplificadas en entornos diseñados para dicha vulnerabilidad. Es decir, su objetivo es única y exclusivamente enseñarte dicha vulnerabilidad, y para ello imitan un entorno real como paete del escenario para que entiendas en que tipo de software sulen encontrarse dichas vulnerabilidades en entornos reales.
  El otro tipo de CTF son mas bien puzzles o desafios. No soy muy fan de estos porque son muy poco realistas e incluyen entornos con un montón de inconvenientes artificiales que en raro caso se asemejan a defensas reales. Es como querer aprender matemáticas haciendo Sudokus (mucha gente estará en desacuerdo conmigo aquí). A veces la dificultad de estos es mas que encontrar fallos de seguridad complejos en entornos reales, y no por complejidad de la arquitectura, si no por ser entornos artificiales que reflejan el caos mental de los creadores. Los fallos de seguridad normalmente son simples. Lo que los hace complejos es como estos interactuan con otras tecnologías en la infrastructura del target. Entonces, en vez de perder el tiempo con CTF random (a menos que sean un sitio con CTFs sencillos y concretos que traten de enseñar y no retar), es mejor directamente ir a escenarios reales.

TLDR: Céntrate en aprender las tecnologías que hacen funcionar todo. Cuando las entiendas, busca que fallos de seguridad tienen dichas tecnologías en concreto. Céntrate en estudiar la vulnerabilidad X con la máxima profundidad que puedas hasta el punto en que puedas abrir un editor de código y hacer un scanner para dicha vulnerabilidad de memoria sin consultar recursos externos.
  Una vez en este punto puedes investigar herramientas de seguridad que hacen exactamente eso y utilizarlas para buscar el fallo en servicios reales. Incluso podrás extender dicha herramienta, ya que tu conoces el fallo al milímetro y simplemente con leer el código de la herramienta te vendrá a la cabeza: "Olle, pero este scanner que estoy usando no detecta DOM XSS en urls que utilizan window.location.hash en lugar de window.location", o lo que sea.






 



Título: Re: Experiencias Pentesters
Publicado por: Tr3ceh en 7 Septiembre 2025, 15:27 pm
Gracias por responder! La verdad que uno de los miedos que tengo al empezar en entornos reales es llegar a causar algunos problemas en los servicios activos de la empresa, al final, en un entorno CTF o controlado, el caso de llegar a realizar una caída de algún servicio, no trae grandes consecuencias.

Por estos motivos, me veo muy capaz de resolver CTF's, pero tengo cierta inseguridad hasta que no empiece a trabajar en entornos reales.


Título: Re: Experiencias Pentesters
Publicado por: @XSStringManolo en 8 Septiembre 2025, 07:17 am
Gracias por responder! La verdad que uno de los miedos que tengo al empezar en entornos reales es llegar a causar algunos problemas en los servicios activos de la empresa, al final, en un entorno CTF o controlado, el caso de llegar a realizar una caída de algún servicio, no trae grandes consecuencias.

Por estos motivos, me veo muy capaz de resolver CTF's, pero tengo cierta inseguridad hasta que no empiece a trabajar en entornos reales.
Si no usas herramientas sin saber lo que hacen y entiendes las tecnologías y el tipo de payloads, es miedo injustificado.

Antes de atacar escenarios reales, investiga en local.


Título: Re: Experiencias Pentesters
Publicado por: j4np0l en 4 Noviembre 2025, 05:11 am
Como dijo XSSManolo, la clave es en entender lo que estas haciendo (en lugar de correr un monton de tools y esperar a que las coasas salgan bien). Si entendes para que vas a ponder cierto payload, y lo que deberia hacer, no deberias tener miedo. Ahora, tambien cuando trabajas profesionalmente como pentester siempre vas a firmar reglas de engagement con un cliente antes de realizar cualquier prueba. De esto generalmente se deberia encarar tu Manager o la persona para la que estes trabajando si estas en una empresa seria, y normalmente incluyen:

  • Entendimiento de la aplicacion, como se usa, que tiene de valioso (y como se puede abusar), como se accede, que tipos de datos podes usar para testing, etc
  • Entorno (e.g. si va a ser Produccion u otro ambiente). Si es una aplicacion muy critica, lo mejor puede ser hacer un test en un entorno que no sea produccion. El ejemplo que me paso mas reciente fue en una app que usaba una empresa de telecomunicacion para manejar licencias de un software para grandes clientes. Un problema con ese software podia resultar en millones en perdidas, asi que mejor dejarlo para el entorno de testing (otra cosa que vale la pena mencionar es que hay veces que uno esta haciendo pentest, y la aplicacion tiene un problema NO relacionado a lo que estas haciendo, pero igual la culpa 100% te la van a tirar a vos a menos que puedas demonstrar lo contrario)
  • Limite de responsabilidad (en esencia, que si pasa algo malo, el cliente se hace responsable)
  • Limite en el tipo de pruebas (e.g. no vas a hacer ningun tipo de prueba de DoS, ingenieria social, etc)

En resumen, la empresa para la que estes trabajando deberia tener un monton de precauciones para manejar el riesgo del testing.

Segui metiendole pata a los CTF, certs y lo que sea que te pueda ayudar a conseguir tu primer trabajo como pentester jr, y de ahi vas a ir aprendiendo.