580 likes | 1.02k Views
滲透測試簡介 Introduction of Penetration Test. 鈺松國際 王皇又 hank@iss.com.tw. 大綱. 滲透測試簡介 滲透測試流程 實例討論. 滲透測試簡介. 何謂滲透測試 進行滲透測試的目的 滲透測試的分類. 何謂滲透測試. 滲透測試是由一群具有豐富的「網路及系統安全」相關知識與經驗的團對負責。 在測試過程中,滲透測試團隊的成員,以入侵者的思維方式,並以掃描工具、攻擊程式及技術等輔助,對目標進行檢測。 測試過程,就如同網路入侵事件的實際演練。. 進行滲透測試的目的. 了解入侵者可能利用的途徑
E N D
滲透測試簡介Introduction of Penetration Test 鈺松國際 王皇又 hank@iss.com.tw
大綱 • 滲透測試簡介 • 滲透測試流程 • 實例討論
滲透測試簡介 • 何謂滲透測試 • 進行滲透測試的目的 • 滲透測試的分類
何謂滲透測試 • 滲透測試是由一群具有豐富的「網路及系統安全」相關知識與經驗的團對負責。 • 在測試過程中,滲透測試團隊的成員,以入侵者的思維方式,並以掃描工具、攻擊程式及技術等輔助,對目標進行檢測。 • 測試過程,就如同網路入侵事件的實際演練。
進行滲透測試的目的 • 了解入侵者可能利用的途徑 • 了解系統及網路的安全強度
入侵者可能利用的途徑 • 入侵者可能利用的途徑,可能是個別的問題,也可能是數個問題結合而成 • 資訊不當揭露或竄改 • 網路架構之設計問題 • 防火牆之設定問題 • 系統及應用程式漏洞 • 系統及應用程式設定問題
系統及網路的安全強度 • 評估具同等能力的入侵者大約可以在多久的時間入侵成功 • 評估遭到入侵可能的影響 • 強化系統及網路的安全 • 減低遭到入侵後的損失
滲透測試的分類 • 網路滲透測試(Network Penetration Test) • 應用程式滲透測試(Application Penetration Test)
網路滲透測試 • 網路滲透測試目標為網路上的主機或其他網路設備,對主機(或網路設備)及所提供的服務進行檢測 • 針對目前已知問題進行資訊搜集,透過分析及綜合搜集的資料,研判可能入途徑
網路滲透測試 • 網路滲透測試與弱點稽核(vulnerability assessment)的差異 • 滲透測試針對的是可能的入侵途徑,弱點稽核則是著重在個別的問題 • 滲透測試透過資訊的分析,可以發現由數個(中、低風險)問題組合而成的入侵途徑;弱點稽核則是個別問題的列表 • 滲透測試會實際驗證入侵途徑,以提供遭到入侵的可能影響;弱點稽核則是提出系統可能的漏洞,但未實際驗證問題。
應用程式滲透測試 • 應用程式滲透測試目標為自行或外包開發的應用程式(如asp、CGI程式) • 分析應用程式可能的問題,並針對問題進行滲透的動作
應用程式滲透測試 • 應用程式滲透測試與網路滲透測試的差異 • 應用程式滲透測試是針對自行或外包開發的應用程式,因此沒有所謂的知已知問題;網路滲透測試是針對已知的問題進行檢測。 • 應用程式滲透測試沒有特定的工具,通常必須自行撰寫;網路滲透測試有一些共同的工具,用以搜集資訊及滲透。
滲透測試流程 • 滲透測試的流程 • 資訊搜集 • 資訊分析 • 目標滲透 • 網路滲透測試與應用程式滲透測試的各部驟著重的問題不同。
網路滲透測試流程 • 資訊搜集:主要在了解目標網段的網路架構,及網段上主機的相關資訊 • 目標網段存在的主機(ping sweep) • 各主機的作業系統(OS fingerprinting) • 各主機提供的服務(port scan, banner grabbing) • 各主機的使用者帳號及密碼 • 遠端弱點掃描(vulnerability scan)
網路滲透測試流程 • 資訊搜集 • 使用工具 • ISS Internet scanner: vulnerability scan • nmap: Ping sweep, OS fingerprinting, port scan • whisker: CGI scanner • 其他自行開發工具: banner grabbing etc..
網路滲透測試流程 • 資訊分析 • 研判可能滲透途徑 • 滲透團隊人力規劃 • 滲透方式規劃
網路滲透測試流程 • 目標滲透:主要是針對系統或應用程式的問題,組合而成的滲透途徑進行滲透。 • Information disclosure(如web server indexing enable、mail server expn enable、IIS/4.0 showcode.asp) • Buffer overflow/format string • Bypass authentication(如IIS/4.0 5.0 unicode) • Password brute force • ….
應用程式滲透測試流程 • 資訊搜集 • 可輸入的參數,如web應用程式中傳給CGI的參數 • 參數的意義,如使用者ID、密碼、E-mail等
應用程式滲透測試流程 • 資訊分析 • 研判可能問題 • 滲透團隊人力規劃 • 滲透方式規劃
應用程式滲透測試流程 • 目標滲透 • 資訊洩露(information disclosure),如錯誤訊息提供的資訊 • 參數輸入值問題,如input validation、SQL injection、buffer overflow、及format string等 • 參數組合問題
實例介紹(I) • 受測單位背景 • 政府機關 • 電子公文系統線上使用 • 電子公佈欄 • 受測單位安全情況 • 從未遭受入侵過 • 防火牆設定良好 • 做過完整的掃描稽核測試
實例討論-I Starting nmap V. 2.54BETA29 ( www.insecure.org/nmap/ ) Interesting ports on somewhere.tw (xx.xxx.xxx.xxx): (The 5991 ports scanned but not shown below are in state: filtered) Port State Service 25/tcp open smtp 53/tcp open domain 80/tcp open http 110/tcp open pop-3 443/tcp closed https 1588/tcp closed unknown 2649/tcp closed unknown 3838/tcp open unknown 6083/tcp open unknown 6084/tcp open unknown 6085/tcp open unknown 8001/tcp open unknown 8010/tcp open unknown 8025/tcp open unknown 8050/tcp open unknown 8051/tcp closed unknown 8889/tcp open unknown 8899/tcp open unknown Nmap run completed -- 1 IP address (1 host up) scanned in 459 seconds
實例討論-I • InterScan Version 3.6-Build_1166 • POP3 isc01 v7.64 • Netscape-Enterprise/3.6 SP2 • CERN/3.0 • Apache/1.3.12 (Unix) • Netscape-Enterprise/3.5.1 • Oracle_Web_Listener/4.0.8.1.0EnterpriseEdition
實例討論-I while ($#passlist >= $[) { $pass=shift @passlist; print SOCK "USER $user\n"; print "USER $user\n"; $ans=<SOCK>; print $ans; print SOCK "PASS $pass\n"; print "PASS $pass\n"; $ans=<SOCK>; print $ans; $found=1, last if ($ans =~ /^\+OK/); }
實例討論-I <html> <head> <title>交換管理系統</title> <meta http-equiv="Content-Type" content="text/html; charset=big5"> <script language="JavaScript" src="/wape/comm/js/util/utils.js"></script> <script language="JavaScript" src="/wape/comm/js/ScrollText.js"></script> <script> var bbsOnly=true; var m_count = 27072; var numlength=8; function checkKeyInData()
實例介紹(II) • 受測單位背景 • 高科技產業 • 內部網路資訊 • 受測單位安全情況 • 未知是否遭到入侵 • 防火牆設定良好 • 未做過掃描稽核測試 • 有相當自信沒有安全問題
實例討論-III • 受測單位背景 • 金融單位 • 內部網路資訊 • 受測單位安全情況 • 未遭到入侵 • 防火牆設定良好 • 過掃描稽核測試