Clase 01 - Curso Hacker Ético

June 30, 2017 | Autor: Franciny Salles | Categoría: Information Security, Computer Security, Hacking, Ethical Hacking, Cyber Security
Share Embed


Descripción

CURSO HACKER ÉTICO

By Franciny Salles (#Bl4kd43m0n)

Me

Hacker, curioso, ingeniero, esposo, padre, 20 años de experiencia en cyber security, Mi cv: https://mit.academia.edu/FranSalles

Auspiciadores

The Beginning

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 Glider, el emblema hacker, fue propuesto primero en octubre de 2003 por Eric S. Raymond, alegando la necesidad de una unificación y un símbolo reconocible para la percepción de la cultura hacker. Esto no se refiere a la acción de infringir ó irrumpir sin permiso en los computadores/ordenadores. Tal acción es realizada por los llamados crackers. Raymond ha dicho que uno no pretende ser un hacker sólo para mostrar este emblema, pero sugiere que: "el uso de este emblema expresa la solidaridad con los objetivos y valores de los hackers, y la forma de vivir de un hacker".

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

The Beginning 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 Beginning 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 Beginning SIMBOLOS Y PERSONAJES: RICHARD STALLMAN

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

The Beginning RICHARD STALLMAN Creo un marco de referencia moral, político y legal para el movimiento del software libre, como una alternativa al desarrollo y distribución de software privativo. Es también inventor del concepto de Copyleft (aunque no del término), un método para licenciar software de tal forma que éste permanezca siempre libre y su uso y modificación siempre reviertan en la comunidad.

The Beginning ERIC STEVEN RAYMOND

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

The Beginning 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's Dictionary). 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 Beginning Cracker Definición Un 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 Beginning CRACKERS FAMOSOS FRED COHEN

The Beginning 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 Beginning ROBERT TAPPAN MORRIS

The Beginning 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 Beginning KEVIN DAVID MITNICK

The Beginning 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 Beginning 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 Beginning • CUAL ES TU SOMBRERO?

“WHITE HAT”

HACKERS

“GREY HAT” PUNTO INTERMEDIO HACKER-CRACKER

“BLACK HAT”

CRACKERS

The Beginning 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 capacidAad de 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.)

Nuestro Amigo 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

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

Nuestro Amigo 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 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 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/activit y

Nuestro Amigo 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 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

site:www.elahacker.net inurl:admin

Nuestro Amigo Usando google como servidor Proxy

Nuestro Amigo

Intitle:index.of “parent directory” Intitle:index.of inurl:admin intitle:index.of ws_ftp.log intitle:index.of “ server at”

Nuestro Amigo • • •

• • • • • •

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

Interceptando algunos correos:

filetype:mbx mbx intext:Subject

Nuestro Amigo

Buscando archivos de registro del Windows que pueden revelar correos y claves filetype:reg reg +intext: filetype:reg reg +intext: ”internet account manager”

XSS Cross-Site Scripting

"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 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 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 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

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

XSS Cross-Site Scripting 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 Hola 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 "hola" 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 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 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 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).

Anonimidad

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

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.

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.

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é.

Anonimidad Ventajas 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.

Anonimidad Desventajas 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).

Anonimidad Proxies Públicos Utilizar 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 simplemente pueden 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ía y llegarán al servidor y este probablemente entregará datos sobre ti

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”.

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”.

Anonimidad Lista de servidores proxy “free”: http://www.publicproxyservers.com/ http://www.stayinvisible.com/

SQL Injection

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

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.

SQL Injection Abajo podemos ver un ejemplo de código en PHP, que concatena las variables $login y $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.

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.

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..

SQL Injection

inurl: noticia.php?id=

Lihat lebih banyak...

Comentarios

Copyright © 2017 DATOSPDF Inc.