30 sept 2019

La seguridad en HTTP3 (QUIC - Quick UDP Internet Connections). Parte 1



Buenas a todos, al comienzo del verano tuvo lugar el congreso Euskalhack, uno de los eventos más importantes del panorama europeo, y donde se dieron cita numerosos ponentes nacionales e internacionales de gran relevancia.

Este año tuve la oportunidad de asistir como ponente junto a mi compañero de Zerolynx, Jesús Alcalde, para presentar una investigación que llevábamos unos meses realizando sobre el protocolo HTTP/3

En la conferencia tratamos brevemente el contexto histórico que rodeaba al protocolo, para después entrar en aspectos técnicos sobre su implementación, funcionamiento, medidas de seguridad, y lo más importante, los posibles problemas que podrían ocasionar la evasión de dichas medidas.

Durante los próximos artículos de esta cadena os detallaremos todos estos puntos, con el fin de que podáis ampliar vuestro conocimiento sobre este nuevo protocolo, y jugar con su implementación. Por lo que comencemos por el principio.

A lo largo de los últimos veinte años, Internet ha crecido y evolucionado hasta convertirse en uno de los núcleos de la sociedad, situándose como una infraestructura crítica sin la que una gran parte de los negocios que hoy se conocen, dejarían de existir. Desde finales de los 90 hasta la actualidad, el número de usuarios de Internet ha crecido desde los 360 a los 4.000 millones de usuarios. Este crecimiento ha sido posible gracias, entre otros elementos, al abaratamiento de las conexiones de Internet, lo que ha permitido que usuarios cotidianos puedan acceder a la World Wide Web desde sus domicilios y trabajos, sin necesidad de formar parte de universidades, ejércitos o gobiernos. De igual manera, el nacimiento de buscadores como Altavista, lanzado en 1995, y en especial, Google, cuyo desarrollo fue iniciado por Larry Page y Sergey Brin entre 1996 y 1998,  contribuyeron especialmente a facilitar el acceso a los contenidos existentes de Internet, y por tanto, a su acercamiento a una gran parte de la sociedad que carecía de conocimientos técnicos en informática. 

Sin embargo, no es posible hablar de Internet sin tratar los protocolos que han permitido su nacimiento y evolución, en especial, HTTP. HTTP, siglas de Hypertext Transfer Protocol, es un protocolo de comunicación desarrollado por el World Wide Web Consortium y la Internet Engineering Task Force, y que fue lanzado en 1991 en su primera versión, ya obsoleta, la cual permitía realizar peticiones GET para comunicarse con un servidor. No soportaba cabeceras, ni peticiones POST, pero fue la base necesaria para que en 1996 pudiese lanzarse una revisión de HTTP en la que fue su versión 1.0, con soporte para los métodos GET, HEAD y POST. Tres años después, fue lanzado HTTP 1.1, versión más utilizada en la actualidad, con soporte para pipelining, lo que permitía reducir los tiempos de cada petición. Esta versión de HTTP fue plasmada en la RFC 2616 y pronto se convirtió en referencia para la evolución del Internet tal y como hoy se conoce.

En el año 2000 fueron lanzados los primeros borradores de HTTP 1.2, bajo la RFC 2774 (experimental), la cual proponía entre otros puntos de interés, el Protocolo de Extensión de Protocolo (PEP) para la extensión de aplicaciones. Tras muchos años de estabilidad y consenso, con el extendido uso de HTTP 1.1, comienzan a surgir los primeros borradores de HTTP 2 entre 2012 y 2015, los cuales incorporaban interesantes mejoras enfocadas al empaquetamiento de datos y al transporte. Estas mejoras se han seguido evolucionando en diversos borradores bajo el nombre HTTP-over-QUIC, que finalmente ha sido renombrado como HTTP 3 tras una propuesta realizada por el presidente del grupo de trabajo de Ingeniería de Internet  (IETF) que estaba trabajando en ello .

HTTP 3, entre sus mayores cambios, propone el reemplazo del protocolo TCP, que da soporte en la actualidad a las aplicaciones más habituales y a los clientes FTP, entre otros, por el protocolo QUIC. 

QUIC (siglas de “Quick UDP Internet Connections”) es un nuevo protocolo diseñado en su origen por Google, que aúna las mejores ideas de HTTP 2, TCP, UDP y TLS. QUIC se basa en UDP, por lo que es más rápido que los métodos de transporte conocidos hasta el momento, y más seguro, al hacer uso por defecto de TLS 1.3. 

El uso de HTTP 3 está comenzando a extenderse, y ya es soportado por navegadores como Google Chrome, Firefox y Opera, y por sitios web como Facebook, tal y como podéis ver en la siguiente noticia de Genbeta:


En el próximo post de la cadena trataremos la evolución de las conexiones, y el papel que han jugado en el protocolo QUIC tal y como hoy es conocido.

Saludos!

27 sept 2019

PentestBox - Oldie but Goldie

Buenas!!

Para complementar el post de hace unos días que Christian compartió con vosotros sobre CommandoVM, aunque tiene algún tiempo ya, hoy os traigo una herramienta portable que contiene gran cantidad de pentesting tools para Windows.

Personalmente, le he encontrado buen uso en aquellos pentest en los que el cliente es reacio a que conectes tu portátil cargado de herramientas de ataque a su red, bien porque por política de seguridad no se puede conectar un equipo ajeno a su organización o bien porque tenga miedo de lo que puedas encontrar y quiera dificultar la auditoría :) … Para estos u otros casos, esta herramienta te puede servir de utilidad.


