Top 1 millón Alexa con “Dominios con caracteres homógrafos”

Esta entrada tiene el objetivo de entender los conceptos básicos relacionados con los mencionados ataques homograficos, así como reforzar los conceptos con un ejercicio practico o (proof of concept) relacionado al tema.

Antes de iniciar con el concepto de ataques homograficos debemos comprender unos conceptos:

IDN (Nombre de dominio internacionalizado), es un nombre de dominio de internet que contiene caracteres no-ASCII, sin embargo el estándar para nombres de dominio no permite tales caracteres, entonces surge la necesidad de hallar una propuesta para utilizar caracteres no-ASCII, a su tiempo se propone “IDNA”.

IDNA (Internationalizing Domain Names in Applications) Nombre de Dominio de Aplicaciones es un mecanismo para manejar nombres de dominio IDN que contiene caracteres no-ASCII, estos dominios no podían ser manejador por la infraestructura de resolución de nombre y DNS, ya que solo se manejan dominio y nombres de host con caracteres ASCII . Para solucionar este inconveniente y permitir el uso de caracteres no-ASCII en dominios, se decidió estos dominios no-ASCII deben ser convertidos a una forma basada en ASCII por las aplicaciones.

La conversión entre las formas ASCII a no-ASCII de un nombre de dominio se realiza utilizando los métodos ToASCII() y ToUnicode(), estos algoritmos son detallados en el RFC 3490 (IDNA)

Resumiendo:

  • ToASCII(): en caso alguna etiqueta no sea valida para el DNS por contener algún carácter no-ASCII, se aplica un algoritmo Nameprep (el detalle del mismo en el RFC 3491) el resultado obtenido es traducido a ASCII usando Punycode no antes anteponiéndole el prefijo ACE es decir “xn--” que se utiliza para distinguir las etiquetas codificadas en Punycode de las etiquetas ASCII ordinarias)
  • ToUnicode(): revierte la acción de ToASCII quita el prefijo ACE y utiliza el algoritmo de descodificacion de Punycode.

Ejemplo:

  • (UTF8) España
  • (PunyCode) xn--espaa-rta

Punycode es una sintaxis de codificación para codificar/descodificar dominios internacionalizados de manera que los nombre de dominios y host puedan crearse utilizando caracteres del idioma nativo del usuario pero aun así pueden traducirse en algo que el sistema DNS puede utilizar.

Hemos escuchado estos días de los ataques homógrafos, que en realidad no son actuales sino años atrás varios investigadores y expertos en seguridad han presentado la alerta de estos ante la comunidad de Internet.

Un homógrafo es un símbolo que parece ser el mismo o muy parecido a otro símbolo, un ataque homográfico sucede cuando un atacante registra un nombre de dominio que se parezca al de un sitio legitimo, pero en el algunos de los caracteres han sido sustituidos por homógrafos en otros alfabetos

Ejemplo:

Los ataques homográfico son utilizados para phishing, distribución de malware, reclutamiento de bot dentro de una botnet, etc.

Actualmente se conoce que navegadores de internet son vulnerables a estos ataques, entre ellos algunos han presentado soluciones ante el problema.

Pues que les diré me ha interesado el tema, IDN, IDNA, PunyCode, ASCII, no-ASCII, Unicode…, pues decidí seleccionar una muestra de dominios en internet como fuente de dominio he utilizado el Top 1 millón de Alexa.

Buscar dentro de la muestra:

  1. ¿Existen dominios IDNA codificado con PunyCode?
  2. ¿Como decodifico un dominio IDNA codificado con Punycode?
  3. ¿Existen dominios homógrafos?

1.¿Existen dominios IDNA codificado con PunyCode?

Primeramente conseguí la muestra en http://aws.amazon.com/alexatopsites/, te registras y tienes acceso a un zip con lista de “Top 1 millón de dominios del ranking de Alexa”

