Pentesting, el lado romántico de la Ciberseguridad

En toda Auditoría de Ciberseguridad, hay una labor que solo puede realizarla un verdadero experto en el arte de la intrusión, con conocimientos profundos de las vulnerabilidades que pueden presentar los equipos conectados a un red y, en algunos casos, en las propias personas que la utilizan. Esta tarea no es apta para los no iniciados, siendo únicamente un determinado perfil, llamado desde hace poco tiempo “Pentester”; pero, para los que llevamos ya unas decenas de años en esto, la terminología real corresponde al sustantivo de «Hacker», siendo el experto tecnológico por excelencia.

Para este artículo, le he pedido a un fuera de serie en este tema, si quería colaborar en él con una «batallita», a lo cual respondió afirmativamente. Para mí, es de los más entendidos en este campo, de hecho es CISO (Chief Information Security Officer, Oficial Principal de Seguridad de la Información), y como ya podéis suponer, le ha ocurrido de todo.

Hollywood ya se ha encargado de proporcionarnos el aspecto romántico, pero la vida de los Hackers no es ni de color de rosa, ni fácil: dominar toda la tecnología, la destreza y el conocimiento que es imprescindible para hacer correctamente esta labor se ha llevado muchísimas horas, porque, si bien algunas técnicas han sido asimiladas rápidamente, otras sólo es posible alcanzarlas con la experiencia y el padecimiento de muchas noches frente al ordenador, comprobando, testeando, «atacando» e, incluso, defendiendo máquinas propias y ajenas.

Un Pentesting o, traducido al español, Test de Penetración es, para quien lo desconozca, un proceso mediante el cual se comprueban todas las vías de entrada de un sistema (empresa, organización, vivienda, instalación…) y es muy raro que todas estén cubiertas. Los “Pentester” son profesionales que saben encontrar las vulnerabilidades y agujeros de seguridad y sí, son Hackers (este es el lado romántico). En el aspecto económico, en EEUU se pagan auténticas burradas, pero es que para realizarlo debes llevar muchos años en esto, no es un protocolo que puedas llevar anotado en una servilleta. Incluso los más avezados en estas lides no lo llevan en la cabeza, son multitud de parámetros los que hay que analizar, que comprobar, y sin tener tu propia guía, te puedes saltar algún paso importante y dejarte agujeros atrás. Puedes tenerlo parametrizado, pero al final lo que cuentan son las manos y el cerebro de quien lo realiza. Y ahora les han puesto nombres chulos como Black Box, White Box, Grey Box….

 ¿Qué se hace en un Pentesting?

Lo primero, es establecer un marco legal, necesario y suficiente para que la persona encargada de ejecutarlo, esté salvaguardada de problemas legales inherentes a dicha actuación.

El segundo punto, es establecer el límite del trabajo a realizar. Cuando se trata de una Auditoría, la misión es detectar todas las vulnerabilidades, pero en ningún momento, subsanarlas (salvo en caso de peligro inminente, que a veces ocurre). Hay que ser inflexible en este aspecto, porque no es lo mismo llegar a una instalación y comprobar 10 equipos que 500, entendiendo por equipo todo dispositivo conectado o conectable, y en infinidad de ocasiones se olvidan mencionar cierto número de ellos que son los causantes de las mayores vulnerabilidades. En esta segunda parte hay una obligatoriedad de visitar las instalaciones donde se ha de trabajar, porque en la gran mayoría de las ocasiones, ni siquiera quien solicita la Auditoría conoce el alcance de la misma.

