New Report: Most common errors when implementing HPKP, HSTS and preload conditions

martes, 17 de enero de 2017

We have collected and visited two different sources of domains and webpages, Alexa top million domains, and Shodan. These results come from November 2016 searches. From those domains, we have restricted the search to be able to determine which ones use HSTS or HPKP over HTTP or HTTPS, and even which of them uses different configurations for the headers. We have tried to determine not only the quantity but the "quality" of the implementation. Just 0,02% of most popular domains are implementing HPKP in the best possible way, and just 0,74% are doing so with HSTS. Even Whatsapp.com or Facebook.com have some errors.

We show now some excerpts from the report you cand find here.

Number of pins

When implementing HPKP it is important to respect the number of pins required. Despite the recommended values are using between 3 and 4 pins, some domains use from just one pin (violating the RFC) up to 17, which seems to be an irregularity that reduces the efficiency. Regarding Alexa top million domains, 282 out of 450 domains use 2 or 3 pins, which is correct. 89 (19,8%) use zero or just one, which is useless from the browser standpoint since it will ignore it.

Number of pins offered by top 1 million Alexa domains using HPKP.

Which certificate to pin

When using HPKP, choosing the right certificate to pin may be an important decision. Administrators may use whatever pin in the chain (root, intermediate or leaf) but this decision may impact directly in their usability and security from the administrator standpoint and user security. There is a tradeoff between security and maintenance.
  • Pinning the root offers less security, but an easier way for the administrator to deal with HPKP. This means that, as long as the administrator does not change its CA provider, no additional changes should be done, so less maintenance is required. But, on the other hand, if an attacker gets a fake certificate from the same CA, the browser would not detect the difference, since the root remains the same.
  • Pinning the intermediate certificate is the best choice, maybe. The attacker should get a certificate from the same subCA to make the "perfect" attack. The administrator, on the other hand, may change its leaf certificate as long as it comes from the same subCA with no extra cost of changing pins.
  • Pinning the leaf is the most secure way, but the most "dangerous" as well. If the certificate expires or for whatever reason the certificate changes (more specifically, the public key), even if issued by the same CA or subCA, the administrator has to modify its pins or use the backup one. On the other hand, an attacker may not be able to create a valid certificate (unless the private key is stolen) to create a man in the middle "perfect" scenario.
So we have checked what certificate does administrators pin, and this is what we have found. Most of them (73,65%) use the intermediate certificate to pin.

Pinned certificates in the trust chain for the top million Alexa domains using HPKP.


Pins reuse

Reusing pins among different domains is not an invalid practice at all. Considering that most of the pins used in HPKP are "intermediate" pins mostly from subCAs, it is even absolutely normal to share some pins between domains. But this procedure brings a little risk. Thus, from an attacker standpoint, knowing which subCAs or even CAs are pinned may allow to plan a specific APT for that domain. For example, if a domain issues its intermediate certificates with a specific subCA and pins this intermediate certificate, an attacker that gets a rogue leaf certificate for that domain issued from the same subCA will still have a perfect MiTM situation, since the browser will not show any warning message. Therefore, from the attackers standpoint, if they are able to determine if a domain pins its intermediate certificate, and furthermore, which one is the pinned subCA, it allows him to know better who to target. Additionally, if the attacker wants to maximize its scope, he would try to get a rogue certificate signed by this "popular" subCA.

The following map represents which certificates (and its pins) are pinned with more domains. These are the top 25 most pinned certificates. Since the protocol allows to know just the pin and not the certificate itself, it is necessary to "unhash" the certificate. We have collected several millions of certificates and hashed them to compare it with the pins associated to the domains. The results show how an intermediate certificate from Comodo is the most pinned certificate (klO23nT2ehFDXCfx3eHTDRESMz3asj1muO+4aIdjiuY=). It pins 40 different domains from Alexa and Shodan.

Pins reuse map. Click to enlarge.

Preload

