SolarWinds Kiwi Syslog Server 9.6.7.1 - Unquoted Service Path

Exploit Author: Milad karimi Analysis Author: www.bubbleslearn.ir Category: Local Language: Shell Published Date: 2024-08-04
# Exploit Title: SolarWinds Kiwi Syslog Server 9.6.7.1 - Unquoted Service Path
# Date: 2024-07-31
# Exploit Author: Milad Karimi (Ex3ptionaL)
# Contact: miladgrayhat@gmail.com
# Zone-H: www.zone-h.org/archive/notifier=Ex3ptionaL
# MiRROR-H: https://mirror-h.org/search/hacker/49626/
# Vendor Homepage: https://www.kiwisyslog.com/
# Software Link: https://www.kiwisyslog.com/downloads
# Version: Software Version 9.6.7.1
# Tested on: Windows 10 Pro x64

1. Description:

SolarWinds Kiwi Syslog Server 9.6.7.1 is an affordable software to manage
syslog messages, SNMP traps, and Windows event logs


2. Proof

C:\>sc qc "Kiwi Syslog Server"
[SC] QueryServiceConfig SUCCESS

SERVICE_NAME: Kiwi Syslog Server
        TYPE               : 10  WIN32_OWN_PROCESS
        START_TYPE         : 2   AUTO_START
        ERROR_CONTROL      : 1   NORMAL
        BINARY_PATH_NAME   : "C:\Program Files
(x86)\Syslogd\Syslogd_Service.exe"
        LOAD_ORDER_GROUP   :
        TAG                : 0
        DISPLAY_NAME       : Kiwi Syslog Server
        DEPENDENCIES       :
        SERVICE_START_NAME : LocalSystem


C:\>systeminfo

OS Name:  Microsoft Windows 10 Pro
OS Version: 10.0.19045 N/A Build 19045
OS Manufacturer: Microsoft Corporation


SolarWinds Kiwi Syslog Server 9.6.7.1 — Unquoted Service Path: Technical Overview, Detection, and Remediation

Summary

Unquoted service path vulnerabilities are a common Windows misconfiguration that can enable local privilege escalation or persistence vectors when a service executable path contains spaces but is not properly enclosed in quotes. This article explains the issue in the context of SolarWinds Kiwi Syslog Server 9.6.7.1, how to detect affected services, safe remediation techniques, and defensive best practices for administrators and security teams.

What is an unquoted service path?

An unquoted service path occurs when the Windows service configuration points to an executable whose full path includes one or more space characters, but the path string is not surrounded by quotation marks. Because command-line parsing and Windows service loader behavior can interpret the path token-by-token, an attacker with local write privileges to an intervening directory can sometimes cause Windows to run an unintended executable, leading to privilege escalation or arbitrary code execution at the service privilege level.

Why it matters (impact)

  • Local privilege escalation: If an attacker can place an executable in a directory that Windows searches before the intended binary, the malicious binary may be run with the service account's privileges (often SYSTEM).
  • Persistence: An attacker with write access to program directories could persist by placing a malicious executable that is picked up by the misconfigured service.
  • Attack surface: Even when initial access is limited, unquoted service paths increase the number of potential privilege-escalation targets on a host.

Example scenario (contextual, non-actionable)

In some environments, administrators discovered that a service associated with Kiwi Syslog Server exposed a Windows service path containing spaces. Such findings prompted an audit to detect other services with the same misconfiguration and to apply corrective measures. This article focuses on safe detection and remediation rather than exploit details.

How to detect unquoted service paths (defensive commands)

Below are safe, administrative techniques for locating Windows services whose ImagePath contains spaces and is not fully quoted. Run these commands with appropriate administrative privileges as part of an audit.

sc qc "Kiwi Syslog Server"

Explanation: The sc qc command queries the configuration of a named service and prints the ImagePath (binary path). Use the service name in quotes if it contains spaces. This helps confirm the configured binary path for a single service.

