# Pruebas de penetración

> Contratar a alguien para que entre a tus sistemas, con permiso, antes que un delincuente.

- Nivel: Intermedio
- Temas: Seguridad
- URL: https://tidbit.legios.com.ar/es/penetration-testing/
- En inglés: [Penetration testing](https://tidbit.legios.com.ar/penetration-testing/)

Las **pruebas de penetración**, o **pentesting**, son un ataque simulado y autorizado contra los sistemas de una organización. Una empresa contrata especialistas en seguridad, acuerda por escrito qué pueden tocar y cuándo, y los deja intentar entrar como lo haría un atacante real: por el sitio web, por el Wi-Fi de la oficina, por un servidor olvidado o con una llamada convincente a la mesa de ayuda. Al final entregan un informe: a qué llegaron, cómo, qué tan grave es y cómo arreglarlo.

La idea es encontrar los huecos que los checklists no ven. Un escáner automático puede listar software con una vulnerabilidad conocida; una persona que hace el test se da cuenta de que un bug menor en la página de login, sumado a una contraseña reutilizada y un permiso demasiado amplio, termina en acceso total a los datos de los clientes. Esa cadena de problemas chicos es, en general, cómo ocurren las filtraciones reales.

Lo que separa un pentest de un ataque es el consentimiento y las reglas. El **alcance** dice qué sistemas entran y cuáles quedan afuera, las **reglas de enfrentamiento** dicen qué no está permitido (nada de borrar datos, nada de probar durante la liquidación de sueldos) y el cliente sabe que está pasando. Hay variantes: **caja negra** (el tester arranca sin saber nada, como alguien de afuera), **caja blanca** (recibe el código fuente y los diagramas) y caja gris en el medio. Un ejercicio de **red team** es una versión más larga y sigilosa que además prueba si los defensores se dan cuenta.

Muchas veces los piden los reguladores, las reglas de pagos con tarjeta o los clientes grandes, típicamente una vez por año y después de cambios importantes. Son una foto, no una garantía: muestran lo que un equipo encontró en un tiempo limitado. El valor está en arreglar lo encontrado y volver a probar.

## Una analogía

Pagarle a un cerrajero para que intente entrar a tu casa mientras mirás, y que después te dé una lista: el pestillo de la ventana de atrás es débil, la llave bajo la maceta es obvia, el portón del costado no cierra.

## Para quedarse

- Un pentest es un ataque simulado con permiso escrito y un alcance definido.
- Las personas encuentran cadenas de debilidades chicas que los escáneres no ven.
- El entregable es un informe con hallazgos, gravedad y soluciones.
- Es una foto del momento; hay que volver a probar después de arreglar y de cambios grandes.

## Para seguir leyendo

- [Ensayos de penetración en Wikipedia](https://es.wikipedia.org/wiki/Prueba_de_penetraci%C3%B3n)
- [OWASP Web Security Testing Guide (en inglés)](https://owasp.org/www-project-web-security-testing-guide/)
- [Penetration testing, glosario de NIST (en inglés)](https://csrc.nist.gov/glossary/term/penetration_testing)

## Términos relacionados

- [Wi-Fi](https://tidbit.legios.com.ar/es/wi-fi/): Red por ondas de radio: internet sin cable, dentro de unas pocas habitaciones.
- [Servidor](https://tidbit.legios.com.ar/es/server/): Una computadora cuyo trabajo es responder pedidos de otras computadoras, todo el día.
- [Vulnerabilidad y CVE](https://tidbit.legios.com.ar/es/vulnerability-and-cve/): Una falla que permite abusar de un software, y el código público que la identifica.
- [Bug](https://tidbit.legios.com.ar/es/bug/): Un error en un software que hace que se comporte distinto de lo que se buscaba.
- [Código fuente](https://tidbit.legios.com.ar/es/source-code/): El texto legible que escriben quienes programan y a partir del cual se arma un programa.