To avoid "Trust on first use" issue, "preload" mechanism was introduced. This preload works as a root CA embedded in the browser. It is basically a list of domains that are willing to be accessed with HSTS securely from the first time. This list is maintained by Google and some conditions have to be satisfied to belong to this list.
  • Have a valid certificate chain and redirect from HTTP to HTTPS in the same host (of course)
  • Serve all subdomains under HTTPS. WWW is mandatory if it exists in DNS server.
  • Serve HSTS header via HTTPS with this properties:
    • max-age is at least 18 weeks (10886400 seconds).
    • includeSubDomains directive must be included.
    • preload directive must be included.
    • If serving an additional redirect from the HTTPS site, it must still use the HSTS header (rather than the page it redirects to).
If all these conditions are satisfied, the domain owner may apply to the list in here: htstpreload.appspot.com and the domain will be eventually included in the list. This webpage allows as well to check if a domain satisfies or not all these conditions. There are a total of 18197 domains preloaded in Chromium list (shared with Firefox). As of December 2016, only 2056 domains from the top 1 million from Alexa are in that list.

Preloading status in Alexa's top million domains

In the background, htstpreload.appspot.com uses a public API providing the reasons why a specific domain may be preloaded or not. We have checked all the top million Alexa domains against this API, to know if preloaded domains do really validate all this conditions to be preloaded. When a domain is checked against this API or preload list, the domain is visited in real time and errors checked. It is interesting to prove that, from those 2056 preloaded domains in top Alexa list, 662 contain some errors, thus, strictly speaking, they should not be preloaded. We have even detected that, 67 out of those 2056 preloaded domains in the list, do not contain the preload directive in the header, which as well violates the condition. Whatsapp.com and Facebook.com are domains that do not keep the mandatory conditions to be preloaded, but they actually are.




Conclusions

Although HSTS and HPKP protocols are intended to provide an additional layer of security to HTTPS communications, their implementation is not widespread. At server level, many of the most relevant Internet domains do not even implement them. Moreover, among the minority of domains that do use them, there exist a significant number of implementation errors, even a disregard of the recommendations of their respective RFCs. This situation shows both low level adoption and, somehow, some misunderstanding about how to take full advantage of these protocols. Some of the most interesting figures are:

  • From Alexa, we have collected 632648 HTTPS domains, and 901958 HTTP domains. We retrieved 30886979 HTTPS (port 443) domains and 45330802 HTTP (port 80) domains (a total of 76217781) from Shodan.
  • Only 1,9% of domains in Shodan use HSTS correctly over HTTPS, while just a 5,35% from the Alexa top million do so.
  • 4717 (roughly a 0.74%) of the top million domains in Alexa using HTTPS (632648) are implementing HSTS in the best possible way.
  • 175 of the top million domains in Alexa (a roughly 0,02%) using HTTPS (632648) are implementing HPKP the best possible way.
  • 20% of top Alexa domains using HPKP over HTTPS use zero or just one pin, which is useless from the browser standpoint since it will ignore it. Most of them (a 73,65%) use the intermediate certificate to pin.
  • 17% of domains in Alexa implementing HPKP are using a wrong or ignored max-age value.
  • The most used pin (a certificate from Comodo) pins 40 different domains from Alexa and Shodan.
  • There are a total of 18197 domains preloaded in Chromium list (shared with Firefox). As of December 2016, only 2056 domains from the top 1 million from Alexa are in that list.
  • From those 2056 preloaded domains in top Alexa list, 662 contain some errors if checked against the official preloading API, so, strictly speaking, they should not be preloaded. Whatsapp and Facebook are among those domains that do not keep the mandatory conditions to be preloaded, but they actually are.
Here is the whole report.




See You at the RSA Conference 2017

lunes, 16 de enero de 2017


The U.S. city of San Francisco is to host once again, as it does every year, one of the most important events worldwide in the field of security, RSA Conference. From 13 to 17 February, the most relevant players within the industry worldwide will gather, and ElevenPaths, Telefónica's cyber security unit, will be there among them of course.

We look forward to seeing you at stand #410 in the South Hall of the Moscone Center, where, by means of a number of demos, we will show:

  • How social media influences the security and reputation of a company.
  • How to put latches on your digital life, with Latch.
  • How the new standard in digital authentication, Mobile Connect, works.
  • How to detect data leaks and to ensure the authenticity of a document with Shadow.
  • How SealSign confirms that it is in fact you who is signing your documents.
  • How to prevent bank fraud affecting your company’s operations with our Anti-fraud solution.
  • How VAMPS and CyberThreats show you what is happening with your assets and your company’s online presence.
  • And much more!
