DCOMUploadExec is a proof-of-concept (PoC) tool designed to exploit the Distributed Component Object Model (DCOM) for lateral movement within a network.
By leveraging the IMsiServer interface, this tool demonstrates how attackers can abuse Windows Installer’s COM functionality to execute payloads on remote systems. Below is an overview of its functionality, usage, and limitations.
DCOMUploadExec consists of two key components:
This tool bypasses traditional methods like PsExec by exploiting the IMsiServer interface in msiexec.exe, enabling attackers to upload and execute DLLs remotely.
msiexec.exe process.InitializeEmbeddedUI) from the DLL.DCOMUploadExec and AssemblyPayload).DCOMUploadExec.exe [domain]$$user]:[password]@[address]DCOMUploadExec.exe LOCALHOSTTo customize the payload:
InitializeEmbeddedUI.PayloadConfig.h with details of your custom payload:PAYLOAD_ASSEMBLY_PATH: Path to your DLL.ASSEMBLY_NAME: Name of your assembly.ASSEMBLY_BITNESS: Specify “64” (x64) or “32” (x86).ASSEMBLY_VERSION: Version obtained via tools like sigcheck.exe.ASSEMBLY_PUBLIC_KEY: Public key generated using sn.exe.Recompile DCOMUploadExec to use this custom payload.
DCOMUploadExec highlights how attackers can exploit lesser-known COM interfaces like IMsiServer for lateral movement.
While it serves as a PoC, it underscores the importance of securing DCOM configurations, applying patches, and monitoring suspicious activity in enterprise environments.
The rsync command in Linux synchronizes files and directories between two locations, locally or over SSH. Unlike scp,…
The patch command in Linux applies a set of changes from a diff file to one or…
The basename command in Linux extracts the last component of a file path, removing the leading directory…
The timeout command in Linux runs a command with a time limit and terminates it when the limit is reached. It is part of GNU coreutils, available on virtually every Linux distribution. It is most useful for commands with no built-in timeout option, such as ping, curl, tcpdump, or a custom script that might hang indefinitely. How the timeout Command Works in Linux The syntax is: bashtimeout [OPTIONS] DURATION COMMAND [ARG]...…
The rmmod command in Linux removes a loaded module from the running kernel. Because the kernel has…
The free command in Linux gives you a quick summary of RAM and swap usage. It reads…