Fundamentos del Pentesting
Para hablar sobre los fundamentos del pentesting, primero debemos saber qué es. La abreviatura refiere a “Penetration” “testing”, es decir, aquella práctica realizada por un professional en el ámbito de ciberseguridad. Su trabajo consiste en buscar fallos de seguridad en los sistemas informáticos, a los cuales se le ha otorgado permisos de forma ética y/o legal, y así poder “vulnerar” tecnologías, programas, redes, etc..
Esto puede sonar sencillo y simple ¿verdad? Sin embargo, hay varias cosas que debemos tener en cuenta en los fundamentos del pentesting. En este apartado estaremos viendo la ética, como así también las metodologías y prácticas llevadas a cabo, por el que debe guiarse todo profesional de en ciberseguridad.
Table of Contents
Toggle¿Qué es un “Hacker”?
Muchas veces hemos escuchado la palabra “Hacker” como sinónimo de “delincuente” o “pirata informático”. Sin embargo, esto no es así. Si buscamos el significado veremos que encontramos varias descripciones. No obstante, todo se resume a “Persona con curiosidad en la tecnología, cuya actividad consiste en investigar, analizar y comprender el funcionamiento de un sistema”.
A veces, muchos casos de ciberdelincuentes se vuelven mediáticos y se empieza a asociar algunos términos a ciertas acciones. Por ejemplo, escuchamos en las noticias “Un hacker a robado esto..”, “Un grupo de hackers son buscados por la policia por ciertos delitos..”. Por razones como éstas, es que varias veces se usa el término Ethical hacker. No ocurre lo mismo cuando profesionales de otras áreas (ingenieros, políticos, arquitectos, obreros, etc.) cometen un delito. ¿Ha escuchado alguna vez el término «Ethical Politic»? Claro que no! Pero eso lo dejamos para otro debate.. Lo importante es que entendamos el trabajo de un Hacker.
Por lo tanto, podemos definir al Hacker como el profesional en tecnologías de la información y el pentesting, a la acción llevada a cabo por dicho profesional (ya que no todos se dedican a la seguridad ofensiva).
Terminologías a tener en cuenta
Dentro de los fundamentos del pentesting se suelen usar distintas terminologías. Veamos esto a continuación:
Whitehat: También conocidos como Hackers de sombrero blanco. Se los llama así a los profesionales que llevan a cabo sus conocimientos dentro del marco legal y ético. Por ejemplo, en las pruebas de Bug Bounty.
Greyhat: Se los conoce como Hackers de sombrero gris debido a que no están ni de un lado ni del otro. Existen muchas teorías o explicaciones en cuanto a su descripción, Sin embargo, podemos decir simplemente que son aquellas personas que no realizan ciberdelitos pero que, de ser necesario (por idelogías políticas, religiosas, personlaes, etc), pondrán sus conocimientos fuera de la ley. Un ejemplo de esto puede ser el hacktivisto de muchos grupos de hacker, como es Anonymus.
Blackhat: Se los llama de esta manera a todo delincuente o criminal que use sus conocimientos en tecnologías de la información para generar algún daño, robo o violación de privacidad hacia una entidad o persona física.
Ética de trabajo y Marco Legal
Cuando hablamos de ética nos referimos al debate entre el bien y el mal. Dentro del ámbito juridiccional debemos tener en cuenta que cada país tiene su propias leyes, aún en el cibercrimen. Uno de los fundamentos del pentesting es el límite que existe para los hacker que quieran realizar auditorías en una empresa u organismo. Dichas conductas son atípicas, es decir, que no merecen pena judicial por no darse que el acceso sea indebido o sin autorización.
Para realizar un testeo de forma profesional se debe hacer mediante un contrato para que no haya excesos en la conducta. Recordemos que el tipo penal suele decir “Sin autorización o excediendo la que posea”.
Acciones a tener en cuenta
1) Partes: Tanto cliente como proveedor realizan la firma.
2) Objeto: Se debe especificar con clarida qué se pretende hacer en cuanto a objetivo final. Por ejemplo: “Se intentará identificar los fallos de seguridad y errores de configuración del software en uno o más sistemas informáticos operados por el cliente”
3) Manera descriptiva de la tarea a relizar: Documentar la forma, con qué herramientas y en que contexto de configuración se realizará la práctica. Qué herraminetas se planean usar, y que limítes poseen. También,
4) Derechos y deberes de las partes: Quien realiza la prueba será el proveedor. Quien recibe, el cliente.
Organización:
Parte | Derechos | Deberes |
Cliente | Exigir que en el contrato se especifiquen ciertos límites a las actuaciones. | Demostrar que es dueño de los sistemas donde posee poder de decisión para autorizar la prueba. |
Cliente | Decidir y establecer niveles de Disclosure para los resultados hallados. | Brindar toda la información según el tipo de testing (white hat, grey hat, black hat). |
Proveedor | Exigir información según el tipo de testing. | Cumplir debidamente la confidencialidad y los acuerdos de Disclosure de los hallazgos. |
Proveedor | Limitar su responsabilidad por causas ajenas o por FALLAS NO DESCUBIERTAS si actuó deligentemente. | Conciliar la responsabilidad con el cliente y utilizar toda la diligencia de buen profesional. |
5) Actuación del cliente frente a descubrimientos por parte de Firewalls o IDS o similar: ¿La empresa debe avisar al proveedor? ¿No debe avisar para que sea lo más real posible? Se debe Consensuar.
6) Protección de datos personales: Establecer qué hacer frente a datos personales protegidos (En el caso de Argentina se rige bajo la ley 25326).
7) Planes: Teniendo en cuenta los puntos anteriores: Se debe dejar por escrito TODOS los places de trabajos, etapas de realización y formas de implementación.
8) Autorizaciones como Anexos: Una vez hecho el contrato, se deben realizar autorizaciones con membretes de la empresa (Cliente) y un resumen de las tareas autorizadas, para que el proveedor y su personal pueda realizar la prueba y así exhibirla en caso de ser necesario.
Podemos encontrar información detallada sobre esta Instrumentación y Marco legal a través del ROE (Rules of Engagement Worksheet), cuyo documento es generado en las etapas iniciales de un acuerdo de pruebas de pentesting.
Metodologías del Pentesting
Las metodologías llevadas a cabo por el profesional hacen referencia a una serie de pasos que suelen utilizar los Hackers para hacer uso de inteligencia y reconocimiento sobre su objetivo, y así, en base a distintas tácticas y herramientas, obtener acceso al mismo.
Cabe mencionar que no todas las metodologías son iguales, ya que no siempre los tratos firmados son los mismos por proveedor y cliente. Sin embargo, podemos ver un ejemplo de estas fases dentro del nivel avanzado y resumirlo de la siguiente manera:
Fases
1- Recopilación de Información:
El hacker intentará obtener la mayor cantidad de información sobre su objetivo, también llamado OSINT (Open Source INTelligence). Esto lo hace a través de diferentes técnicas, como puede puede ser las páginas de ”Whois”, Google dorks, extenciones como Wappalizer, Redes sociales etc.. Todos estos datos son recopilados por fuente públicas. Por lo tanto, no existe delito alguno
2- Escaneo:
En esta etapa se realiza una enumeración de los servicios activos, como así también los puertos, versiones, sistemas operativos, etc..
No es delito si se mantiene en ese marco. Una analogía de esto, puede ser abrir la manija de una puerta y comprobar que está sin llave. La puerta tiene esa vulnerabilidad, está sin llave. No hay un ingreso al sistema ni tampoco un daño. No obstante, por más que “la puerta no haya sido abierto” pueden existir algunas particularidades. Depende el escáner de vulnerabilidades, si accede, no accede, daña, no daña, etc.
3- Obtener acceso:
En esta etapa se explotan las vulnerabilidades o fallos de seguridad descubiertas a través de diversas maneras. Se pueden usar scripts o programas de fuentes públicas.
4- Escalar privilegios:
Lo que se intenta hacer aquí, una vez hayamos ingresado al sistema, es “escalar” tanto de forma horizontal, es decir, acceder a otra cuenta dentro del mismo grupo de permisos. Y escalar de forma vertical, donde se buscará intentar ganar acceso como usuario administrador (con privilegios elevados).
5- Post-Explotación:
Podemos dividir esta parte en varias etapas:
a) Realizar Pivoting (apuntar hacia otros host o máquinas)
b) Generar Persistencia: Tratar de recopilar información adicional debido a privilegios elevados que tenemos como usuario administrador.
c) Limpieza: Se intenta cubrir nuestras huellas. Unas de estas tácticas es eliminar/modificar los archivos de logs del sistema.
d) Realizar el informe.