You are on page 1of 8

Universidad Catlica de Santa Mara. Benavente Yepez, Angles Perez.

Pentesting y Evaluacin de vulnerabilidades 1

Pentesting, evaluacin de vulnerabilidades en


pginas Web
Benavente Ypez Vctor., Algles Prez Alexander.
{templario0141, alexanderaaa }@gmail.com
Universidad Catlica de Santa Mara


manera interna y se ejecutara cada vez que se abra la pgina
ResumenEn la ltima dcada las empresas y web.
organizaciones han optado por adquirir aplicaciones web, una
de las ventajas es que corren bajo un servidor y ya no bajo un El ataque XSS indirecto o reflejado, consiste en editar los
sistema operativo, el motivo principal de esta tendencia es la valores que pasan mediante URL ingresando el cdigo
disponibilidad de la aplicacin a travs de dispositivos que malicioso haciendo que se ejecute en dicho sitio.
Es su mayora, la mayor parte de ataques XSS han sido
tengan un navegador web, como por ejemplo: ordenadores,
satisfactorios, pero hay una directiva de pgina de ASP que
smartphones, tablets, etc.
valida las peticiones de los clientes y es posible detectar a un
Pero a raz de este gran avance por parte de las empresas y
cliente malicioso, sin que este se d cuenta.
organizaciones, se han reportado miles de ataques ya sean para
robar informacin, manipular datos delicados o por Otro ataque muy conocido es el SQL Inyeccin que consiste
simplemente querer destruir determinada pgina. En el en alterar el normal funcionamiento de una base de dados
presente documento se exponen los diferentes tipos de mediante sentencias SQL usadas por el atacante, esto puede
vulnerabilidades ms comunes, los tipos y metodologas del causar la alteracin de registros, o la divulgacin de la
pentesting, y sobre todo cuales son las ventajas y desventajas informacin.
de analizar las vulnerabilidades de la pgina web de forma
manual o con la ayuda de algn software de escaneo. Los tipos de inyeccin dependen de la vulnerabilidad del
sistema, las principales vulnerabilidades son: cadenas mal
Palabras clavepentesting, vulnerabilidades, cross site filtradas, la incorrecta manipulacin de tipo de datos que
cripting, sql injection, webserver, kali Linux. consiste en colocar una instruccin SQL en la entrada de datos
del sistema, generalmente este problema se da porque no
declararon bien el tipo de variable, otro tipo de vulnerabilidad
I. INTRODUCCION es la evasin de firma y blind SQL injeccin o inyeccin a
ciegas que consiste en realizar pequeos cambios en la pgina
{rehacer introduccin} de resultados, en este caso el atacante no sabe lo que obtendr.
//---------------------------------------------------
Actualmente vivimos en una era de la informacin en la que En la actualidad los ataques SQL estn entre las 10 principales
las empresas de software estn orientadas a crear sistemas web vulnerabilidades web, por eso las empresas cuentan con
o aplicaciones web, debido a esto han surgido muchas formas mecanismos de seguridad, ya sean firewalls o antivirus, por lo
de corromper esta seguridad web, a continuacin se presentan que el atacante deber buscar nuevas puertas del sistema para
unos cuantos ejemplos de ataques ms comunes utilizados por poder realizar la inyeccin.
cibercriminales.
Un ataque XPath consiste en usar el lenguaje de programacin
El ataque DNS hijacking consiste en un secuestro de xpath para moverse dentro de un rbol XML para consultar,
sesin modificando las tablas de mapeo de las direcciones de modificar y rbar datos, esta tcnica se empez a usar desde el
dominio. El usuario al buscar el dominio web, realizar una 2002.
consulta al servidor DNS que le derivar a un servidor web
infectado Un ataque que se ha popularizado en la ltima dcada es el
DDoS que consiste en un ataque de sistemas de computadoras
El ataque del tipo XSS (Cross-site Scripting) consiste lo que causa que los recursos que iban a ser usados por los
bsicamente en insertar script malicioso en un sitio web desde usuarios legtimos sean inaccesibles. Lo que consiste es que la
otro, hay dos formas de realizar el ataque: directa e indirecta. red o conjunto de computadoras se encarguen de saturar la red
El ataque XSS directo o persistente se da cuando se inyecta de la compaa o empresa haciendo que su ancho de banda se
cdigo HTML por medio de etiquetas. Es el tipo de ataque sobrecargue. Este tipo de ataque es el ms sencillo y eficaz
ms grave ya que el cdigo se queda implantado en la web de que se podra hacer hacia una empresa ya que los ataques DOS