Con la muestra en mano si descomprimes el “.zip”, te extrae un archivo “.txt” en la lista del ranking con el formato “posición , dominio” pues para saber primeramente si habían dominios Punycode, los extraje a un archivo nuevo sabiendo que los dominios codificado en Punycode inicia con “xn--” o el prefijo ACE(ASCII Compatible Encoding).

Comando Ejecutado:

grep -o “xn--.*” top-1m.csv > top_1m_alexa_filtrado_punycode.txt

Pues si que existen 2560 dominios entre un millón, interesante.

2.¿Como descodifico un dominio IDNA codificado con Punycode?

Seguidamente usaremos el archivo generado en la pregunta anterio: “top_1m_alexa_filtrado_punycode.txt” a partir del filtrado con dominios codificado con punycode.

Haciendo un pequeño script de python 3.6, usando la librería “idna2.5” que pues conseguir descargándola en este link: http://pypi.python.org/pypi/idna#downloads, es importante aclarar que esta librería esta refería a IDNA 2008

Les muestro el Script:


import sys

import idna

try:

d=0

fb = open(“top_1m_alexa_filtrado_punycode.txt”,”rb”)

listA = list(fb)

fb.close()

for element in listA:

try:

word = str(element).split(‘,’)[1].replace(‘\\n\”,”).replace(‘\\r’,”)

decoded = idna.decode(word)

print(word + ” == ” + decoded)

except:

d=d+1

print(‘error’,word)

print(‘error’,sys.exc_info()[1])

except:

print(“error “,sys.exc_info())

finally:

print(“Errores detectado: “, repr(d))


En resumen se hace una iteración de las lineas del archivo, por cada linea extraes el dominio codificado en Punycode y luego lo descodificas por medio del método “idna.decode()”, también es importante proveer un medio para detectar/mostrar errores ya que algunos símbolos codificados podrían no ser reconocido por el formato idna 2008 o podría no estar actualizada la librería idna 2.5 con todas los caracteres… por la experiencia mejor detectarlos, ya como verán en mi experiencia mi script detecto 2 errores:

1.png

Ambos errores son caracteres que no son admitidos en IDNA 2008, estos dominios a largo plazo podrían verse como ilegales para estándar IDNA 2008:

error Codepoint U+00A7 at position 1 of ‘§’ not allowed. Es el “Section Sign” un carácter de tipografía referirse a una sección de un documento, en el IDNA 2008 No es valido se considera un dominio ilegal.

error Codepoint U+2764 at position 1 of ‘❤❤❤’ not allowed. Es el “Heavy Black Heart” Los Emojis en el IDNA 2008 No son validos se considera un dominio ilegal.

Como muestra la imagen se descodificaron los dominios.

2.png

3.¿Existen dominios con caracteres homógrafos?

Haciendo una búsqueda manual, no he podido automatizar este proceso, pues miren que encontré:

La prueba de concepto del investigador de seguridad Xudong Zheng en la posición #34742,xn--80ak6aa92e.com dentro del ranking “top 1millon de Alexa”.

3.png

Interesante se encuentran dominios con caracteres homógrafos de:

4.png

Creo que este tema y la fuente de datos “top 1 millón de Alexa” da para mucho mas… pero por el momento me despido los invito que hagan el ejercicio y encuentren mas dominios con caracteres homógrafos dentro de este TOP!!!!!… De igual manera podría realizar el mismo ejercicio con otras fuentes top de ranking de internet.

II. OSINT de número de teléfonos en Costa Rica

CRtelefonos

El propósito del articulo es hacer notar la cantidad de datos que se pueden obtener de fuentes abiertas en internet relacionados a un número de teléfono, es el segundo articulo de una serie de “OSINT en Costa Rica”.

OSINT: “Open Source Intelligence o Inteligencia de fuentes abiertas; la definición estándar dice que es la inteligencia proveniente de fuentes abiertas, cualquier información desclasificada y públicamente accesible en Internet en forma gratuita, este termino fue acuñado y muy empleado entre militares, fuentes del orden y personal de inteligencia de las agencias gubernamentales”.