Remember! We look forward to seeing you from 13 to 17 February at the RSA Conference in San Francisco, at the Moscone Center, South Hall, stand #410.  In addition, on Tuesday 14 February at 3:00 p.m., celebrate Cyber Security lovers’ day at our party with snacks, which will take place at our stand.

We offer you a pass to the exhibition area absolutely free of charge. To get your ticket you only need to register here using the code: XE7TELFNCA.


Nos vemos en RSA Conference 2017


La ciudad estadounidense de San Francisco vuelve a acoger, como cada año, uno de los eventos más relevantes a nivel mundial en el ámbito de la seguridad, RSA Conference. Del 13 al 17 de febrero los actores más relevantes de la industria a nivel mundial se reúnen durante estas jornadas y ElevenPaths, la unidad de Ciberseguridad de Telefónica, no podíamos faltar a esta cita.

Te esperamos en el stand #410 del South Hall en Moscone Center, donde presentaremos y enseñaremos a través de distintas demos:
  • Cómo las redes sociales influyen en la seguridad y la reputación de una empresa.
  • Cómo poner pestillos en tu vida digital, con Latch.
  • Cómo funciona Mobile Connect, el nuevo estándar de autenticación digital.
  • Cómo detectar fugas de información y asegurar la autenticidad de un documento con Shadow.
  • Cómo SealSign asegura que eres tú quien firma tus documentos.
  • Cómo evitar que el fraude bancario afecte a las operaciones de tu empresa con nuestras solución Antifraude.
  • Cómo VAMPS y CyberThreats te muestran lo que está pasando con tus activos y con la proyección de tu empresa en Internet.
  • ¡Y mucho más!
¡Recuerda! Te esperamos del 13 al 17 de febrero en la RSA Conference en San Francisco, en el Moscone Center, South Hall, stand #410.  Además, el martes 14 de febrero a las 3:00 p.m. celebra el día de los enamorados de la Ciberseguridad en nuestra party con snacks que tendrá lugar en nuestro stand.

Además para que no te cueste nada, te ofrecemos totalmente gratis acceder a la zona de expositores. Para conseguir tu entrada sólo tienes que registrarte con el siguiente código: XE7TELFNCA.


Browser Extension Usage by the Islamic State Propaganda

viernes, 13 de enero de 2017

One of the tools that the Islamic State has been using to spread its propaganda is the use of social networks. In the past they have shown how capable they are of expanding their capabilities to cover smartphones and mobile devices, but recently they have also opted for the development of browser add-ons in order to further facilitate access to their content.

Although Firefox extensions are mainly distributed by means of the official market run by Mozilla, the Amaq News Agency, identified as part of the Islamic State’s propaganda apparatus, is also distributing .xpi files in related websites. These files are compressed in .zip and renamed to a .xpi that contains the Javascript, CSS and HTML code that defines the behaviour of the extension.


About this extension, we have identified at least two different versions, 1.0.1 and 1.0.2, whose folder structure contains the same series of source and data files.
.
├── bootstrap.js
├── data
   ├── safe-16.png
   ├── safe-32.png
   ├── safe-48.png
   ├── safe-64.png
   ├── safe.png
   ├── unsafe-16.png
   ├── unsafe-32.png
   ├── unsafe-48.png
   ├── unsafe-64.png
   └── unsafe.png
├── icon.png
├── install.rdf
├── lib
   └── main.js
├── META-INF
   ├── manifest.mf
   ├── mozilla.rsa
   └── mozilla.sf
└── package.json

