當前位置:編程學習大全網 - 腳本源碼 - 如何對網站進行滲透測試和漏洞掃描

如何對網站進行滲透測試和漏洞掃描

零、前言

滲透測試在未得到被測試方授權之前依據某些地區法律規定是違法行為。 這裏我們提供的所有滲透測試方法均為(假設為)合法的評估服務,也就是通常所說的道德黑客行為(Ethical hacking),因此我們這裏的所有讀者應當都是Ethical Hackers,如果您還不是,那麽我希望您到過這裏後會成為他們中的壹員 ;)

這裏,我還想對大家說壹些話:滲透測試重在實踐,您需要壹顆永不言敗的心和壹個有著活躍思維的大腦。不是說您將這壹份文檔COPY到您網站上或者保存到本地電腦您就會了,即使您將它打印出來沾點辣椒醬吃了也不行,您壹定要根據文檔壹步壹步練習才行。而且測試重在用腦,千萬別拿上壹兩個本文中提到的工具壹陣亂搞,我敢保證:互聯網的安全不為因為這樣而更安全。祝您好運。。。

壹、簡介

什麽叫滲透測試?

滲透測試最簡單直接的解釋就是:完全站在攻擊者角度對目標系統進行的安全性測試過程。

進行滲透測試的目的?

了解當前系統的安全性、了解攻擊者可能利用的途徑。它能夠讓管理人員非常直觀的了解當前系統所面臨的問題。為什麽說叫直觀呢?就像Mitnick書裏面提到的那樣,安全管理(在這裏我們改壹下,改成安全評估工作)需要做到面面俱到才算成功,而壹位黑客(滲透測試)只要能通過壹點進入系統進行破壞,他就算是很成功的了。

滲透測試是否等同於風險評估?

不是,妳可以暫時理解成滲透測試屬於風險評估的壹部分。事實上,風險評估遠比滲透測試復雜的多,它除滲透測試外還要加上資產識別,風險分析,除此之外,也還包括了人工審查以及後期的優化部分(可選)。

已經進行了安全審查,還需要滲透測試嗎?

如果我對您說:嘿,中國的現有太空理論技術通過計算機演算已經能夠證明中國完全有能力實現宇航員太空漫步了,沒必要再發射神8了。您能接受嗎?

滲透測試是否就是黑盒測試?

否,很多技術人員對這個問題都存在這個錯誤的理解。滲透測試不只是要模擬外部黑客的入侵,同時,防止內部人員的有意識(無意識)攻擊也是很有必要的。這時,安全測試人員可以被告之包括代碼片段來內的有關於系統的壹些信息。這時,它就滿足灰盒甚至白盒測試。

滲透測試涉及哪些內容?

技術層面主要包括網絡設備,主機,數據庫,應用系統。另外可以考慮加入社會工程學(入侵的藝術/THE ART OF INTRUSION)。

滲透測試有哪些不足之處?

主要是投入高,風險高。而且必須是專業的Ethical Hackers才能相信輸出的最終結果。

妳說的那麽好,為什麽滲透測試工作在中國開展的不是很火熱呢?

我只能說:會的,壹定會的。滲透測試的關鍵在於沒法證明妳的測試結果就是完善的。用戶不知道花了錢證明了系統有問題以後,自己的安全等級到了壹個什麽程序。但是很顯然,用戶是相信壹個專業且經驗豐富的安全團隊的,這個在中國問題比較嚴重。在我接觸了壹些大型的安全公司進行的壹些滲透測試過程來看,測試人員的水平是對不住開的那些價格的,而且從測試過程到結果報表上來看也是不負責的。我估計在三年以後,這種情況會有所改觀,到時壹方面安全人員的技術力量有很大程度的改觀,另壹方面各企業對滲透測試會有壹個比較深刻的理解,也會將其做為壹種IT審計的方式加入到開發流程中去。滲透測試的專業化、商業化會越來越成熟。

二、制定實施方案

實施方案應當由測試方與客戶之間進行溝通協商。壹開始測試方提供壹份簡單的問卷調查了解客戶對測試的基本接收情況。內容包括但不限於如下:

目標系統介紹、重點保護對象及特性。

是否允許數據破壞?

是否允許阻斷業務正常運行?

測試之前是否應當知會相關部門接口人?

接入方式?外網和內網?

測試是發現問題就算成功,還是盡可能的發現多的問題?

滲透過程是否需要考慮社會工程?

。。。

在得到客戶反饋後,由測試方書寫實施方案初稿並提交給客戶,由客戶進行審核。在審核完成後,客戶應當對測試方進行書面委托授權。這裏,兩部分文檔分別應當包含如下內容:

實施方案部分:

...

書面委托授權部分:

...

三、具體操作過程

1、信息收集過程

網絡信息收集:

