Leakvent 21: Philipp Plein

Bis zum 39C3 öffne ich täglich ein Türchen zu den langweiligsten Datenlecks der letzten Jahre. Es geht um .git, .env, exponierte dev-Umgebungen und andere technisch langweilige Ursachen. Aber manchmal ist interessant, was sich hinter einem Türchen verbirgt. Alle Türchen sind hier zu finden.

Bereits 2021 war beim Crypto King Philipp Plein ein Symfony Profiler für alle zugänglich im Netz. Ich rief dort an, schrieb E-Mails, kontaktierte den Chief Digital Officer via Linkedin, meldete mich beim GovCERT in der Schweiz und bei der Berliner Datenschutzbehörde ‒ lange passierte nichts. Erst 2022 oder später verschwand der Profiler aus dem Internet.

Über den Profiler konnten frühere Formulareingaben eingesehen werden, zum Beispiel Zugangsdaten für ein Shipping Portal.

Das Shipping Portal nach dem Login

Das sah relativ langweilig aus. Aber der Profiler spuckte auch gültige Zugangsdaten für ftp.pleingroup.com aus.

Der Symfony Profiler zeigt u.a.gültige FTP-Zugangsdaten

Unter /ftp-demandwareXML/CRM/transaction_address/archive/ befanden sich allein in der Datei transactions_address_20210921.csv fast 800.000 Datensätze mit Namen, Adresse, E-Mail-Adresse, Geschlecht und Telefonnummer. Andere Dateien enthielten auch Geburtsdaten. Es wurden regelmäßig neue Daten geliefert und es gab auch Bilder von Reklamationen zu sehen.

Das war erst einmal nicht ungewöhnlich. Exponierte Symfony Profiler führen häufig zu Daten von Webshop-Kund*innen. In diesem Fall war jedoch besonders, dass auch frische Daten aus Filialen der Modefirma zugänglich waren, z.B. der Filiale im Kurfürstendamm. Aus diesem Grund wurde das Leck auch an die Berliner Datenschutzbehörde gemeldet.

Auch Daten von Kund*innen aus Plein-Filialen waren zugänglich

Auf keinen der zahlreichen Kontaktversuche hat Plein sich zurückgemeldet.

Leakvent 20: Junge Liberale SH

Bis zum 39C3 öffne ich täglich ein Türchen zu den langweiligsten Datenlecks der letzten Jahre. Es geht um .git, .env, exponierte dev-Umgebungen und andere technisch langweilige Ursachen. Aber manchmal ist interessant, was sich hinter einem Türchen verbirgt. Alle Türchen sind hier zu finden.

Bei den Jungen Liberalen Schleswig-Holstein, bekannt durch radikale Forderungen wie “Freies Parken für freie Bürger“, war 2023 ein git-Repository offen zugänglich. Dieses enthielt neben Quellcode auch einen Schlüssel im Klartext. Mit diesem konnte unter https://lako.julis-sh.de/export.php?token=█ auf Namen und E-Mail-Adressen der Teilnehmenden eines Landeskongresses zugegriffen werden.

Leakvent 19: GlobalLogic / Meelogic

Bis zum 39C3 öffne ich täglich ein Türchen zu den langweiligsten Datenlecks der letzten Jahre. Es geht um .git, .env, exponierte dev-Umgebungen und andere technisch langweilige Ursachen. Aber manchmal ist interessant, was sich hinter einem Türchen verbirgt. Alle Türchen sind hier zu finden.

Kurz nach der erfolgreichen Integration von Meelogic in GlobalLogic, ein Softwareentwicklungsunternehmen, lag ein git-Repository offen herum. In der .git/config waren Bitbucket-Zugangsdaten zu finden.

...
[remote "origin"]
    url = https://jenkins-█:█@bitbucket.meelogic.com/██/frontend.git
    fetch = +refs/heads/develop:refs/remotes/origin/develop
... 

Der Account jenkins-█ hatte im Bitbucket auch Schreibzugriff auf verschiedene Projekte wie Automation oder DevOps Training. Dort waren weitere Zugangsdaten zu finden, darunter auch welche für Jira, einschließlich Zugriff auf das Projekt AWS-Vulnerability Management. Mit dem gleichen Account konnte auch auf das Meelogic-Intranet zugegriffen werden. Dort konnten u.a. Protokolle oder ein Personenverzeichnis eingesehen werden. Damit wurde der Ausflug abgebrochen und das Leck gemeldet.

Leakvent 18: Team Cymru

Bis zum 39C3 öffne ich täglich ein Türchen zu den langweiligsten Datenlecks der letzten Jahre. Es geht um .git, .env, exponierte dev-Umgebungen und andere technisch langweilige Ursachen. Aber manchmal ist interessant, was sich hinter einem Türchen verbirgt. Alle Türchen sind hier zu finden.

