Con los llamados pe­ne­tra­tion tests (también conocidos como pentests o pruebas de pe­ne­tra­ción), es posible de­te­r­mi­nar la vu­l­ne­ra­bi­li­dad de la red, de cada uno de los sistemas pa­r­ti­ci­pa­n­tes o de una sola apli­ca­ción. Pero ¿cómo se llevan a cabo estas pruebas y qué re­pre­se­n­tan exac­ta­me­n­te para la red?

¿Qué es un pentest?

En el contexto de la in­fo­r­má­ti­ca, el pe­ne­tra­tion test hace re­fe­re­n­cia a una me­to­do­lo­gía que consiste en pla­ni­fi­car un ataque a una red, in­de­pe­n­die­n­te­me­n­te de su tamaño, o sobre equipos in­di­vi­dua­les, con el fin de revelar vu­l­ne­ra­bi­li­da­des en el objeto de prueba. Para este propósito se simulan diversos patrones de ataque uti­li­za­n­do he­rra­mie­n­tas creadas por métodos de ataque conocidos. Los co­m­po­ne­n­tes típicos de un pentest son:

  • Elementos de aco­pla­mie­n­to de red tales como routers, co­n­mu­ta­do­res o puertos
  • Puertos de seguridad tales como firewalls de hardware y software, filtros de paquetes o programas antivirus, ba­la­n­cea­do­res de carga, IDS e IPS, etc.
  • Se­r­vi­do­res web, se­r­vi­do­res de bases de datos, se­r­vi­do­res de archivo, etc.
  • Equipos de te­le­co­mu­ni­ca­cio­nes
  • Cualquier tipo de apli­ca­cio­nes web
  • In­s­ta­la­cio­nes de in­frae­s­tru­c­tu­ra como, por ejemplo, me­ca­ni­s­mos de control de acceso
  • Redes in­alá­m­bri­cas im­pli­ca­das tales como redes WLAN o Bluetooth

Por lo general, los pentests se cla­si­fi­can en tres tipos de pruebas: pruebas de caja negra, pruebas de caja blanca y pruebas de caja gris. En las pruebas de caja negra, los pe­n­te­s­te­rs solo tienen a su di­s­po­si­ción la dirección de la red (sistema de destino). En las pruebas de caja blanca, se parte de un amplio co­no­ci­mie­n­to de los sistemas puestos a prueba, in­clu­ye­n­do su dirección IP, el software utilizado y sus co­m­po­ne­n­tes de hardware. Por último, las pruebas de caja gris, el tipo de prueba usada con mayor asiduidad, combinan las ca­ra­c­te­rí­s­ti­cas de las pruebas de caja negra y las de caja blanca. En ellas, se analizan es­ce­na­rios que no pueden ser co­n­si­de­ra­dos por las pruebas de caja negra como, por ejemplo, un ataque impulsado por alguien de la misma empresa con in­fo­r­ma­ción su­fi­cie­n­te sobre la red. En las pruebas de caja gris se ha de conocer la in­frae­s­tru­c­tu­ra in­fo­r­má­ti­ca, lo que implica, por ejemplo, tener in­fo­r­ma­ción sobre el uso que se hace de los sistemas y de sus ca­ra­c­te­rí­s­ti­cas pri­n­ci­pa­les.

Cómo llevar a cabo un pentest

¿Cómo sacarles provecho a las pruebas de pe­ne­tra­ción? A co­n­ti­nua­ción, se presentan los aspectos más im­po­r­ta­n­tes para que puedas de­sa­rro­llar tu pe­ne­tra­tion test.

Re­qui­si­tos de los pentests

Para poder llevar a cabo un pe­ne­tra­tion test ade­cua­da­me­n­te, es necesario definir un concepto claro. Establece los co­m­po­ne­n­tes que se van a probar, cuánto tiempo debe durar una prueba in­di­vi­dual o la revisión completa de la red, y comprueba si cuentas con todas las he­rra­mie­n­tas ne­ce­sa­rias.

Esta fase de pre­pa­ra­ción cobra aún más im­po­r­ta­n­cia si es una persona externa la que va a llevar a cabo el pentest mediante una prueba de caja blanca. En este caso, es necesario que ofrezcas in­fo­r­ma­ción sobre la red y los sistemas pa­r­ti­ci­pa­n­tes, así como la do­cu­me­n­ta­ción di­s­po­ni­ble. En el caso de las pruebas de caja negra, el proceder cambia, pues solo tendrás que comunicar la dirección de destino de los objetos de prueba.

Las mejores he­rra­mie­n­tas para un pentest

