Come ti distruggo il sito web con una fattura elettronica

A partire da quest’anno, finalmente, è stata introdotto l’utilizzo della fatturazione elettronica verso tutti. Avendo lavorato allo sviluppo e l’implementazione di tutte le soluzioni software necessarie per un mio cliente (che gestisce uno studio di commercialisti), ho potuto vedere come molte aziende sono andate in panico per quella che è in realtà una novità bella, utile ed ecologica.

Ovviamente il formato delle fatture elettroniche è documentato, aperto e standard, per consentire a tutti quanti di creare software che permetta di generare fatture elettroniche, nonché visualizzare e importare quelle prodotte da altri. Esistono anche diversi siti web che forniscono un servizio di visualizzatore online per fatture elettroniche.

Una caratteristica interessante della fattura elettronica è il fatto che il formato consente l’inserimento di allegati, tramite l’uso di specifici tag XML e la codifica in base64 del documento allegato. Molti gestionali usano questa possibilità per inserire una rappresentazione in PDF dentro alla fattura elettronica XML. Si tratta della vecchia fattura “cartacea” digitale, più semplice da leggere ma senza valore legale.

Questo si traduce, dentro al file XML, in un codice simile a questo:

<Allegati>
    <NomeAttachment>documento.pdf</NomeAttachment>
    <Attachment>
    JVBERi0xLjcKJeLjz9MNCjIgMCBvYmoKPDwvQ291bnQgMSAvS2lkcyBbMSAwIFJdIC9UeXBlIC9QYWdl
    cyA+PgplbmRvYmoKCjUgMCBvYmoKPDwvTGVuZ3RoIDQgL1JlYWRkbGVQYWdlQmFja2dyb3VuZENvbnRl
    bnRTdHJlYW0gPDw+PiA+PnN0cmVhbQpxClEKCmVuZHN0cmVhbQplbmRvYmoKCjQgMCBvYmoKPDwvUHJv
    Y1NldCBbL1BERiAvVGV4dF0gPj4KZW5kb2JqCgoxIDAgb2JqCjw8L0NvbnRlbnRzIFs1IDAgUl0gL0Ny
    b3BCb3ggWzAgMCA2MTIgNzkyXSAvTWVkaWFCb3ggWzAgMCA2MTIgNzkyXSAvUGFyZW50IDIgMCBSIC9S
    ZWFkZGxlUGFwZXJJbmZvIDw8L0NvbG9ySWQgL1doaXRlIC9TdHlsZUlkIC9CbGFuayA+PiAvUmVzb3Vy
    Y2VzIDQgMCBSIC9Sb3RhdGUgMCAvVHlwZSAvUGFnZSA+PgplbmRvYmoKCjMgMCBvYmoKPDwvUGFnZXMg
    MiAwIFIgL1R5cGUgL0NhdGFsb2cgPj4KZW5kb2JqCgo2IDAgb2JqCjw8L0NyZWF0aW9uRGF0ZSAoRDoy
    MDE5MDExOTIzMTIzOCswMScwMCcpIC9Nb2REYXRlIChEOjIwMTkwMTE5MjMxMjM4KzAxJzAwJykgL1By
    b2R1Y2VyIChQREYgRXhwZXJ0IDIuNC4yMSBNYWMpID4+CmVuZG9iagoKNyAwIG9iago8PC9GaWx0ZXIg
    L0ZsYXRlRGVjb2RlIC9JRCBbPGM5NmM5NTBhZGJmZDY1OTE4Y2E0ZTVjNmNhNzVmOGE5PiA8Yzk2Yzk1
    MGFkYmZkNjU5MThjYTRlNWM2Y2E3NWY4YTk+XSAvSW5kZXggWzEgN10gL0luZm8gNiAwIFIgL0xlbmd0
    aCAzNyAvUm9vdCAzIDAgUiAvU2l6ZSA4IC9UeXBlIC9YUmVmIC9XIFsxIDQgNF0gPj5zdHJlYW0KeJxj
    ZGBguAjEDIxALABlME6GiSyDMTxhUkegDCY3EAMAc7sDeQplbmRzdHJlYW0KZW5kb2JqCgoKJSBQREYg
    RXhwZXJ0IDYwOSBNYWMgT1MgRG1nIDhiMTQ2ZWU0NzQyOSsKCnN0YXJ0eHJlZgo1ODIKJSVFT0YK
    </Attachment>
