iT邦幫忙

2024 iThome 鐵人賽

DAY 27
0
Security

腳本小子的滲透測試學習筆記系列 第 27

第27天:CEH第十三章入侵網頁伺服器(續)

  • 分享至 

  • xImage
  •  

Web Server Attack Methodology(Web 伺服器攻擊方法論)

Web 伺服器攻擊方法論描述了攻擊者為了成功攻擊 Web 伺服器而進行的步驟。以下是攻擊者通常採用的六個主要階段:

1. Information Gathering(資訊收集)

攻擊者在進行攻擊之前,會先收集與目標伺服器相關的所有資訊,這包括伺服器的 IP 位址、網域名稱、開放的埠、作業系統版本、已安裝的 Web 應用程式以及其他可用於後續攻擊的資訊。這個階段的主要目標是找出所有可用的資訊,以便在後續攻擊中加以利用。

2. Web Server Footprinting(Web 伺服器足跡分析)

這個階段中,攻擊者會進行 Web 伺服器的足跡分析,深入瞭解伺服器的結構和組態資訊。通常使用的工具包括 NmapNetcraft 等,用來掃描伺服器的服務、已知漏洞及其他技術細節。透過這些分析,攻擊者能夠更加精確地鎖定目標,並找出潛在的攻擊路徑。

3. Website Mirroring(網站鏡像複製)

攻擊者會利用 HTTrackwget 或其他網站複製工具來下載目標網站的所有頁面,建立一個離線的網站鏡像。這樣做的目的是分析網站內容與結構,並在離線環境中測試漏洞或模擬攻擊,避免直接攻擊目標伺服器而被偵測。

4. Vulnerability Scanning(漏洞掃描)

在漏洞掃描階段,攻擊者會使用 NessusOpenVASAcunetix 等自動化工具來掃描 Web 伺服器上潛在的安全漏洞。這些工具會嘗試辨識已知的弱點,包括過期的軟體版本、錯誤設定的服務、弱密碼或可被利用的後門程式等。掃描結果可以幫助攻擊者找出可以利用的漏洞來執行進一步攻擊。

5. Session Hijacking(會話劫持)

在攻擊者進入會話劫持階段時,會試圖奪取目標使用者與 Web 伺服器之間的有效 TCP 或 HTTP 會話。透過監聽或注入惡意封包,攻擊者能夠劫持合法使用者的會話,進而模擬使用者與伺服器進行互動,竊取敏感資訊或進一步控制伺服器。

6. Web Server Passwords Hacking(Web 伺服器密碼破解)

攻擊者在這個階段會針對 Web 伺服器進行密碼破解攻擊。常見的手法包括暴力破解(Brute Force)、字典攻擊(Dictionary Attack)及社交工程(Social Engineering)。攻擊者透過這些手段來取得伺服器管理員或其他使用者的密碼,以獲得系統的完全控制權。

攻擊工具(Hacking Tools)

在這些階段中,攻擊者會利用多種自動化與手動工具來達成目的。常見的工具包含但不限於:

  • Nmap:用於進行伺服器與網路的掃描,檢測開放埠和服務。
  • Netcraft:用來進行網站技術細節的探查。
  • HTTrackwget:用於網站鏡像下載。
  • NessusOpenVASAcunetix:用於漏洞掃描。
  • HydraJohn the Ripper:用於密碼破解。

資訊收集(Information Gathering)

資訊收集是攻擊者在進行 Web 伺服器攻擊之前,最重要的第一步。這個階段的目標是收集目標公司或組織的所有相關資訊,幫助攻擊者評估 Web 伺服器的安全性狀態。透過不同的工具和技術,攻擊者可以找出並理解伺服器的架構和潛在的弱點。

資訊收集過程

  1. 針對目標公司進行資訊收集(Collecting Information about the Targeted Company)
    • 攻擊者會蒐集目標公司的基本資訊,例如公司名稱、網域名稱、IP 位址、業務性質及其他公開資訊。
  2. 使用網際網路、新聞群組、公告板等途徑查找相關資訊
    • 攻擊者會利用公開來源的資訊(Open Source Intelligence, OSINT)來進行深入搜尋。這包括查詢目標公司的新聞報導、網頁文章、論壇討論等。
  3. 使用工具(如 who.is 和 Whois Lookup)查詢 WhoIs 資料庫
    • 攻擊者會透過這些工具查詢網域名稱、IP 位址及自律系統號碼(ASN)等資訊。這樣可以瞭解目標的網域註冊詳細資料、伺服器位置及管理員的聯絡資訊。

