Altiris Deployment Server Agent Privilege Escalation
2 Nov. 2008
Altiris Deployment Server agent is installed as part of the Altiris packages to allow the Deployment Server to manage software
for machines. It is usually installed to C:\Program Files\Altiris\AClient and the main running agent is called AClient.exe. By default the Altiris agent runs under the Local System account and is vulnerable to numerous Shatter Attack vulnerabilities leading to an attacker running code under the Local System privilege.
* Altiris Deployment Server version 6.X
The main windows of the AClient GUI has a hidden button that can be seen using a resource viewer such as MS Spy++. The button has a caption of "command prompt".
Clicking this button causes the GUI to attempt to call CreateProcess() with the following CommandLine parameter. "c:\Program Files\Altiris\AClient\cmd.exe"
The AClient GUI also has a ListView control which can be which can be used to overwrite process memory. Using the ListView, it is possible to overwrite a static pointer to modify the CommandLine parameter in such a way that a cmd.exe shell is executed with SYSTEM level privileges.
We then reported the second issue.
The deployment server agent makes use of the LoadLibrary() API function and passes a static address of a string from with the
By exploiting the ListView to overwrite the data segment string, it is possible to cause the agent to load a malicious dll file.
>From the aclient.exe code
004AA890 PUSH ESI
004AA891 PUSH EDI
004AA892 PUSH AClient.005858A0 ; ASCII "kernel32.dll"
004AA897 XOR EDI,EDI
004AA899 CALL DWORD PTR DS:[<&KERNEL32.LoadLibrar>;
The malicious dll file can then spawn a command shell, or similar, running under the LocalSystem context.