滲透測試簡介 - 台北區網中心Taipei Network

Download Report

Transcript 滲透測試簡介 - 台北區網中心Taipei Network

滲透測試簡介
Introduction of Penetration Test
鈺松國際
王皇又
[email protected]
大綱
 滲透測試簡介
 滲透測試流程
 實例討論
滲透測試簡介
 何謂滲透測試
 進行滲透測試的目的
 滲透測試的分類
何謂滲透測試
 滲透測試是由一群具有豐富的「網路及
系統安全」相關知識與經驗的團對負責。
 在測試過程中,滲透測試團隊的成員,
以入侵者的思維方式,並以掃描工具、
攻擊程式及技術等輔助,對目標進行檢
測。
 測試過程,就如同網路入侵事件的實際
演練。
進行滲透測試的目的
 了解入侵者可能利用的途徑
 了解系統及網路的安全強度
入侵者可能利用的途徑
 入侵者可能利用的途徑,可能是個別的
問題,也可能是數個問題結合而成
資訊不當揭露或竄改
網路架構之設計問題
防火牆之設定問題
系統及應用程式漏洞
系統及應用程式設定問題
系統及網路的安全強度
 評估具同等能力的入侵者大約可以在多
久的時間入侵成功
 評估遭到入侵可能的影響
 強化系統及網路的安全
 減低遭到入侵後的損失
滲透測試的分類
 網路滲透測試(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.0Enterpri
seEdition
實例討論-I
實例討論-I
實例討論-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
實例討論-I
實例討論-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()
實例討論-I
實例討論-I
實例討論-I
實例討論-I
實例介紹(II)
 受測單位背景
高科技產業
內部網路資訊
 受測單位安全情況
未知是否遭到入侵
防火牆設定良好
未做過掃描稽核測試
有相當自信沒有安全問題
實例討論-II
實例討論-II
實例討論-II
實例討論-II
實例討論-II
實例討論-II
實例討論-II
實例討論-II
實例討論-III
 受測單位背景
金融單位
內部網路資訊
 受測單位安全情況
未遭到入侵
防火牆設定良好
過掃描稽核測試
實例討論-III
實例討論-III
實例討論-III
實例討論-III
問題?!