Se trata de PentestBox, un ejecutable Windows que contiene una gran cantidad de herramientas típicas para hacer pentest. Se trata de un instalador que pesa en torno a 2Gb y no tiene ninguna dependencia adicional, por lo que es completamente funcional en entornos Windows.

Algunos de los posibles escenarios en los que trabajar con esta multiherramienta son:
  1. Se podría arrancar un USB con Windows instalado para cargar PentestBox.
  2. O bien directamente pinchar en el equipo corporativo que nos hayan facilitado el USB que contiene esta herramienta.
  3. O bien llevarla ya instalada en un disco duro externo.
  4. O por último, instalar la herramienta en un equipo y compartir en red la carpeta para que se pueda ejecutar en remoto.

En cualquiera de estos casos se requiere desactivar el antivirus para que no incordie mientras se realiza la auditoría así como añadir al Path de Windows la carpeta donde se ha realizado la instalación.

Se pueden encontrar herramientas de los siguientes tipos:

  • Web Vulnerability Scanners
  • Web Applications Proxies
  • CMS Vulnerability Scanners
  • Web Crawlers
  • Information Gathering
  • Exploitation Tools
  • Password Attacks
  • Android Security
  • Reverse Engineering
  • Stress Testing
  • Sniffing
  • Forensic Tools
  • Wireless Attacks
  • Text Editors
  • Linux Utilities
  • Browser

Además permite instalar módulos adicionales con su propio gestor:  ToolsManager, de los siguientes tipos:

  • Exploitation Tools
  • Forensics
  • Information Gathering
  • Password Attack
  • Privacy
  • Reverse Engineering
  • Sniffing
  • Stress Testing
  • Vulnerability Analysis
  • Web Application Analysis


Como puntos fuertes de la herramienta, destacaría que dispone de CrackMapExec y por tanto, a su vez, los distintos módulos de Impacket, PoweSploit, Mimikatz, etc. También, tiene una opción que viene con Metasploit Framework :). En cuanto al módulo instalable, que no puede faltar cuando uses pentestbox, es JexBoss, sobre el cual mi compañero @macgruap ya  habló esta misma semana.

Salud!

26 sept 2019

Recuperando stories de Instagram con storiesig.com

Buenas a todos, en el post de hoy me gustaría presentaros un sitio web muy útil para labores OSINT, que permite consultar los stories de Instagram de un perfil determinado, y descargar su contenido de forma sencilla.

El servicio puede ser consultado a través del siguiente enlace:




Cuenta con un sencillo buscador, donde podremos indicar el perfil que queremos monitorizar y automáticamente nos mostrará los stories que tiene disponibles.



A continuación, contaremos con botones de descarga para bajarnos los contenidos del storie, sin necesidad de descargar ninguna aplicación:


Página sencilla y útil para extraer información de perfiles de redes sociales.

Saludos!

25 sept 2019

8dot8 en #Chile - Este año 3 talleres en 8dot8 Nine! #EthicalHacking #Metasploit #OffensivePowershell




Los próximos días 21, 22 y 23 de octubre tengo el placer de estar impartiendo, dentro de la 8dot8, dos talleres muy especiales para mí. El lunes 21 de octubre tendrá lugar el taller de Ethical Hacking y Pentesting. El martes 22 de octubre tendrá lugar el taller de Offensive PowerShell. El miércoles 23 de octubre tendrá lugar el taller de Metasploit on Fire! Tendré la suerte de hacer 3 talleres en Chile, junto a los amigos de 8dot8.

Para cualquier tipo de duda y más información se puede consultar la siguiente dirección de correo electrónico: talleres@8dot8.org. El temario puede encontrarse en este enlace. Comenzaremos el lunes 21 de octubre con el siguiente temario. Un enfoque muy práctico donde podrás preguntas, practicar y resolver todas tus dudas.



El segundo taller, el día 22 de octubre, será un taller nuevo y especial sobre las posibilidades que ofrece Powershell como fuente ofensiva en los escenarios de hacking ético y en los ejercicios de Red Team. Una joya para la post-explotación, una joya para la evasión y una joya para tu conocimiento. Disfruta de la consola más potente del mundo, en este caso del lado del pentester.




El tercer taller, el día 23 de octubre, día de Metasploit, mi querido Metasploit. Sácale el máximo jugo a uno de los mejores frameworks de explotación y más utilizado en el mundo de la seguridad. Saca el máximo jugo a este día y llévate todo lo necesario para jugar con Metasploit y aplicarlo en tu día a día, siempre que puedas.



El precio de los talleres es de 8 UF, como se puede ver en la propia página del evento. Este año coincidiré con buenos amigos que dan otros talleres, también muy interesantes. Si estás por Chile para el evento de la 8dot8 no dudes en pasarte por los talleres. Un precio ajustado para unos talleres especiales en este año en la 8dot8. Nos vemos en Santiago de Chile los días 21, 22 y 23 de octubre.

24 sept 2019

Teleco in a nutshell v8.5: Modulación por Desplazamiento de Fase

¡Muy buenas!

En este post os vamos a hablar de la Modulación por Desplazamiento de Fase (PSK), la cual es la equivalente a PM en el mundo digital, y pasando justo al contrario que en FSK: mientras que PM es una modulación sin apenas uso debido a su complejidad, PSK es ampliamente utilizada en sistemas digitales.


