Vous êtes sur la page 1sur 40

Lo ad in g

ethical hacking C:\>echo Seguridad en Aplicaciones...|


----------------------------------------

Haga clic para modificar el estilo de subttulo del JUCSE 2012 patrn

Universidad Catlica de Santiago del Estero


http://www.ucse.edu.ar/jucase2012
'>

width:; eight:; le> :; h g </tit z-index <html> l Hackin te; top:; left:; /p> thica > < <head CSE 2012 - E ition:Absolu Ponce p> os >JU auricio u.ar</ <title style='p Ing. Diego M ucse.ed <div ce@ <p> go.pon ail: die <p>m </div> > 2/21/13 </head </html>

Seguridad en aplicaciones
Que

es una aplicacin?

Una aplicacin es un programa informtico escrito para cumplir con los requerimientos que llevaron a la escritura del mismo.

2/21/13

Seguridad en aplicaciones
Que

tipos de aplicaciones hay?

Estn los Operativos, las desktop y las Web. Existen propietarias y libres, gratuitas y pagas. Hay compiladas o interpretadas
2/21/13

Seguridad en aplicaciones
Como

se crea una aplicacin?

2/21/13

Seguridad en aplicaciones
Que

es una aplicacin WEB?

Segn OWASP (The Open Web Application

Security Project http://www.owasp.org) una aplicacin WEB es un software de aplicacin cliente / servidor que interacta con usuarios u otros sistemas, utilizando HTTP

2/21/13

Seguridad en aplicaciones
Como

son las aplicaciones WEB?

Se desarrollan como cualquier otra

aplicacin.

Su ejecucin no depende del Sistema

Operativo anfitrin, sino depende de una aplicacin conocida como browser.


El cdigo de una aplicacin WEB no se

ajusta a un nico lenguaje. Una aplicacin WEB puede ser una combinacin de 1 o mas lenguajes.
2/21/13

Seguridad en aplicaciones
Como

se ejecutan las aplicaciones

WEB?
La ejecucin de una aplicacin WEB consta

de una serie de pasos.


Primero

se inicia un Browser se introduce una direccin URL

Segundo Tercero,

comienza la iteracin entre el usuario y la aplicacin

2/21/13

Seguridad en aplicaciones
Como

se ejecutan las aplicaciones

WEB?
U RL

Brow ser

2/21/13

Seguridad en aplicaciones
Componentes

de una Aplicacin WEB

Client e

Intern et

Servid or

2/21/13

Seguridad en aplicaciones
Recopilacin

de Informacin (pruebas de firma digital).


Dada la cantidad de servidores WEB que existen

en el mercado, es necesario obtener con precisin de que servidor se trata el sistema que es objetivo del test (Ataque).
Existen diferentes formas de inferir esta

informacin.
Se debe tener en cuenta que los servidores

brindan informacin de acuerdo al contexto de su implementacin.


2/21/13

Seguridad en aplicaciones
Recopilacin

de Informacin (pruebas de firma digital).


Herramientas:
netcat

herramienta de redque permite a travs de intrprete de comandos abrir puertos TCP/UDP en un HOST, asociar una shell a un puerto en concreto y forzar conexiones UDP/TCP.

(http://netcat.sourceforge.net/) es una

2/21/13

Seguridad en aplicaciones
Recopilacin

de Informacin (pruebas de firma digital).


Herramientas:
httprint

unaherramienta automatizada que por el intermedio de diccionario de firmas, puede llevar el anlisis de un servidor.

(http://net-square.com/httprint.html) es

2/21/13

Seguridad en aplicaciones
Recopilacin

de Informacin (pruebas de firma digital).


Herramientas:
netcraft

on line la cual nos permite recopilar informacin acerca de los servidores WEB objetivo.

(http://news.netcraft.com/) es unaherramienta

2/21/13

Seguridad en aplicaciones
Descubrimiento

de Aplicaciones.

Encontrar que aplicaciones especficas se

encuentran instaladas en un servidor web es un elemento esencial en un test de vulnerabilidades de una aplicacin web.
Muchas aplicaciones tienen vulnerabilidades

y estrategias de ataque conocidas, que pueden ser explotadas para conseguir control remoto o explotacin de los datos de la aplicacin.

2/21/13

Seguridad en aplicaciones
Descubrimiento
Direcciones

de Aplicaciones.

Pruebas de Caja Negra.


URL de base diferente: El punto de entrada obvio de una aplicacin web es http://www.ejemplo.com . Pero nada obliga a tener la aplicacin en la / del sitio. Por ejemplo podemos tener 3 aplicaciones publicadas as:

http://www.ejemplo.com/ap01 http://www.ejemplo.com/ap02 http://www.ejemplo.com/ap03

En donde http://www.ejemplo.com no tenga absolutamente nada.


2/21/13

Seguridad en aplicaciones
Descubrimiento
Direcciones

de Aplicaciones.

Pruebas de Caja Negra.


URL de base diferente: descubrir aplicaciones publicadas de esta manera puede no ser sencillo, se puede apelar a lo siguiente:

Una mala configuracin del servidor que permita listar el rbol de directorios. las aplicaciones pueden estar referenciadas por otras pginas web; en tal caso, es posible que hayan sido recorridas e indexadas por motores de bsqueda. Si sospechamos podemos buscar va Google usando el operador site y examinando el resultado de una consulta site: www.ejemplo.com.
2/21/13

Seguridad en aplicaciones
Descubrimiento
Puertos

de Aplicaciones.

Pruebas de Caja Negra.


No Estndar: los protocolos http y https funcionan en el puerto 80 o 443 respectivamente, pero nada impide configurar una aplicacin en otro puerto, por ejemplo http://www.ejemplo.com:2500
http://nmap.org/) y hacer un barrido en todos los puertos. por ejemplo nmap -PO sT sV p1-65535
192.168.100.1

Para

esto podemos utilizar la herramienta nmap (

2/21/13

Seguridad en aplicaciones
Descubrimiento
Puertos

de Aplicaciones.

Pruebas de Caja Negra.


No Estndar: salida del comando nmap.

2/21/13

Seguridad en aplicaciones
Spidering

y Googling.

Las web spiders son las herramientas ms

potentes y tiles desarrolladas en Internet. Una spider sirve para una funcin, el Data Mining. Una spider tpica (como Google) funciona inspeccionando las pginas de un sitio web una por una de forma automatizada, almacenando la informacin relevante para crear un registro de pginas, direcciones e-mail metatags, datos de formularios, informacin sobre las direcciones URL, enlaces, etc. Despus, la spider recorre los enlaces de la pgina, recolectando
2/21/13

Seguridad en aplicaciones
Herramienta

Spidering.

Para este caso podemos usar el comando wget (

http://www.gnu.org/software/wget/).Nuestro objetivo es crear un mapa de la aplicacin con todos los puntos de acceso (puertas) de la aplicacin.

2/21/13

Seguridad en aplicaciones
Herramienta

Googling.

Se basa en el potencial del motor de bsquedas

Google.com, como se sabe las bsquedas que podemos hacer a travs de google pueden ser enriquecidas por parmetros y comandos extras. Por ejemplo si deseamos buscar solo PDF, debemos usar la siguiente sintaxis: filetype:pdf <frase de bsqueda>

2/21/13

Seguridad en aplicaciones
Acceso

a Directorios y Archivos Ocultos.

Aunque la mayora dearchivosen un servidor

web son gestionados directamente por el propio servidor, no es raro encontrararchivossin referencias y/o olvidados, que pueden ser utilizados para obtener importante informacin sobre la infraestructura o credenciales.

2/21/13

Seguridad en aplicaciones
Acceso

a Directorios y Archivos Ocultos.

Herramienta Nikto (http://cirt.net/nikto2)/Wikto (http://

www.sensepost.com/labs/tools/pentest/wikto) es un Escner de Servidores WEB. El escner lo realiza sobre directorios y archivos que pueden ser potencialmente sensibles.

2/21/13

Seguridad en aplicaciones
Acceso

a Directorios y Archivos Ocultos. Fuerza Bruta.


Herramienta OWASP Dirbuster (https://

www.owasp.org/index.php/Category:OWASP_DirBuster_Project ) es una aplicacin Java multi hilo diseada para obtener por fuerza bruta los nombres de directorios y archivos enservidores Web. A menudo ocurre que lo que ahora parece un servidor Web en una fase de instalacin por defecto, no lo es, y tiene pginas y aplicaciones ocultas. DirBuster trata de encontrar estos archivos y directorios

2/21/13

Seguridad en aplicaciones
Acceso

a Directorios y Archivos Ocultos. Fuerza Bruta.


Herramienta OWASP Dirbuster

2/21/13

Seguridad en aplicaciones
SQL

Injection.

SQL Injection es un mtodo de infiltracin de

cdigo intruso que se vale de una vulnerabilidad informtica presente en una aplicacin en el nivel de validacin de las entradas para realizar consultas a una base de datos. El origen de la vulnerabilidad radica en el incorrecto chequeo y/o filtrado de las variables utilizadas en un programa que contiene, o bien genera, cdigo SQL.

2/21/13

Seguridad en aplicaciones
SQL

Injection, ASP y SQL.

Sobre variables de programa, es decir podemos

inyectar cdigo en las variables que construyen la cadena SQL. Por ejemplo veamos en ASP:

2/21/13

Seguridad en aplicaciones
SQL

Injection, ASP y SQL.

Como se pudo observar, que al introducir un

usuario y un password correcto, la sentencia devolver una fila de la Tabla. Y si el usuario o password es incorrecto, no devolver nada. O sea da a entender que la sentencia devolver una fila siempre y cuando las credenciales sean correctas. Tpico Login.

2/21/13

Seguridad en aplicaciones
SQL

Injection, ASP y SQL.


txtUsuario: ' OR 'A'='A txtPassword: ' OR 'A'='A

Supongamos que el usuario introduce lo

siguiente:

En consecuencia a los datos ingresados, la

sentencia* SQL DB_SQL.USUARIOSla siguiente forma: quedar de SELECT FROM


WHERE USU_ID='' OR 'A'='A' AND USU_PWD='' OR 'A'='A'

2/21/13

Seguridad en aplicaciones
SQL

Injection, ASP y SQL.


SELECT * FROM DB_SQL.USUARIOS WHERE USU_ID='' OR TRUE AND USU_PWD='' OR TRUE

La sentencia anterior es equivalente a:

Teniendo en cuenta la expresin lgica la

sentencia* es equivalente a: SELECT FROM DB_SQL.USUARIOS


WHERE TRUE AND TRUE

Con lo que se debilito la clausula WHERE y lo

mas probable es que se inicie sesin con el primer usuario de la tabla.


2/21/13

Seguridad en aplicaciones
SQL

Injection, ASP y SQL.


txtUsuario: ' OR 'A'='A txtPassword: ' OR 'A'='A'; DELETE FROM DB_SQL.USUARIOS WHERE 'A'='A;

Por otro lado si el atacante introdujo lo siguiente:

Quedando la sentencia:
SELECT * FROM DB_SQL.USUARIOS WHERE USU_ID='' OR 'A'='A' AND USU_PWD='' OR 'A'='A'; DELETE FROM DB_SQL.USUARIOS WHERE 'A'='A';

En este caso no solo debilito la clausula WHERE

sino que tambin se inyecto cdigo malicioso.


2/21/13

Seguridad en aplicaciones
SQL

Injection, que medidas tomar.

Utilizar procedimientos almacenados, los cuales

se deben invocar de forma parametrizada.


Validar los datos ingresados por el usuario, por

ejemplo con expresiones regulares. usuario sobre la BD.

Minimizar el nivel de permiso concedido al Realizar un correcto manejo de los errores.

2/21/13

Seguridad en aplicaciones
XSS,

Cross Site Scripting.

XSS, del ingls Cross-site scripting es un tipo

de inseguridad informtica tpico de las aplicaciones Web, que permite a una tercera parte inyectar en pginas web cdigo en un lenguaje de script como ser JavaScript, VBScript, PHP, Perl, Python, etc, evitando medidas de control.

2/21/13

Seguridad en aplicaciones
XSS,

Indirecto.

Este tipo de XSS es ms frecuente encontrarlo en las

aplicaciones web. El cdigo JavaScript que se incrusta en el documento HTML no es persistente en el tiempo, es decir, solo afecta al usuario que utiliza el navegador.

2/21/13

Seguridad en aplicaciones
XSS,

Indirecto.

Ejemplo. Sea el cdigo del sitio:


//index.php <html> <head> <title>Buscador vulnerable</title> </head> <body> <form method="get" action="buscador.php"> <input type="text" name="buscar"> <input type="submit" value="Buscar"> </form> </body> </html>

2/21/13

Seguridad en aplicaciones
XSS,

Indirecto.

//buscador.php <html> <head> <title>Buscador vulnerable</title> </head> <body> echo 'Estas buscando:'.$_GET['buscar']; </body> </html>

http://www.servidorvulnerable.com/buscador.php?buscar=coches cuanta a generado cdigo html. Quedando la URL as. %20de%20segunda

Si el usuario ingresa coches de segunda, sin darse

2/21/13

Seguridad en aplicaciones
XSS,

Indirecto.

Ahora si el usuario manipula los datos de entrada e

introduce <script>alert(XSS)</script>, la pagina cargada contendr el siguiente cdigo


//buscador.php <html> <head> <title>Buscador vulnerable</title> </head> <body> Estas buscando:<script>alert(XSS)</script> </body> </html> http://www.servidorvulnerable.com/buscador.php? buscar=<script>alert(XSS)</script>

2/21/13

Seguridad en aplicaciones
XSS,

Indirecto.

Como resultado de la ejecucion del script se

visualizara una mensaje con la frase XSS.

De esta forma se puede introducir desde un simple

Alert hasta cdigo malicioso.

2/21/13

Seguridad en aplicaciones
XSS,

Persistente.

Funciona localizando puntos dbiles en la programacin de

los filtros de HTML si es que existen, para publicar contenido (como blogs, foros, etc.). Normalmente el atacante tratara de insertar tags como <iframe>, o <script>, pero en caso de fallar, el atacante puede tratar de poner tags que casi siempre estn permitidas y es poco conocida su capacidad de ejecutar cdigo. De esta forma el atacante podra ejecutar cdigo malicioso.
<div fu="alert('Hola mundo');" STYLE="background-image: url(javascript:eval(this.fu))">

2/21/13

Ex i

ethical hacking C:\>echo Seguridad en Aplicaciones...|


----------------------------------------

Haga clic para modificar el estilo de subttulo del patrn

THE END
'>

width:; eight:; le> :; h g </tit z-index <html> l Hackin te; top:; left:; /p> thica > < <head CSE 2012 - E ition:Absolu Ponce p> os >JU auricio u.ar</ <title style='p Ing. Diego M ucse.ed <div ce@ <p> go.pon ail: die <p>m </div> > 2/21/13 </head </html>

Vous aimerez peut-être aussi