Entrando en contexto después de definir OSINT la realidad nacional, ¿Realidad o Descuido?, datos que están publico en internet ha manos de todos publico, facilitando la identificación o contacto de una persona física por medio de la relación de otros datos obtenidos de mas fuentes de datos publicas.

A continuación una lista fuentes y datos que se encontraron en internet relacionados a un número de teléfono:

Fuentes: Sitios Web de entidades bancarias o sitio de pago del servicio telefónico:

Algunos datos de los cuales podríamos encontrar en internet solamente utilizando el numero de teléfono:

1- Pago de Servicio Telefónico:

  • Nombre de propietario y monto ha pagar.

*IMPORTANTE: No importa si el número de teléfono esta registrado como “privado” con solo ingresar el número de teléfono aparecerá la información del propietario.

Fuentes: Sitios Web de entidades gubernamentales:

1- Consultar de Nombre del Operador o Proveedor que brinda el servicios al numero de teléfono proporcionado.

Fuentes: Sitios de proveedoras de servicios telefónicos.

Algunos datos de los cuales podríamos encontrar en internet solamente utilizando el numero de teléfono:

1. Consultar Facturas Pendientes:

  • Datos obtenidos (Periodo, Monto de factura, Vencimiento).

Algunos datos de los cuales podríamos encontrar en internet solamente utilizando el nombre de la persona o local a la cual pertenece el número de teléfono:

2. Consultar en Guía Telefónica Digital o Paginas Blancas Residenciales:

  • Datos obtenidos (Nombre propietario, número de teléfono y localización).

3. Consultar en Guía Comercial o Paginas Amarillas:

  • Datos obtenidos (Nombre local, número de teléfono, localización, horario de atención).

Otras fuentes publicas de datos:

1. Consultar en el Número de asistencia o guía telefónica utilizando el código de teléfono proporcionado por la entidad telefónica para dar este servicio. Ejemplo 1113 o 1115

  • Datos obtenidos: (Nombre numero de teléfono).

2. Consultar en paginas de “Reverse Phone lookup” son sitios web con base de datos teléfonos a nivel mundial.

  • Datos obtenidos: (Nombre propietario, localización y país)

Fuentes: Buscadores de Internet

  1. Podremos encontrar gran cantidad de información publica realizando una búsqueda en Google o su buscador de preferencia .

Concluyendo OSINT es una arma de doble filo, depende en las manos y objetivo para el cual se utilice. Es interesante recalcar como el número de teléfono “privado” también en cierta medida es público ya que en algunas entidades bancarias o sitio de pago de servicios telefónico con brindar el número de teléfono para el pago de la factura te brindan el nombre completo del propietario. ¿Realidad o Descuido?

Medidas para protegernos:

  • Infórmate sobre la ley 8968 “Ley de protección de la persona frente al tratamiento de sus datos personales”.
  • Toma precaución de NO revelar datos referente a tu persona o tu teléfono en sitios de internet o redes sociales recuerda mucha de esta información sera publica al ser indexada por los buscadores de internet.

“El producto de datos aislados con una relación directa o indirecta son parte un universo identificable.” by cyberspynet

Si eres de Costa Rica, comenta que otra información esta accesible públicamente; si eres de otro país cuéntanos como es tu país en estos temas.

Saludos, Comparte y Comenta.

I. OSINT de número de placa de vehículos en Costa Rica

CRvehiculos

El propósito del articulo es hacer notar la cantidad de datos que se pueden obtener de fuentes abiertas en internet relacionados al número de placa de un vehículos que transitan en nuestras calles costarricenses, es el primer articulo de una serie de “OSINT en Costa Rica”.

OSINT: “Open Source Intelligence o Inteligencia de fuentes abiertas; la definición estándar dice que es la inteligencia proveniente de fuentes abiertas, cualquier información desclasificada y públicamente accesible en Internet en forma gratuita, este termino fue acuñado y muy empleado entre militares, fuentes del orden y personal de inteligencia de las agencias gubernamentales”.

Entrando en contexto después de definir OSINT la realidad nacional, ¿Realidad o Descuido?, datos que están publico en internet ha manos de todos publico, facilitando la identificación de una persona física por medio de la relación de otros datos obtenidos de mas fuentes de datos publicas.

A continuación una lista fuentes y datos que se encontraron en internet relacionados a la placa de un vehículo:

Fuentes: Sitios Web de instituciones gubernamentales, entidades bancarias o aseguradoras:

1- Consulta de Infracciones de estacionometro (parquímetros):

  • Tiene infracciones de estacionamiento.
  • Información de la Infracción (Lugar, Monto de Infracción, Fecha, Motivo de Infracción).
  • Datos característicos de vehículo (Clase, Tipo, Placa).

2- Consulta de infracciones de transito:

  • Tiene infracciones de transito.
  • Nombre de Conductor.
  • Datos característicos de vehículo (Placa, Serie, Modelo, Tipo, Clase, Marca).
  • Información de la Infracción (Lugar, Monto de Infracción, Estado de Cancelación, Fecha, Motivo de Infracción).

3- Consultar Marchamo (en algunas entidades bancarias o aseguradoras proporcionan el medio para consulta el marchamo):

  • Nombre de propietario.
  • Cédula de propietario.
  • Monto del Marchamo.
  • Datos de vehículo: Fabricante, Modelo.

4- Tiene su rtv (riteve) al día.

5- Tiene su marchamo al día.

6- Consulta el valor del vehículo:

  • Valor fiscal.
  • Monto del impuesto de su vehículo.
  • Características del vehículo (Clase, Placa, Marca, Estilo, Carrocería, Modelo, Cilindrada, Combustible, Cabina, Tracción, Transmisión).

7- Consultar registro de propiedad del vehículo:

  • Placa.
  • Datos de propietario.

Fuentes: Sitios Web o sección de clasificados de venta de vehículos:

  1. Consultar datos de características de vehículo, placas (en las fotografías de venta), datos de vendedor (posible dueño) (Nombre, teléfono, dirección), Tipo de financiamiento.

Fuentes: Buscadores de Internet

  1. Podremos encontrar gran cantidad de información publica con una búsqueda en Google o su buscador de preferencia con el siguiente conjunto de palabras claves “consulta placa costa rica”.

Concluyendo OSINT es una arma de doble filo, depende en las manos y objetivo para el cual se utilice, como hemos visto existe gran cantidad de fuentes y datos públicos relacionada a una placa de vehículo, es importante mencionar el problema no es el número de placa del vehículo sino la información de una persona física que puede ser obtenida a partir ese número, ya que a partir de datos obtenidos de otras fuentes publicas de información es factible la identificación física de un individuo.

“El producto de datos aislados con una relación directa o indirecta son parte un universo identificable.” by cyberspynet

Medidas para protegernos:

  • Infórmate sobre la ley 8968 “Ley de protección de la persona frente al tratamiento de sus datos personales”.
  • Si deseas vender tu vehículo, no reveles información que perjudique tu bienestar o de tus seres queridos.
  • Toma precaución de NO revelar datos referente a tu persona o tu vehículo en sitios de internet o redes sociales recuerda mucha de esta información sera publica al ser indexada por los buscadores de internet.

Si eres de Costa Rica, comenta que otra información esta accesible públicamente; si eres de otro país cuéntanos como es tu país en estos temas.

Saludos, Comparte y Comenta.

Continua leyendo la segunda parte.

II. OSINT de número de teléfonos en Costa Rica

 

Películas de Hacking, Seguridad y Tecnologia

Les presento una lista de películas relacionadas a la hacking, seguridad, informática

  • The Net: 1995
  • Hackers (Piratas informaticos): 1995
  • Virus: 1999
  • Firewall: 2006
  • Untraceable (Sin rastros): 2008
  • CiberBullying: 2011
  • Underground The Julian Assange Story:2012
  • Reboot: 2012
  • Who i am (Ningun sistema es seguro): 2014
  • Algorithm:2014
  • Enigma (The Imitation Game): 2014
  • Transcendence: 2014
  • Black Hat (Amenaza en la Red): 2015
  • Hacker:2016
  • Anonymous:2016
  • El virus:2016
  • Snowden:2016

