版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第8章Web應用安全8.1
Web應用安全概述8.2惡意代碼8.3滲透測試8.4本章小結(jié)第1章本章內(nèi)容
瀏覽器是用戶訪問互聯(lián)網(wǎng)的重要工具,目前常見的有MicrosoftEdge、IE、Firefox、360、Safari、Chrome、QQ瀏覽器等。由于Web應用是搭建在Web服務器上的,瀏覽器與服務器之間采用HTTP協(xié)議進行請求/應答服務,交互過程中涉及數(shù)據(jù)庫訪問、傳輸數(shù)據(jù)等。8.1Web應用安全概述如果這個過程發(fā)生安全問題,用戶賬號密碼、數(shù)據(jù)庫中的數(shù)據(jù)、服務器中的內(nèi)部文件、網(wǎng)站主頁等都可能被竊取、篡改,甚至被植入惡意代碼。近些年,針對Web進行的攻擊數(shù)量已經(jīng)遠遠高于網(wǎng)絡層攻擊數(shù)量。根據(jù)Gartner調(diào)查顯示,信息安全攻擊有75%都發(fā)生在Web應用層上(而不是網(wǎng)絡層上),2/3的Web站點都相當脆弱,易受攻擊。8.1Web應用安全概述8.1Web應用安全概述事實上,一些新型漏洞總是不斷被黑客發(fā)現(xiàn),幾乎不存在沒有任何漏洞的網(wǎng)站,只不過漏洞處于潛藏狀態(tài)暫未被黑客發(fā)現(xiàn)而已。來自世界各地的黑客總能通過黑客技術(shù)獲得網(wǎng)站的真實IP地址,并采用不同攻擊手段對網(wǎng)站發(fā)動不同規(guī)模和不同復雜程度的攻擊。
惡意代碼(MaliciousCode),又名惡意軟件(MaliciousSoftware或Malware),是指人為編寫的以威脅或侵犯網(wǎng)絡、計算機系統(tǒng)和用戶合法權(quán)益為目的計算機程序。
一般情況下,惡意代碼可能被嵌入一個正常程序中,并隨著正常程序的運行一起被執(zhí)行,然后開始感染其他計算機并悄悄地大面積傳播自身代碼。8.2惡意代碼惡意代碼危害、惡意代碼的特點
(1)惡意代碼本身是一段計算機程序。惡意代碼是人為編寫的,編寫人員可能是個人、團隊或企業(yè),甚至是知名黑客組織,很多著名的攻防軟件就是由專業(yè)網(wǎng)絡安全企業(yè)研發(fā)的。(2)惡意代碼本質(zhì)是惡意的。在未經(jīng)用戶授權(quán)的情況下,惡意代碼能夠復制自身,并實施感染、干擾、入侵、控制和破壞其他計算機等行為。
8.2惡意代碼(3)惡意代碼只有被執(zhí)行時才能發(fā)揮破壞作用。如果一段惡意代碼沒有被執(zhí)行,實際上它屬于臟代碼,破壞作用很?。坏绻粓?zhí)行,破壞作用很難估計。
(4)惡意代碼攻擊對象不確定。目前,在不同操作系統(tǒng)環(huán)境下都有惡意代碼入侵和運行,被入侵的設備種類多樣,包括計算機、終端設備、網(wǎng)絡、操作系統(tǒng)、應用軟件、數(shù)據(jù)庫、Web網(wǎng)站、數(shù)據(jù)中心等。更可怕的是,當一臺計算機(或終端設備)被惡意代碼控制后,不僅自身系統(tǒng)可能被修改或破壞,還可能丟失或刪除數(shù)據(jù),甚至本臺計算機成為攻擊其他計算機的跳板。8.2惡意代碼
由上述特點可以看出,惡意代碼的概念范圍是比較廣泛的,但一般可以分為3類:計算機病毒、木馬程序和蠕蟲。計算機病毒“計算機病毒(ComputerVirus)”概念最早由美國計算機專家弗雷德·科恩博士提出。計算機病毒是一個將自身隱藏在文檔中,能夠自身復制并具有破壞作用的計算機程序或指令集。
計算機病毒一般具有隱藏性、傳染性、潛伏性和破壞性的特點。8.2惡意代碼
隨著計算機技術(shù)的發(fā)展,計算機病毒也不斷“推陳出新”,甚至不再受技術(shù)、手段、概念和破壞程度的限制,有些計算機病毒還具備木馬程序和蠕蟲特征,具有多樣性特征。8.2惡意代碼木馬程序特洛伊木馬(TrojanHorse)也叫作木馬程序(簡稱木馬),它是一種通過將自身代碼植入其他程序的方法來實現(xiàn)自身傳播和運行目的的程序,該程序成功執(zhí)行后往往會在目標主機上開設后門供攻擊者使用。木馬最終以盜取各種數(shù)據(jù)、個人信息及控制他人計算機等設備為目的。8.3滲透測試根據(jù)木馬原理,木馬編寫人員利用不同技術(shù)編寫出危害程度、破壞程度、隱藏性和傳播速度不同的木馬。目前,木馬直接的危害為盜取他人賬號、密碼、個人隱私信息(如身份、銀行賬號、親人手機號等),遠程控制他人計算機或終端設備(如手機等)。8.2惡意代碼蠕蟲蠕蟲是一段獨立的,能夠自我復制并通過網(wǎng)絡自動快速傳播的惡意代碼。而蠕蟲一旦與病毒技術(shù)結(jié)合則變成蠕蟲病毒,其傳播和破壞能力更大。在一般情況下,蠕蟲病毒以被控制的計算機為宿主機來向其他計算機進行傳播和感染,然后通過反復迭代執(zhí)行來達到在短期時間內(nèi)迅速感染大批量計算機的目的。惡意代碼的破壞作用表現(xiàn)如下。8.2惡意代碼(1)盜竊、加密、篡改或刪除數(shù)據(jù)或個人隱私,導致泄密、遭受勒索、損失財務或受到網(wǎng)絡暴力。
(2)入侵、控制、破壞各類終端設備、計算機或網(wǎng)絡系統(tǒng),成為攻擊其他目標的跳板,癱瘓網(wǎng)絡或系統(tǒng),妨礙正常工作或?qū)ν馓峁┓?。?)惡意占用資源,降低系統(tǒng)性能和網(wǎng)絡性能,影響服務質(zhì)量。8.2惡意代碼惡意代碼防范安裝防病毒軟件并更新病毒庫防病毒軟件是保護計算機免受病毒侵害的有效工具。如果使用沒有安裝防病毒軟件的計算機瀏覽各類網(wǎng)站,其受病毒侵害則是必然事件。安裝并啟用防火墻軟件安裝并啟用防火墻軟件是能夠降低計算機風險,保護計算機正常工作的必備技術(shù)手段之一。8.2惡意代碼阻止廣告或彈窗類信息廣告是很多企業(yè)的主要收入來源。很多企業(yè)(包括知名軟件企業(yè))會在軟件中植入廣告,一旦用戶啟動軟件,則這些廣告會自動彈出。警惕不明郵件、鏈接及釣魚網(wǎng)站垃圾郵件、不明鏈接也是病毒傳播的常見方式。惡意代碼利用這些方式大面積發(fā)送垃圾郵件,郵件中包含惡意鏈接、不健康圖片、附件等,并誘惑操作者單擊上述內(nèi)容從而執(zhí)行隱藏其中的惡意代碼。8.2惡意代碼合理控制賬號權(quán)限我們經(jīng)常看到一些計算機用戶使用Windows的管理員賬號進行日常工作,這實際上是非常危險的。一旦計算機被感染,惡意代碼將直接獲得管理員權(quán)限。關(guān)閉自動運行程序功能自動運行程序給操作帶來很大便捷性。但自動運行也同樣賦予惡意代碼執(zhí)行權(quán)。8.2惡意代碼設置高強度安全密碼用戶口令是基本的安全保障,為了便于記憶,許多安全意識薄弱的人員將賬號及密碼設置成容易被記住的內(nèi)容,如姓名、生日、吉祥數(shù)字、英語單詞等。其實,這些都屬于弱口令,是黑客最容易猜到或暴力破解的。少用或禁用Cookie黑客了解該技術(shù)原理后,采用Cookie捕獲、Cookie重放、惡意代碼植入Cookie、篡奪Cookie等技術(shù)方法實施攻擊,盡管Cookie信息可以采用加密方式存儲,但依然可以被解密。因此,平時使用計算機瀏覽器時,盡量少用或直接禁用Cookie功能。8.2惡意代碼及時打補丁軟件測試可保證軟件在發(fā)行前是可靠的、安全的、無漏洞的。但事實上,無論實施多少嚴格的測試標準,軟件推到市場后就會發(fā)現(xiàn)有許多問題需要修復,此時運行補丁程序是成本最低、最可行的方式之一。養(yǎng)成及時備份重要資料的習慣做好惡意代碼防范工作不能僅依靠各防護軟件,還要養(yǎng)成良好的安全使用計算機的習慣和行為。8.2惡意代碼網(wǎng)絡攻防也叫作“網(wǎng)絡對抗”,分為網(wǎng)絡攻擊與網(wǎng)絡防護兩方面。網(wǎng)絡攻擊是指綜合利用網(wǎng)絡攻擊技術(shù)、目標主機或網(wǎng)絡自身存在的漏洞、安全缺陷來攻擊目標硬件、軟件及其數(shù)據(jù),造成被攻擊目標被破壞、數(shù)據(jù)丟失、系統(tǒng)被控制等現(xiàn)象。網(wǎng)絡防護是指綜合利用網(wǎng)絡防護技術(shù)、防守方主機或網(wǎng)絡系統(tǒng)功能來保護己方硬件、軟件免受破壞,使數(shù)據(jù)在存儲和傳輸過程中依然是安全的。8.3滲透測試常用基礎知識虛擬機虛擬機軟件能夠在物理計算機硬件資源的基礎上采用虛擬技術(shù)產(chǎn)生一臺計算機。這臺計算機并非真正物理上的計算機,而是軟件虛擬出來的,盡管它具有自己的存儲空間、CPU、BIOS、網(wǎng)絡等,只不過這些資源依然占用物理計算機的硬件資源。
8.3滲透測試常見的虛擬機軟件介紹如下。(1)VMwareVMware是最常見的虛擬機軟件,各方面表現(xiàn)都不錯,其快照功能便捷,創(chuàng)建和恢復系統(tǒng)快照非常方便,十分實用。缺點是安裝后會虛擬兩塊網(wǎng)卡,或自行設置增加更多網(wǎng)卡,多數(shù)情況下使用橋接(Bridge)方法使虛擬機接入互聯(lián)網(wǎng),調(diào)試上可能煩瑣一些。
8.3滲透測試(2)VirtualPCVirtualPC是Microsoft開發(fā)的虛擬機軟件,具有占用內(nèi)存小、啟動快、聯(lián)網(wǎng)方便等優(yōu)點,有利于在Windows環(huán)境下用作Windows虛擬機,而且不受Windows操作系統(tǒng)版本限制。(3)VirtualBoxVirtualBox是Sun公司開發(fā)的輕量級、開源虛擬機產(chǎn)品,安裝包很小,功能相對簡單。此外,還有KVM(Kernel-basedVirtualMachine)、Xen、OpenVZ、Lguest等產(chǎn)品。
8.3滲透測試KaliLinux操作系統(tǒng)KaliLinux操作系統(tǒng)是基于Debian的Linux發(fā)行版(其前身為BackTrack),專用于數(shù)字取證,預裝了許多滲透測試軟件,如Nmap等超過300個滲透測試工具,可完成信息收集、脆弱性分析、開發(fā)工具、無線攻擊、取證工具、Web應用程序、壓力測試、嗅探、欺騙、密碼攻擊、維護訪問權(quán)限、硬件攻擊、逆向工程等功能和任務,更為有趣的是,在kali-undercovermode下KaliLinux操作系統(tǒng)可以偽裝成Windows10界面。
8.3滲透測試作為滲透測試和安全審計專用的操作系統(tǒng),KaliLinux操作系統(tǒng)支持大量無線設備、可定制、永久免費,并且可以設置為從硬盤、USB等設備啟動模式,兼容X86指令集和ARM架構(gòu),可運行在樹莓派等設備上,讀者可自行到官網(wǎng)下載所需版本。
Windows中常用的命令一些交互命令在網(wǎng)絡維護中經(jīng)常用到,介紹幾個常用的命令,有些命令及參數(shù)需要管理員權(quán)限才能成功執(zhí)行。8.3滲透測試(1)ping命令ping命令是Windows中自帶的一個用于檢查網(wǎng)絡是否連通的命令,常用于分析網(wǎng)絡故障,是網(wǎng)絡維護中的重要命令。ping命令用法:ping[-t][-a][-ncount][-lsize][-f][-iTTL][-vTOS][-rcount][-scount][[-jhost-list]|[-khost-list]][-wtimeout][-R][-Ssrcaddr][-ccompartment][-p][-4][-6]target_nameping命令的參數(shù)如表8-1所示。8.3滲透測試序
號參
數(shù)功能說明1-tping指定的主機,直到停止。若要查看統(tǒng)計信息并繼續(xù)操作,則按Ctrl+Break快捷鍵或其他快捷鍵;若要中途退出,則按Ctrl+C快捷鍵2-a將地址解析為主機名3-ncount要發(fā)送的回顯請求數(shù)4-lsize發(fā)送緩沖區(qū)大小5-f在數(shù)據(jù)包中設置“不分段”標記(僅適用于IPv4)6-iTTL生存時間7-vTOS服務類型(僅適用于IPv4。該設置已被棄用,對IP標頭中的服務類型字段沒有任何影響)8-rcount記錄計數(shù)躍點的路由(僅適用于IPv4)9-scount計數(shù)躍點的時間戳(僅適用于IPv4)表8-1
ping命令的參數(shù)8.3滲透測試序號參數(shù)功能說明10-jhost-list與主機列表一起使用的松散源路由(僅適用于IPv4)11-khost-list與主機列表一起使用的嚴格源路由(僅適用于IPv4)12-wtimeout等待每次回復的超時時間(毫秒)13-R同樣使用路由標頭測試反向路由(僅適用于IPv6)。根據(jù)RFC5095,已棄用此路由標頭。如果使用此標頭,某些系統(tǒng)可能丟棄回顯請求14-Ssrcaddr要使用的源地址15-ccompartment路由隔離艙標識符16-ppingHyper-V網(wǎng)絡虛擬化提供的程序地址17-4強制使用IPv418-6強制使用IPv6表8-1
ping命令的參數(shù)8.3滲透測試圖8-1
ping命令執(zhí)行結(jié)果8.3滲透測試(2)ipconfig命令ipconfig命令能夠查看當前網(wǎng)卡信息,如MAC地址、IP地址。圖8-2
ipconig命令執(zhí)行結(jié)果8.3滲透測試(3)netstat命令netstat命令可顯示協(xié)議統(tǒng)計信息和當前TCP/IP網(wǎng)絡連接。netstat[-a][-b][-e][-f][-i][-n][-o][-pproto][-q][-r][-s][-t][-x][-y][interval]netstat命令的參數(shù)如表8-2所示。
8.3滲透測試表8-2
netstat命令的參數(shù)序號參
數(shù)功能說明1-a顯示所有連接和偵聽端口2-b顯示在創(chuàng)建每個連接或偵聽端口時涉及的可執(zhí)行文件。在某些情況下,已知可執(zhí)行文件托管多個獨立的組件,此時會顯示創(chuàng)建連接或偵聽端口時涉及的組件序列。在此種情況下,可執(zhí)行文件的名稱位于底部[]中,它調(diào)用的組件位于頂部,直至達到TCP/IP。注意,此選項可能很耗時,并且可能因為用戶沒有足夠的權(quán)限而失敗3-e顯示以太網(wǎng)統(tǒng)計信息。此選項可以與-s選項結(jié)合使用4-f顯示外部地址的完全限定域名(FQDN)5-i顯示TCP連接在當前狀態(tài)所花費的時間6-n以數(shù)字形式顯示地址和端口號7-o顯示擁有的與每個連接關(guān)聯(lián)的進程ID8-pproto顯示proto指定的協(xié)議的連接;proto可以是下列中任何一個:TCP、UDP、TCPv6、UDPv6。如果此選項與-s選項一起用來顯示每個協(xié)議的統(tǒng)計信息,proto可以是下列中任何一個:IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP、UDPv69-q顯示所有連接、偵聽端口和綁定的非偵聽TCP端口。綁定的非偵聽TCP端口不一定與活動連接相關(guān)聯(lián)10-r顯示路由表11-s顯示每個協(xié)議的統(tǒng)計信息。在默認情況下,顯示IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP和UDPv6的統(tǒng)計信息;-p選項可用于指定默認的子網(wǎng)12-t顯示當前連接卸載狀態(tài)13-x顯示NetworkDirect連接、偵聽器和共享終節(jié)點14-y顯示所有連接的TCP連接模板。此選項無法與其他選項結(jié)合使用15interval重新顯示選定的統(tǒng)計信息,設置各個顯示之間暫停的間隔秒數(shù)。按Ctrl+C快捷鍵停止重新顯示統(tǒng)計信息。如果省略,則netstat將打印當前的配置信息一次8.3滲透測試netstat-a:列表顯示本機所有有效連接信息,如建立的連接和監(jiān)聽到的端口。netstat-b:列表顯示本機每個連接或偵聽端口的可執(zhí)行文件。
執(zhí)行后,部分信息顯示如下:
協(xié)議本地地址外部地址狀態(tài)
TCP:49674LLenovo:49675ESTABLISHED8.3滲透測試Linux中常用的命令
Linux中常用的命令可分為文件管理、文檔編輯、文件傳輸、磁盤管理、磁盤維護、網(wǎng)絡通信、系統(tǒng)管理、系統(tǒng)設置、備份壓縮、設備管理等類別。每個類別包括許多命令,每個命令又設計有許多參數(shù),眾多命令與參數(shù)組合完成的功能非常強大,國產(chǎn)操作系統(tǒng)幾乎都以Linux為內(nèi)核進行開發(fā)。KaliLinux的命令極其豐富,滲透測試人員需要熟悉各種常用的命令或工具。8.3滲透測試(1)系統(tǒng)命令
1)clear命令。clear命令用于清除終端屏幕顯示內(nèi)容,快捷鍵為Ctrl+K。
2)ls命令。ls命令用于查看目錄中的文件和子目錄信息,與dir命令功能相同,但卻更常用。
3)pwd命令。pwd命令用于顯示當前工作目錄。
4)cd命令。cd命令用于切換當前工作目錄。
5)mkdir命令。mkdir命令用于創(chuàng)建目錄。
6)mv命令。mv命令用于重新命名文件或目錄,也可將文件或目錄移動到其他位置。8.3滲透測試
7)rm命令。rm命令用于刪除文件或文件夾。
8)cp命令。cp命令用于復制文件。例如:9)bzip2命令。bzip2命令可以實現(xiàn).bz2文件的壓縮和解壓縮功能,主要參數(shù)如下。
8.3滲透測試-c或--stdout:將執(zhí)行結(jié)果輸出到標準設備上。
-d或--decompress:執(zhí)行解壓縮。
-f或--force:在壓縮或解壓縮時,若輸出文件遇到同名文件,則直接覆蓋。
-t或--test:測試.bz2壓縮文件的完整性。
-v或--verbose:顯示執(zhí)行壓縮或解壓縮過程中的詳細信息。
-z或--compress:強制執(zhí)行壓縮。
8.3滲透測試
10)cmp命令。cmp命令以字節(jié)為單位逐字節(jié)進行兩個文件的比較。若找到差異,則報告第一個差異的字節(jié)和行號;否則,在默認情況下不返回任何信息。
11)echo命令。echo命令將要顯示的信息輸出到屏幕上,通常用于shell腳本中顯示消息或輸出其他命令的執(zhí)行結(jié)果。
12)ethtool命令。ethtool命令可以顯示網(wǎng)絡使用情況的統(tǒng)計信息。
13)arping命令。arping命令就像ping命令一樣測試網(wǎng)絡是否連通,只不過它發(fā)送的是arp請求數(shù)據(jù)包。8.3滲透測試
14)whoami命令。whoami命令用于查看當前登錄用戶名稱。
15)free命令。free命令可以顯示計算機當前內(nèi)存信息。
16)history命令。history命令用于查看最近運行了哪些命令。8.3滲透測試(2)高級系統(tǒng)命令sudo命令能夠給普通用戶提供root權(quán)限來執(zhí)行某個功能。常用參數(shù)如下:-h:查看本命令的幫助信息。
-l:查看當前用戶可執(zhí)行的命令。8.3滲透測試
-u:查看用戶名或用戶ID(UID)值,并以指定的用戶身份來執(zhí)行命令。
-k:清除密碼有效時間(或設置密碼有效時間為0),下次登錄時需要重新輸入密碼。
-b:以后臺運行方式來執(zhí)行指定的命令。
-p:更改密碼提示語。8.3滲透測試1)find命令。find命令根據(jù)用戶給定的表達式在Linux目錄層次結(jié)構(gòu)中搜索用戶指定的文件。2)apt-get命令。apt-get是一個包管理器,可用于安裝、更新和刪除軟件包,是Linux中的重要命令。
8.3滲透測試3)dpkg命令。dpkg命令在KaliLinux中用于安裝deb文件。因為dpkg原來是DebianLinux系統(tǒng)用來安裝、創(chuàng)建和管理軟件包的工具,而且KaliLinux又是基于DebianLinux的操作系統(tǒng),所以dpkg命令同樣適用于KaliLinux。常用參數(shù)如下。8.3滲透測試
-i:安裝軟件包。
-r:刪除軟件包。
-l:查看已安裝的軟件包列表。
-l:查看與軟件包相關(guān)聯(lián)的文件。
-c:查看軟件包內(nèi)的文件列表。4)du命令。du命令用于顯示文件和目錄占用的磁盤容量。8.3滲透測試5)adduser命令。adduser命令用于在Linux中添加用戶。6)passwd命令。passwd命令用于修改密碼。7)usermod命令。usermod命令用于修改組中的用戶。8)lsb_release命令。lsb_release命令用于檢查KaliLinux的版本。
8.3滲透測試9)scp命令。scp命令采用SSH協(xié)議將文件從一臺設備安全地復制到另一臺設備。10)ifconfig命令。ifconfig命令用于查看和配置網(wǎng)絡接口,本命令需要root權(quán)限。8.3滲透測試Vim文本編輯器Vim文本編輯器用于編寫、修改文檔,功能非常強大,是Linux中編寫文本、修改程序文件的主要編輯器,是專業(yè)人才的重要工具。常用語言1)Python語言目前,世界前10的編程語言走勢如圖8-3所示Python由過去默默無聞到今天盡人皆知,歷時三十多年,目前流行度越來越高,Python語言走勢。如圖8-4所示8.3滲透測試圖8-3
世界前10的編程語言走勢圖8-4
Python語言走勢8.3滲透測試Python語言的語法簡單,Python庫非常豐富,可實現(xiàn)的功能極其強大,目前已應用于多個研究與應用領(lǐng)域,在2022年成為最流行的編程語言,如圖8-5所示。圖8-5
2022年流行的編程語言排行榜8.3滲透測試(2)其他語言HTML語言(一種標記語言,利用系列標簽將互聯(lián)網(wǎng)上各類資源連接并組織在一起的邏輯體)、JavaScript語言(一種流行的、可用于HTML和Web的腳本編程語言)、SQL語言(一種操作數(shù)據(jù)庫的語言,如建立或刪除數(shù)據(jù)庫、追加或刪除記錄、查詢或修改記錄、增加或刪除字段等)、PHP語言、ASP語言、Go語言等。8.3滲透測試滲透測試整體過程Web應用層網(wǎng)絡攻擊更傾向于目前流行的滲透測試(PenetrationTesting)。滲透測試就是通過實際的網(wǎng)絡攻擊來測試和評估系統(tǒng)安全性的方法。也就是說,它通過模擬黑客對需要測試的目標進行網(wǎng)絡攻擊,以取得訪問控制權(quán)、竊取機密或以數(shù)據(jù)為依據(jù)完成安全測試和安全評估。8.3滲透測試滲透測試分類(1)黑盒測試黑盒測試也叫作外部測試,是滲透測試團隊在不掌握目標系統(tǒng)的內(nèi)部結(jié)構(gòu)及詳細情況下的測試。滲透測試團隊通過利用攻擊工具和技術(shù)、社會工程學和生活情報等來確定測試目標的一些信息(如真實IP地址、開放服務和端口、管理目標系統(tǒng)的人員情況等),當收集到足夠信息時,滲透測試團隊就開始逐步實施滲透測試。8.3滲透測試(2)白盒測試白盒測試也叫作內(nèi)部測試,是滲透測試團隊在已經(jīng)了解目標系統(tǒng)的內(nèi)部結(jié)構(gòu)及詳細信息情況下的測試。與黑盒測試相比,白盒測試發(fā)現(xiàn)問題的時間要少得多,代價要小得多,但無法確切知道目標系統(tǒng)對外抵抗攻擊能力,以及對抗風險的級別。(3)灰盒測試灰盒測試是黑盒測試與白盒測試的混合使用,二者可以充分發(fā)揮各自優(yōu)勢,相互彌補各自的不足。8.3滲透測試滲透測試流程目前,滲透測試方法或標準體系主要有《NISTSP800-42網(wǎng)絡安全測試指南》《Web安全威脅分類標準》《PTES滲透測試執(zhí)行標準》等。其中,《PTES滲透測試執(zhí)行標準》是安全業(yè)界多家領(lǐng)軍企業(yè)發(fā)起PTES標準項目的成果,該標準分為以下7個階段。8.3滲透測試(1)前期需求階段該階段是滲透測試團隊和客戶進行溝通、討論和確認滲透測試需求的階段。就像軟件開發(fā)中的需求分析一樣,本階段的調(diào)查內(nèi)容、溝通內(nèi)容和滲透測試需求直接影響后續(xù)工作。8.3滲透測試主要的溝通內(nèi)容涉及具體的測試內(nèi)容、測試范圍、客戶要求、時間情況、費用情況、具體的問題調(diào)研、測試任務規(guī)劃等。例如,對滲透目標調(diào)查問題示例如下。1)客戶為什么要對該目標進行滲透測試?是否有必要對該目標進行滲透測試?
2)客戶希望什么時候執(zhí)行滲透測試的活動?(在營業(yè)時、下班之后或在周末?)
3)總共測試多少個IP地址?內(nèi)部IP地址有多少個?外部IP地址有多少個?8.3滲透測試
4)是否有防火墻、入侵檢測/防御系統(tǒng)、Web應用程序防火墻或負載平衡器等?
5)系統(tǒng)在被滲透的情況下,滲透測試團隊在受感染的計算機上執(zhí)行本地漏洞評估,還是在受感染的計算機上獲得最高權(quán)限?(2)情報收集階段在目標需求明確的情況下,滲透測試團隊開始進行情報收集工作。這項工作是后期工作的基礎,滲透測試團隊可以充分利用各類信息源、搜索工具和收集技術(shù),理論上收集的信息越多越詳細,后繼工作中使用的攻擊方式或手段可能就越多。8.3滲透測試在信息收集過程上,主要分為以下三級。一級是滿足規(guī)定要求,可通過自動化工具來獲得。二級是在一級標準基礎上增加手動分析,主要滿足長期安全策略需求。三級是在一級、二級所有信息基礎上增加大量手動分析,適合于軍方項目需求。在此階段可利用各類信息查詢工具、社會工程學、各類站點信息、微博、微信等獲得目標的真實信息,如真實IP地址、運行的操作系統(tǒng)、已開放的服務與端口、管理者信息等。8.3滲透測試(3)威脅建模階段信息收集結(jié)束之后,滲透測試團隊關(guān)注兩個關(guān)鍵因素:資產(chǎn)(設備、數(shù)據(jù)等)和攻擊者(或代理)。根據(jù)收集到的相關(guān)文檔,分類識別主要資產(chǎn)和次要資產(chǎn),分類識別目標組織內(nèi)部結(jié)構(gòu)及人員,分析目標內(nèi)部組織、人員與主要資產(chǎn)和次要資產(chǎn)之間的關(guān)系。然后滲透測試團隊根據(jù)這些信息分析攻擊目標的安全情況,找出安全薄弱之處,充分調(diào)動團隊成員的積極性,找出可能成功滲透的關(guān)鍵點及方案,并進一步深入分析每個方案細節(jié),從中選擇最佳方案。8.3滲透測試(4)漏洞分析階段滲透測試團隊通過建模找出滲透攻擊的最佳方案,然后根據(jù)具體情況分析攻擊目標主機的關(guān)鍵之處,并找到解決方法,這也是漏洞分析的主要任務。滲透測試團隊根據(jù)上一階段收集到的漏洞、端口、操作系統(tǒng)及版本、目標主機對應組織、資產(chǎn)情況等信息來分析已發(fā)現(xiàn)漏洞的利用原理、產(chǎn)生根源、重要性、可能的危害、風險等級,分析攻擊著手點。8.3滲透測試漏洞分析一般需要測試、驗證和研究,結(jié)合手工、半自動和自動化測試工具軟件來完成漏洞分析過程和漏洞驗證,然后根據(jù)詳細情況和團隊經(jīng)驗進一步分析、研究。尤其是根據(jù)已經(jīng)對外公開但有可能對目標系統(tǒng)有安全威脅的源代碼、管理信息、升級或補丁發(fā)布公告,分析出解決問題的可行、有效、快速的滲透攻擊路徑。8.3滲透測試(5)滲透攻擊階段漏洞分析完成后,各項準備工作基本完畢,滲透測試團隊就可以開始滲透了。這個過程是整個滲透測試過程中的核心部分,也是與目標系統(tǒng)“短兵相接”的階段。當漏洞被檢測出來之后,多數(shù)滲透測試團隊考慮如何利用該漏洞完成對計算機的控制。8.3滲透測試如果漏洞分析正確,則應精心策劃精確攻擊方案,確定侵入組織內(nèi)部的切入點,列出目標系統(tǒng)中高價值的目標資產(chǎn)清單。在測試過程中,要優(yōu)先考慮和選用攻擊成功概率最高的工具或手段。當新的漏洞被檢測出來以后,滲透測試團隊需要研究它的利用方法、精準打擊策略和漏洞防護策略。另外,有些漏洞如果是0day漏洞,則它的研究價值和利用價值可能更大。這里的0day漏洞是指已經(jīng)被發(fā)現(xiàn)但尚未對外公開并且軟件官方還沒有公布相關(guān)補丁的漏洞,這樣的漏洞極有可能已經(jīng)被技術(shù)更先進的黑客早早發(fā)現(xiàn)了,有可能黑客已經(jīng)悄悄地利用它了。8.3滲透測試(6)后滲透階段當目標系統(tǒng)已經(jīng)被成功滲透之后(以拿到管理員權(quán)限、控制目標主機或取得敏感數(shù)據(jù)為判斷依據(jù)),后滲透階段已經(jīng)開始了。在這個階段中,滲透測試團隊根據(jù)具體情況來分析目標系統(tǒng)涉及的業(yè)務、基礎設施、安全防御特點與弱點等,并選用不被目標主機安全防護軟件發(fā)現(xiàn)的模式來悄悄安裝后門程序,以便于滲透測試團隊后期控制和使用該目標主機;清除滲透痕跡,避免管理員發(fā)現(xiàn)后失去訪問控制權(quán)限。8.3滲透測試(7)報告階段本階段為滲透測試工作的總結(jié)階段,也是向客戶提交任務的階段。由于各個團隊對于滲透測試報告的內(nèi)容、風格等要求不同,具體的滲透測試報告之間可能差異很大。但無論如何,至少應向客戶說明測試前發(fā)現(xiàn)的問題、測試過程情況,以及測試后提升安全防御能力的策略和方法,必要時向客戶以圖表形式詳細展示目標系統(tǒng)存在的風險,加強客戶對目標主機的危機意識和安全保護意識。此外,應該向客戶展示攻擊途徑和發(fā)現(xiàn)的漏洞,幫助客戶理解、分析和修補系統(tǒng),解決安全薄弱環(huán)節(jié)。8.3滲透測試漏洞庫滲透測試團隊發(fā)現(xiàn)了漏洞后,根據(jù)漏洞的具體情況來評估漏洞的“價值”。如果漏洞類型是業(yè)界從未公開的并且官方也沒有公布該漏洞的補丁,這種漏洞的價值很大,我們稱之為0day漏洞。漏洞被發(fā)現(xiàn)后,一般廠商會推出補丁程序,但被黑客賣到地下黑色產(chǎn)業(yè)的漏洞可能會被惡意利用換取經(jīng)濟價值。8.3滲透測試為了管理已經(jīng)被發(fā)現(xiàn)的大量漏洞,現(xiàn)已出現(xiàn)多個漏洞管理平臺,如CNNVD(中國國家信息安全漏洞庫)、CNVD(國家信息安全漏洞共享平臺)、360漏洞云漏洞眾包響應平臺等。信息收集方法whois查詢和備案查詢企業(yè)或個人在注冊域名時被要求填入許多重要信息,通過whois能夠查詢到不限于注冊時填寫的更多信息。
whois有命令交互和線上查詢兩種方式,相比之下,線上查詢方式操作更為容易。8.3滲透測試常用的whois和備案查詢網(wǎng)站如表8-3所示
序
號類
型名
稱1whois騰訊云2whois阿里云3whois愛站網(wǎng)4whois站長之家5whois美橙互聯(lián)6whois中資源7whois愛名網(wǎng)8whois新網(wǎng)9whois易名網(wǎng)10whois西部數(shù)碼11whois納網(wǎng)12whois新網(wǎng)互聯(lián)13whois三五互聯(lián)14whoiswho.is15備案愛站16備案域名助手17備案天眼查18備案企查查表8-3
常用的whois和備案查詢網(wǎng)站8.3滲透測試子域名收集(1)“鐘馗之眼”ZoomEye(“鐘馗之眼”)是知道創(chuàng)宇旗下404實驗室驅(qū)動打造的中國第一款全球著名的網(wǎng)絡空間測繪搜索引擎,通過分布在全球大量測繪節(jié)點24h探測的信息實現(xiàn)整體或局部地區(qū)的網(wǎng)絡空間畫像。全球探測信息統(tǒng)計情況如圖8-6所示。使用“鐘馗之眼”來探測子域名,可以登錄其官網(wǎng),然后輸入“”,單擊“搜索”按鈕即可.部分結(jié)果顯示如圖8-7所示8.3滲透測試圖8-6
全球探測信息統(tǒng)計情況8.3滲透測試圖8-7
“鐘馗之眼”查詢子域名8.3滲透測試“鐘馗之眼”可為用戶提供API和導出功能,幫助用戶方便利用查詢結(jié)果。(2)站長之家登錄站長之家官網(wǎng),輸入“”,單擊“查看分析”按鈕可以看到查詢結(jié)果如圖8-8所示8.3滲透測試圖8-8
子域名爆破8.3滲透測試端口掃描服務器需要對外提供各類服務,每個服務都對應不同的端口號,范圍為0~65535。
其中,1~1024是固定的,各端口用途已經(jīng)規(guī)定好了; 1025~65535端口可用來建立與其他主機連接或由用戶自定義。
8.3滲透測試網(wǎng)絡攻擊人員可以通過掃描服務端口號來猜測和判斷提供的服務。在基本確定目標主機IP地址段范圍后,通過一些掃描工具探測該IP地址段范圍內(nèi)主機對外開放的端口號,可能有些服務端口號為默認值。常見的端口號及對應服務。如表8-4所示8.3滲透測試表8-4
常見的端口號及對應服務序
號端口
號服
務121FTP文件傳輸服務222SSH端口323TELNET終端仿真服務425SMTP簡單郵件傳輸服務553DNS域名解析服務669TFTP簡單文件傳輸協(xié)議780HTTP超文本傳輸服務8110HTTP超文本傳輸服務9135POP3“郵局協(xié)議版本3”使用的端口10161簡單網(wǎng)絡管理協(xié)議11443RPC遠程過程調(diào)用12445SNMP簡單網(wǎng)絡管理協(xié)議131433MSSQLServer數(shù)據(jù)庫默認端口號141521Oracle數(shù)據(jù)庫服務151863MSNMessenger的文件傳輸功能所使用的端口163128Squid代理默認端口173306MySQL默認端口號183389MicrosoftRDP微軟遠程桌面使用的端口195631SymantecpcAnywhere遠程控制數(shù)據(jù)傳輸時使用的端口205632SymantecpcAnywhere主控端掃描被控端時使用的端口215000MSSQLServer使用的端口8.3滲透測試(1)NmapNmap能夠掃描網(wǎng)絡上開放連接的計算機信息。自從1997年推出以來,Nmap采用GPL許可證,支持Linux、Windows、MacOSX、Solaris、BSD等系統(tǒng),曾是早期dLinux的網(wǎng)絡掃描和嗅探工具,既是網(wǎng)絡管理員和安全評估人員必備的工具軟件之一,又是網(wǎng)絡攻擊者經(jīng)常使用的工具軟件。
在KaliLinux中,默認情況下Nmap已經(jīng)安裝完畢,可以直接使用。也可以登錄Nmap官網(wǎng)下載,該網(wǎng)站提供Windows、Linux及macOS等版本的二進制安裝文件。8.3滲透測試
本節(jié)下載Windows版本(文件為nmap-7.92-setup),安裝后重啟計算機,單擊桌面上新增的“Nmap-ZenmapGUI”圖標運行Nmap。掃描時在主界面“目標”欄中填寫目標IP地址,配置掃描方式,“命令”欄中會顯示命令(也可直接修改),然后單擊“掃描”按鈕即可。窗口操作中比較復雜的部分為“命令”欄中Nmap的參數(shù)組合使用,現(xiàn)以某網(wǎng)站(202.118.xxx.26)為例介紹Nmap的使用。Nmap語法: nmap[掃描類型(s)][選項]{目標規(guī)格}8.3滲透測試其中,目標規(guī)格可以是主機名(、/24)、IP地址(202.118.xxx.26)、網(wǎng)段(202.118.xxx.1-254、202.118.xxx.1-202.118.xxx.254、202.118.xxx.0/24),這6種表示方法都是允許的。掃描類型可以是主機發(fā)現(xiàn)、掃描技術(shù)、端口規(guī)格及掃描順序、腳本掃描、操作系統(tǒng)檢測、時間和性能、防火墻/入侵檢測規(guī)避和欺騙、輸出、其他雜項,每項中又含有許多參數(shù)。例如,在“掃描技術(shù)”類型中有如下參數(shù)。8.3滲透測試
-sS:TCPSYN掃描。用root權(quán)限掃描,目標主機一般不會記錄。
-sT:TCPConnect掃描。目標主機會記錄掃描記錄。
-sA:TCPACK掃描。經(jīng)常用此方式繞過防火墻規(guī)則。
-sW:TCPWindow掃描。
-sM:TCPMaimon掃描(Maimon表示以Maimon名字命名的一種掃描算法)。
-sU:UDP掃描。8.3滲透測試
-sN:TCPNull掃描。
-sF:TCPFIN掃描。-sX:TCPXmas掃描。
--scanflags<flags>:自定義TCP掃描標志。
-sI:<zombiehost[:probeport]>:Idle掃描(Idle是一種掃描算法)
-sY:SCTPINIT掃描。補充說明:流控制傳輸協(xié)議(StreamControl)8.3滲透測試TransmissionProtocol,SCTP)是一個面向連接、全雙工的流量和擁塞控制傳輸協(xié)議,SCTP建立需要四次握手(TCP需要三次),前兩次為INIT過程,后兩次為COOKIE-ECHO過程。通過SCTPINIT/COOKIE-ECHO可檢測SCTP的端口開放狀況。8.3滲透測試
-/sZ:SCTPCOOKIE-ECHO掃描。補充說明同-sY參數(shù)。-sO:
IP協(xié)議掃描。
-b<FTPrelayhost>:FTPbouncescan(FTP彈射掃描)。除“掃描技術(shù)”外,其他掃描類型可設置不同的參數(shù),現(xiàn)列舉部分常用的參數(shù)。
-iL:讀取目標主機列表,如“-iLD:\SCANIP.TXT”。8.3滲透測試
-T<0-5>:設置定時值,數(shù)值越大表示速度越快,如-T4、-T5。
-F:快速模式,掃描的端口數(shù)量少于默認掃描情況的端口數(shù)量。
-O:探測操作系統(tǒng),存在誤報。
-A:全面開啟操作系統(tǒng)檢測、版本檢測、腳本掃描和路由跟蹤功能。
-v:輸出詳細情況,使用-vv(或更多)能輸出更加詳細的信息。。8.3滲透測試-p:指定端口掃描范圍,如1~65535、80、443等
-Pn:掃描前不ping目標主機,防止有些防火墻禁止ping命令。
-sV:探測端口及版本服務信息。
-sn:關(guān)閉端口掃描功能。
-V:打印版本號。
-oN:生成正常格式的報告文件。
-oX:生成XML格式的報告文件。8.3滲透測試
-oG:生成grepable格式的報告文件。
-traceroute:顯示本機到目標的躍點。Nmap具體如何使用呢?現(xiàn)以IP地址為202.118.xxx.26的主機舉例。例如:nmap-T4-A-v202.118.xxx.26//全面加速檢測并顯示詳細過程8.3滲透測試在Nmap界面的配置選項中,Nmap提供了10種配置選擇,如表8-5所示。序
號配置名稱命令參數(shù)1Intensescannmap-T4-A-v202.118.xxx.262IntensescanplusUDPnmap-sS-sU-T4-A-v202.118.xxx.263Intensescan,allTCPportsnmap-p1-65535-T4-A-v202.118.xxx.264Intensescan,nopingnmap-T4-A-v-Pn202.118.xxx.265Pingscannmap-sn202.118.xxx.266Quickscannmap-T4-F202.118.xxx.267Quickscanplusnmap-sV-T4-O-F--version-light202.118.xxx.268Quicktraceroutenmap-sn--traceroute202.118.xxx.269Regularscannmap202.118.xxx.2610Slowcomprehensivescannmap-sS-sU-T4-A-v-PE-PP-PS80,443-PA3389-PU40125-PY-g53--script"defaultor(discoveryandsafe)"202.118.xxx.26表8-5
Nmap的10種配置選擇與實際命令對應關(guān)系8.3滲透測試首先在Nmap界面“目標”欄中輸入“202.118.xxx.0/24”,在“命令”欄中輸入“nmap-T4-A-v-v-Pn202.118.xxx.0/24”,然后單擊“掃描”按鈕,最后掃描到5臺主機,每臺主機所開的端口數(shù)量不同如圖8-9所示8.3滲透測試圖8-9
Nmap命令執(zhí)行結(jié)果示例8.3滲透測試(2)御劍高速端口掃描工具御劍高速端口掃描工具是一款容易使用的網(wǎng)站后臺掃描工具,它采用圖形化界面,用戶非常容易使用。使用時,只需填入想要掃描的IP地址段的開始IP地址和結(jié)束IP地址,以及端口號,單擊“開始”按鈕開始掃描即可。(3)在線端口掃描在線端口掃描是端口掃描的另一種常見方式,以使用coolaf進行在線端口掃描為例如圖8-10所示8.3滲透測試圖8-10
在線檢測域名和端口8.3滲透測試(4)BBScanBBScan是一款高并發(fā)、輕量級的掃描工具,能夠在短時間內(nèi)以最少規(guī)則來掃描數(shù)十萬臺目標主機,有利于滲透測試人員快速從大量主機中找到可能存在漏洞的目標,再使用半自動化測試或重量級掃描工具進一步測試。此外,BBScan還可以作為輕量級插件集成到自動化掃描軟件,具體方法讀者可自行查找學習。8.3滲透測試(5)MasscanMasscan也是一款比較流行的端口掃描工具,允許用戶自行定義掃描地址范圍和端口范圍,發(fā)包速度快,默認情況下為每秒100包(Windows環(huán)境下可達每秒30萬包,Linux環(huán)境下可達每秒160萬包),曾被認為最快的互聯(lián)網(wǎng)端口掃描器,具體方法讀者可自行查找學習。8.3滲透測試
以Ubuntu系統(tǒng)環(huán)境為例,執(zhí)行如下操作。sudoapt-getinstallgitgccmakelibpcap-devgitclone/robertdavidgraham/masscancdmasscanmake
使用方法也很簡單,例如:masscan-p80,8080-8090/8--rate=20008.3滲透測試查找真實IP地址企業(yè)為了自己網(wǎng)站的安全性和訪問速度往往采用CDN技術(shù)。所謂的CDN,是指內(nèi)容分發(fā)網(wǎng)絡(ContentDeliveryNetwork),它以現(xiàn)有網(wǎng)絡為基礎,依靠不同地理位置的邊緣服務器及中心平臺實現(xiàn)負載均衡、內(nèi)容分發(fā)等功能的智能虛擬網(wǎng)絡,能夠讓用戶以最近物理距離的策略來取得所需內(nèi)容,達到降低網(wǎng)絡擁塞程度和提高訪問速度的目的。8.3滲透測試企業(yè)用戶采用了CDN技術(shù)之后,真實的服務器IP地址就被隱藏起來。對于黑客而言,如果找不到服務器的真正IP地址就無法實施網(wǎng)絡攻擊。(1)在線CDN發(fā)現(xiàn)者登錄CDNPlanet官網(wǎng),輸入需要測試的目標網(wǎng)站域名或網(wǎng)址,運行“RunCDNFinder”即可。(2)多地ping目標主機采用了CDN技術(shù)后,用戶獲取資源時會訪問離自己最近的服務器。如果采用多地ping方法可以查看到不同響應時間,說明企業(yè)采用了CDN技術(shù)。8.3滲透測試從支持ping服務的在線網(wǎng)站中選擇一個,輸入需要ping的目標網(wǎng)站域名或網(wǎng)站,選擇全部(含有電信、多線、聯(lián)通、移動、其他),單擊“ping檢測”按鈕,很快就看到不同的響應時間,說明測試的目標網(wǎng)站采用了CDN技術(shù)。(3)DNS查訪通過查詢目標網(wǎng)站的DNS也可以驗證網(wǎng)站是否采用了CDN技術(shù)。具有DNS在線查詢功能的網(wǎng)站較多,如DNSDB和ViewDNS.info等。8.3滲透測試探測旁站及C段所謂旁站,是指和目標網(wǎng)站在同一臺服務器上的其他網(wǎng)站。采用旁站方式是商業(yè)網(wǎng)站節(jié)約硬件資源的一種理想方式。C段則是指和目標服務器IP地址中第三段(IPv4地址中左側(cè)開始第三字節(jié))處于同一段的地址,它是行業(yè)的一個通俗說法。這些旁站及C段的服務器往往具有與目標網(wǎng)站相同的信息或服務,甚至是同一個組織內(nèi)部的,所以收集此類網(wǎng)站信息對于獲得目標主機信息具有很大的參考價值。8.3滲透測試信息搜索方法多樣,除上述手段外,還有社會工程學、CMS識別、SSL/TLS證書查詢、資產(chǎn)識別等,相應的工具軟件、在線網(wǎng)站非常豐富漏洞掃描漏洞是指目標系統(tǒng)存在的各種缺陷,漏洞掃描(或掃描漏洞)是指驗證目標系統(tǒng)可能存在的缺陷。
8.3滲透測試(1)NessusNessus是常用的一款漏洞掃描與分析軟件,需要用戶注冊激活使用,KaliLinux中默認情況下沒有安裝此軟件,需要用戶到Tenable公司官網(wǎng)自行下載安裝Nessus,目前支持KaliLinux的最新版本文件為Nessus-10.3.0-debian9_amd64.deb。(2)OpenVASOpenVAS是一款開源的、基于B/S結(jié)構(gòu)的漏洞掃描工具,作為Nessus項目的分支,OpenVAS功能齊全,可大規(guī)模掃描各種級別互聯(lián)網(wǎng)和工業(yè)協(xié)議,掃描后向用戶提供掃描結(jié)果。8.3滲透測試在KaliLinux中安裝OpenVAS前應保證KaliLinux版本較新,因為OpenVAS是基于Python的,有些代碼與KaliLinux有關(guān)系。注意:安裝時使用root權(quán)限,操作命令前不再單獨說明。
1)安裝OpenVAS。2)初始化OpenVAS庫。3)查看OpenVAS網(wǎng)絡狀態(tài)。4)訪問OpenVAS。8.3滲透測試
(3)BurpSuiteBurpSuite是一款集成了多種攻擊Web應用工具的自動化滲透測試軟件,它通過多個接口連接多個集成的攻擊工具來加快攻擊進程,使得不熟悉攻擊的人只要熟悉BurpSuite就能輕松、高效地完成滲透測試工作,實現(xiàn)跨站點腳本(XSS)、SQL注入、跨站點請求偽造、XML外部實體注入、目錄遍歷等功能,因此它成為專業(yè)滲透測試人員的常用工具之一。8.3滲透測試BurpSuite由Java語言編寫,基于Java自身的跨平臺性,需要手工配置一些參數(shù),觸發(fā)一些自動化流程,然后才會開始工作。BurpSuite可執(zhí)行程序是Java文件類型的jar文件,可以從官網(wǎng)下載。它提供兩個版本:專業(yè)版和社區(qū)版,支持JAR、Linux(64-bit)、macOS(ARM/M1)、macOS(Intel)、Windows(64-bit)操作系統(tǒng)。免費的社區(qū)版的BurpSuite會有許多限制,無法使用很多高級功能,如果想使用更多的高級功能,需要付費購買專業(yè)版。如圖8-11所示。8.3滲透測試圖8-11
BurpSuite主界面8.3滲透測試此外,還有Acunetix、W3AF、Wapiti、Wireshark、Wpscan、SQLmap、Lynis、Skipfish、網(wǎng)神漏洞掃描系統(tǒng)等軟件都可以實現(xiàn)漏洞掃描功能。目前,該方面的軟件工具向智能化、自動化方向發(fā)展,為網(wǎng)絡安全保駕護航。8.3滲透測試威脅建模階段概述建立一個正確、可實施的滲透測試威脅模型有助于高質(zhì)量、高效率地完成滲透測試工作。《PTES滲透測試執(zhí)行標準》雖然不要求使用特定模型,但要求所用模型在被重復應用到將來測試結(jié)果相同的項目上時,應該在威脅的表示形式、模型能力、被測試目標組織資格等方面的評測尺度是一致的。8.3滲透測試“PTES”標準比較重視傳統(tǒng)威脅建模的兩個關(guān)鍵要素:資產(chǎn)和攻擊者(威脅社區(qū)/代理),并且細分為業(yè)務資產(chǎn)、業(yè)務流程、威脅社區(qū)及其功能。當從攻擊者角度建模時,可以從威脅社區(qū)、功能、動機、組織執(zhí)行影響4方面實施。
威脅社區(qū)可與公司業(yè)務SWOT分析關(guān)聯(lián),功能主要為技術(shù)方面,動機為攻擊者的最初目的,組織執(zhí)行影響是指目標系統(tǒng)組織單位自身社會影響力、敏感度、發(fā)展地位等,以便于更準確地預測可能的“價值”損失場景。8.3滲透測試威脅建模階段對滲透測試團隊和組織都至關(guān)重要,如風險偏好、優(yōu)先級的清晰度,同時能讓滲透測試團隊更加專注于模擬攻擊者的工具、技術(shù)、功能、可訪問性,包括普通情況下參與或組織測試的實際目標。建立威脅模型時最好能夠與被測試組織協(xié)調(diào)溝通,共同實施建模,即使在黑盒測試情況下建模也要盡可能考慮攻擊者和組織的觀點。
建立好的模型也應詳細記錄并作為測試報告的一部分提交給客戶。8.3滲透測試(1)高級威脅建模過程高級威脅建模過程包括收集相關(guān)文檔、識別和分類主要資產(chǎn)和次要資產(chǎn)、識別威脅和威脅社區(qū)并對其進行分類、將威脅社區(qū)映射到主要資產(chǎn)和次要資產(chǎn)。托管的應用軟件系統(tǒng)、第三方平臺、后臺數(shù)據(jù)庫中的客戶信息都可以作為重要資產(chǎn),因此有些信息是可以作為依據(jù)經(jīng)過推理獲得目標系統(tǒng)信息的,這些托管的應用軟件系統(tǒng)、第三方平臺可能成為黑客攻擊目標系統(tǒng)的“跳板”或“墊腳石”。8.3滲透測試(2)高級建模工具滲透測試攻擊工具和建模工具比較多。側(cè)重于業(yè)務資產(chǎn)(目標系統(tǒng))的工具通常需要定量輸入來描述每個潛在目標測試的重要性,輸入的數(shù)據(jù)可能是定性的。以業(yè)務流程(描述對目標攻擊的過程)為主的工具專注于業(yè)務流程、信息流和技術(shù)架構(gòu)是如何識別潛在的攻擊目標的,并考慮哪些部分最有可能被攻擊者利用。8.3滲透測試業(yè)務資產(chǎn)分析(1)組織數(shù)據(jù)在組織數(shù)據(jù)時應關(guān)注內(nèi)部政策、發(fā)展計劃和程序(可用于確定組織中關(guān)鍵角色和重要業(yè)務流程)、相關(guān)產(chǎn)品信息(如專業(yè)、商業(yè)秘密、商業(yè)計劃、源代碼、研發(fā)數(shù)據(jù)、新產(chǎn)品信息等)、營銷信息(如促銷、新產(chǎn)品發(fā)布計劃、合作伙伴、供應商、營銷計劃、公關(guān)數(shù)據(jù)、企業(yè)發(fā)展路線圖等)、財務信息(如銀行、信貸、股權(quán)賬戶等)、相關(guān)技術(shù)資料(如組織及組織所用的技術(shù)信息、基礎架構(gòu)設計信息、系統(tǒng)配置信息、用戶賬戶憑據(jù)、特權(quán)用戶賬戶憑據(jù)等8.3滲透測試(2)識別人力資產(chǎn)識別人力資產(chǎn)時應注意人力隸屬關(guān)系。在滲透測試攻擊中,人力資產(chǎn)更傾向于可以用來泄露信息、操縱或能夠有利于攻擊者的人。人力資產(chǎn)不一定職位高,一般是直接或間接與系統(tǒng)相關(guān)聯(lián)的人,常見來源有執(zhí)行管理層、行政助理、中層管理人員、技術(shù)/團隊領(lǐng)導、工程師、技術(shù)人員、人力資源部門等。8.3滲透測試業(yè)務流程分析原材料、零部件、新產(chǎn)品都要通過流通來增加價值,各種類型企業(yè)會在流通環(huán)節(jié)中獲利生存。所以,業(yè)務流程及維護這個流程的雇傭人員、技術(shù)和資金等都屬于一個價值鏈。
8.3滲透測試滲透測試團隊通過分析目標系統(tǒng)組織的業(yè)務流程可以快速發(fā)現(xiàn)隱藏的關(guān)鍵問題、業(yè)務運作過程、利潤產(chǎn)生的關(guān)鍵,以及哪些環(huán)節(jié)容易受到威脅。根據(jù)業(yè)務的關(guān)鍵性,可將業(yè)務流程分為關(guān)鍵業(yè)務流程和非關(guān)鍵業(yè)務流程,通過分配不同權(quán)重來表示其重要性。然后按相同邏輯進行分析,尤其是一些非關(guān)鍵業(yè)務流程可以組合成一個重要滲透測試場景,該場景可能是一個重要缺陷。8.3滲透測試(1)技術(shù)基礎設施配套流程滲透測試團隊要清晰地識別和映射IT基礎架構(gòu)設施,如計算機網(wǎng)絡、各計算機不同的使用場合等,將威脅模型向漏洞映射和利用進行轉(zhuǎn)換。(2)信息資產(chǎn)支持過程信息資產(chǎn)是組織中現(xiàn)有的知識庫,它們往往與技術(shù)基礎設施一起構(gòu)成映射,起到參考或支持材料(決策、法律、營銷等)作用。8.3滲透測試(3)人力資產(chǎn)支持流程所有參與目標系統(tǒng)業(yè)務流程分析、業(yè)務流程中具體流程的人員都應該備案,滲透攻擊人員可能通過社會工程學滲透此類人員。(4)第三方合作企業(yè)供應商凡是與目標系統(tǒng)有業(yè)務往來的第三方企業(yè)、合作伙伴、供應商等,都應該記錄在案。此范圍比較廣泛,不僅涉及往來技術(shù)人員、商務,還包括一些平臺。8.3滲透測試威脅代理/社區(qū)分析根據(jù)企業(yè)內(nèi)部、企業(yè)外部,以及是否有助于特定代理來區(qū)別威脅代理和社區(qū)。一些威脅代理/社區(qū)分類可能來自企業(yè)內(nèi)部的員工、中高級管理人員、網(wǎng)絡管理員、系統(tǒng)管理員、服務器管理員、開發(fā)人員、工程師、技術(shù)人員、承包商及其外部用戶、一般用戶社區(qū)和遠程技術(shù)支持等,也可能來自企業(yè)外部的商業(yè)伙伴、競爭對手、承包商、供應商、網(wǎng)絡攻擊者等。8.3滲透測試(1)員工目標系統(tǒng)組織兼職或全職聘用的人員,可能受人唆使或脅迫、利益驅(qū)動或其他特殊原因而成為系統(tǒng)的威脅者或破壞者,盡管技能水平差異很大,但內(nèi)部破壞性可能很大。(2)中高級管理人員中高級管理人員在直接為公司工作時往往具有一定的權(quán)限,甚至可以訪問特殊信息。因此,中高級管理人員的信息保密工作對于信息的安全防護來說十分重要。8.3滲透測試威脅能力分析在確定了威脅來源后,還要進一步分析威脅來源的能力,以便構(gòu)建一個更準確的威脅模型,該模型能夠提高威脅人員成功破壞目標系統(tǒng)的實際概率。(1)分析使用中的工具分析威脅來源可能使用的任何工具,包括額外獲得其他先進工具的途徑。8.3滲透測試(2)相關(guān)漏洞/有效負載的可用性每個企業(yè)的目標系統(tǒng)都具有環(huán)境要求,根據(jù)威脅代理/社區(qū)曾經(jīng)獲取開發(fā)與此環(huán)境相關(guān)漏洞的能力來分析威脅代理/社區(qū),同時包括可能存在通過第三方、業(yè)務合作伙伴來訪問目標系統(tǒng)漏洞的可能性。8.3滲透測試(3)通信機制根據(jù)威脅代理/社區(qū)能夠使用的通信機制來評估針對目標系統(tǒng)實施攻擊的復雜度。這些通信機制簡單的可能是一些公開可用的技術(shù)(如加密),復雜的可能是專業(yè)工具和服務。(4)可及性從目標系統(tǒng)的組織風險來判斷威脅者對組織或相關(guān)特定資產(chǎn)的可訪問性,并創(chuàng)建完成清晰的滲透測試方案。8.3滲透測試動機建模應注意威脅代理/社區(qū)的動機變化,以便進一步分析和預測。常見的動機有金錢、黑客行為、怨恨報復、聲譽、滲透訪問各類系統(tǒng)等。關(guān)注類似組織曾受攻擊的新聞為提高威脅模型質(zhì)量,需要提供同行業(yè)、垂直行業(yè)的比較,包括相關(guān)事件或新聞及面臨的挑戰(zhàn)。這種比較可用于驗證威脅模型。8.3滲透測試漏洞分析階段漏洞測試漏洞測試也叫作漏洞掃描,它是發(fā)現(xiàn)主機系統(tǒng)、應用軟件中可被攻擊者利用的潛藏缺陷的過程。漏洞測試的過程會有些不同,但主要原則是相同的。進行漏洞分析時,要求滲透測試團隊應注意測試的深度和廣度。測試的深度是指漏洞測試時,縱向深入系統(tǒng)的程度,滲透測試團隊應量身定制測試來滿足目標的深度要求,并始終驗證測試的深度,以確保評估結(jié)果符合預期。8.3滲透測試除深度外,漏洞測試時還必須考慮廣度。廣度包括目標網(wǎng)絡、網(wǎng)段、主機、應用軟件等內(nèi)容;同樣,要求滲透測試團隊應始終驗證測試的廣度,以確保測試符合測試范圍。主動測試漏洞的主動測試是指滲透測試團隊直接與被測目標系統(tǒng)交互,主動向被測系統(tǒng)發(fā)送特定的測試信息,同時檢查測試的輸出結(jié)果是否符合預期。在主動測試中,滲透測試團隊必須花費大量時間來設計可執(zhí)行的測試用例。8.3滲透測試目前,我們絕大多數(shù)的測試都是主動測試,它主要采用自動和手動兩種方法與目標進行交互。自動化測試是指利用軟件與目標進行交互,檢查響應,并根據(jù)這些響應確定是否存在漏洞。自動化流程有助于減少時間和勞動力需求。常見的漏洞掃描一般分為端口掃描、服務掃描和標志提取。前兩者容易理解。與端口掃描和服務掃描相同,標志提取也是一種收集端口、服務、操作系統(tǒng)等信息的方法,它用于識別網(wǎng)絡目標主機正在運行的應用程序和操作系統(tǒng)的版本。8.3滲透測試被動測試漏洞的被動測試是指被測目標系統(tǒng)在真實正常的運行狀態(tài)下,滲透測試團隊不干預被測系統(tǒng)的運行,只是被動地接收目標系統(tǒng)的輸入/輸出信息,通過分析來判斷程序運行是否正常。漏洞驗證漏洞驗證是指通過一系列計算機技術(shù)或方法來檢測并驗證所提交或聲明的漏洞是否真實存在。驗證過程中會使用多種工具,關(guān)系到結(jié)果的需求可能也會變得復雜。8.3滲透測試研究當目標系統(tǒng)中發(fā)現(xiàn)漏洞并經(jīng)過驗證之后,就有必要研究漏洞的潛在可利用性。滲透攻擊階段滲透攻擊是滲透測試過程中最重要的環(huán)節(jié),手段和方法繁多,工具軟件也極其豐富。常見的Web攻擊方式有SQL注入、XSS跨站腳本攻擊、口令爆破、拒絕服務等在此階段,滲透測試團隊根據(jù)前期的信息收集和漏洞掃描結(jié)果基本可以確定漏洞類型,此時就可以采取適當?shù)姆绞嚼谜页龅哪繕讼到y(tǒng)漏洞來部署攻擊方案,如攻擊的最佳時間、攻擊切入口、8.3滲透測試8.3滲透測試攻擊方法、攻擊工具、提取管理員權(quán)限等。社會工程攻擊
社會工程攻擊是指利用人與人之間的信任關(guān)系來進一步實現(xiàn)某種類型的惡意目標,一般通過溝通、謊言欺騙、身份假冒或其他交流方式千方百計地從合法用戶處套取秘密或其他信息。介紹一款KaliLinux集成的社會工程工具軟件——SocialEngineerToolkit(社會工程師工具包)如圖8-12所示圖8-12
SocialEngineerToolkit8.3滲透測試8.3滲透測試
SocialEngineerToolkit是一個開源的應用程序,可用于圍繞社會工程開展的滲透測試,是利用社會工程類型環(huán)境下的高級技術(shù)攻擊。使用時用root賬號登陸口令爆破
破解密碼、拿到權(quán)限永遠是令黑客興奮的事。KaliLinux中集成多款口令爆破工具,互聯(lián)網(wǎng)上也有在線密碼爆破工具。(1)Hashcat哈希貓(Hashcat)是開源的、號稱世界最快的密碼破解程序,目前具有支持350多種哈希類型算法破解、多平臺(CPU、GPU、APU等)、多操作系統(tǒng)(Linux、Windows和macOS)、多哈希(同時破解多個哈希)和分布式破解等功能。使用GPU運行該款軟件破解哈希時要高
8.3滲透測試8.3滲透測試于CPU,除KaliLinux集成安裝外,也可到Hashcat官網(wǎng)下載
(2)Aircrack-ngAircrack-ng是一套完整的Wi-Fi密鑰破解工具,該軟件專注于Wi-Fi安全的不同領(lǐng)域,如監(jiān)控領(lǐng)域中數(shù)據(jù)包捕獲及分析,攻擊領(lǐng)域中數(shù)據(jù)包的注入重放攻擊、身份驗證攻擊、假冒接入點攻擊等,測試領(lǐng)域中檢查Wi-Fi網(wǎng)卡和驅(qū)動程序功能(捕獲和注入),破解領(lǐng)域中實現(xiàn)WEP和WPAPSK(WPA1和2)的破解。Aircrack-ng采用命令行方式操作,可運行于Linux、Windows、macOS、FreeBSD、OpenBSD、NetBSD等系統(tǒng)上(在操作前應檢測無線網(wǎng)卡類型和驅(qū)動是否符合軟件要求)。該軟件的出現(xiàn)能夠幫助一個普通用戶在幾分鐘內(nèi)破解Wi-Fi密碼,這對于家庭Wi-Fi而言構(gòu)成了嚴重威脅。此外,口令爆破工具還有Hydra、eaver、JohntheRippe及在線破解網(wǎng)站。8.3滲透測試漏洞利用漏洞利用就是利用已經(jīng)發(fā)現(xiàn)的硬件、軟件或系統(tǒng)上的漏洞來獲得系統(tǒng)控制權(quán)的過程。漏洞掃描軟件對系統(tǒng)進行掃描后,發(fā)現(xiàn)一些漏洞,如弱口令、SQL注入、IP假冒、XSS漏洞等。8.3滲透測試SQL注入攻擊(1)SQL語句結(jié)構(gòu)化查詢語言(StructuredQueryLanguage,SQL)是一種支持數(shù)據(jù)庫操作和程序設計的編程語言,可對數(shù)據(jù)庫完成建立、刪除、查詢、關(guān)聯(lián)等操作,目前應用非常廣泛。1)SELECT…FROM…語句。SELECT…FROM…語句用于從數(shù)據(jù)庫中選取數(shù)據(jù)2)WHERE子句。WHERE子句用于過濾記錄,即條件。8.3滲透測試2)WHERE子句。WHERE子句用于過濾記錄,即條件。3)邏輯條件語句。NOT(非)、AND(與)、OR(或)3種邏輯運算用于基于一個以上的條件對記錄進行過濾。8.3滲透測試4)函數(shù)。SQL函數(shù)非常豐富。在SQL注入攻擊時,攻擊者會巧妙利用函數(shù)設計和構(gòu)造一些特殊的表達式從前端界面輸入系統(tǒng)中,后臺接收到特殊的表達式并執(zhí)行,拼接成可執(zhí)行的SQL語句,該語句可能造成數(shù)據(jù)泄露。用的函數(shù)有user()、mid()、substr()、char()、ascii()等。8.3滲透測試(2)SQL注入1)SQL注入概念。SQL注入(SQLInjection),也稱為SQL注入漏洞攻擊,是指由服務器漏洞導致錯誤執(zhí)行前端惡意輸入的特殊代碼而產(chǎn)生的漏洞攻擊行為。2)SQL注入原理
例子見課本P227頁8.3滲透測試(3)SQL注入攻擊工具——sqlmap在實施SQL注入攻擊之前,需要掃描目標網(wǎng)站是否存在SQL注
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度旋挖樁基施工勞務分包及技術(shù)指導合同3篇
- 2025年度數(shù)據(jù)中心物業(yè)安保保潔服務外包合同范本9篇
- 二零二五年度農(nóng)業(yè)機械租賃與農(nóng)業(yè)綠色發(fā)展合作合同3篇
- 2024年中國環(huán)保型寶石加工液市場調(diào)查研究報告
- 2025年度建筑工程用砂石料采購合同(2025版)3篇
- 2024年中國搪瓷管道市場調(diào)查研究報告
- 《磷酸化處理對酪蛋白酶解特性的影響》
- 2025年度教育機構(gòu)授權(quán)經(jīng)銷商合作協(xié)議范本3篇
- 2024年六角蜂窩填料項目可行性研究報告
- 2024年USB易拉線項目可行性研究報告
- 《國家課程建設》課件
- 新教科版小學1-6年級科學需做實驗目錄
- 2024年貴州貴陽市貴安新區(qū)產(chǎn)業(yè)發(fā)展控股集團有限公司招聘筆試參考題庫含答案解析
- 江西省特種作業(yè)人員體檢表(共1頁)
- 幼兒園大班主題《我自己》個別化學習
- 派出所立體化勤務指揮室建設模式探析――以大連市公
- 物資設備部工作述職報告
- 精品資料(2021-2022年收藏)龍門吊軌道基礎施工方案
- 畫廊與畫家合作協(xié)議書范本
- 全口義齒-印模與模型-課件PPT
- 地方課程六年級上冊
評論
0/150
提交評論