The most interesting files are three: package.json, install.rdf and the Javascript source file found at lib/main.js:
  • package.json contains metadata and information about the extension like the name, the author, the licenses or the permissions required.
{
    "name": "amaq",
    "title": "Amaq AR",
    "id": "jid1-5Fs7iTLaaUaZBgwdar@amaq",
    "description": "Amaq AR.",
    "author": "Amaq AR",
    "license": "MPL 2.0",
    "version": "1.0.2",
    "icon": "icon.png",
    "permissions": {
        "private-browsing": true
    },
    "engines": {
        "firefox": ">=38.0a1",
        "fennec": ">=38.0a1"
    },
    "main": "lib/main.js",
    "devDependencies": {
        "gulp": "^3.8.11",
        "gulp-image-resize": "^0.6.0",
        "gulp-rename": "^1.2.2"
    }
}
  • install.rdf defines in the field em:targetApplication that the extension is thought to be installed in certain versions. In this case, it explicitly shows that it is valid for different versions of Firefox Browsers, including Firefox for Android (this is defined by the tag <em:id>{aa3c5121-dab2-40e2-81ca-7ea25febc110}</em:id> tagasda).

<em:targetApplication>
    <Description>
        <em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id>
        <em:minVersion>38.0a1</em:minVersion>
        <em:maxVersion>43.0</em:maxVersion>
    </Description>
</em:targetApplication>
<em:targetApplication>
    <Description>
        <em:id>{aa3c5121-dab2-40e2-81ca-7ea25febc110}</em:id>
        <em:minVersion>38.0a1</em:minVersion>
        <em:maxVersion>43.0</em:maxVersion>
    </Description>
</em:targetApplication>

  • lib/main.js defines the code of the extension itself. In this case, it opens a new tab pointing to a given URL as shown in lines 107 and 108. The only difference between versions is the IP address shown in line 108.

var tabs=require("sdk/tabs");
tabs.open("http://190.14.37.220/v/");


Using the extension as a bookmark

In the case of the first release of the add-on 1.0.1, the URL opened was hosted at 88.80.20.1 IP address (a non-accessible address linked to an internet services provider settled in Sweden) while in the most recent version this IP address is 190.14.37.220. This address, still accessible at the moment of writing this article, is linked to an anonymous hosting provider settled in Panama that runs a nginx 1.6.2. However, this resource seems not to be hosting the contents itself because if we access to this URL it responds a 302 Moved Temporarily code and redirects us to jkikki.at, the agency website.  There, this Firefox extension can also be downloaded as amaq_news_agency_ar-1.0.2.xpi together with a hash of the file that would ultimately allow users to verify the legitimacy of the extension.

$ curl http://190.14.37.220/v/ -I
HTTP/1.1 302 Moved Temporarily
Server: nginx/1.6.2
Date: Tue, 10 Jan 2017 11:02:55 GMT
Content-Type: text/html
Content-Length: 160
Connection: keep-alive
Location: https://jkikki.at/

The referred website is hosting news in Arabic about Amaq and the Islamic State and is protected by Cloudflare making it impossible to know the real location of the systems used to serve the contents.  By using this approach, banning the access to jkikki.at would not be enough to stop their propagation mechanisms considering that the application developer would only need to modify the Location field to redirect to the new domain in which the content would be hosted.



Identifying other affiliated websites

The structure of the URL found in the extension suggested the possibility of the existence of other domains. The tests conducted have returned new 302 responses that pointed to at least 6 other domains also protected by Cloudflare and whose content is also tied to the Islamic State. The details of the certificates used indicate recent validity periods as can be seen in the following table.

URL
Redirected domain
Language
Certificate valid since
http://190.14.37.220/b/
bibifm.at
Arabic
2017/01/10
http://190.14.37.220/f/
vosn.pw
N/F
2016/01/06
http://190.14.37.220/g/
baqiya.ga
German
2017/01/01
http://190.14.37.220/h/
halummu.at
N/F
N/F
http://190.14.37.220/t/
nikmat.gq
Bengali
2017/01/10
http://190.14.37.220/u/
vijestiummeta.ga
Bosnian
2017/01/05
http://190.14.37.220/v/
jkikki.at
Arabic
2016/12/31

Apart from this extension, there is no evidence of the existence of others with a similar behavior that point to the rest of domains. However, the recent creation of the certificates suggests that newer similar add-ons could be created easily by modifying only the URL of the original file to point to one of the URL shown before.


Registrant information and other metadata

