⑴ 滲透工程師是做什麼的
滲透工程師是一種利用模擬黑客攻擊的方式,來評估計算機網路系統攻擊步驟安全性能,評估計算機網路系統工作。x0dx0a滲透工程師要熟悉一下工作:x0dx0a攻擊x0dx0a安全性能的方法。通常的黑客攻擊包括預攻擊、攻擊和後攻慶裂擊三個階段;預攻擊階段主要指一些信息收集和漏洞掃描的過程;攻擊過程主要是利用第一階段發現的漏洞或弱口令等脆弱性進行入侵;後攻擊是指在獲得攻擊目標的一知陵定許可權後,對許可權的提升、後面安裝和痕跡清除等後續工作。與黑客的攻擊相比,滲透測試僅僅進行預攻擊階段的工作,並不對系統本身造成危害,即僅僅通過一些信息搜集手段來探查系統的弱口令、漏洞等脆弱性信息。為了進行滲透測試,通常需要一些專業工具進行信息收集。滲透測試工具種類繁多,涉及廣泛,按照功能和攻擊目標分為網路掃描工具、通用漏洞檢測、應用漏洞檢測三類。x0dx0a網路掃描工具x0dx0a網路掃描是滲透測試的第一步,其目的在於發現目標的操作系統類型、開放埠等基本信息,為後續的掃描工作做基礎。事實上,利用操作系統本身的一些命令如ping、telnet、nslookup等也可以對目標的信息進行判斷,但是利用專業的工具可以給出更加全面和准確的判斷。x0dx0aNMapx0dx0aNMap 是Linux操作系統下的一款網路連接端掃描軟體,其功能主要有三個:探測一組主機是否在線;掃描主機埠是否打開;判斷目標操作系統。NMap的常用掃描方式有:x0dx0a》 TCP connect埠掃描:-sT參數x0dx0a》 埠掃描TCP同步:-sS參數x0dx0a》 埠掃描UDP:-sU參數x0dx0a》 Ping掃描:-sP參數是一款功能強大的埠掃描軟體,其主要功能有:x0dx0aSuperScanx0dx0a1) 通過Ping來檢驗IP是否在線;2) IP和域名相互轉換;3) 檢驗目標計算機提供的服務類別;4) 檢驗一定范圍目標計算機的是否在線和埠情況;5) 工具自定義列表檢驗目標計算機是否在線和埠情況;6) 自定義要檢驗的埠,並可以保存為埠列表文件;7) 軟體自帶一個木馬埠列表trojans.lst,通過這個列表我們可以檢測目標計算機是否有木馬;同時,我們也可以自己定義修改這個木馬埠列表.是一個網路封包分析軟體,其功能是借取流經本地網卡的有數據流量進而分Wiresharkx0dx0a析。通常的應用包括:網路管理員用來解決網路問題、網路安全工程師用來檢測安全隱患、開發人員用來測試協議執行情況、用來學習網路協議。在滲透測試中,Wireshark通常被用於嗅探區域網內的數據傳輸格式,探查是否存在明文傳輸口令、數據傳輸風險等。圖形界面的Wireshark使用十分便捷,選取監聽的網卡之後,主界面中會顯示所有的數據流量。雙擊任意條目,則可以根據協議的層次拆分該數據流。Wireshark內置了基本的網路協議,可以方便的查詢包括但不局限於IP、TCP、UDP、HTTP、FTP、SMB等常見的協議內容。x0dx0a由於Wireshark借取的數據是所有流經網卡的數據,在實際應用中最重要的操作是通編寫過濾器獲得需要的數據流量。主界面中的Filter選項可以方便的進行過濾器的編輯,過濾包括源地址、目的地址、協議類型等配合各種邏輯運算符組成的表達式,從而根據需要快速的找到目標數據流量。x0dx0a通用漏洞檢測x0dx0a在獲取了目標主機的操作系統、開放埠等基本信息後,通常利用通用漏洞掃描工具檢測目標系統所存在的漏洞和弱口令。通用漏洞主要指操作系統本身或者安裝的應用軟體所存在的漏洞,通常是指緩沖區漏洞,例如MS-8-67、oracle的漏洞。由於系統開啟了135、139、445、1433、1521等應用程序搭差戚埠,同時沒有及時安裝補丁,使得外來主機可以通過相應的埠發送惡意的請求從而獲取不應當獲得的系統許可權。在實際的應用中,如果防火牆做了良好的部署,則對外界展現的埠應該受到嚴格控制,相應的通用漏洞危害較小。但是如果沒有在邊界上進行良好的訪問控制,則緩沖區溢出漏洞有著極其嚴重的威脅,會輕易被惡意用戶利用獲得伺服器的最高許可權。x0dx0aNessusx0dx0aNessus 是一款系統漏洞掃描與分析軟體,採用B/S架構的Nessusx0dx0a方式安裝,以網頁的形式向用戶展現。用戶登錄之後可以指定對本機或者其他可訪問的伺服器進行漏洞掃描。Nessus的掃描程序與漏洞庫相互獨立,因而可以方便的更新其漏洞庫,同時提供多種插件的擴展和一種語言NASL(Nessus Attack Scripting Language)用來編寫測試選項,極大的方便了漏洞數據的維護、更新。在進行掃描完成後,Nessus還可以生成詳盡的用戶報告,包括脆弱性、漏洞修補方法以及危害級別等,可以方便的進行後續加固工作。x0dx0aX-Scanx0dx0aX-Scan 是一款國產的漏洞掃描軟體,完全免費,無需安裝,X-Scanx0dx0a由國內著名民間黑客組織「安全焦點」完成。X-Scan的功能包括:開放服務、操作系統鑒別、應用系統弱口令、IIS編碼漏洞、應用漏洞檢測等。x0dx0aX-Scan通常被用來進行弱口令的檢測,其提供的弱口令檢測模塊包含telnet、ftp、sql-server、cvs、vnc、smtp、nntp、sock5、imap、pop3、rexec、NT-Server、ssh、www,採用字典攻擊的方式,配合恰當的字典生成工具可以完成大部分常用應用軟體的弱口令破解工作。X-Scan也提供漏洞檢測腳本的載入方式,可以即時的更新掃描模塊,同時也提供掃描結果報告功能。 是一款開源的安全漏洞檢測工具,可以幫助安全和IT專業人士識別安全性問題,驗證漏洞的緩解措施,並管理專家驅動的安全性進行評估,提供真正的安全風險情報。x0dx0a事實上Metasploit提供的是一個通用的漏洞攻擊框架,通過它可以方便的獲取、開發針對漏洞的攻擊。Metasploit將負載控制,編碼器,無操作生成器和漏洞整合在一起,成為一種研究高危漏洞的途徑,它集成了各平台上常見的溢出漏洞和流行的 shellcode ,並且不斷更新。對於開發者來說,需要了解緩沖區溢出的原理、需要編寫的漏洞詳細情況、payload生成、注入點以及metasploit的漏洞編寫規則。而對於普通的滲透測試人員,僅僅只需要安裝metasploit,下載最新的漏洞庫和shellcode,選擇攻擊目標,發送測試就可以完成漏洞檢測工作。事實上,metasploit不僅提供漏洞檢測,還可以進行實際的入侵工作。由於採用入侵腳本時可能對系統造成不可預估的效果,在進行滲透測試時應當僅僅使用測試功能。x0dx0aAcunetix Web Vulnerability Scannerx0dx0aAcunetix Web Vulnerability Scanner界面x0dx0aAcunetix Web Vulnerability Scanner是一個網站及x0dx0a伺服器漏洞掃描軟體,它包含有收費和免費兩種版本。x0dx0a功能介紹:x0dx0a1、AcuSensor 技術x0dx0a2、自動的客戶端腳本分析器,允許對 Ajax 和 Web 2. 應用程序進行安全性測試。x0dx0a3、業內最先進且深入的 SQL 注入和跨站腳本測試x0dx0a4、高級滲透測試工具,例如 HTTP Editor 和 HTTP Fuzzerx0dx0a5、可視化宏記錄器幫助您輕松測試 web 表格和受密碼保護的區域x0dx0a6、支持含有 CAPTHCA 的頁面,單個開始指令和 Two Factor(雙因素)驗證機制x0dx0a7、豐富的報告功能,包括 VISA PCI 依從性報告x0dx0a8、高速的多線程掃描器輕松檢索成千上萬個頁面x0dx0a9、智能爬行程序檢測 web 伺服器類型和應用程序語言x0dx0a1、Acunetix 檢索並分析網站,包括 flash 內容、SOAP 和 AJAXx0dx0a11、埠掃描 web 伺服器並對在伺服器上運行的網路服務執行安全檢查 x0dx0aWeb應用漏洞檢測x0dx0a隨著信息網路的發展,人們的信息安全意識日益提升,信息系統的安全防護措施也逐漸提高。通常在伺服器的互聯網邊界處都會部署防火牆來隔離內外網路,僅僅將外部需要的伺服器埠暴露出來。採用這種措施可以大大的提高信息系統安全等級,對於外部攻擊者來說,就像關閉了所有無關的通路,僅僅留下一個必要入口。但是仍然有一類安全問題無法避免,就是web應用漏洞。目前的大多數應用都是採用B/S模式,由於伺服器需要向外界提供web應用,http服務是無法關閉的。web應用漏洞就是利用這個合法的通路,採用SQL注入、跨站腳本、表單破解等應用攻擊方式來獲取伺服器的高級許可權。在目前的網路環境下,威脅最大的漏洞形式就是web應用漏洞,通常是攻擊者攻陷伺服器的第一步。常見的漏洞包括SQL注入、跨站腳本攻擊和編碼漏洞等,表單破解主要是針對伺服器用戶的弱口令破解。從本質上來說,應用漏洞的形成原因是程序編寫時沒有對用戶的輸入字元進行嚴格的過濾,造成用戶可以精心構造一個惡意字元串達到自己的目的。x0dx0aAppScanx0dx0aAppScan 是IBM公司出的一款Web應用安全測試工具,AppScanx0dx0a採用黑盒測試的方式,可以掃描常見的web應用安全漏洞。其工作原理,首先是根據起始頁爬取站下所有可見的頁面,同時測試常見的管理後台;獲得所有頁面之後利用SQL注入原理進行測試是否存在注入點以及跨站腳本攻擊的可能;同時還會對cookie管理、會話周期等常見的web安全漏洞進行檢測。AppScan功能十分齊全,支持登錄功能並且擁有十分強大的報表。在掃描結果中,不僅能夠看到掃描的漏洞,還提供了詳盡的漏洞原理、修改建議、手動驗證等功能。AppScan的缺點在於,作為一款商業軟體,價格十分昂貴。x0dx0a溯雪x0dx0a溯雪是一款國產軟體,主要的功能是進行表單破解。溯雪x0dx0a由於目前的應用多數採用B/S模式,登錄窗口也都採用表單提交的方式,使得基於傳統協議的暴力破解軟體沒有用武之地。針對此類應用,採用溯雪等基於表單的暴力破解軟體可以很好的進行弱口令掃描。x0dx0a溯雪的工作原理是抽取目標網站中的表單元素,搜尋錯誤登錄時的錯誤標志,然後採用字典填充其值並不斷提交嘗試獲得正確的連接。x0dx0aPangolinx0dx0aPangolin是一款SQL注入測試工具,能夠自動化的進行Pangolinx0dx0a注入漏洞的檢測,從檢測注入開始到最後控制目標系統都給出了測試步驟,是目前國內使用率最高的SQL注入測試軟體。支持的資料庫包括Access、DB2、Informix、Microsoft SQL Server 2、Microsoft SQL Server 25、Microsoft SQL Server 28、Mysql、Oracle、PostgreSQL、Sqlite3、Sybase。
⑵ 如何對網站進行滲透測試和漏洞掃描
滲透測試在未得到被測試方授權之前依據某些地區法律規定是違法行為。這里我們提供的所有滲透測試方法均為(假設為)合法的評估服務,也就是通常所說的道德黑客行為(Ethicalhacking),因此我們這里的所有讀者應當都是EthicalHackers,如果您還不是,那麼我希望您到過這里後會成為他們中的一員;)
這里,我還想對大家說一些話:滲透測試重在實踐,您需要一顆永不言敗的心和一個有著活躍思維的大腦。不是說您將這一份文檔COPY到您網站上或者保存到本地電腦您就會了,即使您將它列印出來沾點辣椒醬吃了也不行,您一定要根據文檔一步一步練習才行。而且測試重在用腦,千萬激塌別拿上一改輪兩個本文中提到的工具一陣亂搞,我敢保證:互聯網的安全不為因為這樣而更安全。祝您好運。。。
一、簡介
什麼叫滲透測試?
滲透測試最簡單直接的解釋就是:完全站在攻擊者角度對目標系統進行的安全性測試過程。
進行滲透測試的目的?
了解當前系統的安全性、了解攻擊者可能利用的途徑。它能夠讓管理人員非常直觀的了解當前系統所面臨的問題。為什麼說叫直觀呢?就像Mitnick書裡面提到的那樣,安全管理(在這里我們改一下,改成安全評估工作)需要做到面面俱到才算成功,而一位黑客(滲透測試)只要能通過一點進入系統進行破壞,他就算核鉛信是很成功的了。
滲透測試是否等同於風險評估?
不是,你可以暫時理解成滲透測試屬於風險評估的一部分。事實上,風險評估遠比滲透測試復雜的多,它除滲透測試外還要加上資產識別,風險分析,除此之外,也還包括了人工審查以及後期的優化部分(可選)。
已經進行了安全審查,還需要滲透測試嗎?
如果我對您說:嘿,中國的現有太空理論技術通過計算機演算已經能夠證明中國完全有能力實現宇航員太空漫步了,沒必要再發射神8了。您能接受嗎?
滲透測試是否就是黑盒測試?
否,很多技術人員對這個問題都存在這個錯誤的理解。滲透測試不只是要模擬外部黑客的入侵,同時,防止內部人員的有意識(無意識)攻擊也是很有必要的。這時,安全測試人員可以被告之包括代碼片段來內的有關於系統的一些信息。這時,它就滿足灰盒甚至白盒測試。
滲透測試涉及哪些內容?
技術層面主要包括網路設備,主機,資料庫,應用系統。另外可以考慮加入社會工程學(入侵的藝術/THEARTOFINTRUSION)。
滲透測試有哪些不足之處?
主要是投入高,風險高。而且必須是專業的EthicalHackers才能相信輸出的最終結果。
你說的那麼好,為什麼滲透測試工作在中國開展的不是很火熱呢?
我只能說:會的,一定會的。滲透測試的關鍵在於沒法證明你的測試結果就是完善的。用戶不知道花了錢證明了系統有問題以後,自己的安全等級到了一個什麼程序。但是很顯然,用戶是相信一個專業且經驗豐富的安全團隊的,這個在中國問題比較嚴重。在我接觸了一些大型的安全公司進行的一些滲透測試過程來看,測試人員的水平是對不住開的那些價格的,而且從測試過程到結果報表上來看也是不負責的。我估計在三年以後,這種情況會有所改觀,到時一方面安全人員的技術力量有很大程度的改觀,另一方面各企業對滲透測試會有一個比較深刻的理解,也會將其做為一種IT審計的方式加入到開發流程中去。滲透測試的專業化、商業化會越來越成熟。
二、制定實施方案
實施方案應當由測試方與客戶之間進行溝通協商。一開始測試方提供一份簡單的問卷調查了解客戶對測試的基本接收情況。內容包括但不限於如下:
目標系統介紹、重點保護對象及特性。
是否允許數據破壞?
是否允許阻斷業務正常運行?
測試之前是否應當知會相關部門介面人?
接入方式?外網和內網?
測試是發現問題就算成功,還是盡可能的發現多的問題?
滲透過程是否需要考慮社會工程?
。。。
在得到客戶反饋後,由測試方書寫實施方案初稿並提交給客戶,由客戶進行審核。在審核完成後,客戶應當對測試方進行書面委託授權。這里,兩部分文檔分別應當包含如下內容:
實施方案部分:
...
書面委託授權部分:
...
三、具體操作過程
1、信息收集過程
網路信息收集:
在這一部還不會直接對被測目標進行掃描,應當先從網路上搜索一些相關信息,包括GoogleHacking,Whois查詢,DNS等信息(如果考慮進行社會工程學的話,這里還可以相應從郵件列表/新聞組中獲取目標系統中一些邊緣信息如內部員工帳號組成,身份識別方式,郵件聯系地址等)。
1.使用whois查詢目標域名的DNS伺服器
2.nslookup
>settype=all
><domain>
>server<nsserver>
>setq=all
>ls-d<domain>
涉及的工具包括:Google,Demon,webhosting.info,Apollo,Athena,GHDB.XML,netcraft,seologs除此之外,我想特別提醒一下使用Googlebot/2.1繞過一些文件的獲取限制。
Googlehacking中常用的一些語法描述
1.搜索指定站點關鍵字site。你可以搜索具體的站點如site:來搜索中國政府部門的網站。
2.搜索在URL網址中的關鍵字inurl。比如你想搜索帶參數的站點,你可以嘗試用inurl:asp?id=
3.搜索在網頁標題中的關鍵字intitle。如果你想搜索一些登陸後台,你可以嘗試使用intitle:"adminlogin"
目標系統信息收集:
通過上面一步,我們應當可以簡單的描繪出目標系統的網路結構,如公司網路所在區域,子公司IP地址分布,VPN接入地址等。這里特別要注意一些比較偏門的HOST名稱地址,如一些backup開頭或者temp開關的域名很可能就是一台備份伺服器,其安全性很可能做的不夠。
從獲取的地址列表中進行系統判斷,了解其組織架構及操作系統使用情況。最常用的方法的是目標所有IP網段掃描。
埠/服務信息收集:
這一部分已經可以開始直接的掃描操作,涉及的工具包括:nmap,thc-amap
1.我最常使用的參數
nmap-sS-p1-10000-n-P0-oXfilename.xml--open-T5<ipaddress>
應用信息收集:httprint,SIPSCAN,smap
這里有必要將SNMP拿出來單獨說一下,因為目前許多運營商、大型企業內部網路的維護台通過SNMP進行數據傳輸,大部分情況是使用了默認口令的,撐死改了private口令。這樣,攻擊者可以通過它收集到很多有效信息。snmp-gui,HiliSoftMIBBrowser,mibsearch,net-snmp都是一些很好的資源。
2、漏洞掃描
這一步主要針對具體系統目標進行。如通過第一步的信息收集,已經得到了目標系統的IP地址分布及對應的域名,並且我們已經通過一些分析過濾出少許的幾個攻擊目標,這時,我們就可以針對它們進行有針對性的漏洞掃描。這里有幾個方面可以進行:
針對系統層面的工具有:ISS,Nessus,SSS,Retina,天鏡,極光
針對WEB應用層面的工具有:AppScan,,WebInspect,Nstalker
針對資料庫的工具有:ShadowDatabaseScanner,NGSSQuirreL
針對VOIP方面的工具有:PROTOSc07sip(在測試中直接用這個工具轟等於找死)以及c07h225,Sivus,sipsak等。
事實上,每個滲透測試團隊或多或少都會有自己的測試工具包,在漏洞掃描這一塊針對具體應用的工具也比較個性化。
3、漏洞利用
有時候,通過服務/應用掃描後,我們可以跳過漏洞掃描部分,直接到漏洞利用。因為很多情況下我們根據目標服務/應用的版本就可以到一些安全網站上獲取針對該目標系統的漏洞利用代碼,如milw0rm,securityfocus,packetstormsecurity等網站,上面都對應有搜索模塊。實在沒有,我們也可以嘗試在GOOGLE上搜索「應用名稱exploit」、「應用名稱vulnerability」等關鍵字。
當然,大部分情況下你都可以不這么麻煩,網路中有一些工具可供我們使用,最著名的當屬metasploit了,它是一個開源免費的漏洞利用攻擊平台。其他的多說無益,您就看它從榜上無名到沖進前五(top100)這一點來說,也能大概了解到它的威力了。除此之外,如果您(您們公司)有足夠的moeny用於購買商用軟體的話,COREIMPACT是相當值得考慮的,雖然說價格很高,但是它卻是被業界公認在滲透測試方面的泰山北斗,基本上測試全自動。如果您覺得還是接受不了,那麼您可以去購買CANVAS,據說有不少0DAY,不過它跟metasploit一樣,是需要手動進行測試的。最後還有一個需要提及一下的Exploitation_Framework,它相當於一個漏洞利用代碼管理工具,方便進行不同語言,不同平台的利用代碼收集,把它也放在這里是因為它本身也維護了一個exploit庫,大家參考著也能使用。
上面提到的是針對系統進行的,在針對WEB方面,注入工具有NBSI,OWASPSQLiX,SQLPowerInjector,sqlDumper,sqlninja,sqlmap,Sqlbftools,priamos,ISR-sqlget***等等。
在針對資料庫方面的工具有:
資料庫工具列表Oracle(1521埠):目前主要存在以下方面的安全問題:
1、TNS監聽程序攻擊(sid信息泄露,停止服務等)
2、默認賬號(defaultpasswordlist)
3、SQLINJECTION(這個與傳統的意思還不太一樣)
4、緩沖區溢出,現在比較少了。thc-orakel,tnscmd,oscanner,Getsids,TNSLSNR,lsnrcheck,OAT,Checkpwd,orabfMSSqlServer(1433、1434埠)Mysql(3306埠)DB2(523、50000、50001、50002、50003埠)db2utilsInformix(1526、1528埠)
在針對Web伺服器方面的工具有:
WEB伺服器工具列表IISIISPUTSCANNERTomcat想起/admin和/manager管理目錄了嗎?另外,目錄列表也是Tomcat伺服器中最常見的問題。比如5.*版本中的
在滲透測試過程中,一旦有機會接觸一些OFFICE文檔,且被加了密的話,那麼,rixler是您馬上要去的地方,他們提供的OFFICE密碼套件能在瞬間打開OFFICE文檔(2007中我沒有試過,大家有機會測試的話請給我發一份測試結果說明,謝謝)。看來微軟有理由來個補丁什麼的了。對於企業來說,您可以考慮使用鐵卷或者RMS了。
6、日誌清除
Itisnotnecessaryactually.
7、進一步滲透
攻入了DMZ區一般情況下我們也不會獲取多少用價值的信息。為了進一步鞏固戰果,我們需要進行進一步的內網滲透。到這一步就真的算是無所不用其及。最常用且最有效的方式就是Sniff抓包(可以加上ARP欺騙)。當然,最簡單的你可以翻翻已入侵機器上的一些文件,很可能就包含了你需要的一些連接帳號。比如說你入侵了一台Web伺服器,那麼絕大部分情況下你可以在頁面的代碼或者某個配置文件中找到連接資料庫的帳號。你也可以打開一些日誌文件看一看。
除此之外,你可以直接回到第二步漏洞掃描來進行。
四、生成報告
報告中應當包含:
薄弱點列表清單(按照嚴重等級排序)
薄弱點詳細描述(利用方法)
解決方法建議
參與人員/測試時間/內網/外網
五、測試過程中的風險及規避
在測試過程中無可避免的可能會發生很多可預見和不可預見的風險,測試方必須提供規避措施以免對系統造成重大的影響。以下一些可供參考:
1.不執行任何可能引起業務中斷的攻擊(包括資源耗竭型DoS,畸形報文攻擊,數據破壞)。
2.測試驗證時間放在業務量最小的時間進行。
3.測試執行前確保相關數據進行備份。
4.所有測試在執行前和維護人員進行溝通確認。
5.在測試過程中出現異常情況時立即停止測試並及時恢復系統。
6.對原始業務系統進行一個完全的鏡像環境,在鏡像環境上進行滲透測試。