滲透測試之主機探測與埠掃描

GLCC發表於2021-07-19

前置知識

  活躍主機:指已連線到網路上、處於執行狀態且網路功能正常的主機。檢查主機是否活躍是網路管理員最常做的一件事,不過作為網路管理員,一般只需要使用ICMP ping 進行探測就能夠滿足需求,但是作為一名滲透測試者,需要從大範圍的IP地址斷中尋找出活躍的主機,然後進一步篩選出感興趣的目標主機。

一、ICMP Ping命令

  ping是基於ICMP協議的,ICMP全程Internet Control Message Protocol,就是網際網路控制報文協議,網路包在異常複雜的網路環境進行傳輸的時候,常常會遇到各種各樣的問題,當遇到問題的時候,總要傳出訊息來,報告情況,這樣才可以調整傳輸策略。

  它是用來檢查網路是否通暢或者網路連線速度的命令。作為一個生活在網路上的管理員或者黑客來說,ping 命令是第一個必須掌握的 DOS 命令,它所利用的原理是這樣的:網路上的機器都有唯一確定的IP地址,我們給目標 IP 地址傳送一個資料包,對方就要返回一個同樣大小的資料包,根據返回的資料包我們可以確定目標主機的存在,可以初步判斷目標主機的作業系統等。

下面就來看看它的一些常用的操作。先看看幫助吧,在 DOS 視窗中鍵入:ping /? 回車

 

 

   

在此,我們只掌握一些基本的很有用的引數就可以了.

  • -t 表示將不間斷向目標 IP 傳送資料包,直到我們強迫其停止。試想,如果你使用 100M 的寬頻接入,而目標 IP 是 56K 的小貓,那麼要不了多久,目標 IP 就因為承受不了這麼多的資料而掉線,呵呵,一次攻擊就這麼簡單的實現了。
  • -l 定義傳送資料包的大小,預設為 32位元組,我們利用它可以最大定義到 65500位元組。結合上面介紹的 -t 引數一起使用,會有更好的效果哦。
  • -n 定義向目標 IP 傳送資料包的次數,預設為 3次。如果網路速度比較慢,3次對我們來說也浪費了不少時間,因為現在我們的目的僅僅是判斷目標 IP 是否存在,那麼就定義為 1次吧。說明一下,如果 -t 引數和 -n 引數一起使用,ping 命令就以放在後面的引數為標準,比如“ping IP -t -n 3”,雖然使用了 -t 引數,但並不是一直 ping 下去,而是隻 ping 3次。另外,ping 命令不一定非得 ping IP,也可以直接 ping 主機域名,這樣就可以得到主機的 IP。

 

 

 二、Metasploit的主機發現模組

  Metasploit 中提供了一些輔助模組可用於活躍主機的發現,這些模組位於Metasploit 原始碼路徑的modules/auxiliary/scanner/discovery/ 目錄中,主要有以下幾個:arp_sweep、ipv6_multicast_ping、ipv6_neighbor、ipv6_neighbor_router_advetisement、 udp_probe、udp_sweep.其中兩個常用模組的主要功能為:arp.sweep使用ARP請求列舉本地區域網路中的所有活躍主機。udp.sweep通過傳送UDP資料包探查指定主機是否舌躍,並發現主機上的UDP服務。在TCP/IP網路環境中,一臺主機在傳送資料幀前需要使用ARP (Address ResolutionProtocol,地址解析協議) 將目標IP地址轉換成MAC地址,這個轉換過程是通過傳送一一個ARP請求來完成的。如IP 為A的主機傳送一-1ARP請求獲取IP 為B的MAC地址,此時如果IP為B的主機存在,那麼它會向A發出一個回應。因此,可以通過傳送ARP請求的方式很容易地獲取同一子網上的活躍主機情況,這種技術也稱為ARP掃描。

  啟動metasploit

    msfconsole

 

 

   載入模組

use auxiliary/scanner/discovery/arp_sweep

  設定引數

set RHOSTS 36.5.172.0/24     //設定目標網段
set THREADS 50               //設定執行緒數

 

 

   檢視引數配置

show options

 

 

 

   執行

exploit

 

 

 三、使用nmap進行主機探測

NMAP(Network Mapper)是一款開放原始碼的網路探測和安全稽核的工具。它的設計目標是快速地掃描大型網路,當然用它掃描單個主機也沒有問題.Nmap以新穎的方式使用原始IP報文來發現網路上有一些主機,那些主機提供什麼服務(應用程式名和版本),那些服務執行在什麼作業系統(包括版本資訊),它們使用什麼型別的報文過濾器/防火牆,以及一堆其他功能。雖然Nmap通常用於安全稽核,許多系統管理員和網路管理員也用它來做一些日常的工作,選擇檢視整個網路的資訊,管理服務升級計劃,以及監視主機和服務的執行。

Nmap輸出的是掃描目標的列表,以及每個目標的補充資訊,至於是什麼資訊則依賴於所使用的選項。 “所尋找的埠表格”是其中的關鍵。那張表列出埠號,協議,服務名稱和狀態。狀態可能是 open(開放的),filtered(被過濾的), closed(關閉的),或者unfiltered(轉換過濾的)。Open(開放的)意味著目標機器上的應用程式正在該埠監聽連線/報文。 filtered(被過濾的)意味著防火牆,過濾器或者其它網路障礙阻止了該埠被訪問,Nmap的無法得知它是 open(開放的)還是closed(關閉的)。 closed(關閉的)埠沒有應用當埠對Nmap的探測觸發響應,但是Nmap無法確定它們是關閉還是開放時,這些埠就被認為是 unfiltered(過濾過濾的)如果Nmap報告狀態組合 open|filtered和 closed|filtered時,那說明Nmap無法確定該埠處於兩個狀態中的哪一個狀態。當要求進行版本探測時,埠表也可以包含軟體的版本資訊。當要求進行IP協議掃描時(-sO),Nmap提供關於所支援的IP協議而不是正在監聽的埠的資訊。

除了所感興趣的埠表,Nmap還可以提供關於目標機的進一步資訊,包括反向域名,作業系統標題,裝置型別,和MAC地址。

  在MSF終端中輸入不加任何引數的nmap命令,檢視其使用方法。

 

   nmap的使用格式

nmap   <掃描選項>     <掃描目標>
注:nmao掃描器會使用與ping命令一樣的機制,向目標網路傳送ICMP的echo請求,同時會測試目標系統的80和443埠是否開啟。

 

   檢視目標網站的系統型別

nmap -O 目標地址

 

相關文章