常用工具

  • who.is
    • who.is 是一個用於執行 WhoIs 查詢功能的工具。它提供網域查詢、WhoIs IP 查詢和 WhoIs 資料庫查詢等功能,幫助攻擊者蒐集有關網域註冊和可用性的相關資訊。
    • 工具連結: who.is

如何使用 who.is 進行查詢

  1. 訪問 who.is 網站。
  2. 在查詢欄位中輸入目標網域(例如:example.com)。
  3. 點擊搜尋按鈕,系統會顯示該網域的註冊人資訊、DNS 設定、註冊商資訊等詳細資料。

資訊收集的重要性

透過資訊收集,攻擊者可以針對目標建立一個完整的檔案,了解伺服器的軟硬體架構及潛在的漏洞,為後續的攻擊策略制定奠定基礎。這個階段越完整,攻擊的成功率就越高。因此,企業應定期檢查並限制公開的敏感資訊,同時加強對 WhoIs 資料的管理與隱私保護。

防禦策略

  1. 限制公開資訊的暴露範圍
    • 企業應該對 WhoIs 註冊資訊進行隱私保護,減少不必要的聯絡方式與地址的暴露。
  2. 使用隱私保護服務
    • 註冊網域時,可以考慮使用隱私保護服務來隱藏 WhoIs 註冊人的個人資訊,避免被攻擊者蒐集到。
  3. 監控公開來源的資訊
    • 定期監控公開的新聞、論壇及社群網站上的資訊,以便及早發現潛在的資安風險。

robots.txt 文件進行資訊收集(Information Gathering from robots.txt File)

robots.txt 是網站用來控制搜尋引擎爬蟲行為的文件,它告知搜尋引擎哪些目錄和檔案不應被索引。網站擁有者透過設定 robots.txt,可以規範搜尋引擎不應訪問的特定區域。然而,若該文件配置不當,可能會將機密資料或特定檔案公開,進而造成安全隱患。

robots.txt 文件的特性

  • robots.txt 文件包含了網站希望搜尋引擎不進行索引的檔案或目錄列表
  • 若該文件配置不當,可能會將根目錄結構內容管理系統(CMS)資訊暴露給攻擊者。
  • 攻擊者可透過 URL(網站網址/robots.txt)直接訪問 robots.txt 文件,從中發現可能包含敏感資訊的路徑或檔案。

攻擊者可能利用 robots.txt 文件進行以下操作:

  1. 獲取目標網站的根目錄結構資訊
    • 攻擊者可以簡單地輸入 網站網址/robots.txt 查詢該網站的 robots.txt 文件,查看網站禁止搜尋引擎訪問的路徑及檔案。
  2. 發現不應公開的敏感檔案
    • robots.txt 文件中列出某些目錄或檔案(如管理員登入頁面、系統設定檔、用戶帳號資料等),這些路徑可能透露了網站的結構及系統設定資訊。
  3. 利用 wget 工具下載 robots.txt 文件
    • 攻擊者可以使用 wget 這類下載工具將目標網站的 robots.txt 文件下載到本地進行分析,找出潛在的漏洞。

實際範例:

假設某網站的 robots.txt 文件包含以下內容:

User-agent: *
Disallow: /admin/
Disallow: /private/
Disallow: /backup/

這表示:

  • 該網站禁止搜尋引擎爬蟲進入 /admin//private//backup/ 這些目錄。但攻擊者可以透過直接訪問這些路徑來嘗試發現未被保護的頁面。
  • /backup/ 目錄中包含網站的備份檔案,攻擊者可能會下載這些檔案,進而取得網站的原始碼或資料庫備份,導致資訊洩露。

Web Server Footprinting/Banner Grabbing(網頁伺服器足跡蒐集/標頭抓取)

1. 網頁伺服器足跡蒐集與標頭抓取(Banner Grabbing)

  • 足跡蒐集(Footprinting) 是一種用於收集目標伺服器詳細資訊的技術,如帳戶細節、作業系統、伺服器版本、服務名稱和資料庫架構等系統層級的數據。
  • 標頭抓取(Banner Grabbing) 是透過查詢目標伺服器的回應頭資訊,來確認伺服器所執行的作業系統版本及服務版本,幫助攻擊者進行系統資訊收集。

以下是兩個常見的工具及其使用方式:

  1. Netcat

    • Netcat 是一種在網路連接中讀寫資料的工具,利用 TCP/IP 協定執行資料傳輸與偵測。

    • 執行命令:按下 Enter 後再輸入:重複按下 Enter 兩次,這樣可以取得伺服器的標頭資訊,並透過該資訊判別伺服器作業系統與 HTTP 版本。

      n -vv www.microsoft.com 80
      
      GET / HTTP/1.0
      
  2. Telnet

    • Telnet 是一個傳統的網路協定,用來與遠端伺服器建立互動式的文字介面連線。

    • 執行命令:按下 Enter 後再輸入:重複按下 Enter 兩次,可以取得伺服器回應標頭中的 Server 欄位資訊,幫助了解伺服器所使用的 HTTP 伺服器類型及版本。

      telnet www.moviescope.com 80
      
      
      GET / HTTP/1.0
      