La di­ve­r­si­dad de tipos de ataque a una red implica que los pe­n­te­s­te­rs tengan una variada serie de he­rra­mie­n­tas a su di­s­po­si­ción. Entre las más im­po­r­ta­n­tes, se en­cue­n­tran, por ejemplo:

  • Escaneo de puertos: en el escaneo de puertos se utilizan he­rra­mie­n­tas es­pe­cia­les para encontrar puertos abiertos en un sistema in­fo­r­má­ti­co.
  • Escáner de vu­l­ne­ra­bi­li­da­des: los escáneres de vu­l­ne­ra­bi­li­da­des co­m­prue­ban los sistemas en busca de brechas de seguridad exi­s­te­n­tes, co­n­fi­gu­ra­cio­nes in­co­rre­c­tas y políticas de co­n­tra­se­ñas y usuarios in­su­fi­cie­n­tes.
  • Sniffer: un sniffer puede uti­li­zar­se para analizar el tráfico de datos de una red. Cuanto mejor sea el cifrado, menor será la in­fo­r­ma­ción obtenida.
  • Ge­ne­ra­do­res de paquetes: los ge­ne­ra­do­res de paquetes son he­rra­mie­n­tas que permiten generar o simular el tráfico de datos de la red. De este modo, se imita el tráfico de datos real de la red como parte de un pe­ne­tra­tion test.
  • De­s­ci­fra­do­res de co­n­tra­se­ñas: con los de­s­ci­fra­do­res de co­n­tra­se­ñas, los pe­n­te­s­te­rs tratan de obtener co­n­tra­se­ñas inseguras.

Muchas de las he­rra­mie­n­tas se de­sa­rro­llan de forma es­pe­cí­fi­ca para pruebas de seguridad en redes y se limitan a un área de prueba muy es­pe­cí­fi­ca. Aunque la mayoría sean de código abierto, también hay di­s­po­ni­bles algunas apli­ca­cio­nes de seguridad co­me­r­cia­les. Estas últimas suelen contar con una do­cu­me­n­ta­ción más detallada y ofrecen un soporte más amplio.

Consejo

En la ac­tua­li­dad, hay numerosas co­le­c­cio­nes de he­rra­mie­n­tas para pe­ne­tra­tion tests que han sido co­m­pi­la­das por expertos en seguridad y que a menudo funcionan sobre la base de una di­s­tri­bu­ción estable de Linux. Una de las so­lu­cio­nes más populares es Kali Linux, publicada en 2007.

Proceso de un pentest

El pro­ce­di­mie­n­to de los pe­ne­tra­tion tests se puede dividir en:

Ve­ri­fi­ca­ción del concepto de red

Ya en la fase de pre­pa­ra­ción, un pentest ide­n­ti­fi­ca in­co­n­si­s­te­n­cias o vu­l­ne­ra­bi­li­da­des es­pe­cí­fi­cas en el diseño de la red o de sus co­m­po­ne­n­tes in­di­vi­dua­les. El hecho de que, por ejemplo, las apli­ca­cio­nes hayan sido co­n­fi­gu­ra­das con derechos de acceso di­fe­re­n­tes, generará co­m­pli­ca­cio­nes rá­pi­da­me­n­te y planteará un riesgo de seguridad para la totalidad de la red, incluso si esta y los programas in­di­vi­dua­les alojados están pro­te­gi­dos ade­cua­da­me­n­te. Algunos de estos casos pueden aclararse pre­li­mi­na­r­me­n­te, mientras que otros solo son co­m­pro­ba­bles por medio de una prueba práctica.

Prueba de las medidas de hardening

El eje de una red in­fo­r­má­ti­ca co­r­po­ra­ti­va segura es que los sistemas im­pli­ca­dos estén lo mejor re­fo­r­za­dos posible. En parte, el pentest también consiste en comprobar la efe­c­ti­vi­dad de las medidas de hardening aplicadas. Esto implica que tanto el software instalado como el sistema operativo, los servicios del sistema y las apli­ca­cio­nes uti­li­za­das por el usuario han de ac­tua­li­zar­se de forma continua. En caso de que se utilicen versiones antiguas para algunas apli­ca­cio­nes por cue­s­tio­nes de co­m­pa­ti­bi­li­dad, será necesario valerse de otros medios de pro­te­c­ción.

Además, los re­qui­si­tos de acceso y au­te­n­ti­ca­ción juegan un papel im­po­r­ta­n­te para los sistemas y programas in­di­vi­dua­les. En este caso, el pentest se ocupa de temas como:

  • los derechos de acceso
  • el uso de co­n­tra­se­ñas y el cifrado
  • el uso de las in­te­r­fa­ces exi­s­te­n­tes y puertos abiertos
  • el uso de in­s­tru­me­n­tos re­gu­la­do­res como, por ejemplo, el co­r­ta­fue­gos