Get-CimInstance Win32_Service |
  Where-Object { $_.PathName -match ' ' -and $_.PathName -notmatch '^".*"$' } |
  Select-Object Name, PathName

Explanation: This PowerShell one-liner queries all Windows services via WMI/CIM and filters results to show services whose PathName contains a space and is not enclosed in quotes. The output is Name and PathName, useful for bulk detection across a host or when integrated into automation.

Technique Purpose
sc qc <ServiceName> Quick inspection of a single service's ImagePath
PowerShell (Get-CimInstance) Host-wide discovery of potentially vulnerable services

Remediation: safe and recommended fixes

The primary remediation is to ensure the ImagePath for the service is correctly quoted and that the service binary resides in a secure, non-writable location. Remediation steps should be performed by system administrators and tested in a lab prior to production changes.

  • Patch and update: First check vendor advisories and apply any vendor-supplied patches or updates. If a vendor has released a fixed installer or service configuration, apply it following normal change control processes.
  • Correct the service ImagePath: Ensure the service's configured binary path is enclosed in double quotes. This can be done by reinstalling the service from a fixed package or, when appropriate, by updating the service configuration to use a quoted path. Administrative tools such as service installers or configuration management systems should be used to make persistent, supported changes.
  • Secure the binary location: Place service binaries in protected directories (e.g., "C:\Program Files\...") with strict ACLs; ensure non-admin users do not have modify/create rights in those directories.
  • Least privilege: Run services with the least privileges required—avoid LocalSystem unless strictly necessary. Use managed service accounts when possible.
  • Application control: Use application whitelisting (AppLocker, Windows Defender Application Control) or executable allow-lists to prevent unauthorized binaries from running.
  • Monitor and alert: Implement file integrity monitoring and EDR rules to detect new or altered executables in service directories and unusual service startup behavior.

Example remediation guidance (administrative)

Because directly changing a service's ImagePath can be disruptive, prefer vendor-supplied fixes or reinstallation. If an emergency configuration change is necessary, perform it during a maintenance window and ensure backups and rollback procedures are in place. Typical administrative approaches include:

  • Reinstalling or updating the application with a fixed installer that sets the correct, quoted ImagePath.
  • Using configuration management tools (e.g., SCCM, Ansible, Chef) to apply a verified, quoted path.
  • On a supported basis, updating the ImagePath via the service installer or via controlled registry edits (HKLM\SYSTEM\CurrentControlSet\Services\\ImagePath) with appropriate precautions and backups.

Detection and response recommendations

  • Regularly scan endpoints for unquoted service paths and integrate the PowerShell detection into routine endpoint assessments.
  • Prioritize remediation for services running as SYSTEM or other high-privilege accounts.
  • Investigate any unexpected executables appearing in service directory hierarchies with EDR and FIM tools; collect host forensic artifacts (process trees, service creation logs) when suspicious activity is observed.
  • Maintain an inventory of installed services and the owning vendor/package so that affected services can be correlated with vendor advisories and patching campaigns.

Vendor coordination and responsible disclosure

If you identify a vulnerable service shipped by a third-party vendor (such as a specific Kiwi Syslog Server version), report the finding to the vendor via their security contact or vulnerability disclosure program. Provide reproduction steps for the vendor to validate the issue, but refrain from publishing exploit details publicly until the vendor has released a patch or mitigations and affected customers have had time to remediate.

Summary: practical takeaways

  • Unquoted service paths are a common, correctable misconfiguration that increases local attack surface.
  • Detect affected services using built-in Windows tooling (sc, PowerShell/CIM) and prioritize fixes for services running with high privileges.
  • Remediate by ensuring the ImagePath is quoted, binaries are stored in secure locations, and services run with least privilege.
  • Combine remediation with application control, monitoring, and vendor patching to reduce the overall risk.

References & further reading

  • Microsoft guidance on service hardening and secure service configuration
  • Best practices for Windows service privilege management and application whitelisting
  • Vendor (Kiwi Syslog) download and support pages for obtaining updates