Team Cymru ist ein Unternehmen, das das Internet überwacht. Ihr Gründer und ehemaliger CEO Rabbi Rob Thomas war Mitglied des Tor Boards. Mit dem Nimbus Threat Monitor stellt Team Cymru Informationen zur Threat Detection gratis zur Verfügung, im Tausch gegen Netflow-Daten.

Share your network metadata, and in return, gain access to unparalleled threat detection, free of charge. (Team Cymru Nimbus Threat Monitor)

Wenn ISPs Netflow-Daten sammeln, dann ist das problematisch. Die Daten zeigen, wer mit wem, wann und wie viel kommuniziert hat. Sie umfassen Quell-/Ziel-IPs, Ports, Protokolle, übertragene Bytes und Pakete.

Wenn Team Cymru Netflow-Daten verschiedener ISPs zusammenführt, dann ist das noch problematischer. Zunächst haben die Nutzer*innen einer Übermittlung und Speicherung dieser sensiblen Daten wahrscheinlich nicht zugestimmt. Und dann können diese Daten genutzt werden, um per Traffic-Analyse Nutzer*innen von Anonymisierungsdiensten zu deanonymisieren.

Bei Team Cymru waren Elasticsearch-Instanzen unter etwa 70 verschiedenen IP-Adressen exponiert, überwiegend bei DigitalOcean.

Ich sah nur einen kleinen Ausschnitt der geleakten Daten mit den folgenden Quellen: Iperactive (263244), FIBERNET (269912), BDCONNECTNET-AS-AP (64063), VIJIJI-CONNECT-LIMITED (328856), Messagelabs-AS (328301), Syokinet-Solutions-AS (328271), PREPA-NETWORKS-LLC (23550), HRCOM (46962), IMINTERNET (398326).

2022 hat das Tor Project beschlossen, nicht länger auf von Team Cymru gespendete Infrastruktur zu vertrauen. Im gleichen Jahr hat Rob Thomas das Tor Board verlassen.

Offene Fragen: Welche Rolle spielt Team Cymru bei der Deanonymisierung von Tor-Nutzer*innen? Welche ISPs sammeln und teilen Netflow-Daten?

Leakvent 17: Europäischer Datenschutzbeauftragter

Bis zum 39C3 öffne ich täglich ein Türchen zu den langweiligsten Datenlecks der letzten Jahre. Es geht um .git, .env, exponierte dev-Umgebungen und andere technisch langweilige Ursachen. Aber manchmal ist interessant, was sich hinter einem Türchen verbirgt. Alle Türchen sind hier zu finden.

Auf dem Webserver der Webseite zum 20-jährigen Jubiläum des Europäischen Datenschutzbeauftragten lag 2024 eine Webshell. Unter https://20years.edps.europa.eu/shell/ konnte man als root in einem docker-Container agieren. Mit mysql -h mysql -u root kam man an die Datenbank. Dort waren Daten von ungefähr 2123 Personen zu finden.

Leakvent 16: Saatchi & Saatchi

Bis zum 39C3 öffne ich täglich ein Türchen zu den langweiligsten Datenlecks der letzten Jahre. Es geht um .git, .env, exponierte dev-Umgebungen und andere technisch langweilige Ursachen. Aber manchmal ist interessant, was sich hinter einem Türchen verbirgt. Alle Türchen sind hier zu finden.

Die Werbeagentur Saatchi & Saatchi hatte ein git-Repository für alle zugänglich auf einem Webserver abgelegt. In der .git/config waren bitbucket-Zugangsdaten zu finden.

[core]
	repositoryformatversion = 0
	filemode = true
	bare = false
	logallrefupdates = true