Regarding the registry of identified domains, those that do not present special privacy protection measures have been registered email accounts using the tutanota.com encrypted email provider taking into account that the @keemail.me, @tuta.io, @tutamail.com and @tutanota.com (used to register a domain linked to the organization which is no longer used like jkikki.de) are different domains that make use of this service.

Domain
Registrant
bibifm.at
francnomoli@keemail.me
vosn.pw
e12b69957ce848b0b00e47a96a5682ef.protect@whoisguard.com
baqiya.ga
N/F
halummu.at
elana.samra@tuta.io
nikmat.gq
N/F
vijestiummeta.ga
N/F
jkikki.at
stephenjells@tutamail.com
jkikki.de
tomorrowdoma@tutanota.com

On the other hand, the rest of files identified in the extensions do not show too many details apart from some EXIF data found in the agency logos and icons. These files seem to have been edited with various Adobe products for Windows according to its metadata.


Assesment

The Islamic State has shown in the past that it has used the means at its disposal to massively spread its content in both, social networks and mobile applications. In this case, the use of a browser plug-in is another example of how the individuals linked to this organization are capable of adapting themselves to ensure the dissemination of content using not only a technological assets located in different countries, but tools and systems such as Cloudflare and various servers and methods to ensure the effectiveness of the difussion of their message. 

Félix Brezo
Intelligence Analyst at ElevenPaths

Yaiza Rubio
Intelligence Analyst at ElevenPaths


Un hacker en Corea III

jueves, 12 de enero de 2017

Continúo con la historia de mis aventuras en Corea, si se me permite el desatino de llamar “aventura” a tres meses de saciar mi curiosidad con respecto a una cultura milenaria y a sus grandes avances en tecnología.

Cuando llegué a Corea, una de las primeras cosas que descubrí es la importancia que los coreanos le dan al número “1”. En un país donde Google y Whatsapp no son primeros (ni segundos), ser el “1” es un tema de debate serio. Los coreanos están primeros en muchas cosas como el nivel de conectividad, la cantidad de transacciones con tarjeta de crédito, la velocidad de Internet, la cobertura 4G; y también en su adicción al trabajo y al Soju/Sochu, un licor tradicional destilado del arroz.


Seguramente se quedaron pensando sobre el buscador… En Corea, las primeras opciones para buscar información son Naver y Daum, mientras que el mensajero por excelencia es Kakao Talk. Una demostración más, lo que damos por válido y sabido en occidente, de poco nos sirve después de pasar los Montes Urales y el Paralelo 38, uno de los motivos principales de mi viaje y del que hablaré en extenso en el próximo y último artículo (el bonus track de esta serie).

Si de ser primero se trata, Corea tampoco es ajeno al cibercrimen, siendo muy altas las tasas de infección con malware financiero ya sea en computadoras o móviles, así como la propagación de APT (Amenazas Persistentes y Avanzadas) dirigidas a entidades gubernamentales.

Las APT tienen un papel relevante y, como ya mencioné en la primera parte, la utilización masiva de Windows e Internet Explorer no ayuda a solucionar el problema. Desde finales de los 90, han existido varios casos de Windows Zero-Day y vulnerabilidades explotadas en ActiveX que han afectado a cientos de miles de usuarios, estaciones de radio y televisión, bancos, ATM, e infraestructuras críticas. En este último se enmarcan las Operaciones Kimsuky y DarkSeoul una serie de ataques en los cuales se utilizó malware contra servidores y usuarios de Korea Hydro and Nuclear Power (KHNP), la cual opera 23 reactores nucleares y varias centrales hidroeléctricas del país.

La seriedad de estos ataques remotos, lograron elevar el nivel de alerta DefCon -heredado de EE.UU., su principal socio económico y militar- de 3 a 5 y llevó a Corea a desarrollar su CyberSecurity Enhancement Measures, demostrando una vez más que se puede aprender de los errores.

Los índices de creación de malware e infección, así como la posibilidad de ataques dirigidos son tan altos que, incluso en 2012 nació la serie de televisión Ghost para concienciar sobre los problemas en la red. Esta serie, que también trata temas tan escabrosos como el Gromming y el acoso escolar, contó con la colaboración de la Unidad de Cibercrimen de la Policía de Korea y desde ese momento se publican los Índices Nacionales de Cibercrimen.

