franky

command module
v0.0.0-...-5e3510a Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 6, 2022 License: MIT Imports: 14 Imported by: 0

README

Franky - Shellcode Injection

Franky

Franky is a shellcode generation and injection tool, designed to generate an executable payload to inject custom shellcode into another process.


Features

  • Inject shellcode into a remote process
  • Generate shellcode from an executable to be embedded into payload
  • Supports 32-bit or 64-bit architecture
  • Configurable process to use for injection
  • Builder program works on Windows, Linux (MacOS not tested)

Installation

Clone the repository:
git clone https://github.com/misthi0s/Franky

Change the working directory:
cd Franky

Build the project with Go:
go build -o franky .

Help information can be accessed by running the -h switch:
./franky -h


Usage

Franky supports the following commandline switches:

Switch Description Mandatory?
-path Path to shellcode or executable file Yes
-arch Architecture of the output payload; 32 (default) or 64 No
-process Full path of process to inject into (default: notepad.exe) No
-exe Generate shellcode from executable file to use as payload No

Examples

Generate a 32-bit payload to inject shellcode "shell.bin" into notepad.exe:
./franky -path shell.bin

Generate a 64-bit payload to inject shellcode "shell.bin" into calc.exe:
./franky -arch 64 -path shell.bin -process C:\Windows\System32\calc.exe

Convert executable "shell.exe" into shellcode and generate a 64-bit payload to inject into notepad.exe:
./franky -arch 64 -path shell.exe -exe


Additional Notes

  • To avoid issues, architectures should all match! 64-bit shellcode should be generated as a 64-bit payload to inject into a 64-bit process.

  • The "pkgs" folder (and contents) must exist in the same directory as the builder program. If the builder is moved, the "pkgs" folder must be moved with it.

  • All payloads will be saved in the "output" folder in the same directory as the builder program.

  • When building the builder program on Windows, Windows Defender will flag the application as malware. This is due to the inclusion of Donut libraries, which Defender doesn't seem to like. If building on Windows, an exclusion will need to be made for the program to be built successfully.


Credits

Special thanks go to:

  • TheWover and Binject for their excellent Donut and Go-Donut, respectively, projects. Without these, the executable to shellcode function would not be included in Franky.

Issues

If you run into any issues with Franky, feel free to open an issue. It is likely that only issues related to the builder will be worked on, due to the near infinite number of issues that could stem from shellcode-specific problems.

Documentation

The Go Gopher

There is no documentation for this package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL