靈感範文站

位置:首頁 > 實用文 > 實用文精選

滲透測試操作手冊

滲透測試操作手冊

滲透測試操作手冊

滲透測試是測試人員結合各種安全測試技術,模擬真實的黑客,對評測目標進行入侵攻擊,最大程度的挖掘業務系統潛在的安全威脅(包括系統存在的漏洞、脆弱點、網站的不安全因素等)。滲透測試可用用了評估評測目標是否存在可以被黑客利用的漏洞,以及該漏洞引起的風險大小,讓企業先於攻擊者發現存在的問題,爲用戶制定完善的安全措施與應對方案提供科學有效的依據。

完整的滲透測試包含以下幾個過程:

1. 確定目標

2. 信息收集

3. 主機測試

4. Web測試

5. 數據庫測試

6. 業務安全測試

7. 信息收集整理

8. 形成報告

1. 確定目標

第一、確定測試目標的範圍,ip,域名,內外網。

第二、確定能滲透到什麼程度、什麼時間測試、能否進行修改上傳操作、能否進行權限提升操作等。

第三、明確滲透需求,是針對web應用的漏洞(新上線程序)?還是針對業務邏輯漏洞(針對業務的)?還是針對人員權限管理漏洞(針對人員、權限)等等。

2.信息收集

信息收集是安全測試工作的基礎,信息收集是否完善、準確,直接影響到測試效率及測試結果準確性。

信息收集包括客戶提供的基礎信息、主動信息收集和被動信息收集。

2.1客戶提供信息

安全測試工作開展前,需要客戶提供基礎的測試信息,包括以下內容:

1.內外網IP

2.內外網URL

3.測試賬號(高低權)

4....

2.2被動信息收集

被動信息蒐集,指通過客戶提供的基礎信息,如域名、IP等,通過各種渠道獲取開源情報(OSINT)。

常用的開源情報獲取工具有Recon-NG、Discover、SpiderFoot等。

2.3主動信息收集

主動信息收集主要是通過掃描確認目標安裝的操作系統、網絡服務、軟件版本等,並發現潛在的漏洞。安全測試過程中,需要選擇正確的掃描工具,從內部及外部網絡對指定的網絡進行掃描。

2.4被動信息蒐集工具

•DataSploit

•Recon-NG

•Discover

•SpiderFoot

•003Recon

2.5主動信息蒐集工具

2.5.1端口掃描

•Nmap(Nmap掃描結果可以輸出XML文件,使用Python腳本提取需要的信息生成Excel文件,便於查看)

•Masscan

•Sparta

2.5.2HTTP截圖

•EyeWitness

3. 主機測試

3.1主機漏洞掃描:

主要是進行主機漏洞掃描,服務器漏洞掃描;主要使用綠盟極光漏掃,可使用Nessus、Openvas等輔助檢查。漏掃掃描時掃描端口設置爲0-65535,快速全面的發現各類主機服務問題。

工具:綠盟極光漏掃、Nessus等。

3.2系統服務攻擊測試:

主要測試爲SSH、SMB、RDP、SNMP、FTP。下面將對其分別進行介紹:

3.2.1 SSH主要測試:

弱口令暴力破解:檢查是否存在易破解的弱賬號弱密碼。工具:nmap、hydra、medusa等

使用弱加密算法:較低版本的SSH,可能存在使用弱加密算法的問題。工具:nmap --script ssh2-enum-algos、nmap --script ssh-auth-methods

3.2.2 SMB主要測試:

弱口令暴力破解:檢查是否存在易破解的弱賬號弱密碼。工具:nmap、hydra等例:nmap -p 445 --script smb-brute

SMB漏洞利用:其分析要點是驗證是否存在smb漏洞,如ms08-067、ms17-010可直接獲取Windows shell。工具:msf、nmap script 例:nmap --script smb-vuln-ms17-010 -p 445

3.2.3 RDP主要測試:

弱口令暴力破解:檢查是否存在易破解的弱賬號弱密碼。工具:hydra、medusa

RDP漏洞:MS12-020漏洞利用成功後會導致服務器藍屏,生產環境嚴禁利用該漏洞。所用工具:msf、nmap script

3.2.4 SNMP主要測試:

默認字符串掃描。工具:hydra、nmap script

3.2.5 FTP主要測試:

弱口令暴力破解:檢查是否存在易破解的弱賬號弱密碼。工具:hydra、nmap script

匿名訪問:所使用工具爲hydra、nmap script

FTP跨目錄訪問:服務端配置不當,可能導致FTP訪問系統所有文件

4. Web測試

4.1 Web漏洞掃描:

使用Web掃描工具對Web站點進行掃描,用於快速發現站點已知漏洞,獲取基礎信息用於人工滲透測試。工具:Awvs、Sparker、Appscan等

