4. 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
5. 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
6. 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
7. 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
8. SIMBOLOS Y PERSONAJES:
RICHARD STALLMAN
“Las obras de conocimiento deben ser libres,no hay escusa para que no sean asi”
The BeginningThe Beginning
9. 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 BeginningThe Beginning
10. ERIC STEVEN RAYMOND
“Con los suficientes ojos,todos los errores son fáciles de
encontrar”
The BeginningThe Beginning
11. 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 BeginningThe Beginning
12. 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 BeginningThe Beginning
14. 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
16. 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
18. 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
19. 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
20. • CUAL ES TU SOMBRERO?
“WHITE HAT” “GREY HAT” “BLACK HAT”
PUNTO
HACKERS INTERMEDIO CRACKERS
HACKER-CRACKER
The BeginningThe Beginning
21. 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.)
The BeginningThe Beginning
22. 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
23. "I want to know everything about you, so I tell you everything
about myself."
— Amy Hempel
Nuestro Amigo
24. 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
25. 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
26. 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
27. 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
28. 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
34. Buscando archivos de registro del Windows que pueden
revelar correos y claves
filetype:reg reg +intext: filetype:reg reg +intext: ”internet
account manager”
Nuestro Amigo
35. "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
36. 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
37. 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
39. 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
40. 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
41. 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
42. 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
43. Anonimidad
“A word into the silence thrown always finds its echo somewhere where silence opens hidden
lexicons.”
― Dejan Stojanovic
44. 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.
45. 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.
46. 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é.
47. 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.
48. 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).
49. 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
50. 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”.
51. 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”.
53. SQL Injection
“Treat a work of art like a prince. Let it speak to you first.”
Arthur Schopenhauer
54. 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.
55. 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.
56. 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.
57. 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..