Todo lo mencionado, hace que organizaciones que pude conocer durante mi estadía consideren los siguientes puntos como fundamentales:

Instalación de dispositivos de detección y bloqueo de aplicación dañinas, como firewall, IDS, IPS, Anti-DDoS, etc. Muchas de las herramientas utilizadas son desarrolladas localmente en Corea, por ejemplo, por la empresa Igloo Security y, tal vez la más conocida en occidente, AhnLab Security. Con respecto a servicios Anti-DDOS no es extraño encontrar la tecnología de Arbor que, al igual que en Telefonica y ElevenPaths se utilizan para crear escudos Anti-DDOS desde la red.

Instalación de dispositivos y aplicaciones de control de APTs. En este caso no existe una discusión sobre la conveniencia de su instalación, es un hecho como lo es el backup, un sitio de contingencia o la instalación de un antivirus tradicional.

Inspección profunda de paquetes para determinar su origen y posibles amenazas. Un ejemplo sencillo: cada SMS enviado es analizado por las compañías de comunicaciones para determinar si contiene una URL y su nivel de riesgo para el destinatario. En el caso de detectar algún tipo de amenaza, se bloquea (el SMS y la URL) a nivel nacional a través de una red de colaboración en donde intervienen varias organizaciones públicas y privadas, ya mencionadas en mi primer artículo. Por eso, en ElevenPaths hemos desarrollado Tacyt, que permite analizar millones de aplicaciones móviles dañinas y que suscriben a la víctima a servicios SMS Premium.

Análisis forense del malware detectado localmente. En este caso la responsabilidad recae en los expertos del Laboratorio de KISA, una de las organizaciones públicas responsables de la seguridad de las comunicaciones en Corea. Una vez más, los hallazgos (firmas, detección heurística, patrones de comportamiento, etc.) son compartidos con el resto de los interesados.

• En algunos casos, cuentan con una línea de ayuda telefónica por problemas relacionados con el malware (no, no es broma). El tema de la colaboración me lleva a mencionar otro aspecto fundamental en la lucha contra el cibercrimen: la cooperación internacional y la cooperación público privada. Por ejemplo, la alianza estratégica de ElevenPaths con Europol y que nuestro CEO, Pedro Pablo Pérez, represente a Telefónica en la Organización Europea de Ciberseguridad (ECSO), son iniciativas en este sentido.

Es fácil ver las consecuencias de un ataque, pero es difícil saber qué y cómo sucedió, además de intentar determinar quién y cómo lo hizo”. Es necesario que los países definan sus ciberestrategias en conjunto con los demás estados; un esfuerzo individual es poco más que nada. Actualmente, United Nations Group of Governmental Experts (GGE) está trabajando en un protocolo/framework internacional de actuación para tratar cualquier tipo de incidente que involucre un incidente digital y Corea del Sur colabora con el mismo debido a los “problemas” con sus vecinos.

Finalmente, me sorprendió la cantidad de papers publicados por investigadores coreanos. Advertir este punto me sirvió para mejorar mis búsquedas (en Naver y Google) cuando hago investigación sobre temas poco comunes, que van más allá de un buzzword y que están fuera del foco de atención público. Algunas lecturas recomendadas de mis profesores: Gabi’s World, Cryptographic Lab, Cybercrime Tech, Human Behavior.

En la última parte de nuestro recorrido por Corea, contaré algunas curiosidades de los lugares turísticos y de interés que visité; entre ellos la ya mencionada Isla Jeju y la famosa DMZ (Zona Desmilitarizada) (ubicada en el Paralelo 38), que actualmente sirve de división política con Corea del Norte y que dio origen al popular término que todos conocemos cuando hablamos de networking.

Cristian Borghello
ElevenPaths Argentina
Cristian.borghello@11paths.com
@crisborghe

Uso de extensiones de navegador por parte del aparato propagandístico del Estado Islámico

miércoles, 11 de enero de 2017

