# Trusted Developer Utilities

There are many utilities used for Software Development related tasks that can execute code in various forms to assist in development, debugging and reverse engineering. These utilities may often be signed with legitimate certificates that allow them to execute on a system and proxy execution of  malicious code through a trusted process that effectively bypasses application whitelisting defensive solutions

A few Examples of these are:

### MSBuild

MSBuild.exe (Microsoft Build Engine) is a software build platform used by Visual Studio.It takes XML formatted project files that define requirements for building various platforms and configurations.

Adversaries can use MSBuild to proxy execution of code through a trusted windows utility.The inline task capability of MSBuild that was introduced in .NET version 4 allows for C# code to be inserted in the XML project file. Inline tasks MSBuild will compile and execute arbitrary code and bypass whitelisting defenses that are configured to allow MSBuild execution.

### Regsvr32

Regsvr32.exe is a command-line program used to register and unregister object linking and embedding controls, including dynamic link libraries (DLLs), on Windows systems, Regsvr32.exe can be used to execute arbitrary binaries.

Adversaries may take advantage of this functionality to proxy execution of code to avoid triggering security tools that may not monitor execution of, and modules loaded by, the regsvr32.exe process because of whitelists or false positives from Windows using regsvr32.exe for normal operations. Regsvr32.exe is also a Microsoft signed binary.

Regsvr32.exe can also be used to specifically bypass process whitelisting using functionality to load COM scriptlets to execute DLLs under user permissions. Since regsvr32.exe is network and proxy aware, the scripts can be loaded by passing a uniform resource locator (URL) to file on an external Web Server as an argument during invocation. This method makes no changes to the Registry as the COM object is not actually registered, only executed. This variation of the technique is often referred to as a "Squiblydoo" attack and has been used in campaigns targeting environments.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://dmcxblue.gitbook.io/red-team-notes/execution/trusted-developer-utilities.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