¿Que habrá para este año?

Comenta si conoces alguna película, series o documental relacionado al tema, para sentarme en una noche de palomitas.

Saludos!!!

Desvela los secretos de tus apps

Hoy les recomiendo un servicio online que me encontre para destripar las .apk de Android
este servicio desvela estos secretos de nuestras apps:

  • Datos XML
  • String de Codigo
  • API Keys
  • Lista de Servicios

Les dejo el link, ya la probe esta muy buena
http://android.fallible.co

1a.png

 

Prueben y compartan sus experiencias

“..Tu podrás detener este esfuerzo individual, pero nunca podrás detenernos a todos …después de todo, todos somos iguales….” Manifiesto Hacker escrito por The Mentor el 08 de Enero de 1986.

Disclosure (Divulgación) WSDL

Buenas hoy les comparto una vulnerabilidad a la cual estan muchos de los web services que esta publicos en internet.

Los ataques WSDL Disclosure consiste en intentan descubrir servicios web no públicos recuperando su archivo WSDL.”

Mitigación de ataques / contramedidas:

  • Ocultar la descripción de web service representado por medio del archivo de *.wsdl.
  • Otras acciones, como la integridad, la confidencialidad y las funciones de control de acceso,

deben utilizarse para proteger el servicio web.

Los web services de .NET mostrarían la descripción de web service o archivo .wsdl de la siguiente manera:

1.png

De esta manera mostrando al público la estructura, métodos y parámetros  del web service, representando una vulnerabilidad para los servicios publicados.

2.png

Implementado una medida de mitigación:

Medida: Ocultar la descripción de web service o  archivo de *.wsdl

Ventajas:

  • Sencillez al implementar en producción.
  • No necesita actualización de los clientes que consumen el servicio.
  • Se evita ataques de Enumeración o Google Hacking de la descripción de web service o archivo *.wsld.
  • Se puede utilizar tanto en las tecnologías SOAP o WCF.
  • Rápida, cambios aplicados con inmediatez.

Pasos:

  1. Agregar las siguientes líneas de código, al archivo de configuración config dentro de las etiquetas: <system.web>…</system.web>

3.png

Fragmento de código:

<customErrors mode=”On” defaultRedirect=”error.html”></customErrors>

<webServices>

<protocols>

<remove name=”Documentation”/>

</protocols>

</webServices>

  1. Agregar una página vacía como ejemplo “error.html” dentro del proyecto de Web Service o carpeta de producción, hacia esta página será redirigido la solicitud de la descripción de web service.

Resultado:

4.png

Consideraciones en desarrollo:

Al actualizar o agregar una referencia web a algún cliente que consuma el web service, DEBE TENER  el archivo *.wsdl  habilitado para que Visual Studio .Net permita agregar la referencia web, ya concluida la actualización o agregación de la referencia web se aplica el cambio de ocultación del archivo *.wsdl en producción.

Referencias:

Buscador de Internet de las Cosas (IoT)

En esta oportunidad les comparto la información de una plataforma que permite realizar busquedas de IoT (Internet de las Cosas), esta plataforma fue presentada en las conferencias de BlackHat 2016, Un dia mirando una charla del DragonJAR Security Conference 2016 “Explotando y atacando redes sismológicas remotamente”, el expositor James Lara utilizo la herramienta online para encontrar los sismografos la cual me llamo la atención dicha herramienta se llama NetDB – The Network Database Project, desarrollada por un equipo de hackers de Costa Rica, super interesante la plataforma les dejo el link https://netdb.io/, les comparto tambien definición desde la sitio oficial  ¿Que es NETdb?

netdbview

Saludos, Comparte y Comenta!!!