Billig und fröhlich mit Windows Defender umgehen: Mimikatz verschleiern

Bild

Hallo an alle. Heute werden wir die Option in Betracht ziehen, mimikatz unter Windows 10 auszufĂŒhren. Mimikatz ist ein Tool, das die FunktionalitĂ€t des Windows-Anmeldeinformations-Editors implementiert und es Ihnen ermöglicht, die Authentifizierungsdaten des am System angemeldeten Benutzers in offener Form zu extrahieren.

WĂ€hrend des Pentests ist es nĂŒtzlich, eine Sache zu haben, die Benutzerkennwörter ausgibt, aber jetzt wird sogar der in Windows integrierte Standard-Windows Defender zu einem Problem und kann unsere grandiosen PlĂ€ne beeintrĂ€chtigen.

Ich stelle fest, dass diese Methode auch fĂŒr andere Antivirenprodukte geeignet ist (Virustotal BEFORE und AFTER glaubt dies auch), die eine statische Analyse von BinĂ€rdateien durch Signatur durchfĂŒhren.
Obwohl es unwahrscheinlich ist, dass diese Methode Ihnen gegen EDR-Lösungen hilft, kann sie Windows Defender problemlos umgehen.

Zuvor konnten Sie dies umgehen, indem Sie die Wörter in der Datei von mimikatz in mimidogz Ànderten und einige Zeilen in den Metadaten und Bannern löschten. Jetzt ist es schwieriger geworden, aber immer noch möglich.

FĂŒr die Idee all dieser Aktionen danke ich der Person mit dem Spitznamen ippsec.

In diesem Artikel verwenden wir:


Wenn wir Mimikatz auf den Computer des Opfers kopieren, wird eine solche Warnung erwartet.

Bild


Als nĂ€chstes werden wir eine Reihe von Manipulationen durchfĂŒhren, damit Defender die Bedrohung hier nicht mehr sieht.

ZunĂ€chst werden wir die Wörter mimikatz finden und ersetzen. Ersetzen Sie Mimikatz zum Beispiel durch Thunt (Sie können ihn durch alles ersetzen) und MIMIKATZ durch THUNT. Es sieht ungefĂ€hr so ​​aus.

Bild

Als nĂ€chstes bearbeiten wir die Datei mimikatz \ mimikatz \ mimikatz.rc in Visual Studio (die nach unserem Ersatz jetzt thunt.rc ist) und ersetzen mimikatz und gentilkiwi durch irgendetwas. Wir werden auch nicht vergessen, mimikatz.ico durch ein anderes Symbol zu ersetzen. Klicken Sie auf "Lösung neu erstellen" (oder Lösung neu erstellen) und Sie erhalten unsere aktualisierte Version von mimikatz. Wir kopieren die Opfer auf den Computer, ii ... Alarm. Lassen Sie uns herausfinden, wofĂŒr Defender funktioniert. Am einfachsten ist es, vor dem ersten Vorgang des Antivirus eine BinĂ€rdatei mit einer anderen GrĂ¶ĂŸe zu kopieren.

Kopieren Sie zunÀchst die HÀlfte und kopieren Sie sie auf einen Windows 10-Computer.

head –c 600000 mimikatz.exe > hunt.exe 

Verteidiger schweigt, nicht schlecht schon. Beim Experimentieren finden wir die erste Operation. FĂŒr mich sah es so aus:

 head -c 900000 mimikatz.exe > hunt.exe –   head -c 950000 mimikatz.exe > hunt.exe –  head -c 920000 mimikatz.exe > hunt.exe –   head -c 930000 mimikatz.exe > hunt.exe –   head -c 940000 mimikatz.exe > hunt.exe –  head -c 935000 mimikatz.exe > hunt.exe –   head -c 937000 mimikatz.exe > hunt.exe –  head -c 936000 mimikatz.exe > hunt.exe –   head -c 936500 mimikatz.exe > hunt.exe –  head -c 936400 mimikatz.exe > hunt.exe –  head -c 936300 mimikatz.exe > hunt.exe –  head -c 936200 mimikatz.exe > hunt.exe –   

Öffnen Sie Hunt.exe im Hex-Editor und sehen Sie sich an, wofĂŒr Defender möglicherweise funktioniert. Der Blick fiel auf die KiwiAndRegistryTools-Zeichenfolge.

Bild

