Clase01 - Curso Hacker Ético

58
CURSO HACKER ÉTICO By Franciny Salles (#Bl4kd43m0n)

Transcript of Clase01 - Curso Hacker Ético

Page 1: Clase01 - Curso Hacker Ético

CURSO HACKER ÉTICO

By Franciny Salles (#Bl4kd43m0n)

Page 2: Clase01 - Curso Hacker Ético

Hacker, curioso, ingeniero, esposo, padre, 20 años de experiencia en cyber security,

Mi cv: https://mit.academia.edu/FranSalles

Me

Page 3: Clase01 - Curso Hacker Ético

Auspiciadores

Page 4: Clase01 - Curso Hacker Ético

Did you get it / Did you need it

Did you really / What you wanted

Was it good in the sun?

Did you really have the fun?

Did you crack it / Did you grab it

Did you reel it / Like a rabbit

Did you walk / Did you run

Did you move this here?

(U2 – “Where did it all go wrong?”)

The Beginning

Page 5: Clase01 - Curso Hacker Ético

The Beginning

Glider, el emblema hacker, fue propuesto primero en octubre de2003 por Eric S. Raymond, alegando la necesidad de una unificación y unsímbolo reconocible para la percepción de la cultura hacker.

Esto no se refiere a la acción de infringir ó irrumpir sin permiso en loscomputadores/ordenadores. Tal acción es realizada por los llamadoscrackers.

Raymond ha dicho que uno no pretende ser un hacker sólo para mostrar este emblema, perosugiere que:

"el uso de este emblema expresa la solidaridad con los objetivos y valores de los hackers, y laforma de vivir de un hacker".

La imagen en sí misma es una representación de un planeador (Glider), una formación en elJuego de la vida de John Conway que viaja en todos los ámbitos. Se descubrió por primera vezpor Richard K. Guy. Es la más pequeña nave espacial, y se desplaza en forma diagonal a unavelocidad de c/4.

The Beginning

Page 6: Clase01 - Curso Hacker Ético

Hacker¿Héroe o Villano?

DEFINICION

Experto en varias ramas relacionadas con las tecnologías de información y las telecomunicaciones.

“Hacker, usando la palabra inglesa, quiere decir divertirse con el ingenio [cleverness], usar la inteligencia para hacer algo difícil.” (RICHARD STALLMAN)

Los hackers resuelven problemas y construyen cosas, y creen en la libertad y en la ayuda mutua voluntaria.

Eric Steven Raymond.(Hacker How-to)

The BeginningThe Beginning

Page 7: Clase01 - Curso Hacker Ético

ETICA HACKER

Himanen destaca una serie de valores entre otros:

-PASION -ANTI-CORRUPCION -CREATIVIDAD

-LIBERTAD -IGUALDAD SOCIAL

-CONCIENCIA SOCIAL -LIBRE ACC. A LA INFORMACION

-VERDAD -VALOR SOCIAL

-ANTI-FASCISMO -ACCESIBILIDAD -PREOCUPACION RESPONSABLE

The BeginningThe Beginning

Page 8: Clase01 - Curso Hacker Ético

SIMBOLOS Y PERSONAJES:

RICHARD STALLMAN

“Las obras de conocimiento deben ser libres,no hay escusa para que no sean asi”

The BeginningThe Beginning

Page 9: Clase01 - Curso Hacker Ético

RICHARD STALLMAN

Creo un marco de referencia moral, político y legal para elmovimiento del software libre, como una alternativa aldesarrollo y distribución de software privativo. Es tambiéninventor del concepto de Copyleft (aunque no del término), unmétodo para licenciar software de tal forma que éstepermanezca siempre libre y su uso y modificación siemprereviertan en la comunidad.

The BeginningThe Beginning

Page 10: Clase01 - Curso Hacker Ético

ERIC STEVEN RAYMOND

“Con los suficientes ojos,todos los errores son fáciles de encontrar”

The BeginningThe Beginning

Page 11: Clase01 - Curso Hacker Ético

ERIC STEVEN RAYMOND

También conocido como ESR, es el autor de The Catedral and the Bazar (La Catedral y el Bazar) y el responsable actual del

Jargon File (también conocido como The New Hacker'sDictionary). En 1997 se convirtio en una figura líder en el

Movimiento del Software Libre y el Código abierto. Hoy día es uno de sus personajes más famosos y controvertidos.

The BeginningThe Beginning

Page 12: Clase01 - Curso Hacker Ético

Cracker

DefiniciónUn cracker es alguien que viola la seguridad de un sistema

informatico de forma similar a como lo haría un HACKER, sólo que a diferencia de este último, el cracker realiza la intrusión con fines de

beneficio personal o para hacer daño.

Por ello los CRACKERS son temidos y criticados por la mayoría de HACKERS, por el desprestigio que les supone ante la

opinión pública y las empresas, son aquellos que utilizan sus conocimientos técnicos para perturbar procesos informáticos Pueden considerarse un subgrupo marginal de la comunidad de

hackers.

The BeginningThe Beginning

Page 13: Clase01 - Curso Hacker Ético

CRACKERS FAMOSOS

FRED COHEN

The BeginningThe Beginning

Page 14: Clase01 - Curso Hacker Ético

Un estudiante de la Universidad de California del Sur, comenzó un experimento el 3 de Noviembre de 1983 y lo hizo público el

10 de Noviembre de 1983: El primer Virus de Unix.

Bautizado Virus por su capacidad de modificar el entorno para multiplicarse y evolucionar (desde modificaciones básicas al código) igual que los virus biológicos (reconozcamos que al menos fue muy ocurrente en su bautismo!).. hoy en día la

evolución es cada día más interesante y los nuevos no necesitan participación “activa” de los “hosts” o usuarios

infectados.

The BeginningThe Beginning

Page 15: Clase01 - Curso Hacker Ético

ROBERT TAPPAN MORRIS

The BeginningThe Beginning

Page 16: Clase01 - Curso Hacker Ético

Es conocido por crear el Gusano Morris en 1988, considerado como el primer gusano de ordenador de la era de Internet. Es hijo de Robert Morris, ex jefe científico en el Centro Nacional

de Seguridad Informática, una división de la agencia de Seguridad Nacional (NSA).

The BeginningThe Beginning

Page 17: Clase01 - Curso Hacker Ético

KEVIN DAVID MITNICK

The BeginningThe Beginning

Page 18: Clase01 - Curso Hacker Ético

En 1981 Kevin y dos amigos suyos irrumpieron en las oficinas de Cosmos (Computer System for Mainframe Operations) de la

compañía Pacific Bell – que era una base de datos utilizada por la mayor parte de las compañías telefónicas norteamericanas

para controlar el registro de llamadas -. Una vez allí obtuvieron la lista de claves de seguridad, la combinación de las puertas

de acceso de varias sucursales, y manuales del sistema COSMOS, entre otras cosas. De hecho, se comentó que lo

sustraido por Mitnick y sus amigos tenía un valor equivalente a 170.000 euros.

The BeginningThe Beginning

Page 19: Clase01 - Curso Hacker Ético

Hacker vs Cracker

• HACKER:

Dentro de la cultura underground del Hacking , Hacker es toda aquella persona con elevados conocimientos informáticos independientemente de la finalidad con que los use.

• CRACKER:

Mientras que Cracker es aquel individuo que se especializa en saltar las protecciones anticopia de software, de ahí el nombre

crack para definir los programas que eliminan las restricciones en las versiones de demostración de software comercial,así como

robar informacion confidencial de equipos ajenos.

The BeginningThe Beginning

Page 20: Clase01 - Curso Hacker Ético

• CUAL ES TU SOMBRERO?

“WHITE HAT” “GREY HAT” “BLACK HAT”

PUNTO

HACKERS INTERMEDIO CRACKERS

HACKER-CRACKER

The BeginningThe Beginning

Page 21: Clase01 - Curso Hacker Ético

El mundo está lleno de problemas fascinantes que esperan ser resueltos

• Es muy divertido ser un hacker, pero es la clase de diversión que requiere mucho esfuerzo. El esfuerzo requiere motivación. Los atletas

triunfadores obtienen su motivación a partir de un tipo de placer físico que surge de trabajar su cuerpo, al forzarse a sí mismos más allá de sus

propios límites físicos. De manera similar, para ser un hacker deberás sentir un estremecimiento de tipo primitivo cuando resuelves

problemas, afinas tus habilidades y ejercitas tu inteligencia.

• Si no eres la clase de persona que te sientes inclinado hacia estas cosas de forma natural, necesitarás poder experimentarlas para llegar a ser

un hacker. De no ser así, encontrarás que tu energía para "hackear" se verá agotada por otras distracciones como el sexo, el dinero o la

aprobación social.

• (Además deberás desarrollar cierta clase de fe en tu propia capacidAadde aprendizaje —la creencia de que, aun cuando puedes no saber todo lo que necesitas para resolver un problema, si tomas una parte de él y aprendes desde allí, aprenderás lo suficiente para resolver la siguiente

parte, y así, hasta que lo tengas resuelto por completo.)

The BeginningThe Beginning

Page 22: Clase01 - Curso Hacker Ético

CUÁNTO TE CONOCE GOOGLE (ANUNCIOS)

• Tengas o no una cuenta en Google Plus, la empresa tiene un perfil básico que auna tus conductas de navegación en

Internet: sabe qué edad tienes, cuál es tu género y algunos de tus gustos, en función de las búsquedas que realizas a

diario en el buscador.

• Esa información usualmente es utilizada para mostrarte publicidad y anuncios personalizados mientras navegas en distintos sitios: ¿qué es lo que exactamente saben sobre

ti? Entra en este link: https://www.google.com/ads/preferences/

Nuestro Amigo

Page 23: Clase01 - Curso Hacker Ético

"I want to know everything about you, so I tell you everything about myself."— Amy Hempel

Nuestro Amigo

Page 24: Clase01 - Curso Hacker Ético

HACIA DÓNDE TE MUEVES

• Si no lo sabías, quizá esto te sorprenda: Google conoce también cada paso que has dado, literalmente. Si

utilizas Android, a través de tu dispositivo móvil, Google ha "trackeado" tus trayectos que realizas día a día. ¿Cómo ver

qué lugares has recorrido? Mira: https://maps.google.com/locationhistory

Nuestro Amigo

Page 25: Clase01 - Curso Hacker Ético

TU ARCHIVO DE BÚSQUEDAS EN GOOGLE

• El buscador más importante del mundo no podía no tener esta opción: cada búsqueda que has realizado y cada click

que has hecho en sus anuncios. Para revisar tu registro, haz click en este link: https://history.google.com

Nuestro Amigo

Page 26: Clase01 - Curso Hacker Ético

AVERIGUA QUÉ DISPOSITIVOS SE HAN LOGUEADO CON TU CUENTA

• Si sospechas que alguien ha estado usando tu cuenta, Google lleva el registrado de los dispositivos en los que tienes

conectada tu cuenta. Así, a través de la dirección IP, podrías localizar qué equipo y desde dónde se está iniciando

sesión:https://security.google.com/settings/security/activity

Nuestro Amigo

Page 27: Clase01 - Curso Hacker Ético

QUÉ APLICACIONES PUEDEN VER TUS DATOS (Y CUÁLES)

• Google tiene la opción para desplegarte en una lista todas las aplicaciones que utilizan tu cuenta de correo electrónico como acceso. De esta manera, puedes regular quiénes y

cuánto pueden ver de tus datos personales:https://security.google.com/settings/security/ac

tivity

Nuestro Amigo

Page 28: Clase01 - Curso Hacker Ético

EXPORTA TUS DATOS

• Finalmente, Google te permite bajar tus datos e información consolidada. Dígase: marcadores de Chrome, e-mails,

contactos, archivos de Google Drive, tu información de perfil, tus videos subidos a YouTube, fotos y

más:https://www.google.com/takeout

Nuestro Amigo

Page 29: Clase01 - Curso Hacker Ético

site:www.elahacker.net inurl:admin

Nuestro Amigo

Page 30: Clase01 - Curso Hacker Ético

Usando google como servidor Proxy

Nuestro Amigo

Page 31: Clase01 - Curso Hacker Ético

Intitle:index.of “parent directory”

Intitle:index.of inurl:admin

intitle:index.of ws_ftp.log

intitle:index.of “ server at”

Nuestro Amigo

Page 32: Clase01 - Curso Hacker Ético

Buscando servidores web:

• “AnWeb/1.42h” intitle:index.of

• “Apache Tomcat/” intitle:index.of

• “Apache-AdvancedExtranetServer/” intitle:index.of

• “Apache/df-exts” intitle:index.of

• “Apache/” “server at” intitle:index.of

• “Apache/AmEuro” intitle:index.of

• “Apache/Blast” intitle:index.of

• “Apache/WWW” intitle:index.of

• “Apache/df-exts” intitle:index.of

Nuestro Amigo

Page 33: Clase01 - Curso Hacker Ético

Interceptando algunos correos:

filetype:mbx mbx intext:Subject

Nuestro Amigo

Page 34: Clase01 - Curso Hacker Ético

Buscando archivos de registro del Windows que puedenrevelar correos y claves

filetype:reg reg +intext: filetype:reg reg +intext: ”internet account manager”

Nuestro Amigo

Page 35: Clase01 - Curso Hacker Ético

"No one can construct for you the bridge upon which precisely you must cross the stream of life, no one but you

yourself alone."— Friedrich Nietzsche

XSS Cross-Site Scripting

Page 36: Clase01 - Curso Hacker Ético

XSS significa Cross Site Scripting, no lo abreviaron en CSS para no confundirlo con las hojas de estilo en cascada. A

veces también se le llama HTML injection pero esto no es correcto, lo correcto es llamarle XSS o Cross-Site Scripting. Esta vulnerabilidad es un fallo en el sistema de validación de HTML incrustado y consiste en inyectar código HTML y Javascript donde no debería haberlo y así conseguir algún provecho, normalmente esta vulnerabilidad se usa para el

robo de cookies, para hacer phishing y defaces en los foros.

XSS Cross-Site Scripting

Page 37: Clase01 - Curso Hacker Ético

Se suele encontrar en los buscadores de la web. Hay dos clases de XSS, la indirecta y la directa. La indirecta es la menos censurada y la menos explotada, y la directa es mas difícil de encontrar ya que se suele filtrar mas.

• - Directa (Persistente): Esta es muy divertida! pero es muy difícil de encontrar una vulnerabilidad de este tipo. Se encuentra en los foros, libros de visita y webs que se puedan modificar por medio de formularios. Con una vulnerabilidad como esta siempre que alguien entre a la parte del foro donde se ha inyectado el código, se ejecutara en su navegador y hará lo que tenga que hacer, mucha gente usa esta vulnerabilidad para hacer un deface usando una etiqueta <div> que cubra toda la web o con un script que la redireccione a tu sitio.

• - Indirecta (Reflejada): Este tipo de XSS es muy fácil de encontrar en motores de búsqueda sobre todo, en esta el código se inyecta a través de formularios, URL, cookies, programas en Flash o incluso en vídeos. Esta vulnerabilidad es mas difícil sacarle provecho ya que tenemos que conseguir que alguien entre en el enlace malicioso, mas adelante se vera lo que es un enlace malicioso.

XSS Cross-Site Scripting

Page 38: Clase01 - Curso Hacker Ético

• http://www.webvulnerable.es?buscar=codigo_insertado

XSS Cross-Site Scripting

Page 39: Clase01 - Curso Hacker Ético

Ahora imaginemos un buscador de texto dentro de una web, podemos poner cualquier cosa y la web nos respondería: "Lo que hayas puesto no se ha encontrado, repita su búsqueda",

donde pone "lo que hayas puesto" podríamos poner otra cosa como <h1>Hola</h1> y si es vulnerable el navegador lo

interpreta como parte del código HTML y saldría hola en letras grandes, pero envés de poner "<h1>hola</h1>" podemos

insertar un código que hiciese que cuando alguien entre le robe las cookies y las almacene en otro servidor.

XSS Cross-Site Scripting

Page 40: Clase01 - Curso Hacker Ético

Si la web pasa la variable del buscador mediante GET (es lo mas común) podemos generar una URL maliciosa y hacer que alguien entrase y así le robaríamos las cookies.

*cookies:

es una pequeña información enviada por un sitio web y almacenada en el navegador del usuario, de manera que el sitio web puede consultar la actividad previa del usuario.

Sus principales funciones son:

Llevar el control de usuarios: cuando un usuario introduce su nombre de usuario y contraseña, se almacena una cookie para que no tenga que estar introduciéndolas para

cada página del servidor. Sin embargo, una cookie no identifica a una persona, sino a una combinación de computador-navegador-usuario.

Conseguir información sobre los hábitos de navegación del usuario, e intentos de spyware (programas espía), por parte de agencias de publicidad y otros. Esto puede causar problemas de privacidad y es una de las razones por la que las cookies tienen sus

detractores.

XSS Cross-Site Scripting

Page 41: Clase01 - Curso Hacker Ético

Aunque las cookies deben ser almacenadas y enviadas de vuelta al servidor sin modificar, un atacante podría

modificar el valor de las cookies antes de devolverlas. Si, por ejemplo, una cookie contiene el valor total de la

compra de un usuario en un sitio web, cambiando ese valor el servidor podría permitir al atacante pagar menos

de lo debido por su compra. El proceso de modificar el valor de las cookies se denomina falsificación de cookies y a

menudo se realiza tras un robo de cookies para hacer un ataque persistente.

XSS Cross-Site Scripting

Page 42: Clase01 - Curso Hacker Ético

Cada sitio debe tener sus propias cookies, de forma que un sitio malo.net no tenga posibilidad de modificar o

definir cookies de otro sitio como bueno.net. Las vulnerabilidades de cross-site cooking (Cookies entre

sitios) de los navegadores permiten a sitios maliciosos romper esta regla. Esto es similar a la falsificación

de cookies, pero el atacante se aprovecha de usuarios no malintencionados con navegadores vulnerables, en vez de

atacar el sitio web directamente. El objetivo de estos ataques puede ser realizar una fijación de sesión (robo de

sesión en un sitio web).

XSS Cross-Site Scripting

Page 43: Clase01 - Curso Hacker Ético

Anonimidad

“A word into the silence thrown always finds its echo somewhere where silence opens hidden lexicons.”

― Dejan Stojanovic

Page 44: Clase01 - Curso Hacker Ético

Anonimidad

Muchas páginas hay que navegar anónimamente, sin dejar rastros en cookies, evitar publicidades, imágenes de tamaño excesivo, rastreo,

pero siempre dependemos de ir hasta ese sitio cada vez que queremos ingresar una URL o bien soportar un frame con publicidad

de ese 'servicio de anonimidad' (paradoja).

Para un hacker es muy importante cuidar de sus informaciones en internet, una vez que es posible obtener datos en solo navegar por un

sitio web.

Page 45: Clase01 - Curso Hacker Ético

Anonimidad

Hay algunas técnicas utilizadas por hackers para navegar anónimamente, una de ellas es usar un servidor proxy.

¿Qué es un servidor proxy?La palabra inglesa proxy significa procurador en español.

Un proxy, o servidor proxy, en una red informática, es un servidor (un programa o sistema informático), que hace de intermediario en las peticiones de recursos que realiza un cliente (A) a otro servidor (C). Por ejemplo, si una hipotética máquina A solicita un recurso a C, lo

hará mediante una petición a B, que a su vez trasladará la petición a C; de esta forma C no sabrá que la petición procedió originalmente de A.

Page 46: Clase01 - Curso Hacker Ético

Anonimidad

Esta situación estratégica de punto intermedio suele ser aprovechada para soportar una serie de funcionalidades: control de acceso, registro

del tráfico, prohibir cierto tipo de tráfico, mejorar el rendimiento, mantener el anonimato, proporcionar Caché web, etc; este último

sirve para acelerar y mejorar la experiencia del usuario mediante permisos que guardará la web, esto se debe a que la próxima vez que se visiten las páginas web no se extraerá información de la web si no

que se recuperara información de la caché.

Page 47: Clase01 - Curso Hacker Ético

AnonimidadVentajas

En general (no sólo en informática), los proxies hacen posible:

Control: Sólo el intermediario hace el trabajo real, por tanto se pueden limitar y restringir los derechos de los usuarios, y dar permisos sólo al proxy.

Ahorro: Sólo uno de los usuarios (el proxy) ha de estar preparado para hacer el trabajo real. Con estar preparado queremos decir que es el único que necesita los

recursos necesarios para hacer esa funcionalidad. Ejemplos de recursos necesarios para hacer la función pueden ser la capacidad y lógica de cómputo o la dirección de

red externa (IP).Velocidad: Si varios clientes van a pedir el mismo recurso, el proxy puede hacer

caché: guardar la respuesta de una petición para darla directamente cuando otro usuario la pida. Así no tiene que volver a contactar con el destino,

y acaba más rápido.Filtrado: El proxy puede negarse a responder algunas peticiones si detecta que están

prohibidas.Modificación: Como intermediario que es, un proxy puede falsificar información, o

modificarla siguiendo un algoritmo.

Page 48: Clase01 - Curso Hacker Ético

AnonimidadDesventajas

En general (no sólo en informática), el uso de un intermediario puede provocar:Anonimato: Si todos los usuarios se identifican como uno sólo, es difícil que el recurso accedido pueda diferenciarlos. Pero esto puede ser malo, por ejemplo

cuando hay que hacer necesariamente la identificación.Abuso: Al estar dispuesto a recibir peticiones de muchos usuarios y responderlas, es posible que haga algún trabajo que no toque. Por tanto, ha de controlar quién tiene

acceso y quién no a sus servicios, cosa que normalmente es muy difícil.Carga: Un proxy ha de hacer el trabajo de muchos usuarios.

Intromisión: Es un paso más entre origen y destino, y algunos usuarios pueden no querer pasar por el proxy. Y menos si hace de caché y guarda copias de los datos.

Incoherencia: Si hace de caché, es posible que se equivoque y dé una respuesta antigua cuando hay una más reciente en el recurso de destino. En realidad este problema no existe con los servidores proxy actuales, ya que se conectan con el

servidor remoto para comprobar que la versión que tiene en caché sigue siendo la misma que la existente en el servidor remoto.

Irregularidad: El hecho de que el proxy represente a más de un usuario da problemas en muchos escenarios, en concreto los que presuponen una

comunicación directa entre 1 emisor y 1 receptor (como TCP/IP).

Page 49: Clase01 - Curso Hacker Ético

Anonimidad

Proxies PúblicosUtilizar un servidor de proxy publico es auna manera de navegar tranquilamente por el internet. A través de ese servidor puedes esconder tu verdadero numero

IP.Lamentablemente toda tecnología puede ser usada para algo malo, algunos

se esconden para realizar ataques.

El servidor proxy tiene informaciones sobre ti, entonces algunos simplementepueden estar mintiendo cuando dicen que no serás rastreado o registrado

¡BE CAREFUL!

Si haces algo malo en internet, tarde o temprano será rastreado por la policíay llegarán al servidor y este probablemente entregará datos sobre ti

Page 50: Clase01 - Curso Hacker Ético

Anonimidad

La conexión entre tu máquina y el proxy puede ser criptografada con SSL – normalmente por medio de

una Secure Shell o SSH – y la mayoría de los servidores garantiza que sus actividades no serán

registradas o sus informaciones redireccionadas hacia la empresa que auspicia al servidor proxy.

¿Parece seguro, si? No mucho, “amigo”.

Page 51: Clase01 - Curso Hacker Ético

Anonimidad

Hay muchas formas de “hackear” ese inconveniente, una de ellas es utilizando una técnica que se llama:

daisy-chain proxying: se invade una computadora que es utilizada para invadir otra hacia el objetivo.

En cada computadora se usa un proxy, aumentando el numero de hosts intermediarios para seis o mas e

incrementando la dificultad al “técnico forense”.

Page 52: Clase01 - Curso Hacker Ético

Anonimidad

Lista de servidores proxy “free”:

http://www.publicproxyservers.com/http://www.stayinvisible.com/

Page 53: Clase01 - Curso Hacker Ético

SQL Injection

“Treat a work of art like a prince. Let it speak to you first.”Arthur Schopenhauer

Page 54: Clase01 - Curso Hacker Ético

SQL Injection

“SQL Injection” es un tipo de ataque que se ha vuelto muy popular en los últimos años por la utilización cada vez más habitual de sitios web que interactúan con bases

de datos SQL. Si a esto le sumamos que la mayoría de los programadores no se capacitan en técnicas y metodologías de seguridad, terminamos con aplicaciones

web mal diseñadas o con faltas de controles en la validación de datos, por lo que se vuelven aplicaciones vulnerables.

El objetivo de este ataque es insertar o modificar consultas a una base de datos SQL (como MS SQL Server, MySQL, PostgreSQL, Oracle, etc) a través de una consulta al

sitio web vulnerable para obtener resultados diferentes a los deseados por el desarrollador de la aplicación. Con esto, por ejemplo, podríamos lograr evitar una

validación de usuario y contraseña, u obtener datos confidenciales que se alojan en la base.

Page 55: Clase01 - Curso Hacker Ético

SQL Injection

Abajo podemos ver un ejemplo de código en PHP, que concatena las variables $loginy $pass directamente dentro de la consulta SQL, sin realizar ninguna validación del

contenido de las variables.

$entrada = mysql_query(“SELECT usuario FROM usuarios WHERE usuario=’$login’ and clave=’$pass’”)

if(mysql_num_rows($entrada)==’0′) { echo ‘Acceso Denegado’; }

else{ echo ‘Acceso Permitido’; }

El objetivo del código es buscar en la base de datos de usuarios si exista alguna coincidencia para un nombre de usuario y claves iguales a los que se están

introduciendo en el formulario web.

Page 56: Clase01 - Curso Hacker Ético

SQL Injection

Si nosotros logramos que el contenido de la variable $login sea “fabian” y el contenido de la variable $pass sea igual a:

hack’ or ’1′=1′

Esto simplemente podríamos lograrlo rellenando el formulario con los datos: “fabian” y “hack’ or’1′=1′” (sin las comillas dobles) en los campos usuario y contraseña.

La consulta que se realizaría a la base de datos sería la siguiente:

SELECT usuario FROM usuarios WHERE usuario=’fabian’ and clave=’hack’ or ’1′=’1′;

El resultado de esta consulta va a devolver los registros de todos los usuarios, porque en la segunda parte de la consulta (que va después del ‘or’) estamos pasando una sentencia que siempre va a ser verdadera (’1′=’1′). Gracias a esto, se van a devolver registros y el programa va a permitir el acceso.

Evidentemente, la posibilidad de los ataques depende tanto del lenguaje en el que está programado el sitio web (generalmente PHP y ASP) y de la base de datos que se está utilizando.

Page 57: Clase01 - Curso Hacker Ético

SQL Injection

Existen muchas otras técnicas para realizar SQL Injection, pero requieren una excelente comprensión, tanto de las bases de datos, como de los lenguajes de programación.

Siempre con la ayuda de un poco de suerte, porque debemos adivinar varios comportamientos de la aplicación,

para determinar cómo atacarla..

Page 58: Clase01 - Curso Hacker Ético

SQL Injection

inurl: noticia.php?id=