Su funcionamiento es similar al de FSK: simplemente, la fase de la portadora va variando en función del símbolo que se quiera enviar, con el beneficio de que un aumento de la tasa binaria no aumenta demasiado el ancho de banda necesario (aunque sí que disminuye su tolerancia al ruido). No obstante, tal vez sea un poco más complejo de visualizar mentalmente, ya que la fase de una señal no es un concepto tan claro como su amplitud o su frecuencia.
Modulación con un símbolo de 1 bit [MathWorks]

En la imagen anterior podemos observar cómo funciona esta modulación, donde vemos que al haber un cambio de bit en la señal moduladora, la señal modulada se invierte. Esto equivale a un cambio de fase de 180º (recordemos que la fase varía de 0º a 360º). Al igual que en FSK, en función de los bits por símbolo que se quieran enviar, tendrá que haber un determinado número de fases diferentes: 2-PSK (BPSK), 4-PSK (QPSK), 8-PSK, 16-PSK, etc.

Una forma mucho más sencilla de visualizar las distintas fases posibles es haciendo uso de una constelación, que consiste simplemente en colocar sobre una circunferencia las distintas fases que intervengan en la transmisión de la señal digital.

PSK con distintos tamaños de símbolo

Pues bien, esta modulación es ampliamente utilizada en la tecnología que nos rodea día a día, como por ejemplo en el propio Wi-Fi. Y es que, cuando las condiciones de transmisión son muy malas (ambiente ruidoso, mucha distancia entre emisor y receptor), el estándar IEEE 802.11 indica que se debe utilizar BPSK o QPSK que, pese a no tener una gran eficiencia de transmisión (1 ó 2 bits por símbolo), resiste muy bien estos entornos complicados.

¿Y si queremos transmitir a mayor velocidad en un entorno con menos ruido? Bueno, en ese caso usaremos una modulación distinta a las que hemos visto hasta ahora, que es una especie de mezcla entre ASK y PSK: Modulación de Amplitud en Cuadratura (QAM), la cual es una modulación algo más compleja y que veremos en el próximo post :)

¡Gracias por leernos!




Y como siempre, para los hambrientos...

23 sept 2019

Pwneando JBoss con JexBoss (like a boss)

¡Buenas!

Seguramente en alguna ocasión hayáis tenido que revisar una serie de servidores en busca de una vulnerabilidad determinada. En estas situaciones, cualquier herramienta que automatice el proceso nos es de gran ayuda, ¿verdad?

Pues para el que no lo conozca, aquí os traemos una muy útil herramienta llamada JexBoss (https://github.com/joaomatosf/jexboss), la cual realiza automáticamente una serie de comprobaciones buscando ciertas vulnerabilidades. La herramienta se centra sobre todo en vulnerabilidades de JBoss, pero se han añadido comprobaciones a otras aplicaciones. Entre otras, se buscan las siguientes vulnerabilidades:
  • Consolas de administración de JBoss abiertas
  • Interfaces de despliegue de aplicaciones de JBoss sin autenticación
  • Vulnerabilidades de deserialización en JBoss
  • Vulnerabilidad CVE-2017-5638 de Apache Struts
  • Vulnerabilidades en Jenkins
El funcionamiento de la aplicación es tremendamente sencillo: se lanza contra una IP y te muestra los tests que no ha conseguido pasar el servidor analizado, dando la posibilidad de intentar obtener una shell explotando una (o todas, si se desea) de las potenciales vulnerabilidades encontradas.



Interfaz de JexBoss

Además de este modo "standalone", JexBoss ofrece la posibilidad de escanear una red, e incluso lanzar los exploits automáticamente; lo cual hace aún más cómodo el escaneo masivo de estas vulnerabilides.

Pues bien, la próxima vez que queráis auditar un servidor JBoss (o en menor medida un Struts o Jenkins), no olvidéis esta aplicación que os hará la vida más sencilla.

¡Saludos!

20 sept 2019

Teleco in a nutshell v8.4: Modulación por Desplazamiento de Frecuencia

¡Muy buenas!

Hoy os traemos un post en el cual os vamos a hablar de la Modulación por Desplazamiento de Frecuencia (FSK).

Esta modulación es la equivalente a FM en el mundo analógico, con la diferencia de que mientras que ésta es ampliamente utilizada, FSK no es la modulación que reina en el mundo digital. Esto es debido a que ocupa un mayor ancho de banda que otras modulaciones como ASK.

El funcionamiento es bastante sencillo: simplemente señal va variando de frecuencia en función del símbolo que se esté enviando. En el caso más simple, se utilizarán dos frecuencias según se transmita un '1' o un '0'. Si queremos transmitir símbolos de mayor tamaño, deberemos utilizar una mayor cantidad de frecuencias con las que diferenciar estos símbolos. Esto nos fuerza a tener que elegir entre dos opciones:
  • Sacrificar ancho de banda, al aumentar el número de frecuencias utilizadas manteniendo un mismo espaciado entre ellas.
  • Sacrificar la robustez de la transmisión, al reducir la separación entre frecuencias si queremos mantener el mismo ancho de banda. Será necesario un receptor más sensible para no fallar a la hora de detectar la frecuencia recibida.
Modulación FSK con cuatro símbolos distintos (2 bits por símbolo) [AtlantaRF]

En la imagen anterior podemos ver una modulación 4-FSK, es decir, un FSK con cuatro símbolos distintos ('00','01','10' y '11'), lo que permite transmitir dos bits por símbolo. Desde un punto de vista espectral veríamos algo similar a la siguiente figura, donde podemos observar que se han elegido las frecuencias 7, 9, 11 y 13 MHz para transmitir cada uno de los símbolos:

Power spectrum of FSK4 
Espectro de 4-FSK [ResearchGate]
Y hasta aquí por hoy. Como véis, esta modulación es bastante sencilla, lo que implica que se utilice normalmente en transmisores baratos y que no requieren unas características como para echar cohetes. Algunos ejemplos son los mandos a distancia por radiofrecuencia (como los de los coches), o aparatos inalámbricos de interior como cámaras de vigilancia que transmiten a una centralita en la misma casa.

En el próximo post hablaremos de una modulación que se usa bastante más: la equivalente a PM, Modulación por Desplazamiento de Fase (PSK).

¡Gracias por leernos!

Y ya sabes... :)

