記學習滲透測試之列舉

working發表於2021-11-12
  • 列舉是從在掃描期間發現的入口和資訊提取中有意義資訊的過程。因為在這一步中會進行更深層的挖掘,收集使用者名稱、主機名、共享名、服務、應用程式資料、組資訊和其他更多資訊。但此時,這些活動也會增加可見性,因而更需要關注被探測的可能性。因此,必須謹慎耐心以避免被發現。

  • 列舉要求主動開啟到目標的連線以及提取有價值的資訊。透過這些連線,可以執行用於獲得更清晰的環境圖景的查詢和操作。當已經收集到充分的資訊後,即可開展系統脆弱性評估。在此階段收集到的資訊一般可分為以下幾類:

    • 網路資源和共享

    • 使用者和組

    • 路由表

    • 審計和服務設定

    • 應用程式和banner

    • SNMP和DNS詳情

有價值的埠

  • 當進入列舉階段時,瞭解那些常用的埠和服務以及它們能提供給攻擊者哪些型別的資訊是很有好處的。回顧之前的掃描階段,當在系統外部探索入口點時,會使用諸如nmap或其他埠掃描器之類的工具探測埠狀態。在掃描期間可能會發現多個不同埠,而下列埠應密切注意:

    • TCP53 此埠用於DNS區域傳輸(DNS Zone Transfer),DNS系統透過該機制保證伺服器持續更新資料或資訊。

    • TCP135 此埠用於客戶端/伺服器應用程式之間的通訊,例如使電子郵件客戶端得以連線到電子郵件伺服器。

    • TCP137 NetBIOS名稱服務(NetBIOS Name Service,NBNS)是一種用於提供涉及NetBIOS協議的名稱解析服務的機制。該服務使得NetBIOS能夠將各個系統和服務的名稱與IP地址關聯起來。需要重點注意的是,對許多攻擊者而言,該服務是一個易於攻擊的目標。

    • TCP139 NetBIOS會話服務又稱NetBIOS上的SMB(服務訊息塊),用於管理支援NetBIOS的客戶端和應用程式之間的連線。NetBIOS使用該服務建立連線,並不再需要連線時斷開。

    • TCP445 TCP上的SMB又稱直連主機(Direct Host),是用於提升網路訪問效能和旁路NetBIOS的服務。該服務僅在windows 2000及更高版本可用。

    • UDP161 簡單網路管理協議(Simple Network Management Protocol,SNMP)是一種用於管理和監視網路裝置與主機的協議。該協議設計用於實現訊息傳遞、監視、審計和其他功能。SNMP實際上工作在161和162兩個埠上,其中監聽執行於161埠,而在162埠上接收trap報文。

    • TCP/UDP389 輕量級目錄訪問協議(Lightweight Directory Access Protocol,LDAP)用於許多應用程式和目錄應用程式中,其中最常見的兩種就是活動目錄(Active Directory)和Exchange兩者之一或其他類似產品。

    • TCP/UDP3368 全域性目錄服務(Global Catalog Service)與微軟的活動目錄服務相關聯。該埠的存在並開啟是存在活動目錄服務的標誌。

    • TCP25 SMTP用於透過電子郵件在網路上傳遞訊息。

可以發現,以上列表中有一些關於活動目錄(他是微軟的一項網路管理產品)的項。建議花點時間對活動目錄進行基本的瞭解,因為他在企業環境中是很常見的。

利用電子郵件ID

  • 該技術用於從電子郵件地址或ID中獲取使用者名稱和域名資訊。觀察任意的電子郵件地址,可以看到它包含兩個部分:在@符號之前的部分是使用者名稱,而在@符號之後的部分則是域名。這種格式在現下的環境中基本已成為標準,其中使用者名稱大多是透過“名字.姓氏”或其某種變體生成的。

SMTP列舉

  • 使用SMTP是收集目標資訊的一個有效方法。該協議用於在收發電子郵件的伺服器之間傳遞訊息。SMTP是一個常用的協議,是當前大多數電子郵件伺服器與客戶端所使用的標準。

  • 那麼,如何使用該協議從伺服器上收集資訊?只要瞭解少數幾個命令及其使用方法,該過程其實很簡單。以下命令均在telnet以及其他方法連線伺服器後使用。

    1. VRFY命令
    2. EXPN命令
    3. RCPT TO命令
儘管透過命令列執行這些攻擊也並不是那麼困難,但還是有其他可選方法可實現這些基於SMTP的攻擊,例如NetScanTools Pro。

