Secure Desktop Accessibility Registry Propagation LPE (RegPwn)
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.
Muhtasari
Vipengele vya Windows Accessibility huhifadhi usanidi wa mtumiaji chini ya HKCU na kuvisambaza kwenye maeneo ya kila kikao ya HKLM. Wakati wa mabadiliko ya Secure Desktop (lock screen au UAC prompt), vipengele vya SYSTEM vinarekopia tena thamani hizi. Ikiwa key ya HKLM ya kila kikao inayoandikwa na mtumiaji, inageuka kuwa sehemu ya udhibiti wa kuandika yenye cheo ambayo inaweza kuelekezwa kwa registry symbolic links, na kutoa arbitrary SYSTEM registry write.
Mbinu ya RegPwn inadanganya mnyororo huo wa usambazaji kwa dirisha dogo la ushindani, lililothibitishwa kwa kutumia opportunistic lock (oplock) kwenye faili inayotumiwa na osk.exe.
Registry Propagation Chain (Accessibility -> Secure Desktop)
Mfano wa kipengele: On-Screen Keyboard (osk). Maeneo yanayohusika ni:
- Orodha ya vipengele kwa mfumo wote:
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Accessibility\ATs- Usanidi wa mtumiaji (user-writable):
HKCU\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Accessibility\ATConfig\osk- Usanidi wa HKLM wa kila kikao (umeundwa na
winlogon.exe, user-writable): HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Accessibility\Session<session id>\ATConfig\osk- Secure desktop/default user hive (SYSTEM context):
HKU\.DEFAULT\Software\Microsoft\Windows NT\CurrentVersion\Accessibility\ATConfig\osk
Usambazaji wakati wa mabadiliko ya Secure Desktop (imefupishwa):
- User
atbroker.exeanakopaHKCU\...\ATConfig\oskhadiHKLM\...\Session<session id>\ATConfig\osk. - SYSTEM
atbroker.exeanakopaHKLM\...\Session<session id>\ATConfig\oskhadiHKU\.DEFAULT\...\ATConfig\osk. - SYSTEM
osk.exeanakopaHKU\.DEFAULT\...\ATConfig\oskkurudiHKLM\...\Session<session id>\ATConfig\osk.
Ikiwa mti wa HKLM wa kikao unaweza kuandikwa na mtumiaji, hatua 2/3 hutoa uandishi wa SYSTEM kupitia eneo ambalo mtumiaji anaweza kulibadilisha.
Primitive: Arbitrary SYSTEM Registry Write via Registry Links
Badilisha key ya per-session inayoweza kuandikwa na mtumiaji na registry symbolic link inayorejelea lengo lolote lililochaguliwa na mshambuliaji. Wakati nakala ya SYSTEM inapotendeka, inafuata link hiyo na inaandika thamani zinazoongozwa na mshambuliaji kwenye key ya lengo hiyo.
Wazo kuu:
- Lengo la uandishi la mwathiriwa (user-writable):
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Accessibility\Session<session id>\ATConfig\osk- Mshambuliaji anabadilisha key hiyo na registry link kuelekea key nyingine yoyote.
- SYSTEM inafanya nakala na inaandika kwenye key iliyochaguliwa na mshambuliaji kwa ruhusa za SYSTEM.
Hii inatoa primitive ya arbitrary SYSTEM registry write.
Winning the Race Window with Oplocks
Kuna dirisha fupi la wakati kati ya kuanzishwa kwa SYSTEM osk.exe na uandishi wa key ya per-session. Ili kuifanya iwe ya kuaminika, exploit inaweka oplock kwenye:
C:\Program Files\Common Files\microsoft shared\ink\fsdefinitions\oskmenu.xml
Wakati oplock inapochochea, mshambuliaji anabadilisha funguo la HKLM la kwa kila kikao kwa registry link, anaruhusu SYSTEM kuandika, kisha anaondoa link.
Mfano wa Mtiririko wa Exploitation (High Level)
- Pata session ID ya sasa kutoka access token.
- Anzisha mfano uliyo fichwa wa
osk.exena lala kwa muda mfupi (hakikisha oplock itachochea). - Andika thamani zinazodhibitiwa na mshambuliaji kwa:
HKCU\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Accessibility\ATConfig\osk
- Weka oplock kwenye
C:\Program Files\Common Files\microsoft shared\ink\fsdefinitions\oskmenu.xml. - Chochea Secure Desktop (
LockWorkstation()), ikisababisha SYSTEMatbroker.exe/osk.exekuanza. - Wakati oplock inachochea, badilisha
HKLM\...\Session<session id>\ATConfig\oskna registry link kwenda lengo lolote. - Subiri kwa muda mfupi kwa ajili ya nakala ya SYSTEM kukamilika, kisha ondoa link.
Kubadilisha Primitive kuwa Utekelezaji wa SYSTEM
Mnyororo mmoja rahisi ni kuandika juu (overwrite) thamani ya service configuration (kwa mfano, ImagePath) kisha kuanzisha service. The RegPwn PoC inaandika juu ImagePath ya msiserver na kuidhibiti kwa kutengeneza mfano wa MSI COM object, na kusababisha utekelezaji wa msimbo chini ya SYSTEM.
Related
Kwa tabia nyingine za Secure Desktop / UIAccess, angalia:
Uiaccess Admin Protection Bypass
Marejeo
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.