19 sept 2019

Identificando rangos IP con bgp.he.net


Buenas a todos, en el post de hoy quería compartir con vosotros un servicio online muy interesante, en la línea del mítico Robtex, con el que obtener rápidamente algunos datos de un dominio o dirección IP, Hurricane Electric:


Principalmente suelo utilizarlo para conocer el rango de IPs registradas por una empresa, dada una dirección. Muy interesante para medir alcances durante la estimación de un test de intrusión.


A continuación os dejo otra captura, en esta ocasión del whois:



Sin duda, otra interesante utilidad para tener en los marcadores de nuestro navegador.

Saludos!

18 sept 2019

This person does not exist

This person does not exist (https://thispersondoesnotexist.com/), es un sitio web desarrollado por Phillip Wang, con el objetivo de generar caras de personas aparentemente reales, pero generadas mediante inteligencia artificial, en concreto, mediante una GAN (generative adversarial network).

Lanzado como un sitio piloto para llamar la atención sobre el poder de la inteligencia artificial, se ha convertido en un recurso muy interesante para las labores de inteligencia y pruebas de ingeniería social, al facilitar la generación de perfiles falsos con imágenes de personas inexistentes. De esta manera, se evita la suplantación de personas reales, los problemas de privacidad y de protección de datos.


¿Alguien sería capaz de distinguir si esta persona es real? Si buscamos la imagen en Google, no encontraremos la imagen original:



Para generar una nueva imagen, simplemente tendremos que actualizar la página, hasta encontrar una fotografía que cumpla con los requisitos de la persona deseada (sexo, color de piel, bello facial, color de ojos, etc.). ¡Tened siempre a mano este sitio web! ;)

Saludos!

17 sept 2019

Teleco in a nutshell v8.3: Modulación por Desplazamiento de Amplitud

¡Muy buenas!

Después de un par de posts hablando de las viejas glorias de la modulación analógica, damos un salto en el tiempo hasta la actualidad: el mundo digital.

Como ya hablamos, a diferencia de las analógicas, las señales digitales tienen unos valores acotados: o vales 1, o 0, o un grupo de 1's y 0's si somos valientes y podemos diferenciar la amplitud de dos señales distintas.

Pues bien, antes de nada tenemos que dejar claro que enviar la señal digital "a pelo" no es una buena estrategia. Recordemos que una señal cuadrada se descompone en infinitos armónicos (nos lo contó Helena aquí), lo que provoca un gran problema: el ancho de banda necesario es... infinito. Obviamente esto es imposible, lo que hace que las señales cuadradas perfectas no existan (os hemos engañado todo este tiempo, sí). No obstante, podemos ser felices en un mundo imperfecto con señales no tan cuadradas... pero estas siguen teniendo el mismo problema: ocupan mucho ancho de banda.

Todo esto cambia con la modulación digital, donde enviamos la información binaria dentro de una señal sinusoidal. Al igual que en las modulaciones analógicas, la magia reside en modificar uno de los parámetros de la señal portadora (amplitud, frecuencia y fase) en función de la señal moduladora (la señal digital).

Pues bien, en el caso del primo millenial de AM, Modulación por Desplazamiento de Amplitud (ASK) se realiza exactamente de la misma manera: la señal digital se multiplica por una portadora con una frecuencia determinada, obteniendo una sinusoide que va variando su amplitud, en la cual estará la información binaria.

Al diferencia que en AM, donde vimos que acercase a una amplitud de 0V no era una buena idea por la pérdida de la forma de onda original, en ASK puede ser un ejercicio interesante: podemos llegar al extremo de que estemos enviando una portadora con una amplitud determinada cuando queremos enviar un '1' o no enviar nada cuando enviamos un '0'. Esto es lo que se denomina On-Off Keying (OOK), pero realmente no se utiliza demasiado a día de hoy, más allá de transmisiones infrarrojas (mandos a distancia, por ejemplo).