2. 常見的網頁伺服器足跡蒐集工具(Web Server Footprinting Tools)

  • httprecon:可用於網頁伺服器標頭資訊的蒐集與分析,幫助了解伺服器配置。
  • ID Serve:用於確認目標伺服器的類型及版本資訊,幫助攻擊者或管理者了解伺服器狀態。
  • Netcraft:線上工具,用於查詢網站的伺服器資訊及歷史變更情況。
  • Uniscan:具備多功能性,支援足跡蒐集、漏洞掃描與伺服器資訊查詢。
  • Nmap:強大的開源網路掃描工具,用於網路探測及安全審核,能蒐集系統版本、服務版本及作業系統指紋等資訊。
  • Ghost Eye:網路安全工具,用於網頁伺服器與網路設備的足跡蒐集與分析。
  • Skipfish:開源工具,用於蒐集網站伺服器資訊,能快速執行網頁伺服器與應用程式安全測試。

使用 Nmap 列舉網頁伺服器資訊(Enumerating Web Server Information Using Nmap)

Nmap 是一個強大的網路探測及安全審查工具,可用來列舉網頁伺服器的詳細資訊。Nmap 提供了進階的指令與 Nmap Scripting Engine (NSE) 腳本,能協助攻擊者或管理者蒐集伺服器的服務版本、漏洞及登入憑證等資訊。

以下列出使用 Nmap 列舉目標網站資訊的範例命令:

  1. 列舉伺服器版本資訊

    nmap -sV -O -p target IP address
    
    • sV:啟用版本偵測,顯示開放端口的版本資訊。
    • O:啟用作業系統偵測。
    • p:指定掃描的端口號。
  2. 列舉 HTTP 協定與伺服器服務資訊

    nmap -sV --script http-enum target IP addres
    
    • -script http-enum:使用內建的 HTTP 列舉腳本來查詢 HTTP 服務的詳細資訊。
  3. 掃描特定端口並使用腳本檢測登入介面

    nmap target IP address -p 80 --script =http-frontpage-login
    
    • p 80:指定掃描 80 號端口(HTTP 標準端口)。
    • -script=http-frontpage-login:使用 http-frontpage-login 腳本來檢測 Web 前端的登入介面。
  4. 檢查伺服器上是否存在已知的密碼漏洞

    nmap --script http-passwd --script-args http-passwd.root=/ target IP address
    
    • -script http-passwd:使用內建的 http-passwd 腳本來列舉伺服器上可能存在的敏感密碼檔案。
    • -script-args:指定腳本參數,例如 http-passwd.root=/,表示從根目錄開始檢查可能的密碼檔案。

網站鏡像(Website Mirroring)

網站鏡像是一種創建網站的完整副本的技術,可以幫助攻擊者或滲透測試人員建立網站的結構資訊檔案。網站鏡像會將目標網站的目錄結構、檔案結構、外部連結等資訊進行下載及儲存,以便進行更深入的分析。

網站鏡像的作用:

  1. 目錄結構及檔案結構分析
    • 透過鏡像技術,建立網站的完整結構,便於瞭解網站的檔案放置位置及目錄配置,這些資訊有助於進行更精確的目標識別及漏洞分析。
  2. 搜尋 HTML 原始碼中的註解及其他資訊
    • 使用者可以檢查網站的 HTML 原始碼,以查找註解(Comments)或其他潛在的有用資訊(例如開發人員留下的備註、測試帳號等),加速網站信息收集活動。
  3. 使用工具進行網站鏡像
    • 可以使用以下工具來鏡像網站:
      • WebCopier Pro
      • HTTrack Web Site Copier
      • Website Ripper Copier
    這些工具能夠複製網站的所有檔案結構及網頁內容,以便後續離線分析。

使用網站鏡像的步驟:

  1. 安裝並啟動上述任一鏡像工具(如 WebCopier Pro)。
  2. 輸入目標網站的 URL。
  3. 設定下載的目標目錄及儲存選項。
  4. 開始鏡像過程,工具會逐一下載網站的所有資源並保存至本地。

風險與防禦:

