Skip to content

Latest commit

 

History

History
86 lines (67 loc) · 3.04 KB

File metadata and controls

86 lines (67 loc) · 3.04 KB

App-Payload-Injector

A script used to inject executables into OSX .app files.

Keep in mind that some applications are write restricted and will therefore require escalated privileges for this script to work.

Note

Not fully finsihed, more functions will be added in the future

Usage

For this script to work it needs a minimum of two arguments. One specifying what app to target and one specifying what payload to use.

An exeample of this minimum viable call would be the following:./AppPayloadInjector.sh -t=/tmp/Someapp.app -p="/path with/space/payload.sh"

Arguments

Target

-t or --target

Requires a parameter

This argument is required.


This option chooses what app to target.

Example: ./AppPayloadInjector.sh -t="$HOME/Desktop/myapp.app"


Payload

-p or --payload

Requires a parameter

This argument is required.


This option chooses what payload to use.

Example: ./AppPayloadInjector.sh -t="$HOME/Desktop/myapp.app" -p="/tmp/payload.sh"


Nohide

-nohide


Disables trace hiding. This script attempts to remove any trace that some file(s) has been modified before finishing.

Example: ./AppPayloadInjector.sh -t="$HOME/Desktop/myapp.app" -p="/tmp/payload.sh" -nohide


Force

-f or --force


Attempts to bypass any obstacles if found.

Example: ./AppPayloadInjector.sh -t="$HOME/Desktop/myapp.app" -p="/tmp/payload.sh" -f


Payloadname

-pn or --payloadname

Requires a parameter


Sets the name of the dropped payload. If not set, generates a random name.

Example: ./AppPayloadInjector.sh -t="$HOME/Desktop/myapp.app" -p="/tmp/payload.sh" -pn="Payload"


Payloadpermission

-pp or --payloadpermission

Requires a parameter


Sets the permission of the payload once dropped. If not set, uses same permission as original executable.

Example: ./AppPayloadInjector.sh -t="$HOME/Desktop/myapp.app" -p="/tmp/payload.sh" -pp="u-r"


Dualexecute

-de or --dualexecute


Enables dual execution causing both the specified payload and the app to launch on application init.

Example: ./AppPayloadInjector.sh -t="$HOME/Desktop/myapp.app" -p="/tmp/payload.sh" -de


Dualexecutename

-den or --dualexecutename

Requires a parameter


Sets the name of the dropped launcher allowing for dual execution.

Example: ./AppPayloadInjector.sh -t="$HOME/Desktop/myapp.app" -p="/tmp/payload.sh" -den="launcher"


Examples

Injecting a shell script.

./AppPayloadInjector.sh -t="/Applications/App.app" -p="~/Desktop/Shell.sh"

Injecting a shell script and naming payload to "Example".

./AppPayloadInjector.sh -t="/Applications/App.app" -p"~/Desktop/Shell.sh" -pn="Example"

Force injecting a shell script, enabling dual execution and naming dual execution launcher to "launcher".

./AppPayloadInjector.sh -t="/Applications/App.app" -p"~/Desktop/Shell.sh" -f -de -den="laucnher"