滲透測試——情報收集階段——服務掃描與查點

本文示例環境

在這裏插入圖片描述


很多網絡服務是漏洞頻發的高危對象,對網絡上的特定服務進行掃描,往往能讓我們少走彎路,增加滲透成功的機率。確定開放的端口後,通常會對相應端口上所運行服務的信息進行更深入的挖掘,這被稱爲服務查點
在 Metasploit 的 Scanner 輔助模塊中,有很多用於服務掃描和查點的工具,這些工具通常以 [ service_name ] _version 和 [service_name] login 命名。

  • [service_name] _version 可用於遍歷網絡中包含了某種服務的主機,並進一步確定服務的版本
  • [service_name] _login 可對某種服務進行口令探測攻擊

例如:http_version 可用於查找網絡中的Web服務器,並確定服務器的版本號;http_login 可用於對需要身份認證的 HTTP 協議應用進行口令探測。
:並非所有的模塊都按照這種命名規範進行開發,如用於查找 Microsoft SQL Server 服務的 mssql_ping 模塊。)


常見的網絡服務掃描

①Telnet 服務掃描

Telnet 是一個歷史悠久但先天缺乏安全性的網絡服務。由於 Telnet 沒有對傳輸的數據進行加密,越來越多的管理員漸漸使用更爲安全的 SSH 協議代替它。

可以使用命令 use auxiliary/scanner/telnet/telnet_version來掃描是否有主機或設備開啓了 Telnet服務,爲下一步進行網絡嗅探或口令猜測做好準備。
在這裏插入圖片描述
掃描結果顯示,IP 地址爲 10.10.10.254 的主機(即網關服務器) 開放了 Telnet 服務,通過返回的服務旗標 “Ubuntu 8.04\x0ametasploitable login : ”,可以進一步確認出這臺主機的操作系統版本爲 Ubuntu 8.04,而主機名爲 metasploitable。

② SSH 服務掃描

SSH 是類 UNIX 系統上最常見的遠程管理服務,與 Telnet 不同的是,它採用了安全的加密信息傳輸方式,通常管理員會使用 SSH 對服務器進行遠程管理,服務器會向 SSH 客戶端返回一個遠程的 Shell 連接。如果沒有做其他的安全增強配置,只要獲取服務器的登錄口令,就可以使用 SSH 客戶端登錄服務器,那就相當於獲得了相應登錄用戶的所有權限。

可以使用命令 use auxiliary/scanner/ssh/ssh_version來對網絡中開放了 SSH 服務的主機進行掃描。
在這裏插入圖片描述
使用 Metasploit 中的 ssh_version 輔助模塊,在該實驗環境中定位了兩臺開放了 SSH 服務的主機,分別是 10.10.10.129 (網站服務器) 和 10.10.10.254 (網關服務器),並且顯示了 SSH 服務軟件及其具體版本號。

③ Oracle 數據庫服務查點

各種網絡數據庫的網絡服務端口是漏洞頻發的“重災區”,比如 Microsoft SQL Server 的 1433 端口,以及 Oracle SQL 監聽器 (tnslsnr) 使用的 1521 端口。可以使用 mssql_ping 模塊查找網絡中的 Microsoft SQL Server,使用 tnslsnr_version 模塊查找網絡中開放端口的 Oracle 監聽服務。
在這裏插入圖片描述

④開放代理探測與利用

在一些特殊情形的滲透測試工作中,爲了避免被對方的入侵檢測系統跟蹤,就很有必要隱藏自己的身份。隱藏網絡身份的技術有很多,比如使用代理服務器 (Proxy)、VPN 等。

Metasploit 提供了 open_proxy 模塊,能夠更加方便的獲取免費的 HTTP 代理服務器地址。獲取免費開放代理之後,就可以在瀏覽器或者一些支持配置代理的滲透軟件中配置代理,這可以在進行滲透測試時隱藏真實 IP 地址。


口令猜測與嗅探

對於發現的系統與文件管理類網絡服務,比如 Telnet、SSH、FTP 等,可以進行弱口令的猜測,以及對明文傳輸口令的嗅探,從而嘗試獲取直接通過這些服務進入目標網絡的通道。

① SSH 服務口令猜測

之前介紹瞭如何在網絡上查找開放了 SSH 服務的主機,現在,可以使用 Metasploit 中的 ssh_login 模塊對 SSH 服務嘗試進行口令試探攻擊。進行口令攻擊之前,需要有一個用戶名口令字典
載入 ssh_login 模塊後,首先需要設置 RHOSTS 參數指定口令攻擊的對象,可以使一個 IP 地址或一個 IP 地址網段。然後使用 USERNAME 參數指定一個用戶名(或者使用 USER_FILE 參數指定一個包含多個用戶名的文本文件,每個用戶名佔一行),並使用 PASSWORD 指定一個特定的口令字符串 (或者使用 PASS_FILE 參數指定一個包含多個口令的字典文件,每個口令佔一行),也可以使用 USERPASS_FILE 參數指定一個用戶名和口令配對的文件 (用戶名和口令之間用空格隔開,每隊用戶名口令佔一行)。

首先創建一個文本文件作爲口令字典,在裏面輸入可能的口令密碼,每個口令密碼爲一行。命名爲 words.txt,然後保存在 /root 根目錄下。
在這裏插入圖片描述

然後使用 ssh_login 輔助模塊,設置目標主機,並猜測用戶名爲 root (因爲大多數操作系統都有一個初始的用戶名爲 root),並且引用剛剛創建的口令字典進行暴力破解。
在這裏插入圖片描述
由結果可知,用戶名爲 root ,口令密碼爲 ubuntu 的組合配對成功,即可用此用戶名和密碼獲取該服務器的訪問權。
輸入ssh 10.10.10.254 -l root進行訪問。“10.10.10.254” 是要訪問的主機的IP地址,“-l root” 表示是以 root 身份訪問。
在這裏插入圖片描述

②psnuffle 口令嗅探

psnuffle 是目前 Metasploit 中唯一用於口令嗅探的工具,它的功能算不算強大,但是非常實用,可以使用它截獲常見協議的身份認證過程,並將用戶名和口令信息記錄下來。
可以使用命令 use auxiliary/sniffer/psnuffle使用該模塊,然後輸入 run進行嗅探。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章