網站鏡像會向目標伺服器發送大量請求,以提取所有可用的網站資源。這可能會導致伺服器負載過高,並引起伺服器端的日誌紀錄。管理者可以使用以下方法來防範網站被鏡像:

  • 禁止無法識別的 User-Agent 請求。
  • 設置 robots.txt 檔案來阻止搜尋引擎及其他自動化工具的訪問。
  • 啟用防火牆規則來阻擋來自於已知鏡像工具的 IP 地址。

查找 Web 伺服器的預設憑證(Finding Default Credentials of Web Server)

Web 伺服器的管理介面通常會被攻擊者鎖定,尤其是那些公開可訪問並且使用預設憑證的管理頁面。攻擊者可以利用這些憑證來取得管理員權限,進而控制伺服器及其上的資源。

為什麼會出現預設憑證問題?

  1. 管理介面設置為公開訪問
    • 很多 Web 伺服器的管理介面會放在公開可訪問的網頁根目錄中(web root directory),這意味著任何人都可以通過瀏覽器訪問這些頁面。
  2. 未更改預設憑證
    • 一些管理員可能沒有意識到更改預設憑證的重要性,因此這些憑證仍然保持原廠設定。這樣一來,攻擊者只需嘗試常見的用戶名與密碼組合(如 admin/admin),便有可能成功登入。

攻擊者如何查找預設憑證?

攻擊者可以使用以下幾種技術來查找並嘗試預設憑證:

  1. 查閱管理介面的文件與文檔
    • 攻擊者會查看伺服器相關文件來確定介面是否有預設的登入憑證(例如:常見的 admin/admin、root/root 等)。
  2. 利用 Metasploit 中的內建資料庫
    • Metasploit 是一款強大的滲透測試工具,它內建了許多預設憑證的資料庫,攻擊者可以使用它來掃描伺服器並嘗試各種預設的登入憑證。
  3. 使用線上資源
    • 攻擊者可以訪問以下線上資源來查找常見的預設憑證:
  4. 猜測密碼及暴力破解
    • 如果攻擊者無法直接找到預設憑證,他們可能會使用密碼猜測(password guessing)或暴力破解(brute-forcing)的方式來進行登入嘗試。

查找 Web 伺服器的預設內容(Finding Default Content of Web Server)

簡介

大多數 Web 應用程式伺服器都包含預設的內容和功能,這些預設的內容可能成為攻擊者利用的目標。例如,管理員調試和測試功能、樣本功能、公開訪問的強大功能以及伺服器的安裝手冊,這些預設內容如果沒有適當保護,可能會讓攻擊者發現並利用來發動攻擊。

預設內容與功能的風險

  1. 管理員調試和測試功能(Administrator debug and test functionality)
    • 這些功能通常僅在開發或測試階段使用,但若未移除或限制訪問權限,它們可能暴露重要的系統資訊,如錯誤日誌、調試介面等,攻擊者可利用這些資訊來發現伺服器中的潛在漏洞。
  2. 樣本功能(Sample functionality)
    • 某些 Web 應用伺服器會包含預設的樣本程式或範例應用程式,以演示某些功能。這些樣本應用可能包含安全性不佳的程式碼或設定,攻擊者可以利用這些樣本來探索伺服器的弱點。
  3. 公開訪問的強大功能(Publicly accessible powerful functions)
    • 某些 Web 伺服器提供了特定的強大功能(如資料庫查詢、指令執行),這些功能如果沒有被適當保護,可能被攻擊者利用來進行入侵或執行惡意操作。
  4. 伺服器安裝手冊(Server installation manuals)
    • 有些伺服器會保留安裝手冊或配置文件,它們可能記載了預設憑證、資料庫結構、配置細節等敏感資訊,攻擊者可以利用這些資訊來進行針對性的攻擊。

查找預設內容的工具與技術

攻擊者通常使用自動化掃描工具來查找 Web 伺服器上的預設內容和功能。例如:

  • Nikto
    • Nikto 是一款開源的 Web 伺服器掃描工具,它可以識別出伺服器上的預設內容、潛在漏洞以及不安全的配置。攻擊者可以使用 Nikto 掃描目標伺服器,並分析結果來確定伺服器中的預設內容。
  • 利用線上工具
    • 攻擊者可以使用線上的資源(例如 cirt.net)來查找伺服器上可能存在的預設內容,並進行驗證與分析。

查找 Web 伺服器的目錄列表(Finding Directory Listings of Web Server)

簡介

在 Web 伺服器中,目錄列表是指伺服器返回的包含該目錄下所有檔案與資料夾名稱的網頁內容。當 Web 伺服器收到對某個目錄的請求時,可能會以下列方式之一來回應請求:

  1. 返回目錄中的預設資源(Default resource within the directory)
    • 伺服器返回預設的頁面資源,例如 index.htmlindex.php 等。
  2. 返回錯誤(Returns error)
    • 伺服器可能因為安全性配置而拒絕返回目錄列表,並顯示 403 Forbidden 或其他錯誤訊息。
  3. 返回目錄列表(Listing of directory content)
    • 伺服器直接顯示目錄列表內容,列出所有檔案和資料夾的名稱。