Una de las herramientas que mejor ha sabido utilizar el Estado Islámico para difundir su propaganda es el uso de las redes sociales. En el pasado han demostrado ser capaces de ampliar sus capacidades hacia el mundo móvil, pero recientemente también han optado por el desarrollo de complementos para el navegador con el objetivo de facilitar aún más el acceso a sus contenidos.

Aunque las extensiones de Firefox se pueden distribuir a través del mercado oficial de Mozilla, se tiene constancia de que la Agencia Amaq, identificada como medio propagandístico del Estado Islámico, está distribuyendo los ficheros .xpi de la extensión a través de páginas afines. Estos archivos son ficheros comprimidos en .zip a los que se les cambia el formato y que contienen el código Javascript, CSS y HTML que definirá el comportamiento de la extensión.


Sobre esta extensión, se han identificado dos versiones, la 1.0.1 y 1.0.2., cuya estructura de carpetas descomprimida contiene la misma serie de ficheros.
.
├── bootstrap.js
├── data
│   ├── safe-16.png
│   ├── safe-32.png
│   ├── safe-48.png
│   ├── safe-64.png
│   ├── safe.png
│   ├── unsafe-16.png
│   ├── unsafe-32.png
│   ├── unsafe-48.png
│   ├── unsafe-64.png
│   └── unsafe.png
├── icon.png
├── install.rdf
├── lib
│   └── main.js
├── META-INF
│   ├── manifest.mf
│   ├── mozilla.rsa
│   └── mozilla.sf
└── package.json

Los archivos más interesantes son tres: el fichero package.json, el fichero install.rdf y el fichero lib/main.js:
·         package.json contiene metadatos e información sobre la extensión como el nombre, el autor, la licencia o los permisos que requiere.
{
    "name": "amaq",
    "title": "Amaq AR",
    "id": "jid1-5Fs7iTLaaUaZBgwdar@amaq",
    "description": "Amaq AR.",
    "author": "Amaq AR",
    "license": "MPL 2.0",
    "version": "1.0.2",
    "icon": "icon.png",
    "permissions": {
        "private-browsing": true
    },
    "engines": {
        "firefox": ">=38.0a1",
        "fennec": ">=38.0a1"
    },
    "main": "lib/main.js",
    "devDependencies": {
        "gulp": "^3.8.11",
        "gulp-image-resize": "^0.6.0",
        "gulp-rename": "^1.2.2"
    }
}
·         install.rdf indica en su campo em:targetApplication que la extensión puede ser instalada en determinadas versiones. En este caso se especifica explícitamente que la extensión es válida tanto para el navegador Firefox como para Firefox en Android.

<em:targetApplication>
    <Description>
        <em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id>
        <em:minVersion>38.0a1</em:minVersion>
        <em:maxVersion>43.0</em:maxVersion>
    </Description>
</em:targetApplication>
<em:targetApplication>
    <Description>
        <em:id>{aa3c5121-dab2-40e2-81ca-7ea25febc110}</em:id>
        <em:minVersion>38.0a1</em:minVersion>
        <em:maxVersion>43.0</em:maxVersion>
    </Description>
</em:targetApplication>

·         lib/main.js contiene la lógica del complemento en sí misma. En este caso se resume en la apertura de una nueva pestaña hacia una dirección URL concreta en las líneas 107 y 108. La única diferencia entre la primera versión y la segunda es la dirección URL a la que enlazan.

var tabs=require("sdk/tabs");

tabs.open("http://190.14.37.220/v/");


La extensión como marcador

En el caso de la versión 1.0.1, la URL a la que apuntaba estaba alojada en la dirección 88.80.20.1 (dirección ya no disponible vinculada a un proveedor de servicios de internet afincado en Suecia) mientras que en la versión más reciente esta dirección IP es la 190.14.37.220. Esta dirección, vigente a fecha de redacción de este artículo, está vinculada a un proveedor de servicios de hosting anónimo afincada en Panamá y alojada detrás de un servidor nginx 1.6.2. Dicho proveedor de servicios de hosting parece no contener la página web en cuestión ya que al consultar la URL de la web devuelve un código 302 Moved Temporarily al dominio jkikki.at desde el que también se facilita un enlace de descarga al fichero amaq_news_agency_ar-1.0.2.xpi, junto con un hash del mismo que permitiría al usuario verificar la legitimidad de la extensión.

