metasploit 教程之基本參數和掃描


前言

首先我也不知道我目前的水平適不適合學習msf. 在了解一些msf之后,反正就是挺想學的.就寫博記錄一下.如有錯誤的地方,歡迎各位大佬指正. 感激不盡.!

我理解的msf

msf全程metasploit. 是一款滲透測試框架,他提供了一套標准流程.從信息收集,到系統入侵,等都有相應的模塊供我們使用. msf有免費版和pro版. 我這里以免費版做筆記來學習,同時msf又提供給我們3種交互方式,一種命令行的模式,(msfconsole). 一種圖形化界面方式,(我暫時還沒接觸).還有終端的方式, 由於我剛接觸msf,后續所有圖文均是由msfconsole完成.

環境

本次使用的是kali matesploit farework .

基礎知識

一些簡單的基本參數介紹. 

數據庫(未進入msf之前)

msf啟動的時候 是會自動創建連接數據庫的, 如果數據庫你認為的搞壞了或者啟動不了, 可以試試手動啟動. 在終端下使用msfdb(按兩次tab補全) 則會羅列出一系列和msf數據庫操作相對的指令.

msfdb init  : 初始化數據庫

msfdb reinit :重新初始化數據庫

msfdb delete: 刪除數據

msfdb start: 查看數據庫狀態

msfdb stop :手動暫停數據庫

msfdb run : 手動啟動數據庫

msfdb使用的數據庫Postgresql,默認偵聽的端口為5432端口.

全局控制台命令

進入msf兩種方式,①,終端輸入 msfconsole.  ②. 點擊菜單欄圖標.

進入之后, 輸入  help 是查看所有命令(還可以直接鍵入 ? 功能一致,但存在一個小小bug,使用?來查看幫助文檔 就沒法使用Tab鍵來幫我們自動補全了,其他無異).  類似於--help,幫助文檔之類的東西,其實操作系統的命令在當前狀態下也是可以使用的.這在圖形化界面是做不到的,我想着也是為什么都推薦使用命令行的原因之一吧.

退出: exit. 

啟動的時候還可以指定參數, 例 msfconsole  -q  :靜默啟動. 和普通的啟動最大的區別就是少了banner信息.

msfconsole  -r : 代表的是后邊可以跟一個資源文件

msfconsole -v : 查看當前版本信息

查看版本還可以直接鍵入virsion

 

banner  : banner信息.  可以通過banner來切換banner信息,我無聊的時候就會切換banner玩.切換到我喜歡的為止.

 我比較喜歡的一個banner,有沒有感覺到程序猿也可以很浪漫.~

color   :  是否用顏色區分工作狀態. (默認為true,可設置為false,auto,auto也是true),如果設置為false,下圖中的紅色則就沒有了..

connect   :可以做端口偵聽, 也可以連接目標服務器指定端口.  

show       : 按兩次Tab鍵 可以查看各類模塊, show all 則是列出所有模塊,例我們查看exploits 則可以通過show exploits里具體可以使用的模塊....

search    : 搜索模塊.可以根據文件名,文件類型等指定參數搜索. 具體參數 search -h

 use   :   后面跟模塊地址 進入某個指定模塊的上下文

----------------------與上面的db操作不同的是,下面的db操作需要進入msf之后------------------------------------------------

db_    :  db_ 按兩下Tab 則是進入msf后的數據庫相關操作

db_connect     :  數據庫連接信息

db_export        : 數據庫導出

db_nmap          : 啟動nmap掃描,並把結果保存到數據庫中

db_remove       :  數據庫刪除

db_status         : 數據庫連接狀態

db_disconnect  : 數據庫斷開連接

db_import         : 導入到數據庫

db_rebuild_cache : 把數據緩存到數據庫,再次進行search搜索的時候就可以提高效率

db_save            : 保存數據庫

hosts       : 掃描主機記錄

hosts[xx.xx.xx.xx]: 顯示特定主機的記錄

hosts -u     : 顯示是開機狀態的主機

hosts -c     : 后面跟上你想要看的列名,多個列之間逗號隔開

hosts -S     : Search縮寫, 用於關鍵字匹配(多字段搜索)

hosts -p     : 端口搜索. 與-S不同的是只能精准匹配端口一項

services       : 顯示端口信息 (搜索規則和hosts等同),可以指定范圍 例 : services -p 1-200

模塊參數

info     : 查看模塊說明 ,包括簡介,版本,作者,作者聯系方式,使用參數說明等.

 

show      : 使用方法和全局模式一樣. 按兩次Tab鍵 

show options: 參數配置, Required 為yes則是必需指定的參數, Current Setting 為默認參數. 

show targets:  查看可以使用哪些targets.

show payloads: 查看當前模塊適用的payloads. 如果在某一個模塊下進行show payloads 則顯示當前模塊下的payloads,並不是全局的payloads