Lo realmente se hace es enviar más de dos amplitudes distintas (y nunca nula, ya que en este caso no podríamos diferenciar entre un '0' y la pérdida de señal). Al hacerlo así, se podrán enviar más de dos valores binarios distintos, aumentando la eficiencia de transmisión. Por ejemplo, imaginemos que tenemos cuatro posibles valores de amplitud. Esto permitiría enviar cuatro grupos de bits -que denominamos símbolos- distintos ('00', '01', '10' y '11'), duplicando la eficiencia que si sólo utilizásemos dos valores de amplitud. Cuanto mayor sea el tamaño de los símbolos que enviemos, mayor será la eficiencia de la transmisión, pero será más complicado recibir el símbolo correctamente (es más difícil discernir entre dos valores de amplitud cercanos, porque al haber más posibles valores de amplitud con un mismo máximo, estos valores estarán más cerca entre ellos).


a) Moduladora b) Portadora c) OOK d) ASK (con dos símbolos) [open.edu]


ASK con cuatro símbolos (cuatro posibles valores de amplitud) [open.edu]

No obstante, esta modulación tiene el mismo gran problema que AM: el ruido. Esto hace que en la práctica no sea una modulación muy utilizada en sistemas complejos, reduciéndose su uso a transmisiones digitales sencillas y en distancias cortas. Sin embargo, esta modulación encaja muy bien en transmisiones por fibra óptica, donde no hay apenas ruido y usar esta tecnología permite utilizar emisores y receptores sencillos (simplemente un LED o láser que emita más o menos potencia en función del símbolo enviado, y un fotorreceptor estándar al otro lado del canal).

En el próximo post os hablaremos del equivalente digital a FM: la Modulación por Desplazamiento de Frecuencia (FSK).

¡Hasta entonces! :)



Y ya sabéis, si os quedáis con hambre:

16 sept 2019

Analizando el mapa de la renta de los españoles

Buenas a todos, hace algunos días fue publicado por el diario El País, un curioso artículo donde publicaban un mapa de España diseñado con Mapbox, y en el que representaban la renta de los españoles, a través de los datos publicados por el Instituto Nacional de Estadística (INE). El mapa ha sido elaborado como un "Atlas de Distribución de la Renta de los Hogares", ofreciendo cifras de renta a nivel municipal e inframunicipal, a partir de datos que han sido obtenidos de la Agencia Tributaria y las haciendas forales.


Cómo nos dedicamos a lo que nos dedicamos :), lo primero que se me ocurrió fue sacarle partido a esta nueva fuente de información. Pensé en como los ladrones podrían utilizarlo para detectar nuevas zonas desconocidas, donde viva gente rica, deportistas, grandes empresarios, etc., pero después leí que en el mapa no ha sido reflejada ninguna renta por debajo de 2.897 euros o por encima de 29.364 euros, ya que el INE no comparte esta información para respetar "el secreto estadístico". Tampoco publica datos de lugares donde vivan menos de 100 personas, ni datos de la provincia de Álava, ya que no disponen de información por secciones de esa zona. Por lo que, los datos están a medias. Esto tendería a ciertos errores, como por ejemplo, en una supuesta calle, en la que viviese una persona que cobrase 9.000 € al año, pero estuviese rodeada de decenas de personas que cobrasen 200.000 €, cómo solo se habría tenido en cuenta la renta de esa única persona, la media bajaría sustancialmente, llevando a confusión ¿No pensáis?

Algo parecido a esta hipótesis puede ser lo que ocurre en Pozuelo de Alarcón, localidad con mayor renta media por persona de España, con una media de 25.957 €:


Si nos fijamos en el centro de Pozuelo de Alarcón, vemos rentas medias situadas entre los 8.000 y los 14.000 €:

A medida que nos alejamos del centro, y nos adentramos en barrios donde comprar una vivienda supera con creces el 1.000.000 €, según datos que he extraído de Idealista, llegamos al famoso límite de 29.364 € al que hacía referencia el INE y El País como "límite de respeto estadístico":





Parece poco creíble que con una renta de 29.000 € se pueda uno comprar, aunque sea entre dos personas, una vivienda de 2.000.000 € ¿verdad?

Es importante entender el significado de "renta per cápita", para tratar de entender estos resultados. Y es que, este sistema, divide los ingresos por el número de habitantes:


Cómo indica Wikipedia, este sistema no es la mejor vara de medida existente, ya que <<ignora las desigualdades de la renta. Así, al dividir el total del PIB entre su número de habitantes, lo que hace es atribuir el mismo nivel de renta a todos, ignorando las diferencias económicas entre los habitantes. Para medir aproximadamente la distribución de la renta entre todos los individuos de un país determinado existen indicadores económicos alternativos como el coeficiente de Gini o el índice de Atkinson>>.

Encontré algunos otros problemas en este estudio, además del problema del techo económico que plantean por respeto estadístico, como por ejemplo, que los datos son representados por código postal/barrio, aunque se permita la búsqueda por calle. Este problema se acrecenta en barrios grandes, donde es fácil encontrar una zona de chalets de cierto lujo, dentro del mismo código postal que una vivienda de pisos antiguos. Hice el ejemplo conmigo mismo, vivo en una zona residencial tranquila, en las afueras, zona nueva con menos de 5 años de antigüedad, de casas bajas y gente joven, donde el vecindario en general tiene vehículos de gama media-alta y donde, informándome a alto nivel, por los datos publicados en fuentes abiertas y redes sociales por mis vecinos, parece ser que tienen puestos de trabajo de nivel medio-alto. Sin embargo, según el mapa publicado por El País, en mi calle la renta media es de poco más de 8.000 €.  Cierto es que es una zona con mucha población infantil, que bajaría la media per cápita, por el problema antes mencionado, pero aún así, es un dato difícil de creer, y esto se debe a la división por código postal.

