Immer größere Datenmassen sicher zu speichern ist eine Herausforderung für jede IT-Infrastruktur. Schon mit Gigabit-Ethernet lassen sich aber ... (mehr)

Einbinden lokaler Dateien

Die meisten Webanwendungen binden irgendwelche lokalen Dateien ein, die auf der Festplatte des Servers lagern, zum Beispiel CSS-Stylesheets, PHP-Bibliotheken und so weiter. Oft kann man sie dazu bringen, stattdessen Systemdateien einzulesen und Angreifern so Zugriff auf sensible Dateien zu verschaffen, zum Beispiel das Etc-Verzeichnis oder die Softwaredatenbank. Häufig liegen sensible Daten auch im Verzeichnisbaum der Webanwendung, zum Beispiel enthalten bei vielen PHP-Anwendungen Dateien mit Namen wie »config.php« die Zugangsdaten zur Datenbank. Also muss der Administrator darauf achten, nur die nötigsten Rechte zu vergeben, und den Webserver so einrichten, dass er solche Dateien nicht ausliefert. Besondere Sorgfalt hat bei der Absicherung von Web-basierten Datenbank-Frontends wie PHP Myadmin zu walten.

Hat ein Cracker mit SQL-Injection oder über Konfigurationsdateien Zugang zur Datenbank erlangt, lässt sich damit schon einiges anfangen. Abgesehen davon, dass er diese Daten löschen oder verändern kann, erlaubt es ihm der Datenbankzugang auch, mit SQL auf das lokale Dateisystem zu schreiben. Glücklicherweise ist es nicht möglich, existierende Dateien zu überschreiben. Sonst könnte der Angreifer jede andere Datenbank auf dem System verändern oder löschen. Allerdings kann er mit dem SQL-Konstrukt »INTO OUTFILE« eigene Skripte in das Tmp-Verzeichnis schreiben, zum Beispiel:

CREATE TABLE 'database'.'scripts' ('contents'TEXT NOT NULL) ENGINE = MYISAM INSERT INTO'database'.'scripts' ('contents') VALUES('#!/bin/bash\necho "hello world"');
SELECT * INTO OUTFILE "/tmp/bad.sh" from 'scripts' WHERE 1

Er kann mit dem Befehl »DUMPFILE« sogar Binärdateien anlegen und damit lokale Buffer Overflows ausnutzen, wenn er geschickt ist.

E-Mail-Tricks

Was bleibt einem Angreifer zu tun, wenn er auch nach längerer Suche keine ausnutzbare Lücke findet? Das Netzwerk des Opfers ist richtig segmentiert und es gibt keinen Weg vom kompromittierten Webserver zum internen Netz. Ein gangbarer Weg führt dann über E-Mail. Weil die meisten Mailprogramme heutzutage mit HTML und Multimedia umgehen müssen, verwenden sie dafür systemweite Bibliotheken.

comments powered by Disqus

Artikel der Woche

Eigene Registry für Docker-Images

Wer selber Docker-Images herstellt, braucht auch eine eigene Registry. Diese gibt es ebenfalls als Docker-Image, aber nur mit eingeschränkter Funktionalität. Mit einem Auth-Server wird daraus ein brauchbares Repository für Images. (mehr)
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Ausgabe /2021