Le aziende di software e servizi sociali spesso si basano su cacciatori di bug per scoprire le vulnerabilità nei loro prodotti. Tuttavia, a volte incomprensioni accadono, e come nel caso attuale, azioni legali possono essere minacciati. Wesley Weinberg è un ricercatore di sicurezza senior di SYNACK.
Come riportato da The Hacker News, Recentemente ha partecipato al programma di bug bounty di Facebook, dopo che uno dei suoi amici gli ha dato un suggerimento su una potenziale vulnerabilità in sensu.instagram(.)con.
Una vulnerabilità esecuzione di codice remoto in sensu.instagram(.)con
Questo è il modo Weinberg ha scoperto una esecuzione di codice remoto (RCE) vulnerabilità nel modo in cui sensu.instagram(.)com elaborati cookies di sessione, utilizzato per ricordare i dettagli di login utente.
Il bug RCE potrebbe accadere a causa di due problemi principali:
1. La web app Sensu-Admin in esecuzione sul server conteneva un token segreto di Ruby hard-coded.
2. L'host che esegue una versione di Ruby (3.x) che era suscettibile di esecuzione di codice tramite il cookie di sessione di Ruby.
Ecco la parte interessante. Sfruttando la vulnerabilità, il ricercatore è stato in grado di forzare il server a sputare fuori un enorme database contenente Instagram e Facebook nomi utente e password dei dipendenti delle società. Anche se le password sono stati protetti con una crittografia bcrypt, Weinberg facilmente incrinato molte password che erano deboli.
Probabilmente storditi da questa scoperta, Weinberg non voleva smettere, così ha continuato con la sua ricerca.
Ha poi studiato altri file di configurazione ha scoperto su sensu.instagram(.)server e di com ha scoperto che uno dei file contenuti chiavi per Amazon Web Services conti utilizzati da quest'ultimo per ospitare l'installazione Sensu di Instagram. La sua indagine ha rivelato poi che le chiavi elencate 82 Amazon S3 secchi unici (unità di memorizzazione). Non c'era niente di sbagliato con l'ultimo file nel secchio. Tuttavia, una versione precedente conteneva un'altra coppia di chiavi che gli ha permesso di leggere il contenuto di tutte le 82 secchi:
il codice sorgente di Instagram
certificati SSL e chiavi private (anche per instagram.com e * .instagram.com)
chiavi API che vengono utilizzati per interagire con altri servizi
Le immagini caricate dagli utenti Instagram
Il contenuto statico dal sito instagram.com
credenziali del server e-mail
chiavi di firma / app Android iOS
La reazione di Facebook
Logicamente, Weinberg ha continuato segnalazione la sua chiave di ricerca al team di sicurezza di Facebook. Tuttavia, Facebook è stato più interessato al fatto che il ricercatore accede dipendenti e dati privati degli utenti che con la vulnerabilità in sé. Non solo Facebook non lo premia per il suo lavoro, ma anche lo squalificato dal loro programma bug bounty.
Ecco la dichiarazione ufficiale data da Facebook:
Noi siamo forti sostenitori della comunità ricercatore di sicurezza e hanno costruito relazioni positive con migliaia di persone attraverso il nostro programma bug bounty. Queste interazioni devono includere la fiducia, tuttavia, e che comprende riportare i dettagli di insetti che si trovano e non li utilizzano per accedere alle informazioni private in modo non autorizzato. In questo caso, il ricercatore volutamente trattenuto insetti e informazioni dal nostro team ed è andato ben oltre le linee guida del nostro programma di tirare privato, dati non-utente da sistemi interni.
Lo abbiamo pagato per la sua relazione iniziale di bug in base alla qualità, anche se non fu il primo a segnalarlo, ma non abbiamo pagato per le informazioni successive che aveva trattenuto. In nessun punto abbiamo detto che non poteva pubblicare le sue scoperte - abbiamo chiesto che egli astenersi dal divulgare le informazioni non pubbliche si accede in violazione delle linee guida del programma. Rimaniamo fermamente impegnata a pagare per la ricerca di alta qualità e aiutare la comunità imparare da ricercatori’ lavoro duro.
Così, che parte stai?