$ curl http://190.14.37.220/v/ -I
HTTP/1.1 302 Moved Temporarily
Server: nginx/1.6.2
Date: Tue, 10 Jan 2017 11:02:55 GMT
Content-Type: text/html
Content-Length: 160
Connection: keep-alive
Location: https://jkikki.at/


El sitio web enlazado almacena información en árabe sobre Amaq y el Estado Islámico y se encuentra protegido por Cloudflare por lo que no ha sido posible establecer la localización real de las máquinas empleadas.  Al utilizar esta aproximación, bloquear el acceso al dominio jkikki.at no sería suficiente para detener la propagación del contenido ya que el desarrollador de la aplicación solamente tendría que modificar el campo Location de la redirección al nuevo dominio en el que alojen el contenido.



Identificando otras páginas afiliadas

La estructura de la URL sugiere la posibilidad de que existan otros dominios. Las pruebas realizadas han devuelto también el código 302 al apuntar hacia al menos otros 6 dominios también protegidos por Cloudflare y cuyo contenido también está vinculado con temática vinculada al Estado Islámico. Los detalles de los certificados empleados indican períodos de validez recientes tal y como se puede ver en la siguiente tabla.

URL
Dominio de redirección
Idioma
Certificado válido desde (aaaa/mm/dd)
http://190.14.37.220/b/
bibifm.at
árabe
2017/01/10
http://190.14.37.220/f/
vosn.pw
N/F
2016/01/06
http://190.14.37.220/g/
baqiya.ga
alemán
2017/01/01
http://190.14.37.220/h/
halummu.at
N/F
N/D
http://190.14.37.220/t/
nikmat.gq
bengalí
2017/01/10
http://190.14.37.220/u/
vijestiummeta.ga
bosnio
2017/01/05
http://190.14.37.220/v/
jkikki.at
árabe
2016/12/31

Al margen de esta extensión, no se tiene constancia de la existencia de otras de comportamiento similar que apunten al resto de dominios. Sin embargo, la reciente creación de los certificados hace pensar que podrían crearse próximamente otras extensiones similares modificando únicamente la dirección URL de la extensión amaq_news_agency_ar-1.0.2.xpi.


Información de los registros y metadatos 

Con respecto al registro de los dominios identificados, aquellos que no presentan especiales medidas de protección de la privacidad, han sido registrados con cuentas de correo asociadas al buzón cifrado de correo tutanota.com ya que tanto las direcciones @keemail.me, @tuta.io, @tutamail.com y @tutanota.com enlazan con dicho servicio.

Dominio
Registrador asociado
bibifm.at
francnomoli@keemail.me
vosn.pw
e12b69957ce848b0b00e47a96a5682ef.protect@whoisguard.com
baqiya.ga
N/F
halummu.at
elana.samra@tuta.io
nikmat.gq
N/F
vijestiummeta.ga
N/F
jkikki.at
stephenjells@tutamail.com
jkikki.de
tomorrowdoma@tutanota.com

Por otro lado, el resto de ficheros identificados en las extensiones no muestran demasiados detalles. Los datos EXIF de los logotipos de la agencia que aparecen en la extensión parecen haber sido editados con diversos productos de Adobe para Windows según sus metadatos. 


Valoración final

El Estado Islámico ha demostrado en el pasado que ha sabido utilizar los medios a su alcance para dar una difusión lo más amplia posible de sus contenidos, tanto a través de las redes sociales como a través de aplicaciones móviles. En este caso, la utilización de un complemento de navegador es un ejemplo más de cómo es capaz de adaptarse para garantizar la difusión de contenido haciendo uso, ya no solamente de infraestructura tecnológica situada en diferentes países, si no de tecnologías como Cloudflare y diversos servidores y métodos para garantizar la vigencia de su mensaje.


Félix Brezo
Intelligence Analyst at ElevenPaths

Yaiza Rubio
Intelligence Analyst at ElevenPaths