se realizan a travs de una RED DE BOTS.
Universidad Catlica de Santa Mara. Benavente Yepez, Angles Perez. Pentesting y Evaluacin de vulnerabilidades 2

J2EE, etc.) y procesos de acceso a la base de datos. Despus,


Se define la denegacin de servicio (Deny Of Service, DDoS) por ltimo aparece la capa base de datos, esta contiene los
como la imposibilidad de acceso a un recurso o servicio por servicios y procesos relacionados con
parte de un usuario legtimo. De esta forma se puede definir la obtencin de informacin, servicios en la nube, etc.
un ataque de denegacin de servicio (DDoS Attack) como la La informacin y comunicacin entre estas capas fluye
apropiacin exclusiva de un recurso o servicio con la intencin bidireccionalmente y en todo su conjunto se define como una
de evitar cualquier acceso de terceros. Tambin se incluyen en aplicacin web [2].
esta definicin los ataques destinados a colapsar un recurso o
A. Pginas web estticas
sistema con la intencin de destruir el servicio o recurso.
Son pginas enfocadas principalmente a mostrar una
El ataque por intermediario (Men in the Middle) se encarga de informacin permanente como se aprecia en la figura 1, se
que una tercera persona desve la sesin del usuario. Lo que el crean mediante el lenguaje HTML, que NO permite grandes
MitM se encarga es de hacer pensar al usuario que est siendo libertades para crear efectos o funcionalidades ms all de los
respondido por el servidor y a la vez se encarga de hacer enlaces, pero que haciendo uso de otros recursos se pueden
pensar al servidor que est siendo usado por el usuario, as obtener muy buenos resultados llegando a ser pginas muy
generando y usando las contraseas guardadas en los cookies similares a las dinmicas en cuando a su visualizacin se
de la pgina y generando un usuario atacante. refiere.

En el artculo no especifica la eficiencia o dificultad de Esta es una opcin ms que suficiente para aquellos que
realizar pro si nos da indicaciones de cmo evitarlas simplemente ofrecen una descripcin de su empresa, quines
(Utilizar las herramientas como el HTTP, conexiones VPN somos, donde estamos, servicios, etc. Ideal para empresas que
para evitar el secuestro de sesin cuando ingresamos a alguna no quieren muchas pretensiones con su sitio Web,
red social.) simplemente informar a sus clientes de sus productos y dar a
conocer su perfil de empresa, entre otros.
//--------------------------------------------------

II. APLICACIONES WEB

Son interfaces que se encuentran entre los usuarios y