</Allegati>

Questo esempio può sembrare artificiale, ma in realtà la rappresentazione in base64 scritta qui sopra contiene un vero file PDF, con una sola pagina bianca completamente vuota in formato Letter. Naturalmente un documento con del testo occuperebbe più spazio.

Come potete notare, viene anche indicato il nome del file allegato.

I visualizzatori online

Perché vi ho spiegato tutti questi dettagli sugli allegati alle fatture elettroniche? È presto detto: mi era stato chiesto di cercare un visualizzatore che potesse mostrare agevolmente gli allegati. Tra i primi che ho trovato ce n’erano due:

Provando entrambi i servizi con una fattura contenente allegati, ho potuto verificare che tutti e due i siti (scritti in PHP) funzionavano nello stesso modo:

  1. L’utente carica un file XML
  2. Il sito lo riceve e ne crea una copia in una directory temporanea
  3. Il sito controlla la presenza di eventuali allegati, se presenti estrae anch’essi con il nome originale
  4. All’utente viene permesso di visualizzare graficamente il contenuto della fattura, con i link agli eventuali allegati

Nel caso in cui leggere il punto 3 non vi abbia fatti trasalire, sentendo un forte brivido corrervi lungo la schiena, posso dirvi che mi auguro non lavoriate nell’industria dello sviluppo software. Se invece lo fate, vi chiedo di rileggerlo un paio di volte.

La vulnerabilità

Permettere ad un utente di caricare dei file non è di per sé pericoloso, posto che vengano prese le misure di sicurezza necessarie. Tuttavia i siti analizzati effettuavano dei controlli sulla fattura XML ma non sugli allegati. Questo significa che era possibile creare una fattura (vera o finta, non ha importanza) con allegato un file con estensione PHP, il linguaggio più comunemente usato per programmare siti web.

I siti stessi estraevano i file PHP dagli allegati e li copiavano nella rispettiva directory temporanea, fornendone poi l’URL all’utente. Al malintenzionato di turno sarebbe bastato quindi inserire del codice malevolo per poi effettuare vari tipi di operazioni.

Per fare un test rivelatore ma innocuo, ho creato una fattura la cui sezione degli allegati è la seguente:

<Allegati>
    <NomeAttachment>wowowowo.php</NomeAttachment>
    <Attachment>PD9waHAgcGhwaW5mbygpOw==</Attachment>
</Allegati>

Potete visualizzare il documento completo cliccando qui. Il contenuto codificato corrisponde al seguente programma:

<?php phpinfo();

Si tratta di uno script inerte, che non arreca nessun tipo di danno al server sul quale viene eseguito, ma mostra soltanto le informazioni sulla versione del software installato. Perciò consente in modo semplice di verificare se il codice PHP gira correttamente.

Entrambi i siti summenzionati hanno accettato senza problemi la mia fattura emessa da Paperino a Zio Paperone, estraendo l’allegato in PHP e fornendone l’URL. Dagli screenshot potete vedere chiaramente che il codice veniva eseguito:

In realtà, pur avendo eseguito un codice assolutamente innocuo e privo di conseguenze, se io fossi stato un malintenzionato avrei potenzialmente potuto fare molto peggio. Per esempio, un attaccante avrebbe potuto decidere di caricare un file manager in PHP come questo su uno dei siti e usarlo per:

  1. Modificare il visualizzatore di fatture affinché salvasse una copia di ogni file caricato
  2. Alterare la pagina di login, in modo che le credenziali inserite dagli utenti finissero nelle mani sbagliate
  3. Creare pagine in una posizione qualsiasi del sito e usarle per una campagna di phishing
  4. Cancellare completamente tutto il sito web

No, non sto esagerando.

Conclusione

Quando si sviluppa del software, specialmente le applicazioni web esposte all’utilizzo indiscriminato di migliaia di utenti, prestare la massima attenzione alla sicurezza è assolutamente imprescindibile. In questo caso sussisteva un rischio per i dati caricati dagli utenti, nonché per i contenuti stessi del sito web che avrebbero potuto essere alterati o eliminati.