常被利用的服務

  • 對Windows作業系統的關注在使用者和攻擊者當中都很普遍,這是有多種原因的,但我們在此只聚焦於攻擊者及其利用的目標。
  • Windows作業系統長期以來都是預設執行多個服務,其中每個服務都會給防禦者帶來一堆麻煩,而給攻擊者提供一個充滿機會的目標。系統中的每個服務都用於為系統提供額外的特性和能力,例如檔案共享、域名解析、網路管理等。總之,預設情況下Windows可執行大約30個服務,其中還不包括獨立應用程式可能安裝的服務。有些服務還有可能有多個例項,使安全管理員更加難以識別
  • NetBIOS是Windows系統中最易受攻擊的服務之一,下文將對其進行詳細分析。

NetBIOS

  • 攻入Windows系統獲取立足點的起始步驟之一是利用NetBIOS的API(應用程式程式設計介面)。該服務最初只是用於協助訪問區域網資源。他設計為使用16個字串的名稱,其中前15個字串用於標識計算機,而最後一個字元代表該計算機自身上面的服務或專案。由此可見,NetBIOS是把雙刃劍!
  • 攻擊前需要掃描目標是否開啟139埠,下一步則證明該連線是否可提取資訊。

使用nbtstat工具

  • 按下列方式執行nbstart命令,返回遠端系統中的名稱列表:
nbtstat.exe -A <遠端系統的NetBIOS名稱>
如果擁有目標系統的IP地址,則使用以下命令:
nbtstat -A <目標IP地址>
其他的nbtstat命令功能:
  • -a (介面卡狀態) 列出指定名稱的遠端機器的名稱表

  • -A (介面卡狀態) 列出指定 IP 地址的遠端機器的名稱表。

  • -c (快取) 列出遠端[計算機]名稱及其 IP 地址的 NBT 快取

  • -n (名稱) 列出本地 NetBIOS 名稱。

  • -r (已解析) 列出透過廣播和經由 WINS 解析的名稱

  • -R (重新載入) 清除和重新載入遠端快取名稱表

  • -S (會話) 列出具有目標 IP 地址的會話表

  • -s (會話) 列出將目標 IP 地址轉換成計算機 NETBIOS 名稱的會話表。

  • -RR (釋放重新整理) 將名稱釋放包傳送到 WINS,然後啟動重新整理

  • RemoteName 遠端主機計算機名。

  • IP address 用點分隔的十進位制表示的 IP 地址。

  • interval 重新顯示選定的統計、每次顯示之間暫停的間隔秒數。

  • 按 Ctrl+C 停止重新顯示統計。

空會話

透過NetBIOS啟用的另一個功能和潛在缺陷是空會話。該功能可能令客戶端或連線的端點透過網路訪問確定型別的資訊。空會話並非什麼新事物,實際上它成為Windows作業系統的一部分已經有很長時間了,用於完全合法的途徑,但問題是他們也是潛在的濫用源頭。空會話可能洩露大量資訊
  • 在接入Windows系統而未提供憑據(使用者名稱和密碼)時,就會產生一個空會話。這種會話只能向一個被稱為程式間通訊(IPV)的特殊位置發起,該位置是一個用於管理的共享。在正常情況下,空會話設計用於在網路系統間建立連線,以實現系統之間的程式列舉和共享。可能在此過程中獲得的資訊包括:

    • 使用者和組列表
    • 計算機列表
    • 共享列表
    • 使用者和主機SID
空會話允許使用一個稱為NULL使用者的特殊賬戶訪問系統,該特殊賬戶可用於顯示與系統共享或使用者賬戶相關的資訊,而不需要使用使用者名稱和密碼。
利用空會話是一個簡單的任務,只需要寥寥幾條命令。例如,假設某計算機主機名是samus,這就意味著可以使用以下命令連線系統,其中主機名是目標系統的IP地址或名稱:
net use \\samus\ipc$ "/user:"
要檢視特定系統上可用的共享資源,在執行命令連線到目標系統上的$ipc共享之後執行以下命令
net view \\samus
這將顯示系統上的共享列表。當然,如果系統中沒有其他共享資源可用,則不會顯示任何內容。
攻擊者獲取該共享列表後,下一步即可連線到某個共享並檢視其中存在的資料。使用如下的net use s: \samus(shared folder name)
現在應該可以瀏覽對映的S:驅動器,檢視共享資料夾的內容。
本作品採用《CC 協議》,轉載必須註明作者和本文連結
理想的光照不到現實的黑暗,明燈是黑夜中的奢侈品。如果你接受不了真實生活千瘡百孔的消極,那麼,請移步兒童區...

相關文章