show advanced: 顯示高級參數

show missing: 查看哪些必需設置的參數沒有設置

 edit     : 對當前腳本文件 進行二次編輯修改.

check             : 檢驗漏洞存不存在. 不對漏洞進行利用.(部分模塊適用)

 bank    : 返回到全局環境.

run || exploit    : 運行模塊

creds    : 獲取模塊的結果

vulns    : 獲取掃描的漏洞信息

loot       : 查看加密值  

set        : 設置某一個參數

unset    : 取消某個參數的設置

setg       : 設置一個全局變量, 任何模塊下都可使用. 例 setg  RHOSTS  凡是用到RHOSTS的模塊 值自動填充為設置的值

unsetg      : 取消設置的全局變量

* 全局變量只對當前會話有效, exit之后再進入則不存在,想要長存的話可以使用save命令保存為配置文件. 下次啟動的時候msf會自動加載配置文件.

*取消保存后的全局變量 首先先進入msf,然后unsetg,然后在保存即可覆蓋或者刪除配置文件即可.

xeploit -j     : 后台運行攻擊

jobs       : 顯示后台攻擊的結果

sessions     : 當前已經建立的sisson 

 sessions -i [session id] : 進入建立的sisson

load      : 掛載指定的插件

 

unload       : 取消加載, 加載后的外部命令也相之消失

loadpath       : 調用指定目錄存放的模塊,(一般對應自行開發的模塊)

route        : 添加路由(add)

irb         : 開發環境

resource       : 指定一個資源文件. 比如我們把一系列的操作命令放到一個文件里面 指定了資源文件后自動加載,有了資源文件也可以在啟動的時候直接指定,msfconsole -r 

Exploit模塊

exploit模塊主要分為兩類. Active(主動) 和Passive(被動的),  Active是攻擊方發送攻擊代碼包被攻擊方,其主要利用服務器端的漏洞進行攻擊,而Passive則是利用社會工程學等一些其他方式誘使你訪問惡意站點等,通過返回信息來攻擊從而造成漏洞被利用.

Meterpreter

meterpreter是一種高級,動態,可擴展的payload.基於meterprtetr上下文利用更多的漏洞發起攻擊, 提供后滲透階段一站式操作界面.

簡單的來說 如果我們攻擊拿到了一個系統的shell,后續想進行進一步操作 比如打開目標機攝像頭,監視桌面,記錄目標機鍵盤操作等.這些在沒使用meterpreter之前都是非常麻煩的.

但是我們用了meterpreter之后 將會非常簡單. meterpreter是完全基於內存的DLL注入式payload(不會寫入硬盤),服務端使用C語言編寫./

信息收集

信息收集是滲透流程的第一步也是很關鍵的一步,他包括但不限於端口掃描.whois,子域名發現等.所有的掃描結果都會被保存到數據庫,方便后續調用.

信息收集要做大量的掃描.一般模塊都會放置在

# 模塊地址
use auxiliary/sacnner/    # 可以按兩下Tab鍵 列出所有列表

Nmap掃描

db_nmap  -sV 192.168.1.110

Auxiliary掃描

/*
       *RHOSTS : 指定ip掃描.多個逗號隔開,可以是精確值,也可以是區間值,也可以是網段 

*/

  

還可以使用udp掃描等.使用方法類似.先use進某一個模塊 然后查看模塊的info說明.然后查看參數show options . 

密碼嗅探和SANP掃描

# 使用的密碼嗅探模塊 ,目前支持pop3.imap.ftp.http get 協議
# 支持從pcap抓包文件中提取密碼
# 功能類似於dnsiff use auxiliary/sniffer/psnuffle

 

這個模塊我們可以什么都不用配置,默認抓取本機的流量. 還支持分析抓包文件嗅探. 使用set PCAPFILE 導入文件即可,

查看結果可以使用jobs. 刪除結果可以使用kill 加上對應的jobs id值.

Snmp掃描(暫時沒理解)

# smap模塊
use auxiliary/scanner/snmp/snmp_login

SMB掃描

# SMB主機版本掃描
use  auxiliary/scanner/smb/smb_version

 

# smb命名管道掃描 判斷smb服務類型(賬號,密碼)
use auxiliary/scanner/smb/pipe_auditor

 遺憾的是我這里什么都沒有掃出來..,難道姿勢/知識不對?

SSH掃描

ssh我們關注的應該放在ssh版本問題,ssh1 或者ssh1.99都是有安全隱患的.

# 模塊
use auxiliary/scanner/ssh/ssh_version

  掃描結果為ssh 2.0

# ssh爆破攻擊
use auxiliary/scanner/ssh/ssh_login

 附上第二篇連接:點我直達 


免責聲明!

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



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