Sin estos dos primeros puntos, no se puede realizar ningún Pentesting, porque podría clasificarse como un ataque de hacking y nos podría pasar como el ciberataque que neutralizó el estado de Israel cuando geolocalizó una ciberofensiva de Hamás. (https://amp.thehackernews.com/thn/2019/05/israel-hamas-hacker-airstrikes.html?__twitter_impression=true)

Las técnicas a emplear dependen del trabajo mismo pero, como reza un dicho popular: “cada maestrillo tiene su librillo”, y el mío es muy peculiar, porque está claramente influenciado por mi trayectoria y las vicisitudes que he tenido que afrontar a lo largo de mi carrera profesional (recordad que soy Ingeniero Eléctrico, y de campos magnéticos, electromagnéticos y sus derivados entiendo tanto como de programación: hay vulnerabilidades muy curiosas que se producen en unas determinadas circunstancias, pero por su importancia es tema de otro artículo).

Utilidades para Pentesting hay miles, recopiladas periódicamente y compartidas  a través de Internet en distribuciones cada vez más completas y complejas… Y cada experto que se dedica a esta apasionante ciencia tiene las suyas propias, con una metodología también propia y depurada con el paso del tiempo. Tampoco es finalidad de este artículo detallar cada una de ellas, porque entonces gran parte de las personas que lo leéis os aburriréis en un par de párrafos, por lo que creo que es más interesante, pasar a un punto que ya es característico en todas mis creaciones literarias: las experiencias de campo.

Lo que sí suelo recomendar, a todo aquel que me pregunta por las herramientas que empleo, que no se quede en un pack de utilidades, sino que exprima al máximo cada una de ellas para, en caso de actualización y que te dejen totalmente «fuera de juego», tengas las tuyas propias siempre a mano. Es más, si las puedes potenciar mediante programación externa, puedes ganar muchísimo tiempo, o si tienes acceso al código fuente, puedes tunearlas a tu gusto (la mayoría de ellas, bajo Linux, se suele compartir la aplicación con el mismo).

Anécdota del gran Israel Nadal, @perito_inf

Hace un tiempo me llamaron para hacer una auditoria interna a una gran compañía, querían saber (porque ya había tenido incidentes), si algún trabajador sin privilegios podría tener acceso a datos confidenciales de ella.

El encargado de informática me había creado un acceso a un pc, en el que yo se supone debería de trabajar, como un empleado más.

El primer error cometido, es no darme a firmar las normas sobre el uso de internet y el correo electrónico. ¿Por qué? Pues porque, aunque me dedico al Pentesting y voy a lo técnico, también soy auditor de la ISO27001 y Delegado de Protección de Datos. Y en estas cosas me fijo, porque no puedes exigir a un trabajador algo que no ha firmado.

Al arrancar el ordenador la BIOS no estaba protegida, por lo que tendría fiesta en la red local, aunque no soy muy de Windows, tuve que usar el propio Windows para hacer la auditoria ya que aquí un Linux, habría despertado sospechas entre mis compañeros.

No voy a contar exactamente como lo hice porque no quiero dar ideas, para hacer el mal, pero en 5 min. tenía acceso administrador al equipo, y ya podía trastear dentro de la red interna, para la enumeración de servicios.

Tras un rato con un MITM (“Man in the Middle”) en la red local, empezaron a aparecer las preciadas contraseñas de conexiones FTP (“File Transfer Protocol – Protocolo de Transmisión de Archivos). Sí, FTP; era una empresa de desarrollo de software, pero usaba conexiones FTP para subir sus archivos. Por lo que con la red Tor (por no usar mi propia ip), hice la conexión con sus propios servidores, y subí una Shell en php (ofuscada eso sí), que me daba acceso al servidor.

Que he querido decir con esto, pues que la compañía, aparentaba estar protegida, pero si usáis protocolos inseguros. Un simple acceso FTP provoca que te cacen en una de tus comunicaciones, dejas la puerta abierta a la entrada de personal no autorizado. He puesto este ejemplo porque, no usé grandes conocimientos técnicos, para conseguir mi objetivo. En esta auditoría, no use Metasploit, ni Cobalt, ni herramientas diseñadas para esto.

He llegado a hacer auditorias que, con un simple mail, he podido tener acceso a toda la empresa, y el problema como casi siempre es la poca concienciación de seguridad informática que tenemos, y pensar que un simple mail no puede llegar a causarnos tanto daño.

Mis «batallitas»

No puedo recordar cuándo comencé en el mundo del hacking, creo que es la evolución propia de un programador multilenguaje, no porque se quede sin saber qué programar, sino cómo llegar a hacer algunas cosas que automatizarían muchas tareas. El caso más lejano que recuerdo fue el de entrar a un ordenador, dentro de mi misma red local, que tenía el disco duro compartido con una contraseña de escritura distinta a la de lectura, el usuario de invitado activado (todo esto bajo Windows 98 SE) con una contraseña propia y un joven ingeniero que, probando formas de conectarte a ese equipo sin usar entorno gráfico, hacer una aplicación que todos los días copiaba el contenido modificado de ese equipo. Esto era el año 2002.

No mucho tiempo después, fui informático de congresos (freelance), con lo que he visto casi todas las provincias de España, proyectando ponencias de cursos, congresos, asambleas y todo tipo de eventos. Una empresa me enviaba allí donde me querían, con la certeza que no sólo lo haría bien, sino que los clientes estarían encantados con la forma de trabajar que demuestro. En esos ciento y pico de viajes (14 años de eventos), me alojé en decenas de hoteles, de todas las cadenas posibles, y casi en su totalidad me veía “obligado” a comprobarles las redes (es como visitar los lugares más representativos de cada ciudad, jaja, o como la atracción irresistible de una abeja hacia el polen de las flores): cierto que he paseado por todas las ciudades en las que he estado: León, Toledo, Madrid, Barcelona, Burgos, Gerona, Santander, Sevilla, Granada… No podría enumerarlas todas, es imposible, pero al igual que  casi de todas me traje instantáneas en mi cámara de fotos de los lugares más identificativos de las provincias, en los ratos que pasaba en mi habitación, testeé y aprendí los entresijos de las conexiones cibernéticas (soy alma nocturna desde siempre). Comprobé que muchas personas van por ahí con la carpeta de “Mis Documentos” compartida sin clave, otros el disco duro completo, otros con el Bluetooth conectado en el móvil o tablet y que permiten conectarse a él de cualquier forma…

Cuando viajaba, no podía llevarme todo mi equipo (la maleta con los equipos de proyección pesaba 70 kg; sólo quedaba espacio para mi ropa interior, 3 camisetas, el cepillo de dientes y mi portátil), por lo que aprendí a husmear empleando Windows, y más con mis propias aplicaciones, que me medían los tiempos de respuesta de cada dispositivo (la distancia entre ellos y yo, medida en milisegundos). Me movía por los pasillos de los alojamientos, ejecutando comparativas de los tiempos obtenidos, comprobaba los repetidores y los routers, la mayoría de los cuales tenían la contraseña genérica. En ningún caso lo utilicé para beneficio propio, sino que era puro afán de conocimiento. Las conclusiones que saqué fue que la mayoría de los hoteles tenían grandes deficiencias en cuanto a la Ciberseguridad en sus redes, tanto inalámbricas como por cable: muchos utilizaban la misma contraseña a lo largo del tiempo (comprobado en persona, periódicamente volvía a los mismos alojamientos por el buen servicio que me habían proporcionado en los eventos), otros tenían discos duros compartidos sin contraseña dentro de la propia red, accesible desde la wifi, por no hablar de las que estaban completamente abiertas y capturando paquetes podías descubrir el nombre de usuario y las claves para entrar en ellas…

En los trabajos más recientes que he podido realizar, me he encontrado redes inalámbricas ocultas en lugares donde no deberían existir, equipos con software que permite realizar conexiones remotas no autorizadas (y sin permiso del trabajador que lo utiliza diariamente), software no legal cuyos parches transmiten información al propio creador del mismo; también he visto, por surrealista que parezca, contraseñas de inicio de sesión anotadas en impresoras, en la parte posterior y frontal de la pantalla, en fundas de los móviles… Desde luego, ingeniosos somos con tal de no tener que recordar una clave complicada. Pero también he vivido, mientras realizaba auditorías, ataques en tiempo real – recuerdo una ocasión en la que, la persona que me acompañaba de la empresa, me dijo: “Ale, te has puesto blanco” (y tanto, se me cortó la digestión al ver, con mis propios ojos, el WannaCry cifrando el disco duro entero, que gracias a que conocía la actuación de un famoso hacker español, opté por su misma solución, aunque al final se tuvo que formatear el equipo) –… Otras muchas experiencias no las puedo contar, están protegidas por un grado de confidencialidad adicional, pero pocas cosas ocurren para lo que podría suceder.

En el curso 2018-2019 me surgió la ocasión de ofrecer, de forma única e irrepetible, a los chavales de un Instituto de Formación Profesional de un pueblo cercano a la ciudad en la que se encuentra mi corazón, en los estudios de medio grado y grado de informática, de unas prácticas que les harían ver la realidad de la tecnología existente. Las llamé “Ejercicio de Ciberdefensa y Ciberataque”, aunque luego lo renombré como “Ejercicio de Ciberataque” porque, en uno de los equipos que traía, el mero hecho de intentar escanearlo, bloqueaba cualquier IP ofensiva. Los chavales se lo pasaron en grande, recuerdo además que, como a una de las clases les coincidía con el descanso del recreo, les dije antes de comenzar que si querían parar para el desayuno, podían hacerlo. Cuando llegó ese momento, no se movió una alma. Los estudiantes pudieron comprobar qué ocurre cuando un equipo es hackeable mediante «Ethernal Blue», por ejemplo. Fue una experiencia increíble, ojalá la pueda repetir mil veces más.

Dentro de las cosas surrealistas que tiene mi profesión, la que destaca ante todas son esas ocasiones en las que presento mi currículum para trabajar– por cuenta ajena – como Pentester en alguna empresa de mi sector. Sé que en muchas ocasiones dicen que ser emprendedor es lo mejor que hay pero, analizando fríamente la validez de esa afirmación, a veces deja mucho que desear, especialmente a la hora de conciliar la vida familiar. Os traigo 3 batallitas más, relacionadas con estas entrevistas, para que os hagáis una idea de cómo está el panorama laboral ante este puesto de trabajo.

En la primera empresa que me refiero, el entrevistador quiso conocer todos mis métodos. Hay cosas que no se pueden poner en el currículum (5 años en un grupo de hacking multidisciplinar, bordeando la ley…), pero es que además, se interesó por mi faceta forense y conocimientos de ingeniería inversa. Quería conocer, me decía, cómo, cuándo, dónde… A estas alturas de mi vida, detectas fácilmente cuando se pregunta sin conocimiento. Y aunque saqué mi faceta de profesor, explicándole en qué consistían las técnicas, no consiguió enterarse. Incluso me puso la mirada típica de aquel que le suena a chino cuando le indiqué que compilaba el núcleo de Linux para optimizar las distribuciones de seguridad en mis máquinas, y terció a ignorante cuando le mencioné que me gustaba crear mis propias herramientas, tanto en Python como en C (y lo que es peor: ¡¡¡es que me divierte programar!!!).

La segunda empresa, el entrevistador sabía de lo que hablaba, pero yo ya iba quemado de la anterior experiencia y preferí ser humilde e ignorante. Craso error. Descubrí que a los métodos que conozco les han cambiado el nombre por otros más acordes a los nuevos tiempos, menos invasivos gramaticalmente, y cuando llegamos a la valoración del puesto de trabajo no hubo consenso en ello: un empleo de estas características requiere formación multidisciplinar, conocimientos avanzados en infinidad de campos y técnicas y, como tal, no puede quedar por debajo del salario de un ingeniero, como poco (que también lo soy… Y más cuando combinando el conocimiento sobre electromagnetismo, puedes crear vulnerabilidades inexistentes en condiciones normales). La dura realidad es que en este perfil no existe ser Junior: o eres Senior o no eres Pentester.

En una de las últimas, me encontré frente a un grupo de candidatos, que me miraron con cara de pocos amigos. Llevaba mis «herramientas habituales» (quiso Dios que coincidiera que, después de ella, fuera a testear unos apartamentos en la Costa del Sol), y aunque había dejado en el coche lo más “aparatoso”, llevaba el portátil «cargado hasta los topes». Me sorprendió que no nos comunicasen que íbamos a hacer un CTF, (“Capture The Flag”, traducido es “Atrapa la bandera”:  es resolver un reto de Ciberseguridad). Suelen ser divertidos, pero claro, así un poco a traición, mosquea, porque me recuerda a los exámenes sorpresa que he padecido durante toda mi vida. Algunos de los asistentes no llevaban nada, nos quedamos 4 en la sala.

Cuando saqué el portátil, lo que más destacó fue la pantalla “antimirones” (es un protector de pantalla que evita que nadie pueda ver lo que tú ves, has de estar justo en frente, su nombre comercial es «Pantalla de Privacidad»), y me sugirieron que se la quitase (¿?). Después de exponer el reto, les pregunté sobre las consecuencias legales sobre el mismo, y la respuesta no me satisfizo lo más mínimo. Realicé un par de comprobaciones, el entorno tenía más agujeros que un queso de Gruyère, y me recordó a mi época de los hoteles… Equipos con Windows 7, otros con Windows 10, dos Linux, varias Raspberrys Pi (con nombre de usuario y clave genéricas), 3 repetidores TP-Link (si vendes este tipo de aparatos, conoces su contraseña de configuración, y no la habían cambiado siquiera), router de fibra… Cuando me volvieron a insistir sobre quitar la pantalla antimirones, miré el reloj y pensé que ya estaba bien de hacer el indio. Me pregunté cómo les había llegado mi currículum, y qué hacía yo allí… Recogí mis cosas y me fui. Ya había pasado por una experiencia similar, y la verdad, no fue ni grata, ni divertida y ni siquiera compensó económicamente.

Por supuesto, no lo sé todo… En C1b3rwall aprendí muchísimo de los grandes maestros allí convocados, y no hay evento en el que no aprenda de todos los que, pasando desapercibidos, ponen su conocimiento a disposición de todos aquellos que quieren aprender (sudando bytes, por supuesto).

Ciertamente, en España el trabajo del Pentester está infravalorado, como el resto de las especializaciones de la Ciberseguridad. Y forma parte del conjunto de profesionales imprescindibles para proteger, defender y atacar – en caso necesario – las intrusiones en infraestructuras críticas que puedan ocurrir en nuestro entorno.

Casi para terminar….

Y aún sabiendo que el artículo es largo (tanto como la experiencia), os cuento un detalle que no existía en mis inicios: ahora hay tanto campo de ciberespacio que se agrupan en equipos, es raro ver «lobos solitarios» a gran escala. Estos son:

Red Team: son grupos de Hackers que realizan ataques controlados a objetivos previamente definidos. Se emplean para comprobar que las infraestructuras están realmente bien aseguradas. Son muy “divertidos”.

Blue Team: son los grupos internos de Hackers en las infraestructuras, que se dedican a repeler todos los ataques provenientes del exterior (o el interior, depende la casuística). Tarde o temprano terminas cansándote de tanto defender.

Purple Team: son grupos que maximizan a los Red y a los Blue Teams, podrían actuar como Red para enseñar a un Blue. También elevan el grado de diversión.

En cuanto a la forma de ejecutar los procedimientos, alguien ha decidido agruparlos en 3 categorías:

White Box: Es realizar la auditoría desde el interior de la empresa, con conocimiento de todos los dispositivos integrantes de ella. No necesita rastrear, se le proporciona toda la información y, si bien puede ser el más completo, está exento de diversión alguna.

Black Box: En este vas a oscuras, desconoces toda la información y te empleas a fondo para conseguirla, de las formas más peregrina que se te ocurra (yo he llegado a encontrar info en el cubo de la basura, pero estos son casos extremos – normalmente por falta de cordura, jaja – ). Como podéis imaginar, es el procedimiento más divertido (pero siempre recordad la protección legal, por favor). Es lo más semejante a una intrusión real.

Grey Box: Una mezcla de los dos anteriores. Teniendo los datos puedes someterlos a las peores condiciones (sin mancharte la ropa de plátano, por ejemplo).

Lo dejo aquí…. Me he pasado de largo. Pero creo que ha sido interesante, ¿no?

Ya sabéis que si tenéis dudas o queréis quitarme de autónomo, mi ID de Twitter y de Telegram es @Kirzahk.

Muchísimas gracias por leerme.