當伺服器未正確配置時,目錄列表可能會暴露伺服器的結構、文件名稱和敏感文件,讓攻擊者利用這些資訊來進行進一步的攻擊。

目錄列表的常見弱點

目錄列表有時會包含以下弱點,使攻擊者能夠更容易地入侵 Web 伺服器:

  1. 不當的存取控制(Improper access controls)
    • 如果目錄未正確設置存取權限,攻擊者可能會訪問到原本不應公開的文件和資料夾,並獲得敏感資料。
  2. 無意中訪問伺服器的 Web 根目錄(Unintentional access to the web root of servers)
    • 如果伺服器根目錄未正確配置,攻擊者可以透過目錄列表來查看伺服器中的所有目錄結構,並尋找可能存在的漏洞。

利用目錄列表來進行攻擊

  1. 發現伺服器上的目錄
    • 攻擊者可以透過請求伺服器中的目錄來嘗試存取目錄列表。例如,請求 http://example.com/files/,如果伺服器未正確配置,可能會直接返回該目錄下的所有文件名稱列表。
  2. 使用工具進行目錄爆破與分析
    • 工具如 Dirhunt 可以自動化地發送請求來爆破目錄,並嘗試分析伺服器中目錄的列表與內容。這樣可以幫助攻擊者發現目錄中的漏洞,並進行進一步的攻擊。
  3. 利用目錄列表中的漏洞
    • 當攻擊者發現一個不當配置的目錄列表時,可以進一步發送請求來嘗試存取這些目錄中的文件,甚至嘗試上傳或修改文件。

弱點掃描(Vulnerability Scanning)

什麼是弱點掃描?

弱點掃描是指透過自動化工具來識別網路中可能存在的弱點,並確定系統是否容易受到攻擊者的利用。這種方法旨在幫助安全專家找出網路、伺服器和應用程式中的漏洞,並進行修補以降低風險。

為什麼要進行弱點掃描?

  1. 識別網路中的弱點(Identify weaknesses)
    • 通過弱點掃描可以找出系統、服務、應用程式和網路設備中存在的潛在弱點,從而及時修復,防止攻擊者利用這些弱點發起攻擊。
  2. 確定系統的可利用性(Determine if the system can be exploited)
    • 弱點掃描幫助管理員判斷系統中哪些弱點可能被攻擊者利用,從而評估系統的安全性和修補優先級。

如何執行弱點掃描?

  1. 使用弱點掃描工具(Use vulnerability scanners)
    • 使用專業的弱點掃描工具來識別主機、服務和潛在的弱點。例如:
      • Acunetix Web Vulnerability Scanner:用於識別 Web 伺服器和 Web 應用程式中的弱點。
      • Fortify WebInspect:專為 Web 應用程式設計的弱點掃描工具,能夠掃描各種已知和未知的應用程式漏洞。
  2. 分析網路流量(Sniff network traffic)
    • 監聽和分析網路流量,以識別當前存在的活動系統、網路服務、應用程式和漏洞。這樣可以幫助安全專家理解網路環境中的通信模式,並找出異常流量和潛在的弱點。
  3. 測試 Web 伺服器基礎結構(Test web server infrastructure)
    • 測試 Web 伺服器的配置、內容和潛在的弱點。使用如 Acunetix Web Vulnerability Scanner 這樣的工具,可以掃描 Web 伺服器基礎結構中的錯誤配置、過時內容以及其他易受攻擊的點。

弱點掃描過程中涉及的主要步驟

  1. 配置掃描範圍和目標
    • 在掃描之前,首先需要設定掃描範圍和目標主機,例如指定 IP 位址範圍或特定的應用程式 URL。
  2. 選擇適當的掃描工具和策略
    • 根據目標選擇合適的掃描工具和掃描策略。例如,可以選擇只檢查已知弱點,或者進行更深入的測試(例如滲透測試)。
  3. 執行掃描
    • 開始執行掃描工具,等待其分析網路環境和設備,生成潛在的弱點報告。
  4. 分析掃描結果
    • 分析掃描工具提供的結果,識別並理解系統中存在的漏洞,包括其嚴重性、可利用性以及可能帶來的風險。
  5. 採取修補措施
    • 根據掃描結果,制定修補措施,包括升級系統、修補漏洞、重新配置服務等,以降低被攻擊的風險。

