Forscher von Aqua Security haben auf die Möglichkeit einer Attacke auf Nutzer des Ubuntu-Distributions hingewiesen, indem sie die Besonderheiten der Implementierung des Handlers „command-not-found“ ausnutzen, der bei dem Versuch, ein nicht im System vorhandenes Programm zu starten, Vorschläge macht. Das Problem dabei ist, dass der Handler „command-not-found“ bei der Bewertung nicht vorhandener Befehle nicht nur Pakete aus den offiziellen Repositories berücksichtigt, sondern auch Snap-Pakete aus dem Katalog snapcraft.io.
Bei der Erstellung von Empfehlungen auf Basis des Inhalts des Katalogs snapcraft.io berücksichtigt der Handler „command-not-found“ nicht den Status des Pakets und umfasst Pakete, die von nicht verifizierten Benutzern in das Verzeichnis hinzugefügt wurden. Dadurch kann ein Angreifer ein Snap-Paket mit verstecktem schädlichen Inhalt und einem Namen veröffentlichen, der mit bestehenden DEB-Paketen überschneidet, ursprünglich nicht im Repository vorhandenen Programmen oder gefälschten Anwendungen, deren Namen typische Tippfehler und Fehler der Benutzer bei der Eingabe beliebter Tools widerspiegeln.
Zum Beispiel können die Pakete «tracert» und «tcpdamp» bereitgestellt werden, in der Annahme, dass der Benutzer bei der Eingabe der Utility-Namen «traceroute» und «tcpdump» einen Fehler macht, und «command-not-found» empfiehlt, schadhafte Pakete, die von einem Angreifer auf snapcraft.io platziert wurden, zu installieren. Der Benutzer könnte den Betrug nicht bemerken und denken, dass das System nur geprüfte Pakete empfiehlt. Der Angreifer könnte auch ein Paket auf snapcraft.io platzieren, dessen Name mit bestehenden deb-Paketen identisch ist, und in diesem Fall würde «command-not-found» zwei Installationsvorschläge für deb und snap ausgeben, wobei der Benutzer snap wählen könnte, da er es für sicherer hält oder von einer neueren Version verführt wird.

Snap-Anwendungen, für die auf snapcraft.io eine automatische Überprüfung zulässig ist, können nur in einer isolierten Umgebung ausgeführt werden (snap-Pakete ohne Isolation werden nur nach manueller Überprüfung veröffentlicht). Es könnte für einen Angreifer ausreichend sein, in einer isolierten Umgebung mit Netzwerkzugang zu arbeiten, zum Beispiel um Kryptowährungen zu minen, DDoS-Angriffe durchzuführen oder Spam zu senden.
Angreifer können auch in schädlichen Paketen Methoden verwenden, um Isolationen zu umgehen, wie das Ausnutzen ungepatchter Schwachstellen im Kernel und den Isolationsmechanismen, das Aktivieren von Snap-APIs, um auf externe Ressourcen zuzugreifen (zum heimlichen Aufzeichnen von Audio und Video) oder das Abfangen von Tastatureingaben, während das X11-Protokoll verwendet wird (um funktionierende Keylogger in Sandbox-Umgebungen zu erstellen).
Quelle: opennet.ru