Búsqueda de vu­l­ne­ra­bi­li­da­des conocidas

Por lo general, descubrir las vu­l­ne­ra­bi­li­da­des de un software no toma mucho tiempo, ya que, en la mayoría de los casos, los pe­n­te­s­te­rs están fa­mi­lia­ri­za­dos con los puntos débiles de los objetos de prueba. Estos pueden ide­n­ti­fi­car rá­pi­da­me­n­te qué apli­ca­cio­nes re­pre­se­n­tan un riesgo para la seguridad, gracias a sus in­ve­s­ti­ga­cio­nes sobre el nivel de hardening de los co­m­po­ne­n­tes de las redes y sobre el estado de sus parches y versiones. En caso de que se tengan que examinar muchos sistemas en un corto período de tiempo, vale la pena utilizar escáneres de vu­l­ne­ra­bi­li­dad, aunque algunas veces estos pueden arrojar re­su­l­ta­dos inexactos.

El uso selectivo de exploits

La certeza de que las vu­l­ne­ra­bi­li­da­des en­co­n­tra­das también pueden ser ex­plo­ta­das solo se consigue si el pentester utiliza el exploit apropiado. Los exploits son se­cue­n­cias de comandos que, por lo general, provienen de di­fe­re­n­tes fuentes en Internet y no siempre están pro­gra­ma­das de forma segura. Así, si se ejecuta uno de estos exploits inseguros, se corre el riesgo de bloquear las apli­ca­cio­nes o el sistema probados y, en el peor de los casos, se pueden incluso so­bre­s­cri­bir zonas de memoria im­po­r­ta­n­tes. En este caso, solo se deben utilizar scripts pro­ce­de­n­tes de fuentes fiables para los pentests o ab­s­te­ne­r­se co­m­ple­ta­me­n­te de probar dichas vu­l­ne­ra­bi­li­da­des.

Nota

Todos los pasos y re­su­l­ta­dos de los pentests deben re­gi­s­trar­se por escrito. De esta forma, se fijan las bases ideales para el se­gui­mie­n­to de los pasos in­di­vi­dua­les y de la eva­lua­ción final de los re­su­l­ta­dos. Por lo general, puedes utilizar listas de prio­ri­da­des para optimizar paso a paso la pro­te­c­ción de tu sistema.

Las ventajas y de­s­ve­n­ta­jas de las pruebas complejas de seguridad

Las es­tru­c­tu­ras ho­mo­gé­neas de grandes or­de­na­do­res son parte del pasado. Las es­tru­c­tu­ras in­fo­r­má­ti­cas de­s­ce­n­tra­li­za­das actuales cuentan con nuevas vu­l­ne­ra­bi­li­da­des y fallos de fu­n­cio­na­mie­n­to que son reparados, con más o menos rapidez, por los fa­bri­ca­n­tes de software. Los pentests se presentan aquí con las si­guie­n­tes ventajas:

  • Revisa los sistemas con mayor de­di­ca­ción que una co­m­pro­ba­ción de seguridad común
  • El objetivo fu­n­da­me­n­tal de una prueba de este tipo es comprobar la in­ter­ac­ción de los co­m­po­ne­n­tes in­di­vi­dua­les
  • Si incluyes un pentester externo, obtendrás un punto de vista adicional y una pe­r­s­pe­c­ti­va diferente acerca del concepto de seguridad su­b­ya­ce­n­te
  • Los pe­n­te­s­te­rs pro­fe­sio­na­les están es­pe­cia­l­me­n­te ca­pa­ci­ta­dos y proceden de manera similar a como lo haría un atacante

Sin embargo, el pe­ne­tra­tion test, asociado es­pe­cia­l­me­n­te con la coope­ra­ción con un co­m­pro­ba­dor externo, también presenta algunas de­s­ve­n­ta­jas:

  • El tester externo obtendrá una visión de tu red interna durante la ejecución del test
  • Siempre existe la po­si­bi­li­dad de que la prueba de pe­ne­tra­ción cause daños irre­pa­ra­bles
  • Los pentests solo pro­po­r­cio­nan una impresión in­s­ta­n­tá­nea de tus sistemas de red y, por tanto, nunca deben uti­li­zar­se como su­s­ti­tu­ción de las medidas de seguridad ha­bi­tua­les

La llamada in­ge­nie­ría social no forma parte de los riesgos que co­m­pro­ba­ría un pentest clásico. No obstante, muchos pro­vee­do­res de servicios ofrecen de forma opcional la ve­ri­fi­ca­ción de las vu­l­ne­ra­bi­li­da­des humanas en las empresas, in­clu­ye­n­do, formación es­pe­cia­li­za­da.

Ir al menú principal