使用 Acunetix 進行弱點掃描的例子

Acunetix 是一款專業的 Web 弱點掃描工具,以下是使用 Acunetix 進行掃描的過程:

  1. 設定掃描目標,例如:https://example.com
  2. 啟動掃描,工具會自動識別該 Web 伺服器上的各種服務、應用程式以及弱點。
  3. 掃描完成後,Acunetix 會生成詳細的報告,列出所有檢測到的漏洞,包括其描述、嚴重性以及修復建議。

Web Server Password Hacking(Web 伺服器密碼破解)

1. 密碼破解技術(Password Cracking Techniques)

在進行 Web 伺服器攻擊時,攻擊者會使用多種密碼破解技術來試圖獲取伺服器的登入密碼,以下是常見的破解技術:

  • Brute Force Attack(暴力破解攻擊)
    • 暴力破解攻擊是透過逐一嘗試所有可能的字元組合來猜測密碼,直到成功找到正確的密碼。這種方式耗時較長,通常適用於短密碼或計算能力強大的環境中。
  • Dictionary Attack(字典攻擊)
    • 字典攻擊是一種使用預先定義好的常用密碼清單(即字典)進行嘗試的技術。攻擊者會使用這個清單中的每個詞彙來嘗試破解目標密碼。這種方式在面對使用弱密碼或常見密碼的情況下非常有效。
  • Password Guessing(密碼猜測)
    • 密碼猜測是基於目標使用者的背景資訊進行的密碼嘗試,例如出生日期、寵物名字、親友名字等。這種方法依賴於社會工程學技術來猜測使用者可能使用的密碼。

2. 常用的密碼破解工具(Password Cracking Tools)

  • Hashcat
    • Hashcat 是一種開源的密碼恢復工具,可以用來破解多種類型的密碼雜湊。它支持多種密碼破解技術(如暴力攻擊、字典攻擊),並且支援多種密碼加密演算法。
  • THC Hydra
    • THC Hydra 是一款快速且靈活的網路登錄破解工具,可以用來進行暴力破解和字典攻擊。它支援多種網路協議(如 HTTP、FTP、SSH)和網路服務,能夠自動進行批量密碼破解測試。
  • Ncrack
    • Ncrack 是專門用來測試網路協議和服務(如 RDP、SSH、FTP、HTTP、POP3、SIP)密碼強度的工具。它支援高效能的平行連線技術,可以快速檢測目標服務的登入憑證。

3. 工具使用範例

以下是使用這些工具進行 Web 伺服器密碼破解的範例:

  1. 使用 Hashcat 進行暴力破解攻擊

    hashcat -a 3 -m 0 hashes.txt ?d?d?d?d
    
    • 這個指令使用 Hashcat 的模式 a 3 來執行暴力攻擊,嘗試所有可能的四位數組合(?d 表示數字)。
  2. 使用 THC Hydra 對 SSH 進行字典攻擊

    hydra -l admin -P passwords.txt ssh://192.168.1.10
    
    • 這個指令使用 THC Hydra 對 IP 位址 192.168.1.10 上的 SSH 服務執行字典攻擊,l admin 表示使用者名稱,P passwords.txt 表示使用 passwords.txt 檔案中的密碼進行測試。
  3. 使用 Ncrack 對 FTP 服務進行密碼測試

    ncrack -p ftp -U users.txt -P passwords.txt 192.168.1.20
    
    • 這個指令使用 Ncrack 工具對目標 IP 位址 192.168.1.20 上的 FTP 服務進行密碼破解測試,U users.txt 表示使用者名稱檔案,P passwords.txt 表示密碼檔案。

Using Application Server as a Proxy(將應用伺服器作為代理)

說明

攻擊者可以利用啟用了**轉發(forwarding)反向 HTTP 代理功能(reverse HTTP proxy functions)**的 Web 伺服器,將其用作攻擊的中介代理。這種情況下,攻擊者可以通過這些伺服器發起下列行為:

  1. 攻擊互聯網上的第三方系統(Attacking third party systems on the Internet)
    • 攻擊者可以使用 Web 伺服器作為跳板來攻擊其他目標系統,隱藏其真正的 IP 位址和身份,從而增加追蹤攻擊源頭的難度。
  2. 連接至組織內部網路中的任意主機(Connecting to arbitrary hosts on the organization’s internal network)
    • 攻擊者利用 Web 伺服器的轉發和反向代理功能,可以在不被偵測的情況下連接到組織內部網路的主機,進行資料攔截或發起更多攻擊。
  3. 連接回代理伺服器上運行的其他服務(Connecting back to other services running on the proxy host itself)
    • 代理伺服器可能同時提供多種網路服務,攻擊者可以利用其連接至代理主機上的其他服務來進行攻擊。