4.2 Web平臺攻擊測試:

主要測試HTTP方法、版本信息泄露、框架漏洞、反序列化、DOS攻擊、管理後臺弱口令。下面將對其分別介紹:

HTTP方法:測試是否使用不安全的HTTP方法。一般情況下,只允許開發GET/POST/HEAD三類基本方法。工具:Burpsuite/ZAP

版本信息泄露:測試HTTP返回數據或報錯信息是否泄露Web服務軟件版本信息。工具:Burpsuite/ZAP

框架漏洞:測試Web框架存在的漏洞,如Struts2框架存在大量遠程命令執行漏洞。工具:K8shack2等Struts 2利用工具、Struts 2批量檢測腳本

反序列化:Weblogic、Jboss、Websphere等使用Java技術的Web容器,低版本中存在反序列化漏洞。工具:Weblogic反序列化、Jboss反序列測試工具等、Burpsuite插件

DOS攻擊:測試服務端是否存在DOS攻擊風險。Apache httpd默認配置是否存在slowhttpdos攻擊漏洞。工具:slowhttpdos

管理後臺弱口令:測試Web管理後臺是否存在弱口令或默認口令。管理後臺弱口令,可導致攻擊者直接上傳webshell,獲取服務器控制權限。工具:Burpsuite/ZAP、Weblogic管理密碼破解腳本等。

4.3 Web認證測試:

主要測試賬號及口令猜解、數據提交方式、認證繞過、令牌重放、驗證碼安全、Cookie安全。下面將對其詳細介紹:

賬號及口令猜解:測試是否對設置登陸錯誤次數閾值。工具:Burpsuite/ZAP

數據提交方式:測試數據提交方法及內容是否安全。登陸信息應加密提交;重要信息使用POST方法提交。工具:Burpsuite/ZAP

認證繞過:測試是否可以不需要密碼登陸系統。在登錄表單中輸入'or'='or'等語句實現SQL注入,包括:

a' or 'a' = 'a

1 or 2=2

……

關鍵是構造的字符串能否被直接帶入查詢語句。工具:Burpsuite/Firefox + Hackbar

令牌重放:測試令牌是否可重複使用。

1.通過瀏覽器訪問目標網站;

2.通過Firebug查看HTTP的POST和GET數據包,檢查有無Cookie和Session等信息;

3.使用Hackbar插件複製或修改Cookie、Session等字符串重新訪問授權頁面;

工具:Burpsuite/Firefox + Hackbar

驗證碼安全:包括測試短信驗證碼過期時間以及是否可枚舉(短信驗證碼位數短及有效期過長,存在暴力破解驗證碼的風險)、驗證碼重複使用、驗證碼客戶端回顯、驗證碼繞過(驗證碼未在服務器做校驗)、測試圖形驗證碼是否可識別(驗證碼過於簡單,可能被機器自動識別)。使用工具:Burpsuite/ZAP、PKAV Fuzzing(測試圖形驗證碼是否可識別所用工具)

Cookie安全:測試cookie是否測試httponly。添加httponly屬性,可防止cookie被Javascript讀取。工具;瀏覽器

4.4 Session安全:

主要測試連接超時限制和httponly。下面將對其進行詳細介紹:

連接超時限制:檢查是否設置連接超時。一般設置最大時長爲5分鐘。

Httponly:Cookie是否設置httponly。阻止JS操作Cookie,以防止XSS獲取cookie信息。工具:Burpsuite/ZAP

4.5 Web授權測試:

主要測試未授權訪問、水平越權和垂直越權。下面將對其進行詳細介紹:

未授權訪問:測試Web目錄是否可以未授權訪問。工具:Burpsuite/ZAP

水平越權:測試賬號是否可獲取同級別其它賬號功能權限。工具:Burpsuite/ZAP

垂直越權:測試是否存在低權賬號可使用高權賬號功能。工具:Burpsuite/ZAP

4.6 輸入輸出:

主要測試XSS、命令執行和SQLi。下面將對其進行詳細介紹:

XSS:測試是否存在XSS漏洞。工具:Burpsuite + 插件

命令執行:測試是否可執行系統命令。工具:Burpsuite/ZAP

SQLi:測試是否存在SQLi漏洞。工具:SQLmap、Burpsuite

4.7 文件上傳下載:

主要測試任意文件上傳和任意文件下載。下面將對其進行詳細介紹:

任意文件上傳:測試是否可以上傳Webshell腳本文件。文件上傳校驗不嚴格,可導致攻擊者上傳Webshell,獲取服務器權限。工具:Burpsuite/ZAP

任意文件下載:測試是否可下載系統文件。Web服務器配置不當,可能導致攻擊者下載任意系統文件。工具:Burpsuite/ZAP

4.8 目錄遍歷:

4.9 敏感數據泄露:

主要測試個人隱私信息泄露、服務器信息泄露、憑證泄露和備份文件泄露。下面將對其進行詳細介紹:

個人隱私信息泄露:測試HTTP返回頁面源碼是否泄露個人隱私信息。工具:Burpsuite/ZAP

服務器信息泄露:測試HTTP返回頁面源碼中是否泄露內網服務器信息。工具:Burpsuite、瀏覽器

憑證泄露:測試是否存在短信驗證碼、Token等泄露。如密碼找回的Token、驗證碼等信息返回的客戶端,可導致任意賬號密碼重置。工具:Burpsuite/ZAP

備份文件泄露:測試服務器是否泄露源碼備份文檔等敏感信息。通過備份文件可能泄露源碼、代碼中保存的IP/賬號等。工具:Brupsuite、敏感文件測試腳本。

5. 數據庫測試

5.1 Oracle:

主要測試口令破解、Oracle默認口令猜解、OracleSid破解和Oracle TNS安全檢查。下面將對其進行詳細介紹:

口令破解:檢測是否使用弱口令。需知道SID後破解用戶密碼。工具:Oracle Password Auditor

Oracle默認口令猜解:測試是否存在默認用戶名scott 默認密碼tiger。

OracleSid破解:使用工具猜解存在的SID。在Oracle中,SID是System IDentifier的縮寫。SID是一個數據庫的唯一標識符。當用戶希望遠程連接Oracle數據庫時,則需要知道SID、用戶名、密碼及服務器的IP地址。工具:SidGuess

Oracle TNS安全檢查:測試TNS安全、是否泄露數據庫版本等。根據版本的不同,TNS listener可能較易受到多種類型的緩衝區溢出攻擊,這些攻擊可以在不提供用戶ID和口令的情況下被利用。例如:在oracle 9i中,當客戶機請求某個過長的service_name時,很容易受到溢出攻擊。當listener爲日誌構建錯誤消息之後,service_name的值會被複制到某於棧結構的緩衝區內,從而引起溢出—覆蓋保存值將返回棧中的地址。這種做法可以使攻擊者獲得控制權。工具:tnscmd。

5.2 MySQL

主要測試爲密碼破解,檢測是否使用弱口令。工具:msf、nmap script

5.3 SQL Server

主要測試密碼破解和空口令用戶檢查。下面將對其進行詳細介紹:

密碼破解:檢測是否使用弱口令。工具:hydra

空口令用戶檢查:檢查使用使用空口令。工具:hydra

5.4 弱口令

主要測試弱口令檢測:檢測MySQL、MSSql、Postgresql、Oracle是否存在弱口令。腳本地址:。工具:DBScanner(Python腳本)

5.5 未授權訪問

主要測試未授權訪問,檢測Redis、Mongodb、Memcached是否存在未授權訪問。腳本地址:。工具:DBScanner(Python腳本)

6. 業務安全

6.1業務授權訪問模塊:

主要測試非授權訪問和越權訪問。下面將對其進行詳細介紹:

非授權訪問:測試是否可在未通過認證授權的情況下直接訪問需要認證訪問的頁面。工具:Burpsuite/ZAP

越權訪問:測試是否存在水平越權或垂直越權。工具:Burpsuite/ZAP

6.2 業務辦理安全:

主要測試訂單IP篡改測試、手機號碼篡改測試、用戶ID篡改測試、郵箱和用戶篡改測試、商品篡改測試、競爭條件測試、商品支付金額和商品訂購數量篡改測試。業務辦理安全問題將可能造成0元購物、使用他人賬號購物等各種問題。工具:Burpsuite/ZAP

6.3 密碼找回模塊測試:

主要測試驗證碼客戶端回顯、驗證碼暴力破解、接口參數賬號修改、Response狀態值修改、Session覆蓋測試、密碼找回流程繞過測試和弱Token設計缺陷測試。密碼找回模塊安全問題可造成重置任意用戶密碼。工具:Burpsuite/ZAP

6.4 業務接口調用測試:

主要測試接口調用重放測試、接口調用遍歷測試、接口調用參數篡改測試、接口未授權訪問、Callback自定義測試和WebService測試。工具:Burpsuite/ZAP。

7. 信息收集整理

整理滲透工具:整理滲透過程中用到的代碼,poc,exp等

整理收集信息:整理滲透過程中收集到的一切信息

整理漏洞信息:整理滲透過程中遇到的各種漏洞,各種脆弱位置信息

目的:爲了最後形成報告,形成測試結果使用

8. 形成報告

按需整理:按照之前第一步跟客戶確定好的範圍,需求來整理資料,並將資料形成報告

補充介紹:要對漏洞成因,驗證過程和帶來危害進行分析

修補建議:當然要對所有產生的問題提出合理高效安全的解決辦法