Independientemente de estos pequeños problemas, y conociendo bien sus limitaciones, son datos que pienso pueden sernos de utilidad en el campo de la ciberinteligencia. Bien enriquecidos y cruzados de forma adecuada, nos pueden aportar sesgos y puntos interesantes.

¿Y vosotros? ¿habéis jugado con este mapa?

Saludos!

13 sept 2019

Teleco in a nutshell v8.2: Frecuencia y Fase Modulada

¡Muy buenas!

La modulación en frecuencia o frecuencia modulada (FM) se descubrió en los años 30 del siglo XX, convirtiéndose rápidamente en el estándar de transmisión radio, debido a sus buenas propiedades de resistencia al ruido e interferencias.

La modulación FM se basa en modificar la frecuencia de una señal portadora en función de la amplitud de una señal moduladora. Esta frecuencia variará en torno a una frecuencia determinada, que será la que permita emitir señales distintas en diferentes frecuencias (por ejemplo, las estaciones de radio).


Modulación FM [Wikipedia]

Demodular una señal modulada FM es algo más complicado que en AM, aunque sigue siendo bastante sencillo. Lo que se hace es utilizar un sistema electrónico que genere una señal que varíe la amplitud en función de la frecuencia de la señal modulada, obteniendo la señal moduladora original.

Tal vez el punto débil de FM es que necesita un ancho de banda mayor que AM. No obstante, dado que FM se utiliza principalmente para transmisión de audio, el uso de ancho de banda no es demasiado problemático (siguen siendo bandas bastante estrechas, del orden de kHz). Por esto, a día de hoy la radio FM sigue existiendo: es sencilla (por lo que se pueden fabricar receptores baratos) y no ocupa demasiado espectro.

Y antes de irnos, os vamos a hablar rápidamente sobre la modulación en fase o fase modulada (PM): la modulación que nadie quiere. Es mucho más compleja de demodular que FM (es más complicado determinar con precisión la fase de una señal que su frecuencia) sin tener más beneficios, además de que en anchos de banda mayores su espectro es similar al de FM, así que entenderéis que no se use, ¿no?

Como esperaréis, en esta modulación se varía la fase de la señal portadora en función de la señal moduladora. Esto es complicado de apreciar visualmente, ya que la señal modulada es muy similar a la FM, como podéis apreciar en la imagen siguiente.

Modulación PM [Wikipedia]


¿Y por qué os hablamos de esta modulación, si no se usa? Pues porque no se usa… en señales analógicas. En señal digital es muy utilizada, pero no vamos a adelantar acontecimientos, ya os contaremos más detalle :)

¡Y hasta aquí por hoy! La próxima vez que escuchéis la radio, esperamos que penséis en nosotros :)

En el próximo post empezaremos a hablar de modulaciones digitales, más interesantes a día de hoy que las analógicas.

¡Nos vemos!



Y ya sabéis, si queréis más:


12 sept 2019

Typosquatting con suip.biz

Buenas a todos, en el post de hoy me gustaría hablaros del Typosquatting, y en concreto de una solución web muy interesante para su explotación.

Si citamos a Wikipedia, el Typosquatting, también conocido como URL hijacking, sting site, o fake URL, es una forma de cybersquatting y/o de brandjacking, que se basa en los errores tipográficos cometidos por usuarios de Internet cuando introducen la dirección de un sitio web en un navegador. Cuando esto sucede la dirección puede llevarlos a un sitio alternativo propiedad de un cybersquatter.

La URL de los sitios web de cybersquatters usualmente sigue una de estas cinco variaciones.

  • Un error ortográfico o una pronunciación extranjera de la URL. Ejemplo: ejemple.com
  • Un error tipográfico. ejemlop.com
  • Una URL expresada diferente. ejemplos.com
  • Un TLD diferente. ejemplo.org
  • Un ccTLD diferente. ejemplo.co
  • Una vez en el sitio web del typosquatter, el usuario puede ser engañado para que piense que están en el sitio web correcto a través del uso de logos similares o copiados, una interfaz de usuario o contenido similar, el fin de ello es el robo de información personal tal como contraseñas, tarjetas de crédito o la venta de productos y servicios1​. En algunos casos pueden utilizar el phishing.

Suip.biz tiene un servicio online gratuito muy interesante llamado "urlcrazy", que justamente nos ayuda a identificar posibles alteraciones de un dominio, comprobando en tiempo real si existen y qué servicio se esconde tras el citado dominio.


Podéis acceder a este servicio a través del siguiente enlace:


Como ejemplo, os muestro a continuación los resultados para el dominio bankofamerica.com:


Sin duda, un servicio web muy interesante para añadir a los bookmarks de nuestro navegador.

Saludos!

11 sept 2019

Teleco in a nutshell v8.1: Amplitud Modulada

¡Muy buenas!

La modulación en amplitud o amplitud modulada (AM) se comenzó a utilizar a finales del siglo XIX en comunicaciones telefónicas por cable. Rápidamente comenzó a utilizarse en comunicaciones radio, ya entrado el siglo XX.

Como podéis esperar, es una técnica de modulación muy sencilla: lo único que hace es multiplicar la señal portadora y la moduladora.


Multiplicación de dos sinusoides


