Академический Документы
Профессиональный Документы
Культура Документы
_________________
Uso de Componentes con Vulnerabilidades conocidas.
Subir Archivo (File Upload)
1. Introduccin
Con el avance del internet a nivel global, las personas cada vez ms buscan alternativas
de informacin en toda la web. De hecho, el internet se ha vuelto una parte importante
en la vida diaria de las personas ya que ayudan a que la mayora de procesos sean ms
cmodos al realizarlos desde el hogar, como pueden ser transacciones bancarias,
organizacin de eventos, creacin de pginas web, aplicaciones web e incluso peticin
de cualquier clase de servicio a domicilio. Como siempre una de las prioridades del ser
humano es estar seguro o al menos estar con esa sensacin, por tal razn, la seguridad
juega un papel importante en el desarrollo del internet.
Con la comprensin de la tecnologa tambin surgen nuevas ideas en las personas, no
todas buenas, que de una u otra manera perjudican al resto de personas conectadas a
dichas tecnologas. Aqu es donde surge la necesidad de comprender no solo la
tecnologa sino tambin las vulnerabilidades, en un marco de prevencin de ataques.
De esta preocupacin mencionada en los prrafos anteriores nacen algunas
organizaciones dedicadas al anlisis de dichas vulnerabilidades que de cualquier forma
son un peligro para el normal desarrollo de las personas dentro del gran mundo del
internet. Entre esas organizaciones hay que destacar a OWASP, que ao tras ao est
en la lucha a favor de la seguridad informtica, y por tal motivo, muestra un
lanzamiento de las vulnerabilidades de los sistemas que ms se repiten durante el ao.
El conocimiento de la existencia de dichas vulnerabilidades nos dan una ayuda a la
hora de navegar por el internet, al crear aplicaciones que estn disponibles en la red,
etc., para poder tomar las precauciones debidas antes de lanzar una aplicacin o
pgina al internet. A continuacin, en el presente documento se realiza el anlisis de
una de las diez vulnerabilidades que ms se han encontrado en los sistemas durante el
2013 segn el ranking de OWASP. Esta vulnerabilidad se llama File Upload.
2. Fundamentos del ataque escogido
Para el anlisis en el presente documento se escogi una vulnerabilidad del listado de
las 10 vulnerabilidades de OWASP que es File Upload dentro de Uso de
Componentes con Vulnerabilidades Conocidas. Los archivos subidos
representan un riesgo significativo para las aplicaciones. El primer paso en muchos
ataques es conseguir algo de cdigo para el sistema a ser atacado. Luego del ataque slo
tiene que encontrar la manera de obtener el cdigo ejecutado. El uso de un archivo de
carga ayuda al atacante lograr el primer paso.
Las consecuencias de la carga de archivos sin restricciones pueden variar, incluyendo
adquisicin completa del sistema, un sistema de archivos sobrecargada o base de datos,
transmisin de ataques a sistemas back-end y sencilla desconfiguracin. Depende de lo
que hace la aplicacin con el archivo cargado y, especialmente, donde se almacena.
En realidad, hay dos clases de problemas aqu. La primera es con los metadatos del
archivo, como el nombre de la ruta y el archivo. Estos son generalmente
proporcionados por el transporte, tales como HTTP de varias partes de codificacin.
Estos datos pueden engaar a la aplicacin en sobrescribir un archivo crtico o guardar
el archivo en una mala ubicacin. Usted debe validar los metadatos muy
cuidadosamente antes de usarlo.
La otra clase de problema es con el tamao de archivo o contenido. La gama de
problemas aqu depende totalmente de lo que el archivo se utiliza. Vea los ejemplos a
continuacin algunas ideas sobre cmo podran ser mal archivos. Para protegerse
contra este tipo de ataque, debe analizar todo lo que su aplicacin hace con los archivos
y pensar cuidadosamente acerca de lo que el procesamiento y los intrpretes estn
involucrados [1].
3. Categoras del ataque
En esta vulnerabilidad prcticamente solo tiene un categora que es la de introducir
archivos a las aplicaciones web o servidores que piden subir archivos, para mediante
estos archivos tratar de entrar al sistema y realizar un primer escaneo antes de realizar
algn otro ataque. Si es que habra la categorizacin, sera ms bien en el nivel de
seguridad del programa para hacer frente a las vulnerabilidades, ya que segn las
validaciones y otros aspectos a tomar en cuenta como el tamao del archivo, se podr
realizar una aplicacin web ms segura. En este aspecto se distinguen se podra
categorizar en tres niveles: bajo, medio y alto. Esto refirindose al nivel de
programacin de la aplicacin web o la pgina.
4. Anlisis bibliogrfico del ataque
Para permitir que un usuario final para subir archivos a su sitio web, es como abrir otra
puerta a un usuario malintencionado poner en peligro su servidor. A pesar de que, en
las modernas aplicaciones web de Internet de hoy en da, es un requisito comn, ya que
ayuda a aumentar la eficiencia de su negocio. La carga de archivos se permiten en las
aplicaciones web de redes sociales, como Facebook y Twitter. Tambin se les permite
en blogs, foros, sitios de banca electrnica, YouTube y tambin en los portales
corporativos de apoyo, para dar la oportunidad al usuario final para compartir archivos
de manera eficiente con los empleados corporativos. Los usuarios pueden subir
imgenes, videos, avatares y muchos otros tipos de archivos.
Cuanta ms funcionalidad proporcionada al usuario final, mayor es el riesgo de tener
una aplicacin web vulnerable y la posibilidad de que dicha funcionalidad se abus de
los usuarios maliciosos, para obtener acceso a un sitio web especfico, o poner en
peligro un servidor es muy alta.
En el anlisis de las prximas secciones se realizar un entrenamiento en 2 casos de
ataque: el uno cuando la aplicacin web no posee ninguna validacin antes de subir el
archivo y la otra cuando pide dos validaciones.
5. Anlisis de una aplicacin de entrenamiento
DVWA es una aplicacin web basada en PHP y SQL. Esta permite el anlisis de
algunas vulnerabilidades que estn realizndose o que se podran realizar en las
aplicaciones y pginas de internet. Dentro de esta aplicacin existe una seccin para
lograr un ataque al subir un archivo del tipo .jpg. Para el funcionamiento correcto de
esta aplicacin es necesario tener instalado en el sistema operativo los servicios de
mysql y de Apache. Estos servicios son los que utiliza DVWA para realizar el
entrenamiento y el ataque dentro de la mquina. Una aplicacin que nos instala y nos
brinda los servicios anteriormente mencionados es XAMPP. Esto nos ayuda a
interpretar la aplicacin mediante el navegador. Una vez instalado la aplicacin nos
muestra una ventana como la que se observa en la figura 1, donde se ven los servicios
que estn corriendo en la mquina.
Fig. 1. XAMPP, corriendo los servicios.
La aplicacin que se utilizar ser la UPLOAD como se muestra en la figura 3. Una vez
ingresado a la aplicacin se proceder como sigue en la seccin 7.
d. Ahora, antes de intentar subir el archivo se cambiar el header del archivo para
modificar la extensin, antes de subirlo al servidor. Este procedimiento se
muestra en las figuras 11, 12 y 13.
Fig. 11. Interceptacin del paquete a ser subido al servidor
9. Conclusiones
Como se ha visto en el documento, hay muchas maneras de cmo un usuario
malintencionado puede eludir formulario de carga de archivos de seguridad.
Por esta razn, en la aplicacin de una forma de carga de archivos en una
aplicacin web, hay que asegurarse de seguir las directrices de seguridad
correctas. Desafortunadamente, para realizar el nmero de pruebas requeridas,
puede tomar mucho tiempo y requieren una buena cantidad de expertos en
seguridad web.
Si bien esta vulnerabilidad es muy conocida, todava sigue siendo una de las
ms utilizadas ya que por el incremento de servicios web y de sus aplicaciones,
cada vez ms existen formas de evitar la verificacin por parte de los servidores
y aplicaciones.
10. Referencias:
[1] https://www.owasp.org/index.php/Unrestricted_File_Upload
[2]http://www.redinfocol.org/dvwa-conociendo-y-explotando-diferentes-
vulnerabilidades-level-low/