Giter Club home page Giter Club logo

vulkan's Introduction

Vulkan

Offensive tool to obfuscate powershell payloads

Introduction

This tools is able to obfuscate and modify powershell code using some known techniques and creativity, however it may have some error so feel free to open an issue or a pull request. Most of the well known used Powershell payloads are detected by most of the AVs just by looking at the code. This tool makes all neccessary changes on the script to make it work as expected but without being detected by AVs. I would explain in deepth all the modifications and how obfuscation works but you can take a look at it here, it's a great explanation from gh0x0st, the creator of Invoke-PSObfuscation so all credits to him

Have in mind that this tool isn't finished yet! That's why some powershell scripts may not work after being obfuscated

Features

  • All-in-one portable script
  • Undetectable against AVs
  • Pre-loaded Nishang and PowerSploit payloads
  • Replace functions and variables with random names
  • Random combinations between uppercase and lowercase characters
  • Integers obfuscation
  • Add backticks
  • Edit and remove comments
  • Obfuscate strings with multiple techniques
  • Obfuscate integers

Payloads

Some payloads are pre-loaded and you don't have to download them from Github, you can simply generate a FUD payload on the fly:

Payloads                    Categories          Descriptions
--------                    ----------          ------------
Invoke-PowerShellTcp        Shells              Send a reverse shell via TCP to a port of an ip
Invoke-PowerShellTcpOneLine Shells              Send a reverse shell via TCP to a port of an ip (simplified)
Invoke-PowerShellUdp        Shells              Send a reverse shell via UDP to a port of an ip
Get-System                  Privesc             Try to impersonate NT AUTHORITY/SYSTEM account
Get-Information             Gather              Get some basic information about the system
Get-WLAN-Keys               Gather              Display Wifi information and its stored credentials
Get-PassHashes              Gather              Dump system credentials from registry hives
Get-LSASecret               Gather              Extract LSA secrets from local computer
Copy-VSS                    Gather              Copy SAM and SYSTEM to a directory
Check-VM                    Gather              Check if system is a Virtual Machine (VM)
Invoke-CredentialsPhish     Gather              Create a fake dialog box to ask for credentials
Invoke-PortScan             Scan                Scan open ports of the given ip
Invoke-PsUACme              Escalation          Execute command(s) bypassing UAC with high privileges
Remove-Update               Escalation          Remove previous updates from system stealthily
Add-Persistence             Utility             Execute a payload on every computer reboot persistently
Download                    Utility             Download given file to user temp directory
Parse_Keys                  Utility             Parse keys logged by Nishang keylogger
Invoke-AmsiBypass           Bypassing           Bypass AMSI with a dynamic one-liner command

Usage

Clone the repo, move into it and then execute the main.rb script

git clone https://github.com/D3Ext/Vulkan
cd Vulkan
gem install colorize httparty optparse
ruby main.rb

Help panel

╦  ╦┬ ┬┬  ┬┌─┌─┐┌┐┌
╚╗╔╝│ ││  ├┴┐├─┤│││
 ╚╝ └─┘┴─┘┴ ┴┴ ┴┘└┘
    by D3Ext v0.1

Usage: main.rb [options]
Example: main.rb -f script.ps1 -o obfuscated.ps1

    -f, --file FILE                  file to obfuscate
    -o, --output DEST                path to write obfuscated script into
    -i, --iterations NUMBER          times to obfuscate the script (default: 1)
    -e, --extreme                    use best obfuscation techniques
    -p, --payload PAYLOAD            choose payload to obfuscate
    -l, --list                       show available pre-loaded payloads
    -v, --verbose                    run verbosely

Custom powershell script

ruby main.rb -f script.ps1 -o output.ps1

Extreme obfuscation

ruby main.rb -p Invoke-PowerShellTcp -o output.ps1 --extreme

Custom amount of iterations

ruby main.rb -f script.ps1 -o output.ps1 -i 3

Demo

Generate powershell Nishang TCP reverse shell

One-liner obfuscated reverse shell example

Shell established after executing above code

TODO

  • Custom payloads
  • More obfuscation avoiding errors

References

https://amsi.fail
https://github.com/RythmStick/AMSITrigger
https://github.com/danielbohannon/Invoke-Obfuscation
https://github.com/samratashok/nishang
https://github.com/GetRektBoy724/BetterXencrypt
https://github.com/gh0x0st/Invoke-PSObfuscation
https://github.com/gh0x0st/Invoke-PSObfuscation/blob/main/layer-0-obfuscation.md

Contributing

This tool may have errors so if you help with that it would be a great support, new features and changes are also welcome. I'm just one guy with this project so I'll try to reply you as quickly as possible

See CONTRIBUTING.md

Disclaimer

Use this project under your own responsability! The author is not responsible of any bad usage of the project.

License

This project is licensed under MIT license

Copyright © 2023, D3Ext

Buy Me A Coffee

vulkan's People

Contributors

d3ext avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.