En la imagen anterior podemos ver tres sinusoides. La onda negra es la señal original (moduladora) y la gris es la señal portadora (que, como podemos ver, tiene una frecuencia superior). La señal roja es el producto de ambas, o la modulación en amplitud de la señal negra. Podemos observar que esta señal roja oscila igual que la gris (misma frecuencia), pero la amplitud va variando en función de la señal negra, de ahí el nombre de esta modulación. La línea imaginaria que une los picos de la señal modulada (que se corresponde con la señal moduladora) es lo que conocemos como envolvente.

Para demodular una señal modulada en AM, simplemente debe obtenerse la envolvente de la señal modulada. No obstante, debemos tener en cuenta que el hecho de que la amplitud de la moduladora cambie de signo (es decir, que pase por 0V, como en el ejemplo anterior) provoca distorsiones al demodular esta señal, ya que únicamente se recoge la mitad de la envolvente. Por tanto, a la hora de modular se añade una componente continua que evite este cambio de signo (es decir, se "separan" las dos envolventes para no confundirlas), como vemos en la siguiente imagen.



Modulación de una señal con distintas componentes continuas [Wikipedia]


En la imagen anterior podemos ver tres casos de modulación con distintas componentes continuas. En el primer caso podemos ver un ejemplo de modulación correcta, tiene una separación con los 0V que permite obtener sin problemas una de las dos envolventes. El segundo ejemplo es el límite, que podría obtener la señal original en un escenario ideal. El tercer ejemplo es una modulación incorrecta: si nos quedamos con la envolvente positiva, la señal obtenida es diferente a la moduladora.


¿Véis? :(


En el mundo espectral, ¿qué es lo que hace AM? Sencillo también: simplemente desplaza el espectro de la señal moduladora a la frecuencia de la señal portadora, permitiendo emitir varias señales simultáneamente en diferentes frecuencias, lo que se denomina multiplexación en frecuencia.

Esta modulación tiene como fortaleza su enorme sencillez de modulación y demodulación. De hecho, las primeras radios utilizaban piedras de galena (sí, piedras) como demodulador de la señal, permitiendo la fabricación de receptores de radio económicos (de ahí el boom en el siglo XX). Por otro lado, es una modulación muy sensible al ruido e interferencias, ya que cualquier modificación de la amplitud de la señal modulada genera distorsiones en la señal obtenida. De ahí que esta modulación apenas se use ya.

¡Y hasta aquí por hoy! Esperamos que os haya gustado leer sobre esta tecnología tan viejuna :)

En el próximo post hablaremos de algo bastante más conocido: la frecuencia modulada.

¡Nos vemos!



Y ya sabéis, si queréis más:


10 sept 2019

Network Access Control Bypass

Buenas!!

En esta entrada, vamos a ver una pequeña introducción a los mecanismos de seguridad que desde hace algún tiempo se están implementando en las redes corporativas y que, hasta cierto punto, dificultan las tareas de auditoría interna o Red Team. Se trata del NAC o Network Access Control. Es un mecanismo de seguridad que proporciona protección de acceso a una red corporativa o LAN, es decir, previene que un equipo físico (portátil o sobremesa) no autorizado se conecte a la red.

Aunque no es interés particular de este post, tan solo comentar que a nivel comercial existen distintos tipos de soluciones que han ido ampliando funcionalidades hasta convertirse en herramientas de gestión muy potentes. Inicialmente se desarrollaron sistemas NAC que únicamente verifican contra un directorio la identidad de quien se conecta y en base a la política del usuario se le proporcionaba acceso a una determinada red. Posteriormente las funcionalidades se han ido ampliando hasta poder discernir con gran detalle las características del equipo que se conecta (por ejemplo a través de un agente) para hacer chequeos de seguridad, desplegar portales cautivos para invitados o enviar a redes de cuarentena.

Al lío, ¿cómo funciona por lo general un NAC? En el esquema de autenticación intervienen los siguientes actores:
  • Supplicant. Equipo portátil o sobremesa que se conecta a la red.
  • Authenticator. Switch o Access Point que en base a la configuración del NAC va a requerir la autenticación del Supplicant.
  • Authentication server. Sistema que verifica la identidad del Supplicant contra un LDAP.

Imagen de wikipedia.org



En la trama de comunicación que vemos en esta imagen cuando el Authenticator detecta una nueva conexión envía una solicitud de autenticación basada en el protocolo 802.1X [trama 63]. Este paquete se encapsula con el protocolo EAP (Extended Authentication Protocol) para que exista interoperabilidad entre distintos fabricantes. La respuesta del Supplicant [trama 64] incluye el nombre de la Identidad que puede ser un nombre de máquina o bien un nombre de usuario. El Authenticator envía esa identidad al servidor de autenticación para que pueda generar un Accaess-Challenge que únicamente el usuario legítimo sabría resolver. Ese Access-Challenge es enviado por el Authenticator al Supplicant que lo resuelve y contesta para finalmente recibir el OK [trama 70] o el KO de acceso a la red. El Access-Challenge se puede producir por distintos protocolos, en el caso que vamos a ver a continuación se utiliza EAP-TLS [tramas 65, 66, 67 y 68] y está basado en certificados.



En caso de que la máquina no disponga de un certificado válido, o simplemente no disponga de un perfil 802.1X configurado, no se le daría acceso a ninguna red (opaco) o bien se le podría enviar a una red de invitado.

Si imaginamos un entorno empresarial con dispositivos muy heterogéneos que deben acceder a la red pero algunos de ellos (VoIP phones, impresoras, etc.) no tienen capacidad de implementar este protocolo, nos encontraríamos frente a una casuística en la que la compañía deba realizar una autenticación basada en whitelisting de MAC. Se conoce como MAB (MAC Authentication Bypass). Si se da este caso y no existen configuraciones de seguridad adicionales se podría acceder a la red de forma sencilla haciendo MAC spoofing con la dirección física de un dispositivo en whitelist.

Después de esta introducción hablaremos el resto del post en la posibilidad de saltarnos este mecanismo de autenticación 802.1X. El contexto y necesidad del que partimos es poder ganar acceso a la red de forma transparente. Para ello necesitaremos introducir un dispositivo HW en la organización y conectarlo a una toma ethernet con acceso a red. Este dispositivo debe tener dos interfaces de red, en el ejemplo que vamos a ver se ha utilizado una RaspberryPi con la distribución Kali y un tarjeta ethernet tipo USB dongle. Se recomienda la distribución Kali dado que tiene herramientas tanto para atacar en capa 2 (ARP spoofing, VLAN Hopping, etc) como para realizar los escaneos de red que nos permitirán encontrar un vector de ataque.

La idea es implementar con la RaspberryPi un bridge que permita el flujo de información entre el Supplicant y el Authenticator mientras se monitoriza el tráfico de forma transparente. Conectaríamos la interfaz de red el equipo Supplicant a una interfaz de la RaspberryPi y el cable que está enganchado al puerto ethernet de la compañía a la otra interfaz de la RaspberryPi. Quedaría de la siguiente forma:


Una vez tenemos todo configurado hay que montar el bridge para poder esnifar el tráfico. Tenemos varias opciones:
• Levantar de forma manual el bridge y gestionar reglas de forwarding, IP y ARP.
• O bien hacer uso de alguna herramienta ya diseñada para ello. Dos de las herramientas más funcionales para esto son Fenrir-OCD de Valérian LEGRAND y Silentbridge de s0lst1c3.

En este caso haremos uso de SilentBridge. Una vez conectadas las interfaces de red, hay que ejecutar el siguiente comando de SilentBridge para levantar el bridge de forma transparente:

./silentbridge --create-bridge --upstream eth0 --phy eth1 --sidechannel wlan0

El nombre de la interfaz upstream, debe ser la que se conecta a la toma de red de la compañía, en nuestro caso la interfaz integrada "eth0". El nombre de la interfaz phy, debe ser la que se conecta al Supplicant (laptop), en nuestro caso la interfaz usb "eth1". La interfaz "--sidechannel" puede ser una interfaz WiFi o LTE para acceder por ssh y ejecutar los comandos en la Raspi de forma remota (quizá otro día hablemos de ello).

En este punto si levantamos Wireshark o tcpdump podemos ver las tramas de autenticación 802.1X, la respuesta "Success" y como al marcar el puerto como autenticado se comienza solicitando una IP de red por DHCP.



Tan solo podemos monitorizar el tráfico no cifrado punto a punto, es decir HTTP y otros protocolos que envíen información en claro. Con esta configuración no vamos a poder interactuar más allá a no ser que se implementen nuevas reglas para generar tráfico suplantando al Supplicant.


Una vez que somos capaces de monitorizar el tráfico podemos ir un paso más allá y hacer a lo que realmente hemos venido, que es bypasear el NAC para poder estar en la red autenticada y  realizar escaneos de red. Para ello vamos a hacer uso de otro módulo de SilentBridge, se trata de la opción "--add-interaction" y va a hacer que todo el tráfico que generemos desde la Raspi se haga pasar por tráfico legítimo del Supplicant, es decir, vamos a spoofear su IP y MAC. Antes de nada, tenemos que conocer la siguiente información que podemos obtener del snifing previo que hemos realizado con el bridge:
- IP de Supplicant para spoofear: "-client-ip"
- MAC de Supplicant para spoofear "--client-mac"
- MAC de switch Authenticator "--switch-mac"
- MAC del gateway a quien enviar la información: "--gw-mac"

Un ejemplo de este comando sería:

./silentbridge --add-interaction --gw-mac a1:b2:c3:a1:b2:c3 --client-ip 10.180.X.22 --upstream eth0 --client-mac a1:b2:c3:a1:b2:c3 --phy eth1 --switch-mac a1:b2:c3:a1:b2:c3 --sidechannel wlan0


Todo el tráfico que se genera desde la Kali se hará suplantando al Supplicant (IP que finaliza en .22), por lo que parecerá que el tráfico es legítimo. Este comando crea automáticamente las reglas necesarias de nateo para capturar el tráfico generado por la kali y no interferir con el tráfico legítimo del Supplicant que sigue siendo transparente.
En los siguientes pantallazos vemos como el tráfico generado desde Kali se hace pasar por el cliente. Para ello abrimos una conexión contra un equipo de la red al puerto 135.


Y comprobamos como el origen parece venir del Supplicant, es decir de la IP que acaba en 22.


Y en este punto, ancha es Castilla. Se puede realizar cualquier técnica de hacking para enumerar e identificar vulnerabilidades en los sistemas de la red.

Desde un punto de vista defensivo, ¿cómo se puede evitar esto? Pues se debe realizar una configuración en el protocolo 802.1X-2010 para que se cifre el tráfico a nivel de enlace configurando MACSEC en el switch Authenticator.

Salud!!