Lass uns mit zufĂ€lligen Caps spielen - es wird KiWIAnDReGiSTrYToOlS, speichern und kopieren. Stille, was bedeutet, dass wir richtig geraten haben. Jetzt werden wir alle Vorkommen dieser Zeilen im Code finden, unser Projekt ersetzen und neu erstellen. FĂŒhren Sie zur ÜberprĂŒfung den Kopf -c 936300 mimikatz.exe> ​​Hunt.exe aus. Das letzte Mal hat Defender gearbeitet, jetzt nicht. Weitermachen.

Bild

Auf solch knifflige Weise wurden Triggerwörter entdeckt, indem wir unserer Hunt.exe immer mehr Zeilen hinzufĂŒgten - wdigest.dll, isBase64InterceptOutput, isBase64InterceptInput, multirdp, logonPasswords, credman. Ich wechselte sie mit zufĂ€lligen Kappen und stellte sicher, dass Defender aufhörte, sie anzuschimpfen.
Aber es könnte nicht so einfach sein, dachte Defender und arbeitete fĂŒr Funktionen, die importiert werden und zwischen Groß- und Kleinschreibung unterscheiden. Dies sind Funktionen, die aus der Bibliothek netapi32.dll aufgerufen werden.

  • I_NetServerAuthenticate2
  • I_NetServerReqChallenge
  • I_NetServerTrustPasswordsGet

Wenn wir uns netapi32.dll (C: \ windows \ system32 \ netapi32.dll) ansehen, werden wir sehen, dass jeder Funktion eine Nummer zugewiesen ist.

Bild

Ändern Sie den Funktionsaufruf aus dem Formular
windows.netapi32.I_NetServerTrustPasswordsGet (args)
auf
windows.netapi32 [62] (Argumente)
Dazu mĂŒssen wir mimikatz \ lib \ x64 \ netapi32.min.lib ersetzen. Erstellen Sie eine netapi32.def-Datei und schreiben Sie dort die folgenden Zeilen:

 LIBRARY netapi32.dll EXPORTS I_NetServerAuthenticate2 @ 59 I_NetServerReqChallenge @ 65 I_NetServerTrustPasswordsGet @ 62 

Wir speichern den Befehl und fĂŒhren ihn aus (vergessen Sie nicht, die ursprĂŒngliche netapi32.min.lib fĂŒr alle FĂ€lle zu sichern).

 lib /DEF:netapi32.def /OUT:netapi32.min.lib 

Wir werden das Projekt noch einmal neu erstellen und kopieren, was wir bekommen haben. Verteidiger schweigt. FĂŒhren Sie den resultierenden Mimikatz mit Administratorrechten aus.

Bild

Erfolg. Daher wird mimikatz gestartet und Windows Defender hat nicht funktioniert, was wir uns vorgenommen haben. Passwörter, Erscheinungsbilder und Hashes werden ausgegeben.

Fallstricke

Warten:

 * Username : thunt * Domain : DESKTOP-JJRBJJA * Password : Xp3#2!^&qrizc 

RealitÀt:

 * Username : thunt * Domain : DESKTOP-JJRBJJA * Password : (null) 

Die Lebenssituation unterscheidet sich etwas von den Laborbedingungen. Möglicherweise mĂŒssen Sie mit der Registrierung arbeiten, um das Kennwort anzuzeigen. Aktivieren oder erstellen Sie beispielsweise einen UseLogonCredential-SchlĂŒssel (HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ SecurityProviders \ WDigest). Aber es kann Probleme damit geben, wie Beim Neustart können die SchlĂŒssel zurĂŒckgesetzt werden.

Es kann noch schlimmer sein, wenn Sie unter einer der neuesten Versionen von Windows 10 anstelle des Kennworts im Klartext Folgendes sehen:

 * Password : _TBAL_{68EDDCF5-0AEB-4C28-A770-AF5302ECA3C9} 

Alles dreht sich um TBAL, den Nachfolger von ARSO (Automatic Restart Sign-On). Wenn nun TBAL angefordert wird, prĂŒft lsasrv, ob das Konto ein lokales Konto oder ein MS-Konto ist, und verwendet auf dieser Grundlage msv1_0 oder cloudAP, um alles zu speichern, was zum Fortsetzen einer Benutzersitzung erforderlich ist. Danach wird der Autologon-Mechanismus auf das fest codierte Passwort _TBAL_ {68EDDCF5-0AEB-4C28-A770-AF5302ECA3C9} gesetzt.

Trotzdem haben wir im Labor das Passwort des Benutzers erhalten, und in einer Kampfsituation können wir zumindest Hashes bekommen.

Source: https://habr.com/ru/post/de454758/


All Articles