Tutorial Demonstrates AppLocker Bypasses Using Ligolo-NG

· Original article ↗

Summary

A hands-on tutorial demonstrates bypassing AppLocker and PowerShell restrictions in a simulated Windows environment using trusted binaries, reflective shellcode injection, and Ligolo-NG to establish a reverse TLS tunnel.

Key points

  • The walkthrough configures AppLocker to block unsigned executables, then verifies that direct execution of the Ligolo agent is blocked.
  • It demonstrates using InstallUtil and MSBuild as trusted binaries to run code despite application-control restrictions.
  • Donut converts the Ligolo agent into shellcode for reflective injection into a suspended process through a PowerShell loader.
  • The tutorial uses MSBuild inline tasks to run code outside PowerShell Constrained Language Mode restrictions.
  • Ligolo proxy callbacks are used to confirm agent execution and establish a reverse TLS tunnel in the simulated environment.
  • The article focuses on AppLocker enforcement and PowerShell restrictions; it does not provide equivalent step-by-step validation of a WDAC bypass.

Article Details

Topic
Demonstration of bypassing AppLocker and WDAC using Ligolo-NG, trusted Windows binaries, and in-memory payload execution.

Indicators of compromise

TypeIndicatorContext
IPV4192[.]168[.]1[.]42Attacker-controlled server in the demonstration, used to host payloads and receive Ligolo callbacks.
URLhxxp[:]//192[.]168[.]1[.]42/agent.exePayload download URL hosted on the attacker-controlled server in the demonstration.
URLhxxp[:]//192[.]168[.]1[.]42/ligolo.ps1PowerShell loader URL used to retrieve and execute the in-memory payload in the demonstration.
URLhxxp[:]//192[.]168[.]1[.]42/loader.txtEncoded reflective-loader download URL hosted on the attacker-controlled server in the demonstration.

MITRE ATT&CK

Vendors

Products

Tools

Related Articles