N IVEL DE ATAQUE

 

Nivel de Sistema Nivel de Aplicacion

INTRODUCCION

Es el nivel de acceso que representa más riesgo. Es lo que todo intruso desea lograr en una máquina: tener el control total de los recursos... adueñarse completamente de la máquina con los mismos privilegios que el propio administrador.

Nivel de Aplicación Los ataques a nivel de aplicación son aquellos que se realizan explotando vulnerabilidades de aplicaciones que permitan modificar los datos que la propia aplicación manipula, pero sin la posibilidad de ejecución de comandos sobre el sistema operativo.

INTRODUCCION

Las principales vulnerabilidades de este tipo de aplicaciones incluyen fallas de inyección de código o de archivos (SQL injection o system commands injection)

Las Aplicaciones Web que son vulnerables a SQL injection pueden permitir que un a atacante obtenga acceso completo a su base de datos, este tipo de ataques se manifiesta en los sistemas de base de datos introduciendo sentencias SQL

(inyección directa de comandos SQL o SQL injection) Técnica utilizada por personas maliciosas con el fin de alterar o atacar un sitio o servidor a través de comandos SQL.

Las inyecciones utilizan información de entrada del usuario combinado con comandos SQL para construir una consulta SQL maliciosa

Con estas inyecciones se pueden obtener datos escondidos, eliminar o sobrescribir datos en la base de datos y hasta lograr ejecutar comandos peligrosos en la máquina donde está la base de datos.

El objetivo de SQL Injection es introducir datos arbitrarios, mayormente en las consultas a la base de datos, Introduce una cadena que es finalmente ejecutada por la base de datos,

MS SQL MySQL Oracle DB2 Postgres

Tenemos a ASP y PHP como los lenguajes más habituales

Tipos de SQL Injection

Inyección Básica. Conocimiento de la Base de Datos

  

Realizar Consultas con una o mas acciones
La información de errores, herramienta para realizar SQL Injection

E JEMPLO DE SQL I NJECTION B ASICO
 

Nombres: Ju'; drop table authors-Apellidos:

La consulta quedara asi:

M ECANISMOS DE I NYECCION SQL

Inyección A través de Cookies:

La vulnerabilidad de la aplicacion Web esta cuando utiliza estos cookies para hacer consultas SQL.

Inyección a través de variables del Servidor:

El atacante puede falsificar estas variables y ponerla en el network header.

Inyección de Segundo Orden:

se introduce de manera indirecta un disparador a la base de datos

INYECCIÓN A CIEGAS (BLIND INJECTION)

   

Identificación de parámetros inyectables Descubrir tipo y versión de la base de datos Determinar el esquema de la base de datos Extraer datos, etc…

F ORMAS DE C ONSEGUIR I NFORMACIÓN DE LA B ASE DE DATOS

 

Usuario: ' having 1=1-This provokes the following error:

Dato Erróneo

Microsoft OLE DB Provider for ODBC Drivers error '80040e14' Objetivo del Atacante [Microsoft][ODBC SQL Server Driver][SQL Server]Column 'users.id' is invalid in the select list because it is not contained in an aggregate function and there is no GROUP BY clause. /process_login.asp, line 35

M ETODOS PARA E VITAR L A I NYECCIÓN SQL

Prepared Statements
Magic Quotes


MSQL Exception
mysql_real_escape_string

Permisos

P REPARED S TATEMENTS

No todas las bases de datos ofrecen esta caracteristica
Evita la ejecucion multiple de ordenes(consultas)


Tambien separan los datos de la consulta
separan la sentencia SQL de los datos que vamos a usar.

M ÉTODOS PARA E VITAR SQL I NJECTION

MSQL Exception.- function no permite realizar consultas múltiples en una sola llamada Magic Quotes.- magic_quotes_gpc, provee de una protección rudimentaria, si está habilitado, magic_quotes_gpc o magiq Quotes inserta un barra (backSlash) delante de una comilla simple

I NYECCIÓN SQL
 

EN

M Y SQL

mysql_real_escape_string: Evita todos los caracteres especiales del parámetro $name argumento, teniendo en cuenta el juego de caracteres usado en la conexión, de forma que sea segura usarla con Mysql_query. Permisos.- el usuario que accede a la base de datos usado por la aplicación web tiene solamente los permisos mínimos Un administrador desactiva SHOW_ERRORS y SHOW_WARNINGS para evitar mostrar información

H ERRAMIENTAS
   

DE

D ETECCION A UTOMATICA

SQLMap

Sistemas Multiagentes
SQLMap

Amnesia

S ISTEMA MULTIAGENTE ORIENTADA A LA
DETECCIÓN DE ATAQUES BASADOS EN INYECCIÓN

SQL .

SQLM AP

Con esta herramienta se puede ejecutar comandos arbitrarios en el sistema operativo, y muchas tareas más.

O todo el volcado de las tablas/columnas, especifica el dbms, ejecuta su propio SQL SELECT, leer archivos específicos en el sistema de archivos y mucho mas.

PANGLIN

Desarrollado por la empresa NOSEC

Automatiza el análisis de seguridad, detección y ejecución de Inyección SQL.
Tiene una versión gratuita y una versión de paga.

Investigadores del sitio de seguridad WEBSENSE detectaron un masivo ataque de tipo Inyeccion SQL A mas de 380000 url’s y han bautizado este ataque con el nombre LizaMoon

C ONCLUSIONES /R ECOMENDA
CIONES

Los Ataques por SQL Injection son realmente peligrosos, no únicamente por la capacidad de daño que conllevan, sino porque son vulnerabilidades que muchos programadores no corrigen a tiempo (ni se preocupan, a posteriori, de hacerlo).

"LA SEGURIDAD INFORMÁTICA NO ES UN PRODUCTO SINO UN PROCESO"

Sign up to vote on this title
UsefulNot useful