攻擊者的攻擊手法

  • GET 和 CONNECT 請求(GET and CONNECT requests)
    • 攻擊者可以使用 GETCONNECT 請求來連接到目標系統。這些請求會通過代理 Web 伺服器傳送,伺服器會將請求轉發到最終目標系統。
    • 攻擊者利用這種方式將 Web 伺服器變成一個代理,從而可以從目標系統中連接和獲取資訊。

Web Server Attack Tools: Metasploit(Web 伺服器攻擊工具:Metasploit)

說明

Metasploit Framework 是一個專門用於開發和運行各種漏洞利用程序(exploit)的平台,它能夠完全自動化地對 Web 伺服器進行攻擊,並利用已知的漏洞來進行入侵。攻擊者可以通過 Telnet、SSH、HTTP 和 SNMP 等協定,利用 Metasploit 平台中的弱密碼和已知漏洞來達到攻擊目的。

Metasploit 的架構(Architecture)

  1. Libraries(函式庫)
    • Rex:用於各種協議和功能模塊的底層函式庫,能夠支援多種協議(如 HTTP、FTP、SMTP 等),並提供基本的 I/O 操作。
    • Framework-Core:Metasploit 的核心部分,負責管理所有模塊、資源和攻擊流程。
    • Framework-Base:該框架的基礎功能,用於進行攻擊前的各種設置和配置。
  2. Interfaces(使用者介面)
    • msfconsole:最常用的命令列介面,支援多種操作和配置命令。
    • msfcli:使用指令行介面來運行和配置 Metasploit 中的模塊。
    • msfweb:早期版本提供的 Web 介面,目前已不再被廣泛使用。
    • msfapi:提供 API 接口,用於與其他工具進行整合和自動化操作。
    • msfws:Web Services API,允許將 Metasploit 作為 Web 服務來提供功能。
  3. Modules(模塊)
    • Exploits(漏洞利用):用於觸發目標系統的已知漏洞,從而達成系統入侵或破壞。
    • Payloads(載荷):在漏洞利用成功後,將惡意載荷傳送至目標系統執行,例如反向連線或植入木馬程式。
    • Encoders(編碼器):用於繞過目標系統的防毒軟體或入侵偵測系統(IDS),對惡意載荷進行編碼和混淆。
    • NOPS(No Operation):無操作指令,用於創建靜態緩衝區,防止載荷失敗。
    • Auxiliary(輔助模塊):提供掃描、嗅探、爆破等非漏洞利用的輔助功能。
  4. Custom plug-ins(自定義插件)
    • 用戶可以根據自己的需求來定義和整合更多的插件,以增強 Metasploit 的功能。
  5. Protocol Tools(協議工具)
    • 提供與不同協議的集成功能(如 SMB、SMTP 等),以支援不同種類的漏洞利用過程。
  6. Security Tools(安全工具)
    • 提供了各種安全測試和漏洞掃描的功能,這些工具可以進行目標識別、漏洞探測、弱點分析等操作。
  7. Web Services & Integration(Web 服務及整合)
    • Metasploit 支援通過 Web 服務來進行功能擴展和與其他工具進行整合。

Metasploit 的功能與特點

  • Metasploit 擁有龐大的漏洞資料庫,涵蓋了數千個漏洞利用模塊,能夠針對多種系統和應用進行測試。
  • 使用者可以快速建立起一個攻擊環境,並使用腳本進行自動化操作。
  • Metasploit 提供了大量輔助模塊,能夠進行端口掃描、服務識別、弱點爆破等操作。
  • 提供多種操作介面,支援命令列和 GUI 操作。

Metasploit 的常見用途

  1. 系統入侵(System Exploitation)
    • 使用漏洞利用模塊對目標系統進行入侵,取得控制權。
  2. 後滲透測試(Post-Exploitation)
    • 使用 Payload 模塊在攻擊成功後植入惡意程式,進行持續性滲透和偵測。
  3. 漏洞掃描(Vulnerability Scanning)
    • 使用輔助模塊來掃描目標系統的漏洞和弱點,收集更多的攻擊資訊。
  4. 密碼破解(Password Cracking)
    • 使用暴力破解或字典攻擊等技術來測試目標系統的密碼強度。

結論

Metasploit 是一個功能強大且用途廣泛的攻擊工具,能夠幫助使用者快速進行漏洞測試與攻擊操作。無論是滲透測試還是系統防護,了解 Metasploit 的使用都是非常重要的。然而,由於其強大的攻擊能力,應謹慎使用,並僅用於合法的滲透測試與安全研究。


修補程式與熱修補 (Patches and Hotfixes)

  1. Hotfixes:
    • 熱修補是一種針對特定客戶問題進行修復的更新,通常不會分發到客戶組織以外的地方。
    • 熱修補多用來快速修復緊急問題,以減少對系統或程式運行的影響。
  2. Patches:
    • 修補程式是一種小型軟體,專門用來修復問題,例如:安全漏洞、錯誤(Bugs),並且可以提升電腦程式或其支援資料的效能。
    • 修補程式通常由開發商釋出,用來定期更新軟體系統,保護系統不受已知漏洞的影響。
  3. 通知方式:
    • 用戶可能會透過電子郵件或開發商的官方網站接收修補程式的更新通知。
  4. 修補程式的作用:
    • 修補程式可被視為程式問題的修復作業,用來解決軟體開發過程中遺留下來的錯誤。
  5. 綜合熱修補與服務包:
    • 熱修補有時候會被打包成一組修補集合,稱為綜合熱修補(Combined Hotfix)或服務包(Service Pack),用來同時修復多個已知問題。

什麼是修補管理 (Patch Management)?

修補管理是一個確保系統安裝適當修補程式以修復已知漏洞的過程,主要目的是維護系統安全性和穩定性。

修補管理的自動化流程可分為以下幾個步驟:

  1. Detect(偵測)
    • 使用工具來偵測缺失的安全修補程式,找出系統或應用程式中還未安裝的修補更新。
  2. Assess(評估)
    • 評估問題及其相關的嚴重程度,藉由減輕可能影響決策的因素來決定修補優先順序。
    • 分析修補程式對系統運行可能產生的影響,避免因安裝修補程式而導致其他問題。
  3. Acquire(獲取)
    • 下載修補程式進行測試,以確保修補程式的穩定性和有效性。
  4. Test(測試)
    • 將修補程式先安裝到測試機器上,驗證更新對系統的影響,以確保不會對系統或應用程式產生負面影響。
  5. Deploy(部署)
    • 將測試通過的修補程式部署到實際環境中,確保所有電腦及伺服器安裝完成,並確認應用程式不受影響。
  6. Maintain(維護)
    • 訂閱安全漏洞相關的通知服務,當新漏洞被發現時及時接收更新通知,並針對性進行漏洞修補管理。

修補程式安裝過程

1. 識別適當的更新來源

  • 制定適合操作環境及業務目標的修補管理計劃 (Patch Management Plan)。
  • 在操作系統或軟體供應商的主頁找到合適的更新與修補程式。
  • 建議的修補追蹤方式是訂閱供應商網站的通知服務,以便主動獲取修補程式的相關資訊。

2. 修補程式的安裝 (Installation of a Patch)

修補程式可以透過以下兩種方式安裝:

  • 手動安裝 (Manual Installation)
    • 用戶從供應商網站下載修補程式並自行安裝。
  • 自動安裝 (Automatic Installation)
    • 使用自動更新功能 (Auto Update),讓應用程式自動安裝可用的更新。

3. 修補程式或升級的實施與驗證 (Implementation and Verification of a Security Patch or Upgrade)

  • 在安裝任何修補程式之前,務必驗證來源的可靠性。
  • 使用適當的修補管理程式來驗證檔案版本及校驗碼,以確保在部署安全修補程式前,沒有任何改動。
  • 修補管理工具必須能夠監控已安裝修補的系統
  • 修補管理團隊應定期檢查更新與修補程式,確保系統安全性。

修補管理工具 (Patch Management Tools)

  • GFI LanGuard:自動掃描網路並安裝與管理安全性和非安全性的修補程式。它可以有效地檢測網路漏洞,確保所有設備都安裝了最新的修補程式。
  • Symantec Client Management Suite:一個專業的客戶端管理套件,幫助企業集中管理並部署修補程式及更新,以確保網路安全性。
  • SolarWinds Patch Manager:這是一個強大的修補管理工具,幫助自動化和簡化修補管理過程,確保系統及應用程式修補到位。
  • Kaseya Patch Management:提供集中化的修補管理解決方案,允許企業輕鬆管理大型網路環境中的修補程式更新。
  • Software Vulnerability Manager:它的主要功能是識別軟體中的漏洞,並幫助快速安裝適當的修補程式,以減少攻擊風險。
  • Ivanti Patch for Endpoint Manager:提供針對端點設備的修補管理服務,確保所有終端設備都具備最新的修補程式,防範潛在的安全威脅。

上一篇
第26天:CEH第十三章入侵網頁伺服器
下一篇
第28天:CEH第十四章入侵Web應用程式
系列文
腳本小子的滲透測試學習筆記30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言