los webservers que suelen moverse entre los dos mundos,
ejecutando cdigos javascript en la mquina del usuario y
gestionando consultas cliente-servidor, etc. Por lo tanto son
susceptibles de ataques de manipulacin de cdigo y acciones,
como inyecciones sql, explotacin de vulnerabilidades XSS,
hijacking, spoofing, MITM, etc. Adems a partir de la llegada
de la nombrada como web 2.0, estos riesgos se han ampliado Figura. 1 Diferencias entre las pginas webs estticas y dinmicas.
considerablemente, dado que el objetivo es crear ms
interactividad y movimiento a las webs tradicionales estticas B. Pginas web dinmicas
[1].
Se construyen haciendo uso de otros lenguajes de
Si deseamos comprender que son las aplicaciones web, es programacin, siendo el ms utilizado de todos el PHP, con lo
interesante describir la arquitectura interna que suelen tener. cual podemos definir las funciones y caractersticas que se
En el principio de la cadena tenemos una capa de aplicacin deben cumplir de acuerdo a nuestras necesidades.
para clientes, la cual contiene todo el conglomerado de
servicios accesibles desde el navegador de Internet. Aqu se Estas permiten la creacin de aplicaciones dentro de la propia
ejecuta cdigo JavaScript, Silverlight, HTML5 o flash (venido Web, ofrecen tambin una mayor interactividad con los
a menos/desuso). Estos navegadores alojados en las mquinas usuarios que la visiten. Otras funcionalidades que se pueden
o sistemas mviles se comunican con los webservers, que son crear mediante las web dinmicas son las aplicaciones como
los encargados de procesar las consultas, protocolos y encuestas y votaciones, foros de soporte, libros de visita, envo
comunicaciones. Es decir, esta es la siguiente capa de de e-mails inteligentes, reserva de productos, pedidos on-line,
aplicacin, la cual incluye procesos como logins, proceso atencin al cliente de manera personalizada, entre otros.
HTTP/S, filtros de Firewall, cach de los proxys, entre otros La creacin de una pgina web dinmica es ms compleja, ya
aspectos. Es la encargada de filtrar hacia la informacin que se requiere de conocimientos especficos de lenguajes de
sensible, que representa que se aloja en las bases de datos. programacin y gestin de bases de datos. Mediante la
Pero antes de llegar a la informacin concreta, normalmente creacin de una pgina web dinmica; el cliente o empresa
en empresas existe otra capa, llamada capa de negocio. Esta que la solicite recibir prcticamente 2 pginas en una, ya que
capa incluye cdigo de proceso de informacin (C++, .NET, por un lado tendr un panel de administracin no visible por
los usuarios o visitantes de la web y por otro lado tendr lo
Universidad Catlica de Santa Mara. Benavente Yepez, Angles Perez. Pentesting y Evaluacin de vulnerabilidades 3

que es la web pblicamente visible para los usuarios. Es por


esta otra razn que su creacin requiere de un costo ms alto.

III. PENTESTING TEST

Una prueba de penetracin es un proceso en el cual se realiza


una evaluacin o una auditoria de seguridad de alto nivel.
Para realizar pruebas de penetracin satisfactorias contra
aplicaciones web se necesita tener un buen conocimiento; ms
all del nivel de usuario normal; sobre las tecnologas web.
Fig. 2 Metodologa cclica para la evaluacin y penetracin de una pgina
Entender como es su funcionamiento desde la perspectiva del
web.
desarrollador o administrador web [3].
De esta manera los profesionales en pruebas de penetracin
IV. VULNERABILIDADES
deben pensar de manera maliciosa pero actuando
profesionalmente. Deben preguntarse cmo sera factible pasar
las restricciones, analizar cules podran ser los errores Existen vulnerabilidades que an no tienen solucin y se les
cometidos por los desarrolladores, administradores, y conoce como vulnerabilidades del da cero, pero tambin
operadores del sistema objetivo. existen otras muy conocidas a las cuales se han creado formas
Esta es una perspectiva de pensamiento completamente para poder prevenir posibles ataques, como se muestra en la
diferente a la de los desarrolladores o administradores. Lo cual siguiente tabla:
permite enfocarse en pasar los controles de las aplicaciones, o
TABLA I
encontrar problemas en lgica del negocio. MATRIZ DE TRAZABILIDAD DE ATAQUES, VULNERABILIDADES,
TECNICAS Y HERRAMIENTAS
A. Tipos de pentesting Ataque Vulnerabilidad Tcnica de Herramienta
Caja negra: Este tipo de prueba suele ser la ms deteccin de para deteccin
vulnerabilidades de
compleja y ocurre cuando la empresa no le facilita vulnerabilidades
nada de informacin al pentester sobre el sistema, Inyeccin Inyeccin Anlisis esttico QualysGuard Web
como mximo se le brinda la direccin URL o IP de SQL del cdigo, Application
la pgina web a evaluar, es la ms comn en pruebas Anlisis dinmico Scanning WAS,
y pruebas de WebSite Security
de penetracin a redes [4]. penetracin Audit-WSSA,
Caja blanca: Este tipo de prueba se da generalmente WEBAPP 360
al momento terminar un sistema informtico, se pasa Ataque XSS Secuencia de Anlisis esttico QualysGuard Web
a la fase de aseguramiento de calidad de software, la comandos en de cdigo, Application
sitios cruzados Pruebas de Scanning WAS,
caracterstica principal de esta prueba es que se tiene XSS penetracin WebSite Security
acceso completo al cdigo fuente. Audit-WSSA
Caja gris: Este tipo de prueba se da cuando la Ataque Man in Exposicin a Nessus
empresa en evaluacin les brinda algo de informacin the middle datos sensibles Vulnerability
Scanner, Retina
a los pentester. Tambin ocurre cuando hay un Web Security
empleado descontento y este tiene acceso a las redes Scanner
y al sistema, podra causar muchos daos a la Ataque de Manejo de Utilizacin de WebSite Security
empresa. fijacin de sesin estndar de Audit-WSSA,
sesiones manejo de Retina Web
B. Metodologa de una prueba de penetracin sesiones Security Scanner,
WEBAPP 360
En el rea de pentesting, existen diversas metodologas de Configuracin Configuracin Pruebas de MCfree
codigo abierto que tratan de conducir o guiar los de seguridad de seguridad penetracin Vulnerability
requerimientos de las evaluaciones en seguridad. La idea incorrecta incorrecta Manager,
QualysGuard Web
principal de utilizar una metodologa durante la evaluacin, es Application
ejecutar diferentes tipos de pruebas paso a paso para poder Scanning
juzgar con mucha precisin la seguridad de un sistema, cabe Ataque de Falsificacin de Anlisis esttico QualysGuard Web
resaltar que no existe un criterio nico y que pueden existir falsificacin peticiones en del cdigo Application
diversas metodologas como se muestra en la figura 2. de peticiones sitios cruzados Scanning WAS
en sitios
cruzados
Phising Redireccin y Anlisis esttico SCA
reenvos no del cdigo
validos
Universidad Catlica de Santa Mara. Benavente Yepez, Angles Perez. Pentesting y Evaluacin de vulnerabilidades 4

Existen cientos de tcnicas para la deteccin de aplicaciones web las que deben protegerse de estos tipos de
vulnerabilidades, entre las ms usadas estn: Black-box, ataques y no es un defecto en s del lenguaje SQL.
White-box, Anlisis esttico de cdigo, anlisis dinmico, etc. Dicho esto, para entender exactamente en qu consisten en
estos ataques, se van explicar los principales tipos que nos
A la par tambin existen miles de herramientas para la podemos encontrar [6].
deteccin de vulnerabilidades, entre las ms populares estn: Errores Basados en SQL:
QualysGuard Web Application Scanning, WebSite Audit- Estas inyecciones de comandos buscan provocar un
WSSA, Retina Web Security Scanner, Frame-c, MCfree error o perturbacin en las bases de datos
Vulnerability Manager, Parasoft C/C++, Nessus Vulnerability afectadas. Este tipo a su vez se divide en 5 subtipos
Scanner, etc [5]. dependiendo de la naturaleza del error:
A. Vulnerabilidades por fuerza bruta
Procesos guardados en sistemas: como bien indica el
Se entiende por fuerza bruta cuando se intenta romper todas nombre, se basa en provocar errores en
las combinaciones posibles de nombre de usuario y procesos guardados de las bases de datos.
contrasea en una pgina web, por ejemplo si se desea hallar Comentarios de final de lnea: cuando se inyecta
una contrasea entre mil millones, lo que se hace es usar cdigo legtimo en una entrada, al final se
algoritmos que hallan y prueban todas las posibles puede aadir un apartado de comentarios que puede
combinaciones, pero esto puede llevar un buen tiempo, y si usarse para inyectar cdigo. Por ejemplo:
las contraseas son muy seguras y usan caracteres especiales
con nmeros y maysculas, puede que el proceso de hallar y SELECT * FROM user WHERE name = David
probar todas las combinaciones sea eterno literalmente. AND userid IS NULL; --;
Los ataques de fuerza bruta buscan contraseas dbiles para
ser descifradas y tener acceso de forma fcil. Un ejemplo de Consultas ilgicas: se pueden introducir parmetros,
vulnerabilidad de este tipo podra ser la herramienta tipos de datos o nombres de tablas para
Aircrack que se muestra en la figura 3. obtener resultados de inters de la base de datos.

Tautologa: son las inyecciones que siempre


retornarn resultados verdaderos y provoca que
las bases de datos pueden devolver informacin que
no debera, por ejemplo:

SELECT * FROM users WHERE login= user or


1=1 --;

Unin SQL: el comando UNION en SQL se puede


utilizar para enlazar varias consultas que por
separado no dejara el sistema, por ejemplo:

SELECT name, phone FROM users WHERE id=$id


$id=1 UNION ALL SELECT creditCardNumber
Fig. 3 Aircrack es un programa crackeador de claves 802.11 WEP y FROM cctable
WPA/WPA2-PSK., como se muestra en la figura Aircrack prueba todas las
combinaciones, recibiendo como parmetros la longitud de la clave a
buscar, este proceso puede demorar desde minutos hasta meses. SQL Blind:
Tambin llamado ataque a ciegas, se aprovecha de
una vulnerabilidad web. Concretamente se observa
B. Vulnerabilidades de inyeccin de cdigo SQL cuando al realizar consultas errneas, esta no contesta
adecuadamente. Para entenderlo mejor se defienden
Esta tcnica se da cuando alguien desde el exterior de la red, los tres casos posibles:
intenta manipular la base de datos de un servidor o una
aplicacin mediante comandos sql que aprovechan Pgina general: procede cuando ante la inyeccin
vulnerabilidades conocidas o deficiencias de seguridad. La SQL, aparece una ventana o pgina web generada
intencin es alterar el procesamiento normal de las consultas automticamente.
sql o accesos no autorizado, aadiendo y ejecutando cdigo
malicioso. No error: esto ocurre cuando el atacante no recibe
Las respuestas que aceptan los servidores web y aplicaciones ningn tipo de informacin al inyectar un cdigo
debern tener medidas de seguridad para poder mitigar con SQL malicioso excepto cuando la consulta es
esta problemtica que busca la extraccin de informacin legtima. Por ejemplo podemos deducir si un nmero
sensible o la malversacin de sta. Estas vulnerabilidades de de tarjeta de crdito, un usuario, un dato concreto
seguridad estn en la capa de aplicacin, es decir, son las existe en la base de datos o no.
Universidad Catlica de Santa Mara. Benavente Yepez, Angles Perez. Pentesting y Evaluacin de vulnerabilidades 5

dicho cdigo se ejecute en la respuesta proporcionada


Tiempos excesivos: se pueden introducir comandos al otro usuario. Para enmascarar este tipo de ataques
que jueguen con los lapsos de tiempo entre servidores se suele codificar en hexadecimal el cdigo de script
y consultas para deducir cierta informacin, por [8].
ejemplo que versiones de MySQL tiene, por ejemplo:
XSS Indirecto:
SELECT * FROM users WHERE id=1- Tambin conocido como inyeccin HTML.
IF(MID(VERSION(),1,1) = 5, SLEEP(15),0); Denominado en textos de lengua inglesa Persistente.
Este tipo de ataques se dan cuando los datos
proporcionados por los clientes web son almacenados
C. Vulnerabilidad de inyeccin de comandos
en el servidor (en una base de datos, sistema de
Code Injection es el trmino general para el tipo de ataques archivos, variable de sesin, etc.) y mostrados
que tratan de inyectar cdigo que es interpretado/ejecutado por posteriormente en otra pgina web del servidor.
la aplicacin. Este tipo de ataques explota el manejo pobre de
informacin no confiable. Este tipo de ataques son Basado en Dom:
habitualmente posibles por no validar apropiadamente las
entradas y salidas de datos, por ejemplo: A diferencia de los dos tipos de ataque XSS
anteriores, el cdigo malicioso no se ejecuta porque
Caracteres permitidos (expresiones regulares, clases el servidor devuelva una respuesta HTML con dicho
o personalizadas) cdigo embebido, sino porque el cliente comienza a
pasear un rbol DOM utilizando datos entre los que
Formato de los datos. se encuentra dicho cdigo (por ejemplo, utilizando la
URL actual del documento document.URL que
incluye un script malicioso.
Cantidad de datos esperada.

A diferencia de Command Injection, el atacante est limitado E. Vulnerabilidad de denegacin de servicio


por las funcionalidades del lenguaje inyectado. Si un atacante Un ataque de denegacin de servicios consiste en enviar datos
es capaz de inyectar cdigo PHP en la aplicacin y hacer que innecesarios y masivos a un servidor para sobrecargarlo y
este sea ejecutado, l solo estar limitado por lo que PHP es conseguir entorpecer alguna de las propiedades ACID. Es ms,
capaz de hacer. Command Injection consiste en el si se colapsa el servidor completamente quedando inutilizado
aprovechamiento de cdigo existente para ejecutar comandos, durante el mayor tiempo posible, el ataque DoS habr tenido
normalmente sin el contexto de la SHELL. el mejor final posible.
No obstante, actualmente, los servicios web ms usados no
D. Vulnerabilidad de cross site cripting (xss) estn centralizados en un nico servidor, sino que estn
XSS es el acrnimo utilizado para referirse a un tipo de distribuidos, por lo que un solo sistema no tiene la capacidad
ataque (tambin a la debilidad de seguridad que permite dicho suficiente como para provocar daos verdades. Es por ello que
ataque) denominado originalmente Cross-Site Scripting. el concepto de DoS se ampla a DDoS (Distributed Denial of
Este tipo de ataques se realiza sobre aplicaciones que utilicen Service) y se acta conjuntamente con muchos sistemas
HTML (normalmente sitios web) [7]. Su nombre podra ser distribuidos atacantes para provocar los daos. Para ello, se
traducido como scripting inter-sitios y se refiere al fundamento utilizan botnets, equipos infectos en modo zombie que
de este ataque: inyectar cdigo de script reaccionan conjuntamente enviando datos cuando se activa el
en un sitio web desde otro, existen 3 tipos de ataques XSS los ataque (flooding es el nombre que comnmente se utiliza para
cuales son: indicar en envo masivo de datos).
Actualmente los ataques DDoS son un grave problema para
XSS Directo: webs con un trfico de datos importante, o webs
Este tipo de ataques se dan cuando datos gubernamentales. A menudo es el tipo de ataque preferido por
proporcionados por un cliente web (a travs de una hacktivistas provocando serias prdidas en empresas
URL, de un formulario, etc.) son inmediatamente multinacionales o gobiernos.
utilizados por scripts de servidor para generar una Principalmente los objetivos y tcnicas de saturacin de
pgina de resultados para dicho cliente web. Si estos servicios son:
datos no son validados y son automticamente Envo de paquetes fragmentados.
incluidos en la respuesta del servidor, el cliente puede Envo masivo de informacin intil.
inyectar cdigo (normalmente malicioso) en dicha Envo de paquetes SYN con direcciones spoofeadas
respuesta. En un principio puede parecer que un (SYN flood).
cliente puede inyectar cdigo solo en respuestas Comparticin de datos Peer to peer masivos.
dirigidas a s mismo, pero si dicho usuario Phlashing (ataques que de algn modo causan daos
malicioso crea una URL con cdigo de script y irreparables en el sistema).Por
logra que otro usuario acceda a ella, puede lograr que
Universidad Catlica de Santa Mara. Benavente Yepez, Angles Perez. Pentesting y Evaluacin de vulnerabilidades 6

ejemplo se envan actualizaciones dainas a los VI. PRUEBAS DE PENTESTING


dispositivos.
Se trabaj en el sistema operativo Kali Linux como sistema
base, el cual fue virtualizado en Virtual
V. ANALISIS DE VULNERABILIDADES Box, sobre el que se instalaron diversos sistemas operativos
con servicios de red, como HTTP, Samba y MySQL que
A. Manuales
fueron los objetivos de los ataques lanzados utilizando
Consiste bsicamente en que el pentester analice el cdigo diversas herramientas contenidas en el sistema operativo base
fuente del sistema web, tambin que revise la infraestructura y siguiendo una metodologa para hacer pruebas de pentesting;
de las redes, crear herramientas de explotacin que ayuden a en la figura 5 se muestra el entorno de pruebas que se
encontrar posibles vulnerabilidades. implement y la configuracin de red de cada sistema
La nica desventaja de este tipo de anlisis son los gastos, y operativo. En los Equipos 5 y 6 se les habilit un firewall para
ms an si se contrata un equipo de pentesters. todas las prueba de pentesting efectuadas, con la finalidad de
incrementar la complejidad en la realizacin de escaneo y
B. Automticos reconocimiento [9]. Los sistemas operativos virtualizados
instalados fueron varias distribuciones Linux y Windows,
Son herramientas que pueden escanear rpidamente un sitio y algunas de las cuales son distribuciones conocidas como
devolver las vulnerabilidades encontradas, adems tienes las metaesploitables, ya que incluyen vulnerabilidades conocidas
ventajas de ser ms baratos y tener disponibilidad y para ser explotadas con la finalidad de aprender a travs de la
automatizacin. El inconveniente es tener menor control sobre puesta en prctica de las diferentes fases de pruebas de
el comportamiento del ataque, por lo cual se es propenso a pentesting. Las herramientas embebidas y utilizadas en este
obtener falsos positivos. laboratorio fueron en primer lugar Metasploit que es un
Existe el proyecto de cdigo abierto WAVSEP que se encarga framewok que incorpora un conjunto de elementos como
de evaluar diversas herramientas de seguridad, aplicando exploits, scanners y payloads que permiten realizar una prueba
varias pruebas en entornos virtuales. de intrusin cubriendo cada una de las fases, desde la
En el ltimo informe de WAVSEP, se analizaron mltiples adquisicin de informacin hasta la fase de post-explotacin.
herramientas de seguridad como se muestra en la figura 4.

Fig. 4 En la parte superior w3af nos muestra un porcentaje de exactitud


frente a vulnerabilidades de diversos tipos y tambin un porcentaje de falsos
positivos. En la parte inferior se muestra Wapit, una herramienta de lnea de
comando escrita en python, como se observa hay datos que muestran
resultados muy disparejos.
Fig. 5 Modelo del entorno de pruebas controlado

Se puede llegar a la conclusin que no existe herramienta que A. Prueba realizada de un ataque a fuerza bruta
nos den resultados confiables y es por esto que se recurre a los
anlisis hbridos. En este ataque de fuerza bruta se explot un fallo de
configuracin en el servicio de MySQL al no contar con un
C. Hbridos mecanismo que evitara un mximo de intentos de login; para
Esta es la mejor forma de hacer un anlisis de vulnerabilidades este ataque se utilizaron las herramientas Nmap para realizar
ya que se combinan los anlisis manuales y automticos. El el reconocimiento del servicio, posteriormente se seleccion la
pentester usa herramientas de escaneo que lo ayudan a ver las herramienta Mysql_login del framework Metasploit, en el que
posibles vulnerabilidades y comprobarlo el mismo. A si de se utiliz un script que hace uso de dos diccionarios para
esta forma se puede llegar a resolver todas las posibles obtener las credenciales de acceso al servidor MySQL.
vulnerabilidades pagando gastos intermedios.
Universidad Catlica de Santa Mara. Benavente Yepez, Angles Perez. Pentesting y Evaluacin de vulnerabilidades 7

B. Prueba realizada de un ataque sql injection peticiones a enviar hacia el servidor objetivo, que
Este ataque consisti en un ataque SQL Injection a una pgina consiste en la creacin y envo de grandes cantidades de
Web, con la herramienta SQLMap, que permiti en primer paquetes que permitieron inundar al servidor objetivo para
trmino, entrar a la base de datos y posteriormente realizar una dejarlo fuera de servicio.
escalada de privilegios para acceder como un usuario de
sistema al equipo objetivo, utilizando el protocolo SSH. En la
figura 6 se muestra el resultado que arroja la ejecucin de la
herramienta SQLMap, donde se pueden ver a los usuarios y
contraseas del sistema que fueron probados y permitieron
hacer un login exitoso mediante SSH al servidor vctima.

Fig. 8 Inundacin de paquetes con Slowris.

VII. RESULTADOS DE LAS PRUEBAS DE


PENTESTING
En primer lugar fue adecuada la eleccin del sistema operativo
Kali Linux para la implementacin del laboratorio de
Fig. 6 Resultado de la ejecucin SQLMap, se descubri una base de datos
llamada gallery, la cual almacenaba una tabla dev_accounts, y en dicha tabla pentesting, ya que viene implementado con diversas
se descubrieron los campos id, username y password. herramientas que hacen ms fcil el anlisis de
vulnerabilidades, ya que permiti realizar cada uno de los
C. Prueba realizada de un ataque xss ataques de manera exitosa utilizando tcnicas de Hacking
tico mediante una metodologa probada para realizar pruebas
Este ataque consisti en explotar una vulnerabilidad CrossSite de pentesting. La ejecucin de cada una de las herramientas
Scripting (XSS) en sus dos modalidades: reflejado y utilizadas en las pruebas de intrusin se efectuaron en un
persistente. En este apartado se describe el ataque XSS equipo de cmputo de caractersticas comunes, donde una de
persistente, para el que se utiliz la herramienta Burp Suitecon las pruebas que demand mayor uso de recursos fue el ataque
un Tag Script que permiti alterar la pgina vctima al permitir de fuerza bruta.
la insercin decdigo malicioso en el formulario de la
aplicacin, usando los parmetros name y message que El laboratorio que se uso podr ser usado en un futuro como
son vulnerables al XSS. El cdigo insertado en este ataque plataforma de pruebas y aprendizaje de Hacking tico sin
permiti insertar una imagen. En la figura 7 se observa el infringir las normas que regulan la actividad informtica, pues
proceso de insercin de cdigo. las pruebas se realizan en un ambiente controlado y sin afectar
sistemas en produccin

Cabe resaltar que para cada una de las pruebas fue necesario
usar ms de una herramienta, script, exploit y payload para
cubrir cada una de las fases de la metodologa probada, todos
estos elementos usados estn embebidos en el sistema
operativo Kali Linux.

VIII. CONCLUSIONES
Se concluye que la prueba de pentesting es una herramienta
que permite probar las medidas de seguridad
informtica de una pgina web, mediante pruebas de intrusin
Fig. 7 Insercin de cdigo en la pgina victima
a pginas web. Durante el desarrollo de los diversos tipos de
ataques en el laboratorio de pentesting se pudo constatar lo
D. Prueba realizada de denegacin de servicio fcil que resulta ejecutar dichas pruebas si se cuenta con
Este ataque fue directamente dirigido dirigido al puerto 80 del herramientas para realizar ataques informticos y
servicio HTTP, en el que se hizo uso de un script denominado si se sigue un orden ya escrito y probado, resulta factible
Slowris. En la figura 8 se muestra la construccin de las introducirse a sistemas que no cuenten con las medidas de
Universidad Catlica de Santa Mara. Benavente Yepez, Angles Perez. Pentesting y Evaluacin de vulnerabilidades 8

seguridad adecuadas, o que no han sido sometidos a


pruebas de intrusin para detectar sus debilidades, lo que
permite que usuarios maliciosos exploten las vulnerabilidades
existentes y pongan en riesgo los datos delicados
de cualquier organizacin. Es por ello importante que los
responsables de sistemas se entrenen realizando pruebas a los
sistemas web antes o despus de ser implementados y
una forma segura de entrenarse es en un entorno virtualizado
como el mostrado en este trabajo.

IX. REFERENCIAS

[1] C. Jimenez, Seguridad en redes y sistemas, tcnicas y


conceptos sobre hacking y pentesting, bachiller thesis,
Universidad Oberta de Catalunya, jun. 2016, p. 63-69.
[2] Bellante, Diego Hernn; Chanfreau, Hernn
David. Librera genrica de aspectos para tratar las
vulnerabilidades de seguridad ms crticas en aplicaciones
web., 2008, Tesis Doctoral. Facultad de Informtica.
[3] Loor Pilay, Anlisis y modelado de seguridades
utilizando pentesting para las aplicaciones web orientado
a las redes sociales del sistema promeinfo, doctoral
thesis, Universidad de Guayaquil, 2015, p. 31-34
[4] Zakarija, Ivona; BATO, Vedran; DOMI, Tomislav. A
Method for the Penetration Testing in IT Environment.
En Proceedings of The 17th World Multi-Conference on
Systemics, Cybernetics and Informatics: WMSCI 2013.
2013.
[5] Saucedo, Ana Laura Hernndez; Miranda, Jezreel Mejia.
Gua de ataques, vulnerabilidades, tcnicas y
herramientas para aplicaciones Web. ReCIBE, 2016, vol.
4, no 1.
[6] De la Quintanaillanes, Mauricio Mijail. Sql Inyection.,
Revista de Informacin, Tecnologa y Sociedad, 2013, p.
38.
[7] van der Loo, F. Comparison of penetration testing tools
for web applications, Doctoral dissertation, Masters
thesis, University of Radboud, Netherlands, 2011, p 9
[8] Soto Claros, Giovanna Marisela., Inyeccin de cdigo y
ataques al sitio web., Revista de Informacin, Tecnologa
y Sociedad, 2013, p. 46.
[9] F. Mendez, A. Aquino, A. Ronquillo Tcnicas de hacking
tico en un laboratorio de pentesting virtualizado, in
conf. I Congreso de informtica e innovacin Tecnologia,
At Ixtepec, Oaxaca oct. 2014, p. 3

You might also like