在這壹部還不會直接對被測目標進行掃描,應當先從網絡上搜索壹些相關信息,包括Google Hacking, Whois查詢, DNS等信息(如果考慮進行社會工程學的話,這裏還可以相應從郵件列表/新聞組中獲取目標系統中壹些邊緣信息如內部員工帳號組成,身份識別方式,郵件聯系地址等)。

1.使用whois查詢目標域名的DNS服務器

2.nslookup

>set type=all

><domain>

>server <ns server>

>set q=all

>ls -d <domain>

涉及的工具包括:Google,Demon,webhosting.info,Apollo,Athena,GHDB.XML,netcraft,seologs 除此之外,我想特別提醒壹下使用Googlebot/2.1繞過壹些文件的獲取限制。

Google hacking 中常用的壹些語法描述

1.搜索指定站點關鍵字site。妳可以搜索具體的站點如site:www.nosec.org。使用site:nosec.org可以搜索該域名下的所有子域名的頁面。甚至可以使用site:org.cn來搜索中國政府部門的網站。

2.搜索在URL網址中的關鍵字inurl。比如妳想搜索帶參數的站點,妳可以嘗試用inurl:asp?id=

3.搜索在網頁標題中的關鍵字intitle。如果妳想搜索壹些登陸後臺,妳可以嘗試使用intitle:"admin login"

目標系統信息收集:

通過上面壹步,我們應當可以簡單的描繪出目標系統的網絡結構,如公司網絡所在區域,子公司IP地址分布,VPN接入地址等。這裏特別要註意壹些比較偏門的HOST名稱地址,如壹些backup開頭或者temp開關的域名很可能就是壹臺備份服務器,其安全性很可能做的不夠。

從獲取的地址列表中進行系統判斷,了解其組織架構及操作系統使用情況。最常用的方法的是目標所有IP網段掃描。

端口/服務信息收集:

這壹部分已經可以開始直接的掃描操作,涉及的工具包括:nmap,thc-amap

1.我最常使用的參數

nmap -sS -p1-10000 -n -P0 -oX filename.xml --open -T5 <ip address>

應用信息收集: / 數據量全球第壹,如果本站無法破解,那麽妳只能去拜春哥...

當然,有些單機破解軟件還是必不可少的:Ophcrack,rainbowcrack(國人開發,贊壹個),cain,L0phtCrack(破解Windows密碼),John the Ripper(破解UNIX/LINUX)密碼,當然,還少不了壹個FindPass...

針對網絡設備的壹些默認帳號,妳可以查詢/和http://www.phenoelit-us.org/dpl/dpl.html

在滲透測試過程中,壹旦有機會接觸壹些OFFICE文檔,且被加了密的話,那麽,rixler是您馬上要去的地方,他們提供的OFFICE密碼套件能在瞬間打開OFFICE文檔(2007中我沒有試過,大家有機會測試的話請給我發壹份測試結果說明,謝謝)。看來微軟有理由來個補丁什麽的了。對於企業來說,您可以考慮使用鐵卷或者RMS了。

6、日誌清除

It is not necessary actually.

7、進壹步滲透

攻入了DMZ區壹般情況下我們也不會獲取多少用價值的信息。為了進壹步鞏固戰果,我們需要進行進壹步的內網滲透。到這壹步就真的算是無所不用其及。最常用且最有效的方式就是Sniff抓包(可以加上ARP欺騙)。當然,最簡單的妳可以翻翻已入侵機器上的壹些文件,很可能就包含了妳需要的壹些連接帳號。比如說妳入侵了壹臺Web服務器,那麽絕大部分情況下妳可以在頁面的代碼或者某個配置文件中找到連接數據庫的帳號。妳也可以打開壹些日誌文件看壹看。

除此之外,妳可以直接回到第二步漏洞掃描來進行。

四、生成報告

報告中應當包含:

薄弱點列表清單(按照嚴重等級排序)

薄弱點詳細描述(利用方法)

解決方法建議

參與人員/測試時間/內網/外網

五、測試過程中的風險及規避

在測試過程中無可避免的可能會發生很多可預見和不可預見的風險,測試方必須提供規避措施以免對系統造成重大的影響。以下壹些可供參考:

1. 不執行任何可能引起業務中斷的攻擊(包括資源耗竭型DoS,畸形報文攻擊,數據破壞)。

2. 測試驗證時間放在業務量最小的時間進行。

3. 測試執行前確保相關數據進行備份。

4. 所有測試在執行前和維護人員進行溝通確認。

5. 在測試過程中出現異常情況時立即停止測試並及時恢復系統。

6. 對原始業務系統進行壹個完全的鏡像環境,在鏡像環境上進行滲透測試。

  • 上一篇:什麽是4S店,為什麽叫4S?
  • 下一篇:移動硬盤不小心做成u盤啟動盤了,數據能恢復嗎?
  • copyright 2024編程學習大全網