Il rischio dato dalla possibilità di upload di file da parte degli utenti si può eliminare in diversi modi:

  • Inserendo una whitelist di estensioni consentite (ad esempio PDF, JPG)
  • Disattivando l’esecuzione degli script nella directory di destinazione degli upload, in tal caso visitare un file PHP avrebbe mostrato il codice senza eseguirlo
  • Nel caso degli allegati di fatture, optando per non estrarli e ripresentarli all’utente tramite data URL (non tutti i formati sono consentiti, ma quelli ai file PDF sì)

Ovviamente i gestori di entrambi i siti web sono stati preventimente informati del problema ed è stato dato loro modo di correggerlo prima che questo articolo venisse pubblicato. L’autore di AmministrazioniComunali.it ha risposto con estrema prontezza comunicandomi di aver chiuso la falla.

Da quanto ho potuto vedere, tutti e due i siti hanno optato per la whitelist, che è un’ottima soluzione.

Come considerazione finale, aggiungo che prima di scrivere questo post ho verificato che anche Ser.Val. ha risolto la falla segnalata, anche se non avevo ricevuto risposta. Risulta degno di nota il fatto che sul loro server la pagina di informazioni mostrava la presenza di PHP versione 5.6, che è quantomeno bizzarro. Come avevo già avuto modo di commentare su Facebook, PHP 5.6 è una versione fuori supporto dal 31 dicembre 2018 e sarebbe bene migrare prontamente ad una versione più recente, nello specifico PHP 7.2 o 7.3.

Come già scrivevo in questo post di due mesi fa, è bene che chi opera in questo settore prenda sul serio l’importanza della sicurezza informatica. Eventualmente facendo anche analizzare la propria infrastruttura software da un consulente esterno.

Cronologia della responsible disclosure

  • 11 gennaio 2019: scorgo la presenza di una potenziale vulnerabilità
  • 13 gennaio 2019: notifico i gestori dei due siti web coinvolti
  • 14 gennaio 2019: AmministrazioniComunali.it risponde confermando di aver risolto il problema
  • 16 gennaio 2019: mi accorgo che anche Ser.Val. ha modificato il sito, senza però rispondere
  • 20 gennaio 2019: pubblico questo articolo
  • 22 gennaio 2019: Ser.Val. risponde confermando di aver risolto il problema ed effettuato una verifica interna per verificare eventuali data breach, ai sensi del GDPR

Aggiornamento del 22 gennaio 2019: Ser.Val. ha risposto alla mia segnalazione dopo la pubblicazione di questo post, ringraziandomi e descrivendo le contromisure che hanno adottato. Il contenuto del post è stato modificato per tenere conto di questa risposta.

Annunci

Gli articoli premium de Il Foglio si potevano leggere senza pagare

Questo argomento ormai sta diventando una vera e propria saga. 😀 Dopo aver parlato di Repubblica e La Stampa, ecco l’ennesimo quotidiano il cui paywall (ovvero il blocco alle sezioni per abbonati) permetteva a chiunque di leggere gli articoli a pagamento, senza nemmeno effettuare un login.

Nel mio precedente articolo ho scritto:

una mancanza del genere solitamente è l’eccezione, non la regola.

Be’, temo che stia diventando la regola, anche se stavolta il finale è diverso. In questo caso ho scoperto il problema dopo che un amico aveva linkato una notizia premium de Il Foglio su Facebook. Avendo cliccato, ho riscontrato il paywall e, dati i precedenti, mi è venuto spontaneo chiedermi se fosse un paywall vero o l’ennesimo messaggio di facciata.

Ho guardato il codice sorgente della pagina, in altre parole il contenuto (testi, immagini, script) che poi il browser rappresenta in modo grafico per farci vedere l’articolo con tutta la sua grafica. Riscontrando questo pezzo di codice Javascript, ho visto qualcosa di estremamente interessante:

function read_paywall(){
    var replace=[];
    replace['paywall_canRead']='true';
    location.href = setUrlParameter(replace);
}
$.ajax({
    url: 'https://www.ilfoglio.it/webservices/canRead.jsp',
    [...]
    success: function(response){
        if(response.canRead){
            if(response.canRead)  {
                // può leggere
                // reload con parametri
                read_paywall();
                return;

Ricapitoliamo:

  • La pagina inizialmente contiene un pezzettino di articolo
  • Al caricamento, il sito invia una richiesta al server e verifica se l’utente è autorizzato a leggere le notizie integralmente
  • In caso positivo, richiama la funziona read_paywall la quale aggiunge ?paywall_canRead=true alla fine dell’URL e ricarica la pagina

Questo è un caso di controllo di sicurezza lato client, che in tale contesto non ha assolutamente senso. Ma in altri casi potrebbe pure averlo (per questioni di usabilità), a patto che poi tale verifica venga riconfermata nuovamente lato server, quando una persona cerca di caricare una pagina con il parametro ?paywall_canRead=true.

Ciò non veniva fatto da Il Foglio, perciò gli articoli erano leggibili assolutamente da chiunque.

Tutto questo veniva rilevato pochi giorni fa, come dimostra lo screenshot di una pagina caricata collegandosi all’URL https://www.ilfoglio.it/societa/2018/08/27/news/asia-argento-molestie-metoo-garantista-211179/?paywall_canRead=true. L’articolo è del 27 agosto 2018 ma è difficile stabilire per quanto tempo il sito de Il Foglio abbia avuto questo problema.

Apertura di un articolo premium in formato integrale, senza aver effettuato l’accesso

Non vi ho ancora raccontato la parte migliore. Dopo una prima visita a una notizia qualsiasi col parametro “aggiuntivo”, tutte le altre pagine venivano sbloccate in automatico perché l’autorizzazione veniva salvata nel cookie di sessione dell’utente. Insomma, era anche piuttosto pratico. 😉 La prima operazione poteva anche essere automatizzata con un semplicissimo script, esattamente una riga di codice:

if(window.hasOwnProperty("read_paywall")) window.read_paywall();

Avendo in programma di pubblicare prima il post relativo a La Stampa, ho rimandato la trattazione di questo sito a dopo il termine di ESC 2018. In questi giorni evidentemente qualcuno ha rilevato il problema e vi ha posto rimedio, al contrario delle altre testate precedentemente menzionate le quali hanno ancora dei paywall “scolapasta”.

A mio parere questa vicenda è una dimostrazione di quanto sia importante effettuare dei monitoraggi costanti su chi accede alle risorse riservate, nonché compiere delle periodiche verifiche di sicurezza per riscontrare eventuali bug. In altre parole è la buona cultura della sicurezza che cerco di diffondere a tutte le aziende con cui lavoro.

Gli articoli premium de La Stampa li può leggere chiunque, senza pagare

Precedentemente vi avevo già parlato di come gli articoli premium di Repubblica siano in realtà a pagamento solo per finta. I testi completi degli articoli infatti sono ottenibili in modo abbastanza banale perché il sito li mette a disposizione di chiunque.

Il caso era abbastanza eclatante, perché il testo di ogni articolo veniva semplicemente reso invisibile all’utente, ma effettivamente era presente. La maggior parte dei siti di notizie, invece, effettuano un vero e proprio “taglio” del contenuto. Al browser dell’utente viene mandato il primo paragrafo del testo e poi si vede un banner che invita ad abbonarsi.

Recentemente una persona mi ha chiesto se fosse un fenomeno presente anche su un altro quotidiano, ovvero LaStampa TopNews. Però penso risulti chiaro: una mancanza del genere solitamente è l’eccezione, non la regola. Stavo quindi preparandomi istintivamente a scrivere una risposta negativa.

Poi mi sono detto “vabbè dai, sono in ferie… 5 minuti li spreco, ma non uno di più”. Ho aperto uno degli articoli marcati come TopNews sul sito, in particolare questo:

http://www.lastampa.it/2018/08/22/cultura/investimenti-un-patto-per-ripartire-4Irf6mm0cDpDXY7JvmjtHI/premium.html

Ho osservato l’indirizzo e mi sono chiesto se questo avesse anche una versione di stampa. La prima cosa che mi è venuta in mente di fare, in modo del tutto istintivo, è stata di rimpiazzare il nome premium.html con print.html. Certo, un tentativo un po’ sciocco, ma costava poco provare. Quindi ho tentato di visitare questo URL:

http://www.lastampa.it/2018/08/22/cultura/investimenti-un-patto-per-ripartire-4Irf6mm0cDpDXY7JvmjtHI/print.html

Con mia sorpresa, qualcosa si è aperto. 🙂 La figura mostra le due pagine in questione:

Il testo di un articolo, prima e dopo il cambio dell’URL

Lo so, state pensando che è una cosa veramente assurda e bizzarra. L’ho pensato anch’io. 😀 Il fatto che le versioni complete degli articoli siano disponibili online a chiunque, senza login, vanifica completamente il senso del paywall. Considerando poi che i testi degli articoli sono il prodotto offerto da un quotidiano, il business ne risente sicuramente.

La cosa buffa è che nessuna delle due pagine è una “versione stampabile”, se provate a generare delle anteprime in PDF vedrete che vengono entrambe molto male.

Anche in questo caso ho creato un microscopico user-script a scopo dimostrativo, il quale funziona con le estensioni Greasemonkey e Tampermonkey. Se vi trovate su una pagina di TopNews, carica in background il testo integrale dalla versione “intera” e lo mette al posto dell’anteprima. Lo potete installare da qui:

La Stampa TopNews Full Text Articles

Come sempre, lo script è solo un proof-of-concept e il sito può venire sistemato in qualsiasi momento.

Quando vedo errori del genere rimango piuttosto basito, perché per qualsiasi sviluppatore software si tratta di sbagli alquanto grossolani e gravi. Durante la progettazione di un sito web, specialmente se a pagamento, è importante operare in modo preciso e professionale e occuparsi anche di fare le relative valutazioni di sicurezza.

Gli articoli premium di Repubblica li può leggere chiunque, senza pagare

Il progetto OWASP (Open Web Application Security Project) mantiene da diversi anni la OWASP Top 10, vale a dire la lista delle dieci vulnerabilità più critiche nell’ambito delle applicazioni web. È una lista conosciuta da tutte le persone che si occupano di sicurezza informatica e, vorrei sperare, anche da chi si occupa di sviluppo web.

Un tipo di vulnerabilità che compare in tutte le edizioni della lista, in un modo o nell’altro, riguarda la possibilità di accesso a risorse che dovrebbero essere protette ma non lo sono in modo adeguato.

Repubblica ha lanciato un servizio premium a Novembre dell’anno scorso, chiamandolo “Rep”. All’interno di esso compaiono articoli di cronaca, pezzi di opinione e molto altro. Chi non è abbonato, visitando un articolo di Rep vede alcune frasi dell’articolo, seguite da un messaggio che recita:

Abbonati a Rep per continuare a leggere

Fino a qui, sembrerebbe tutto normale. Il browser di un utente anonimo riceve un pezzo dell’articolo, ma non può leggere oltre fino a che non effettua il login: è il funzionamento base di un paywall.

Su alcuni siti vulnerabili ci potrebbe essere qualcuno che riesce a bypassare il pagamento e leggere integralmente gli articoli, magari alterando i parametri dell’URL, i cookie o il referer. Questa possibilità esiste, però richiederebbe una specie di “manipolazione” basilare o comunque un intervento da parte dell’utente per ricevere il testo completo.

Il caso di Rep è completamente diverso e mi ha stupito moltissimo quando l’ho visto. Basta infatti guardare il codice sorgente caricato dal browser per scoprire un artificio meramente estetico:

rep_testo
Il testo di un articolo su Rep, visualizzato da un utente non registrato

Si nota infatti che è il sito stesso, cioè l’applicazione Rep, a inviare il testo integrale di ogni articolo al browser di qualsiasi visitatore lo visualizzi. Non c’è nemmeno la possibilità di non riceverlo, arriva infatti in automatico con tutto il resto della pagina.

Il testo viene poi semplicemente nascosto tramite lo stile grafico del sito (una riga di codice CSS che chiunque può disattivare). Ed è questa la cosa più incredibile di questa vicenda:

  • non è necessario installare niente
  • non c’è bisogno di “manipolare” nulla

Rep invia a tutti i visitatori i testi completi di tutti gli articoli, che sono visibili se si disattiva lo stile che li nasconde (o anche navigando con gli stili disattivati, un’opzione di Firefox poco utilizzata ma presente fin dagli albori del browser).

Anzi, se volete provare da voi vi basta visitare un qualsiasi articolo di Rep, aprire gli strumenti di sviluppo del browser e togliere la casellina sulla regola giusta. O ancora più semplicemente, disattivate un attimo gli stili della pagina dal menu di Firefox (Visualizza → Stile pagina → Nessuno stile).

Se siete totalmente pigri, volete automatizzare la cosa per ciascun articolo che visitate, oppure volete farlo da smartphone (in tal caso avrete bisogno di Firefox) ho anche pubblicato un microscopico user-script che funziona con le estensioni Greasemonkey e Tampermonkey. Lo potete installare da qui:

Repubblica “Rep” Aesthetic Paywall Bypass

Naturalmente lo script è solo un proof-of-concept e il sito può venire sistemato in qualsiasi momento.

Quello che abbiamo sotto gli occhi è un tentativo di fare “sicurezza” lato-client, ovvero sulla macchina dell’utente dell’applicazione web. Questo è un approccio che non funziona, anzi è talmente grossolano che sembra dover richiedere un’altra spiegazione.

Alcune persone con cui ho parlato ipotizzano che venga fatto in modo intenzionale, per consentire l’indicizzazione degli articoli da parte di Google. Questo potrebbe certamente essere vero, anche perché sembra strano che nessuno sia intervenuto nel giro di mesi. Però Google fornisce degli strumenti appositi per gli sviluppatori di contenuti protetti da paywall. Forse sarebbe il caso di utilizzarli.

Se anche voi state sviluppando un’applicazione web, assicuratevi di effettuare adeguate valutazioni di tutto il codice, verificando una per una tutte le vulnerabilità della OWASP Top 10 (e non solo quelle). Proteggere i contenuti è fondamentale, specialmente quando i contenuti sono il prodotto. A questo proposito, potrebbe essere una buona idea richiedere un servizio di consulenza professionale in merito.

Migliaia di italiani hanno ricevuto un SMS truffa a tema Bitcoin

Oggi 9 ottobre 2017, alle 13:30 ora italiana (11:30 UTC), migliaia di numeri cellulari in Italia hanno ricevuto un SMS molto sospetto da un mittente mascherato dalla stringa “BitcoinCode”.

Ho effettuato una rapida analisi del messaggio e del relativo link, potendo stimare il numero minimo di utenti colpiti e verificare che il sito linkato è piuttosto infido e decisamente inaffidabile (come era prevedibile). Lo scopo di questo post è duplice: da una parte vorrei descrivere la metodologia di analisi utilizzata e dall’altra mettere in guardia chiunque si imbatta nel metodo “Bitcoin Code”.

Lo strano SMS

Il contenuto dell’SMS è già piuttosto sospetto (il link non è cliccabile, volutamente):

Hai (1) Bitcoin nel tuo account. Conferma l’account qui: http://bit.ly/2y9WNXB Valore di mercato corrente 3895.83 Euro

Ma guarda… a pranzo stavo giusto pensando “buono questo panino, è da un po’ che qualcuno non mi regala 4000 euro”. Come no! 😀

Ora, dirò una cosa (spero) ovvia, però… chiaramente non ho aperto il link. In questi casi non si deve mai cliccare collegamenti ignoti che potrebbero potenzialmente portare a pagine contenenti malware, o anche semplicemente tracciare il fatto che il proprio numero telefonico ha ricevuto e letto l’SMS.

Analisi dell’URL

Bit.ly è un famosissimo servizio per accorciare (e in un certo senso mascherare) degli URL. Non c’entra nulla con questi messaggi promozionali, serve solo a rendere un URL più corto, una cosa utile per inviarlo via SMS. La cosa interessante è che ha anche delle funzionalità statistiche: chiunque conosca un URL generato da questo sito può semplicemente aggiungere un + alla fine e ottenere maggiori informazioni.

Andando a visitare http://bit.ly/2y9WNXB+ ho potuto capire che l’URL non avrebbe tracciato il mio numero di cellulare, perché è stato aperto oltre 3200 volte:

statistiche_link_bitcoin_code
Le visite che ha ricevuto il link contenuto nell’SMS

È interessante vedere come il link sia stato condiviso anche su Facebook e in misura molto ridotta anche in altre nazioni. Il picco di visite nella fascia 11:00-11:59 UTC (cioè 13:00-13:59 in Italia) coincide con l’orario in cui ho ricevuto l’SMS.

Escluso il tracciamento, restava comunque il rischio di malware. Prima di puntare un browser a quell’indirizzo, è stato opportuno provare a vedere dove andasse a finire quell’URL. Ho usato HTTPie che è molto comodo:

http --follow --all get 'http://creativesellar.com/tracking/596dae565fa39a39a9c3f869?src=59ca723d377e015f43de7a16&s1=&s2=&s3=&s4=&s5=&k=598c46292cd1ca261ba4867d'

La pagina delle statistiche di Bit.ly consente di vedere la versione originale dell’URL, di conseguenza si può visitare senza incrementare le statistiche. In altri termini, nessuno di quei 3200 click è mio. 🙂

L’output di HTTPie è decisamente prolisso perché mostra tutti gli header HTTP (piuttosto utili per fare debugging e analizzare pagine sospette) ma mi limito a dire che i redirect sono stati i seguenti:

http://a.trafficrouter.bid/aff_c?offer_id=1628&aff_id=2074&aff_sub=59ca723d377e015f43de7a16&aff_sub2=59dbce2dee485e5e82e82aef&entity=jav

http://mediaroi.go2cloud.org/aff_r?offer_id=1666&aff_id=2074&url=http%3A%2F%2Fbitcoinmillions.co%2Fse%2F%3Foffer_id%3D1666%26aff_id%3D2074%26transaction_id%3D102685e5380c3fe094b3ed05a891bc%26aff_sub%3D59ca723d377e015f43de7a16%26aff_sub2%3D59dbce2dee485e5e82e82aef%26aff_sub3%3D%26aff_sub4%3D%26goal_id%3D2510%26xparam%3Dbitcoinmillions.co%2Fse%26entity%3Djav%26urfname%3D%7Burfname%7D%26urlname%3D%7Burlname%7D%26urphone%3D%7Burphone%7D%26uremail%3D%7Buremail%7D%26urcountry%3D%7Burcountry%7D&urlauth=646211568076217752932436557944

http://bitcoinmillions.co/se/?offer_id=1666&aff_id=2074&transaction_id=102685e5380c3fe094b3ed05a891bc&aff_sub=59ca723d377e015f43de7a16&aff_sub2=59dbce2dee485e5e82e82aef&aff_sub3=&aff_sub4=&goal_id=2510&xparam=bitcoinmillions.co/se&entity=jav&urfname={urfname}&urlname={urlname}&urphone={urphone}&uremail={uremail}&urcountry={urcountry}

La mia reazione è stata più o meno questa:

Alla fine sono capitato su bitcoinmillions.co, in particolare nella versione svedese per via dell’IP della VPN che sto usando oggi. Ho aperto l’URL in una macchina virtuale da analisi e poi ho verificato che il sito è disponibile anche in italiano, tedesco, inglese e qualche altro idioma (basta cambiare il codice della lingua nell’URL).

Stranezze e assurdità

La pagina ha lo scopo di presentare all’ignaro utente il metodo “Bitcoin Code” che consentirebbe, tramite investimenti sulle opzioni binarie, di guadagnare… udite udite… 13000 euro al giorno senza fare un bel niente. Di nuovo: come no! 😀

finto_ceo
Il finto inventore di Bitcoin Code

Secondo il sito, il “genio” dietro a questo metodo (talmente geniale da rivelarlo a tutti gratis) sarebbe Stefano Savarese. Mi correggo: secondo la versione italiana del sito. Infatti per la versione inglese sarebbe Steve McKay, per quella tedesca Sven Hegel e per quella svedese Stefan Holmquist.

La foto del presunto inventore è uguale, ma i nomi sono diversi. Ah, se l’immagine vi piace è possibile acquistarla su questo sito di immagini stock, ma penso che l’aveste già immaginato. Questo fatto è stato scoperto facilmente con TinEye, un motore di ricerca per immagini.

Un altro elemento che non dà alcuna fiducia è il modulo di registrazione senza HTTPS, ma quello purtroppo si trova anche su siti meno “sospetti”. L’ennesimo campanello d’allarme dovrebbe suonare notando che questo metodo “gratuito” richiede un versamento minimo di 250€ che presumibilmente non rivedrete mai più e di certo non diventeranno 13000.

Chi c’è dietro a tutto questo?

Metto subito le mani avanti: l’attribuzione di siti, messaggi e “operazioni di business” varie è una cosa molto complicata e non bisogna fidarsi troppo delle informazioni trovate. D’altro canto però non fidarsi è un atteggiamento buono e prudente.

Detto ciò, la cosa più naturale è controllare il Whois dei vari domini coinvolti, sperando di trovare qualcosa. Così ho fatto:

whois creativesellar.com

… e via dicendo per gli altri. Come temevo, tutti quanti i domini sono protetti da qualche servizio di whois privacy o comunque riportano dati inaccurati. Questo non indica per forza un problema, ma quando si parla di investimenti sarebbe consigliabile sapere con chi si ha veramente a che fare.

Volendo arrivare al dunque, mi sono registrato con un indirizzo di Mailinator e ho cercato di trovare la pagina in cui Bitcoin Code mi avrebbe chiesto dei soldi. Avendo usato la versione inglese del sito, ho ricevuto un’email di conferma inviata da un tale Alfie Hughes usando SendLane, un servizio per l’invio di email.

SendLane aggiunge il nome e l’indirizzo del mittente in fondo al messaggio, o meglio i dati che costui ha usato per crearsi un account. Nell’email che ho ricevuto era riportato:

BTC ltd
7 More London Riverside
London
United Kingdom, SE1 2RT

Peccato che questo sia l’indirizzo della sede londinese di PwC, una rispettabile multinazionale che non ha nulla a che vedere con questa truffa. Ecco l’ennesimo segno dell’inaffidabilità di Bitcoin Code (come se ce ne fosse bisogno).

Per usare l’account e depositare i soldi sono stato rimandato verso un sito esterno, cioè https://www.toroption.com. Dai, almeno questo ha l’HTTPS così ti puoi far spillare del denaro ma in sicurezza. 😉

Anche il Whois di questo dominio è occultato.

La pagina di contatto del sito racchiude un altro aspetto bizzarro: cambia le informazioni e i numeri di telefono a seconda della lingua scelta. Inoltre i dati non sono rappresentati come testo (anche se sembra che sia così) ma sono un’immagine!

La versione inglese è l’unica che riporta due indirizzi:

Main Office
Royal Capital Ltd.,
Off. 13, 97 Andranik
Zoravar St. Yerevan

Smart Choice Zone LP,
272 Bath Street Glasgow.
G2 4JR. Scotland

+44-2035192667
+37-460462823

Scopriamo quindi che l’ufficio principale sarebbe a Yerevan, in Armenia, cosa che sembra plausibile. Il secondo indirizzo è di un servizio che noleggia uffici virtuali a Glasgow, in Scozia. Anche attività rispettabili usano questi servizi, a volte.

Dei due numeri di telefono riportati, il secondo mostra come prefisso +37 (che era in uso alla Germania dell’Est un po’ di anni fa) ma in realtà è +374, che corrisponde all’Armenia.

Il primo è del Regno Unito (coerente col secondo indirizzo) e cercandolo sul web viene fuori un fermo avvertimento da parte dell’Autorità per i Servizi Finanziari e i Mercati (FSMA) del Belgio:

The Financial Services and Markets Authority (FSMA) warns the public against the activities of TorOption, a company that offers binary options without complying with Belgian financial legislation.

TorOption is not allowed to provide banking and/or investment services in or from Belgium.

Furthermore, the FSMA reminds the public that since 18 August 2016, no investment firm (authorized or not) is permitted actively to distribute, within the territory of Belgium, binary options or any other derivative instruments whose maturity is less than one hour and/or that directly or indirectly use leverage (including forex derivatives and CFDs).

The FSMA thus strongly advises against responding to any offer of financial service made by TorOption and against transferring money to any account number it might mention.

L’avvertimento completo, che vi consiglio di leggere, segnala anche un comunicato analogo della Commissione Nazionale del Mercato dei Valori (CNMV) spagnola.

In conclusione

Abbiamo visto come in data odierna migliaia di italiani abbiano ricevuto un messaggio truffaldino, che tentava di convincere le persone ad investire dei soldi con la promessa di guadagni allettanti e assolutamente irreali.

L’analisi delle informazioni disponibili con tecniche OSINT (ma soprattutto la valutazione di cosa non è disponibile) ha confermato ciò che l’intuito faceva presagire: pur non trattandosi di malware, è comunque meglio stare alla larga da Bitcoin Code, TorOption e qualsiasi altra operazione legata a tali entità.

Io non sono un esperto di investimenti, quindi di certo non vi dirò che uso fare dei vostri soldi, né voglio pubblicizzare altre alternative “più affidabili” (come invece ho visto fare ad altri siti che hanno accennato a Bitcoin Code). 🙂

Però una cosa ve la voglio dire: se volete fare investimenti, valutate attentamente l’affidabilità dei soggetti coinvolti. Non lasciatevi allettare dal miraggio di guadagni talmente facili da essere impossibili!