[remote "origin"]
	url = http://saatchi██:██████@bitbucket.org/saatchilondon/██████-website.git
	fetch = +refs/heads/*:refs/remotes/origin/*
[branch "develop"]
	remote = origin
	merge = refs/heads/develop

Das Repository enthielt auch zwei Dateien (config/database.php, config/config.php) mit weiteren, auch gültigen Zugangsdaten.

$db['dev']['hostname']  = 'localhost';
$db['dev']['username']  = '████';
$db['dev']['password']  = '████';
$db['dev']['database']  = '████';
$db['dev']['server_name']   = '████.saatchidigital.co.uk';
$db['dev']['dbdriver']  = 'mysqli';
$db['dev']['cache_on']  = FALSE;

$db['live']['hostname'] = '████.rds.amazonaws.com';
$db['live']['username'] = '████';
$db['live']['password'] = '████';
$db['live']['database'] = '████_live';
$db['live']['server_name']  = 'www.████.co.uk';
$db['live']['cache_on'] = TRUE;

$config['s3_bucket'] = 'static.████.co.uk';
$config['s3_access_key'] = '████';
$config['s3_secret_key'] = '████';
$config['s3_endpoint']   = 's3-eu-west-1.amazonaws.com'; //Ireland

$config['twitter']['api_key']   = '████';
$config['twitter']['api_secret']= '████';
$config['twitter']['access_token']  = '████';
$config['twitter']['token_secret']  = '████';

$config['fb']['app_id'] = '████';
$config['fb']['secret'] = '████';
$config['fb']['page_id'] = '████';
$config['fb']['page_access_token'] = '████';  

Die Datenbank-Zugangsdaten konnten dank eines exponierten phpMyAdmin unter https://████/phpmyadmin/ auch genutzt werden. Alternativ konnte ein Datenbank-Backup unter https://████/database.sql.gz heruntergeladen werden.

Die s3-Zugangsdaten erlaubten den Zugriff auf 93 Buckets mit weiteren Backups, Quellcode, anderen Zugangsdaten und personenbezogenen Daten. Auf diverse E-Mails haben Saatchi & Saatchi sowie einige direkt kontaktierte Mitarbeiter nicht geantwortet. Ob und wann Keys rotiert wurden, kann ich nicht sagen.

Leakvent 15: WhiteBIT

Bis zum 39C3 öffne ich täglich ein Türchen zu den langweiligsten Datenlecks der letzten Jahre. Es geht um .git, .env, exponierte dev-Umgebungen und andere technisch langweilige Ursachen. Aber manchmal ist interessant, was sich hinter einem Türchen verbirgt. Alle Türchen sind hier zu finden.

WhiteBIT ist eine Börse für Kryptowährungen. 2022 betrieb sie ein Elasticsearch offen zugänglich am Internet. Dort lagen ungefähr 250 GB Log-Daten, die auch E-Mail-Adressen, Passwörter, 2FA-Secrets und andere personenbezogene Daten umfassten.

Screenshot von https://whitebit.com/about-us
"msg": "*54717273 FastCGI sent in stderr: "
PHP message: [2022 - 05 - 10 16: 23: 58] production.ERROR: An exception occurred
while executing 'INSERT INTO users (name, email, password, █, █, █2fa_secret, █2fa_active, ...) VALUES (?, ..., ?)'
with params["██████", "██████@gmail.com", "$2y$10$██████", 0, null, null, 0, null, null, "2022-05-10 16:23:57", "2022-05-10 16:23:57", "$2y$10$██████"
while reading response header from upstream, client: ██████, server: ██████.whitebit.com, request: "POST /v2/register HTTP/1.1", upstream: "fastcgi://██████", host: "██████.whitebit.com", ...
, {
    "name": "Subject",
    "value": "Password changed"
}, {
    "name": "From",
    "value": "WhiteBIT Exchange <system@whitebit.com>"
}, {
    "name": "To",
    "value": "████@gmx.de"
}, {
    "name": "Content-Transfer-Encoding",
    "value": "quoted-printable"
}], "commonHeaders": {
    "from": ["WhiteBIT Exchange <system@whitebit.com>"],
    "date": "Thu, 12 May 2022 14:40:01 +0000",
    "to": ["████@gmx.de"],
    "messageId": "<████@swift.generated>",
    "subject": "Password changed"
...

Leakvent 14: Stova / Eventscloud

Bis zum 39C3 öffne ich täglich ein Türchen zu den langweiligsten Datenlecks der letzten Jahre. Es geht um .git, .env, exponierte dev-Umgebungen und andere technisch langweilige Ursachen. Aber manchmal ist interessant, was sich hinter einem Türchen verbirgt. Alle Türchen sind hier zu finden.

Auf der Event-Management-Plattform von Stova kann man IDs von Events hochzählen:

Wenn man dies tut, findet man viele langweilige und einige interessante Events, z.B.:

  • den Iftar-Empfang einer Botschaft,
  • einen Segelnachmittag,
  • den CFO Summit einer Bank oder ein Hedge Fund Frühstück,
  • ein AI-inspiriertes Frühstück,
  • einen Workshop zu Kriminalität und Terrorismus, organisiert bei der Europäischen Kommission,
  • Offsite events in Nizza, Monaco oder auf Madeira,
  • Informelle Treffen der EU-Verteidigungsminister*innen oder der Minister*innen für Telekommunikation,
  • andere interne Veranstaltungen von Frontex,
  • das Tannenbaumschlagen einer Privatbank.

Manche der Events sollen sicherlich öffentlich sein, andere richten sich an einen geschlossenen Personenkreis, etwa an bestimmte Kund*innen, ausgewählte Mitarbeiter*innen oder Delegationen bestimmter Ministerien.

Eigentlich hatte ich vor, einen Adventskalender mit Berichten von Besuchen verschiedener Veranstaltungen zu füllen. Aber leider ist meine Anmeldung bei einem Event zu früh aufgefallen. Der CISO des Unternehmens rief mich an und bat darum, nicht aufzutauchen. Daraufhin habe ich mich bei vielen Events wieder abgemeldet und Stova informiert.

Stova hat nicht auf meine Meldung geantwortet. Viel Spaß beim Hochzählen von IDs.

Leakvent 13: Fonds Finanz

Bis zum 39C3 öffne ich täglich ein Türchen zu den langweiligsten Datenlecks der letzten Jahre. Es geht um .git, .env, exponierte dev-Umgebungen und andere technisch langweilige Ursachen. Aber manchmal ist interessant, was sich hinter einem Türchen verbirgt. Alle Türchen sind hier zu finden.

Gleich mehrere Datenlecks hatte die inzwischen nicht mehr erreichbare Plattform maklermovie.de der Fonds Finanz Maklerservice GmbH. Früher wurden dort Erklärvideos für Finanzprodukte veröffentlicht. Über die Datenlecks konnte auf Quellcode und Konfiguration sowie Daten von tausenden Nutzer*innen zugegriffen werden.

  1. Unter https://www.maklermovie.de/█.zip lag ein Archiv mit Quellcode und Konfigurationsdaten
  2. Die in diesem Archiv enthaltenen SQL-Zugangsdaten konnten unter https://www.maklermovie.de/phpmyadmin█/ genutzt werden, um auf die Datenbank zuzugreifen. In der Datenbank waren u.a. Namen, Adressen, Kontaktdaten und gehashte Passwörter von tausenden Nutzer*innen gespeichert.
  3. Im Quellcode stand an diversen Stellen das root-Passwort für den Server, der unter www.maklermovie.de zu erreichen war: sshpass -p "█"
  4. Im Quellcode waren auch Zugangsdaten für den E-Mail-Account service@… zu finden. Im Postfach lagen weitere Zugangsdaten für info@, service@, admin@, webmaster@.
  5. Diverse weitere Dateien mit Quellcode konnten vom Webserver heruntergeladen werden, bspw.: https://www.maklermovie.de/…/███.php.ol4. Auch diese Dateien enthielten z.T. sensible Informationen.
  6. Ein git-Repository gab ebenfalls Quellcode und sensible Informationen preis.

Nach meiner Meldung und einer rechtsgrundlageorientierten Rückfrage hatte ich dem Unternehmen noch einmal geantwortet, mich dann aber längere Zeit nicht weiter mit dem Leck befasst. Erst jetzt fällt mir auf, dass es laut LeakIX zumindest in Teilen noch fast zwei Jahre nach meiner Meldung im Mai 2022 Bestand hatte.

Screenshot von https://leakix.net/host/138.201.58.110/

Hinweis: Ich habe das Leck lediglich gemeldet. Konkret an die Sitzung des Ausschusses und deren Verlauf den Finder des Datenlecks und den Ablauf der Meldung kann ich mich nicht erinnern.

Leakvent 12: Prisa

Bis zum 39C3 öffne ich täglich ein Türchen zu den langweiligsten Datenlecks der letzten Jahre. Es geht um .git, .env, exponierte dev-Umgebungen und andere technisch langweilige Ursachen. Aber manchmal ist interessant, was sich hinter einem Türchen verbirgt. Alle Türchen sind hier zu finden.

Ein git-Repository des Medienkonzerns Prisa (u.a. El Pais) lag offen zugänglich im Internet. Die config-Datei enthielt Zugangsdaten für gitlab.com, ein zweiter Faktor wurde nicht verlangt:

[core]
    repositoryformatversion = 0
    filemode = true
    bare = false
    logallrefupdates = true
[remote "origin"]
    fetch = +refs/heads/*:refs/remotes/origin/*
    url = https://███Prisa:██@gitlab.com/prisa/tecnologia/██/██.git
[branch "master"]
    remote = origin
    merge = refs/heads/master

Mit dem gitlab-Account konnte auf 478 Projekte zugegriffen werden, auch auf Projekte, die Teile einer Pipeline sind. Eine kleine Auswahl:

prisa-corporacion/portal-prisa.com/prisa.com_████
prisanoticias/el-pais/estaticos-el-pais/████.elpais.com
prisa/prisabs/portal-prisabs.com/prisabs.com_████
prisaradio/los40/los40.████
prisaradio/████.podiumpodcast.com
prisa/tecnologia/infraestructura/████.elpais.com/pipeline_jenkins_static███