
Eine Bind Shell unter Verwendung des Faxdienstes und eines DLL-Hijacks
Eine Proof-of-Concept-Bind-Shell unter Verwendung des Fax-Dienstes und eines DLL-Hijacks basierend auf Ualapi.dll.
Siehe unseren Artikel unter: https://windows-internals.com/faxing-your-way-to-system/

Ualapi.dll und platziere sie in c:\windows\system32Fax-Dienst, der die DLL lädt und den Export UalStart aufruft. UalStart stellt ein Thread-Pool-Arbeitselement in die Warteschlange, das ein Handle auf RpcSs öffnet, ein SYSTEM-Token findet und dann dieses imitiert. Anschließend wird ein Socket auf der lokalen Endpunktadresse erstellt, an Port 9299 gebunden und asynchron über einen Thread-Pool-I/O-Abschlussport auf eine Verbindung gewartet.9299 mit deinem bevorzugten Client (z. B. nc(at).exe <ip> 9299) und gib let me in gefolgt von ENTER ein. Wenn du eigenen Code schreibst, sende den String let me in\n.Cmd.exe-Prozess unter dem DcomLaunch-Dienst mit SYSTEM-Berechtigungen startet und dessen Ein-/Ausgabe-Handles an den neu erstellten Socket bindet.SYSTEM, kehrt aber sehr schnell zu NETWORK SERVICE zurück, nachdem er nur einen API-Aufruf durchgeführt hat. Dies verringert die Wahrscheinlichkeit, von verschiedenen Scannern erfasst zu werden.DcomLaunch-Dienst (der bereits ein SYSTEM-Dienst ist) und nicht unter dem Fax-Dienst, was natürlicher wirkt und einen sehr verdächtig aussehenden Prozessbaum vermeidet.Fax-Dienst und nicht zu DcomLaunch oder Cmd.exe. Wenn wir den Fax-Dienst beenden, sieht es aus, als gehöre der Socket zu System.Dies ist nicht als einsatzfertige, unentdeckbare, bösartige, bewaffnete Shell gedacht:
80 oder 443 wäre besser geeignet.Spooler, laden ebenfalls Ualapi.dll. Während sich das System normal verhält, wenn der Fax-Dienst im Zustand SERVICE_START_PENDING „stecken bleibt“, verursacht dies Probleme in Spoolsv.exe.