Nella nostra attività di monitoraggio e contrasto al Phishing abbiamo rilevato nel primo trimestre dell’anno una vasta campagna di Phishing ai danni di PayPal con la registrazione di multipli domini creati ad-hoc come i seguenti dei quali alcuni con valido certificato SSL:
- http://account-resolved-noticed.com
- http://confirmation-securley.com
- http://incpaypallimit.com
- http://overview-account.com
- http://peypal-secure-account.ml
- http://resolved-access.com
- http://settingpaypal.com
- http://spoof-verifications.com
- http://update.pay-pal.cash
- http://verification-sign.in
- http://www-paypal-com-apps.party
- http://www.paypal-365.biz
- http://www.paypal-365.com
- http://www.paypal-365.info
- http://www.paypal-365.online
- http://www.paypall.com
- https://cgi-servicescenter.com/
- https://resolve-verify.com
- https://validation-customer.org
- https://ww.vv-paypal.com
- https://www.payapl-billing.com
- https://www.validation.reviews
PayPal è da sempre un obiettivo primario per i Phisher ma i recenti cloni hanno attratto la nostra attenzione per l’importante precisione e cura con cui sono stati realizzati. Rispecchiano a 360 gradi il sito ufficiale, adattando la grafica e la lingua in base alla provenienza del navigatore. Ma ad attirare ancor di più la nostra attenzione è stata la tempestività con cui adattavano il design/layout del kit rispetto al sito originale, con sempre le dovute variazioni geografiche. Abbiamo quindi deciso di analizzare e approfondire le tecniche utilizzate in questo Kit recuperato su un server compromesso avente il Directory Listing di Apache abilitato.
Le seguenti tre immagini rappresentano a sinistra il sito ufficiale di PayPal e a destra quello generato dal kit in base alla lingua di navigazione dell’utente, usualmente il Phisher crea diversi Kit in base al target linguistico degli utenti ma in questo caso il kit risulta unico, anche l’indirizzo web, e il codice adatta l’interfaccia grafica in maniera completamente automatica. Per ottenere questo risultato il codice PHP sviluppato identifica inizialmente la geolocalizzazione dell’utente ed in base ad essa effettua uno Web scraping (salvataggio di una pagina web) del sito originale di PayPal selezionando la corretta lingua, l’output verrà poi editato per adattare l’invio delle credenziali al Phisher e non a PayPal.
L’interfaccia del sito originale e del clone in lingua Russa
L’interfaccia del sito originale e del clone in lingua Francesce
L’interfaccia del sito originale e del clone in lingua Italiana
Analizzando il Kit abbiamo potuto osservare le seguenti caratteristiche:
- Identificazione dell’user agent del visitatore e relativo re-indirizzamento al clone dedicato (Desktop o Mobile);
- Generazione random di un nuova path web ad ogni accesso per limitare la funzionalità delle blacklist (PhishTank, ecc);
- Geolocalizzazione mediante IP;
- Blocco di accesso ad utenti e boot prestabiliti (Google Bot, Utenti Tor, Trendmicro, PayPal, ecc);
- Download in tempo reale del sito ufficiale;
- Sostituzione di stringe dal sito originale per permettere il salvataggio delle credenziali;
- Validazione delle credenziali dell’utente (solo se vengono digitate corrette credenziali viene richiesta la conferma della carta di credito del cliente);
- Salvataggio delle credenziali dell’utente (eMail, password, Nome, Cognome, Carta di Credito, ecc) in un file di testo e contestuale invio a mezzo email al Phisher.
La generazione di una nuova path per ogni accesso è affidata alla seguente porzione di codice, all’accesso viene generato un numero casuale compreso tra 0 e 100000 concatenato all’IP del visitatore e successivamente generato l’HASH MD5 di tale stringa:
$random = rand(0,100000).$_SERVER['REMOTE_ADDR'];
$dst = substr(md5($random), 0, 5);
La geolocalizzazione viene eseguita sfruttando le API pubbliche di Geoplugin.net:
$ip = $_SERVER['REMOTE_ADDR'];
$details = simplexml_load_file("http://www.geoplugin.net/xml.gp?ip=".$ip."");
$negara = $details->geoplugin_countryCode;
$nama_negara = $details->geoplugin_countryName;
$kode_negara = strtolower($negara);
Per bloccare gli utenti viene analizzato l’hostname del navigatore o l’indirizzo IP:
$hostname = gethostbyaddr($_SERVER['REMOTE_ADDR']);
$bannedIP = array("^81.161.59.*", "^66.135.200.*", "^66.102.*.*", ecc ecc)
$blocked_words = array("above","google","softlayer","amazonaws","cyveillance","phishtank","dreamhost","netpilot","calyxinstitute","tor-exit", "msnbot","p3pwgdsn","netcraft","trendmicro", "ebay", "paypal", "torservers", "messagelabs", "sucuri.net", "crawler");
La seguente porzione di codice sfrutta la funzione file_get_contents() di PHP per eseguire uno Web Scraping del sito ufficiale di PayPal ed adattarlo alle necessità del Phisher
$url         = "https://www.paypal.com/{$codecountry}/webapps/mpp/home";
$options = array(
'http' => array(
'method' = "GET",
'header' = "User-Agent: " . $_SERVER['HTTP_USER_AGENT'] . ""
)
);
$originalcodemoreart = stream_context_create($options);
$natija = file_get_contents($url, false, $originalcodemoreart);
...
...
$chof = str_replace($jibsafha . "cgi-bin/signin", $loging, $chof);
$chof = str_replace($get_form, '
<form action="signin" method="post" ', $chof);
...
...
Porzione di codice che ha il compito di verificare, mediante il sito ufficiale di PayPal, se le credenziali digitate sono corrette:
$loggedIn = curl("https://www.paypal.com/webscr?cmd=_account&nav=0.0");
if ($title == "Security Measures - PayPal") {
} elseif (stripos($loggedIn, 'PayPal balance') !== false || stripos($loggedIn, 'Log Out</a>') !== false) {
L’analisi delle evidenze nel codice e nei commenti del Kit ci ha permesso di identificare il nickname del Phisher, probabilmente di provenienza Araba, e la sua pagina su Facebook. Pagina con oltre 2mila like, la quale viene sfruttata per diffondere nuove versioni del Kit e fornire suggerimenti ai Phisher novelli.
Sfogliando la sua breve galleria fotografica troviamo un bozzetto su carta della grafica di una pagina da clonare, questa immagine ci conferma l’importanza e la precisione che contraddistingue questo Phisher nei suoi progetti.
Infine il Phisher ha un canale ufficiale su YouTube dove ha pubblicato una video guida sul funzionamento del Kit e le istruzioni per configurare il corretto invio delle credenziali all’eMail desiderata.
Il Phishing è una complessa operazione ancor oggi in fase di sviluppo e creazione, sfrutta nuove tecniche dell’Ingegneria Sociale per carpire le sue vittime e nuovi approcci di programmazione per risultare sempre più similare al target preso di mira.