# T1127 - Trusted Developer Utilities Proxy Execution
## [Description from ATT&CK](https://attack.mitre.org/techniques/T1127)
Adversaries may take advantage of trusted developer utilities to proxy execution of malicious payloads. There are many utilities used for software development related tasks that can be used to execute code in various forms to assist in development, debugging, and reverse engineering.(Citation: engima0x3 DNX Bypass)(Citation: engima0x3 RCSI Bypass)(Citation: Exploit Monday WinDbg)(Citation: LOLBAS Tracker) 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 control solutions.
## Atomic Tests
- [Atomic Test #1 - Lolbin Jsc.exe compile javascript to exe](#atomic-test-1---lolbin-jscexe-compile-javascript-to-exe)
- [Atomic Test #2 - Lolbin Jsc.exe compile javascript to dll](#atomic-test-2---lolbin-jscexe-compile-javascript-to-dll)
## Atomic Test #1 - Lolbin Jsc.exe compile javascript to exe
Use jsc.exe to compile javascript code stored in scriptfile.js and output scriptfile.exe.
https://lolbas-project.github.io/lolbas/Binaries/Jsc/
https://www.phpied.com/make-your-javascript-a-windows-exe/
**Supported Platforms:** Windows
**auto_generated_guid:** 1ec1c269-d6bd-49e7-b71b-a461f7fa7bc8
#### Inputs:
| Name | Description | Type | Default Value |
|------|-------------|------|---------------|
| filename | Location of the project file | path | PathToAtomicsFolder\T1127\src\hello.js|
| jscpath | Default location of jsc.exe | path | C:\Windows\Microsoft.NET\Framework\v4.0.30319|
| jscname | Default name of jsc | path | jsc.exe|
#### Attack Commands: Run with `command_prompt`!
```cmd
copy "#{filename}" %TEMP%\hello.js
#{jscpath}\#{jscname} %TEMP%\hello.js
```
#### Cleanup Commands:
```cmd
del %TEMP%\hello.js
del %TEMP%\hello.exe
```
#### Dependencies: Run with `powershell`!
##### Description: JavaScript code file must exist on disk at specified location (#{filename})
##### Check Prereq Commands:
```powershell
if (Test-Path "#{filename}") {exit 0} else {exit 1}
```
##### Get Prereq Commands:
```powershell
New-Item -Type Directory (split-path "#{filename}") -ErrorAction ignore | Out-Null
Invoke-WebRequest "https://github.com/redcanaryco/atomic-red-team/raw/master/atomics/T1127/src/hello.js" -OutFile "#{filename}"
```
## Atomic Test #2 - Lolbin Jsc.exe compile javascript to dll
Use jsc.exe to compile javascript code stored in Library.js and output Library.dll.
https://lolbas-project.github.io/lolbas/Binaries/Jsc/
https://www.phpied.com/make-your-javascript-a-windows-exe/
**Supported Platforms:** Windows
**auto_generated_guid:** 3fc9fea2-871d-414d-8ef6-02e85e322b80
#### Inputs:
| Name | Description | Type | Default Value |
|------|-------------|------|---------------|
| filename | Location of the project file | path | PathToAtomicsFolder\T1127\src\LibHello.js|
| jscpath | Default location of jsc.exe | path | C:\Windows\Microsoft.NET\Framework\v4.0.30319|
| jscname | Default name of jsc | path | jsc.exe|
#### Attack Commands: Run with `command_prompt`!
```cmd
copy "#{filename}" %TEMP%\LibHello.js
#{jscpath}\#{jscname} /t:library %TEMP%\LibHello.js
```
#### Cleanup Commands:
```cmd
del %TEMP%\LibHello.js
del %TEMP%\LibHello.dll
```
#### Dependencies: Run with `powershell`!
##### Description: JavaScript code file must exist on disk at specified location (#{filename})
##### Check Prereq Commands:
```powershell
if (Test-Path "#{filename}") {exit 0} else {exit 1}
```
##### Get Prereq Commands:
```powershell
New-Item -Type Directory (split-path "#{filename}") -ErrorAction ignore | Out-Null
Invoke-WebRequest "https://github.com/redcanaryco/atomic-red-team/raw/master/atomics/T1127/src/LibHello.js" -OutFile "#{filename}"
```