本書主要討論目前常見的漏洞利用與提權技術,分別從攻擊和防御的角度介紹滲透過程中相對*難,同時又是滲透*境界的部分如何獲取服務器乃至整個網絡的權限。本書共分9章,由淺入深,按照讀者容易理解的方式對內容進行分類,每一節介紹一個典型應用,同時結合案例進行講解,并給出一些經典的總結。本書的目的是介紹漏洞利用與提權技術,結合一些案例來探討網絡安全,從而遠離黑客的威脅。通過本書的學習,讀者可以快速了解和掌握主流的漏洞利用與提權技術,加固自己的服務器。
營造在案例中學習漏洞利用與提權技術的實戰環境,涵蓋Windows及Linux的漏洞利用與安全防范,以及MSSQL、MySQL、Oracle、Metasploit和Serv-U、Winmail、Radmin、pcAnywhere、JBoss、Struts、JspRun、Gene6 FTP Server、Tomcat、Citrix、VNC、ElasticSearch、Zabbix等的漏洞利用與提權,每一節介紹一個典型應用,為網絡攻防打下堅實基礎。
推薦序
在安全行業從業這么多年,回過頭來發現,和小兵居然相識10年了。作為10年前就對網絡安全有濃厚興趣,在安全圈子里扎根、生長的技術人,小兵的自學能力和分享精神都是我所佩服的。
我一直認為,安全人才沒有辦法定向培養,只能依賴天賦,而我們要做的就是發掘和激發少部分人的天賦,最好的辦法則是通過活生生的案例引發興趣,讓興趣成為最好的導師。這本書也和小兵的為人一樣實在,有大量干貨、新貨,能幫助剛對安全產生興趣卻不知道從哪里入手的讀者快速入門、上手,通過本書捅破那層窗戶紙,找到自己感興趣的新領域。閱讀本書,你將在網絡安全的路上走得更快、更遠!
360網絡攻防實驗室負責人
陸羽(林偉)
在經典的滲透測試過程中,有很多行之有效的漏洞利用及相關場景下的提權思路,這本書對這些內容做了全面的介紹。這本書不僅覆蓋攻擊,還詳細講解了相應的防御方法,內容皆來自一線實戰,值得參考。
《Web前端黑客技術揭秘》作者
余弦
Shadow Brokers發布NSA武器庫在網絡世界所造成的影響,讓我們感受到了滲透之下,漏洞利用工具為王的可怕。當漏洞利用工具并不完備時,網絡滲透測試就無法有效地進行了嗎?顯然不是這樣的。滲透的精髓在于組合與細節利用,在一萬種網絡系統環境中有一萬種滲透思路和方法。這種極具創造性的入侵行為體現了滲透測試人員的能力與水平,經驗老道的安全人員總有自己獨特的奇淫技巧,這些技巧就像彈藥一樣,根據滲透目標的不同有的放矢,以最終獲得目標高權限為結果的過程是有趣的且具有藝術性的。我想,這就是滲透測試的魅力所在。當一個安全人員通過別人從未嘗試過的組合拳最終滲透了目標時,他所收獲的成就感是無與倫比的。每個安全人員都對擁有大師級的網絡滲透技術夢寐以求,而獲得此水平的前提就在于基礎一定要扎實,如果現在有一萬種滲透技巧存在,那就將它們融會貫通,唯有消化和吸收了所有已知的滲透技巧,才能進一步締造嶄新的攻防手法。
本書是一本滲透技巧極其豐富的工具書,涵蓋了滲透測試中絕大部分環境下的攻防利用之道,是初學者打基礎、高手查缺補漏的絕佳教材。
360獨角獸安全團隊創始人
楊卿
前言
2017年5月15日爆發的WannaCry勒索病毒,中毒者欲哭無淚,全球損失慘重!通過此次事件,人們發現,網絡安全不再遙遠。以前提到網絡安全黑客等字眼,人們大都會認為那是傳說和傳奇,一般都是一笑而過。而今,隨著互聯網攻防技術的發展,誰還能說自己在信息世界里可以獨善其身?2016年雅虎泄露10億條個人賬號信息,國內被公開泄露的個人隱私數據甚至高達幾十億條。截至2017年年底,由于網絡電信詐騙等導致的個人及公司損失超過100億元。在科技飛速發展的今天,如果我們能掌握一些安全知識、提高自己的安全意識,就極有可能避免個人財產損失。
在2016年出版《黑客攻防:實戰加密與解密》后,我們的團隊經過一年多的努力,將全部研究成果分享給廣大讀者朋友。在本書中,我們從更加專業、更加體系化的角度來討論和研究網絡安全,對關鍵技術進行詳細的研究、再現和總結,同時介紹了一些典型案例,讓讀者身臨其境,充分了解和掌握漏洞利用與提權的精髓!
2017年6月1日,《中華人民共和國網絡安全法》正式實施,國家對網絡安全的重視程度前所未有,很多高校都新增或者加強了網絡安全專業建設,將信息安全提升到一級學科,提升到國家戰略層面!沒有網絡空間的安全,就沒有國家的安全!
本書內容
本書主要討論目前常見的漏洞利用和提權技術,從攻擊與防御的角度介紹滲透過程中相對最難,同時又是滲透最高境界的部分如何獲取服務器乃至整個網絡的權限。本書共分9章,由淺入深,按照讀者容易理解的方式對內容進行分類,每一節介紹一個典型應用,同時結合案例進行講解,并給出一些經典的總結。
第1章 提權基礎
提權是整個黑客攻防過程中最難的環節,提權過程則匯聚了思路、技巧、工具和技術。本章著重介紹提權的基礎知識,包括如何進行提權,如何破解Windows及Linux密碼,一些后門工具的使用,如何實現對提權工具的免殺,以及端口轉發和代理工具的使用。
第2章 Windows漏洞利用與提權
Windows是目前使用最為廣泛的操作系統之一。從2000年開始,計算機操作系統飛速發展,從Windows 95到Windows Server 2017,人們感受到了互聯網技術的跌宕起伏。在操作系統層面,曾經多次爆發高危漏洞,攻擊者可以遠程直接獲取目標服務器的權限。在滲透過程中,很多人認為提權是最難攻克的,其實不然,只要掌握了相關的知識點,在各種技術的配合下,99%都可以提權成功。本章著重介紹Windows提權的基礎知識、Windows提權技巧、常用的口令掃描方法及一些新穎的提權方法和思路。
第3章 Linux漏洞利用與提權
在網絡滲透過程中,經常碰到通過CMS等漏洞獲取了服務器的WebShell,但因為Linux服務器設置了嚴格的權限而較難獲取root賬號權限的情況。在本章中討論了Linux密碼的獲取與破解,以及利用一些Linux漏洞來提權的方法和技巧。本章原來的設想是對Linux中存在的各種本地提權漏洞進行介紹和利用,但在實際測試過程中,未能達到大眾化利用的程度,因此將在后續的圖書中陸續介紹這些方法。本章將著重介紹如何對Linux密碼進行破解,以及如何通過各種漏洞來滲透并提權Linux服務器。
第4章 MSSQL漏洞利用與提權
MSSQL數據庫是微軟開發的目前世界上最為流行的數據庫軟件之一,它只能運行在Windows平臺上,最常見的架構為ASP MSSQL和ASP.NET MSSQL。在Windows Server 2008以下版本中,只要獲取了sa賬號及其密碼,就可以快速、方便地通過一些技巧獲取系統權限。在Windows Server 2008以上版本中,雖然不能直接獲取系統權限,但可以通過恢復存儲過程等方式執行命令,通過系統中存在的提權漏洞進行提權。本章著重介紹SQL Server提權的基礎知識,以及Windows下SQL Server的提權方法,同時通過一些案例介紹了如何利用sa賬號來提權。
第5章 MySQL漏洞利用與提權
MySQL數據庫是目前世界上最為流行的數據庫軟件之一,很多流行的架構都會用到MySQL,例如LAMPP(Linux Apache MySQL PHP Perl)架構。目前很多流行的CMS系統使用MySQL PHP架構,MySQL主要在Windows和Linux操作系統中安裝使用。因此,在獲取了root賬號的情況下,攻擊者通過一些工具軟件和技巧極有可能獲取系統的最高權限。本章著重介紹MySQL提權的基礎知識,以及Windows下MySQL的提權方法,同時通過一些案例介紹了如何利用MySQL來提權。
第6章 Oracle漏洞利用與提權
Oracle是一款大型的數據庫系統,市場占有率很高,在數據庫領域有極其重要的地位。作為世界上第一個支持SQL語言的關系型數據庫,Oracle提供了豐富的包和存儲過程,支持Java和創建library等特性,擁有豐富的系統表,幾乎所有的信息都存儲在系統表里,包括當前數據庫運行的狀態、用戶的信息、數據庫的信息、用戶所能訪問的數據庫和表的信息等,在提供強大功能的同時,也帶來了眾多隱患。從第一代Oracle產品發布起,互聯網上就不斷有Oracle數據庫的安全漏洞被公開。雖然Oracle一直在努力彌補這些缺陷,例如定期發布更新補丁去修復已發現的安全漏洞,但是隨著Oracle數據庫版本的更新,新的漏洞層出不窮。此外,由于數據庫管理員安全意識較弱或未進行全面、有效的安全策略配置,導致數據庫存在被攻擊的安全風險。對Oracle的攻擊主要包括弱口令或默認口令的猜解、SQL注入、權限配置不當、拒絕服務攻擊等。本章針對Oracle數據庫漏洞介紹了常見的提權方法及相應的防御手段。
第7章 Metasploit漏洞利用與提權
在Metasploit下所說的提權,通常是指在已經獲得MSF的Meterpreter Shell后采取的各種提升權限的方法。通常,在滲透過程中很有可能只獲得了一個系統的Guest或User權限的Meterpreter Shell,如果在網絡環境中僅獲得受限用戶權限,那么在實施橫向滲透或者提權攻擊時將很困難。在主機上,如果沒有管理員權限,就無法進行獲取Hash值、安裝軟件、修改防火墻規則和修改注冊表等操作,所以,必須將訪問權限從Guset提升到User,再到Administrator,最后到System級別。可以說,滲透的目的是獲取服務器的最高權限,即Windows操作系統中管理員賬號的權限或Linux操作系統中root賬戶的權限。
第8章 其他應用程序漏洞利用與提權
在本章主要介紹一些應用程序的提權,包括Serv-U、Winmail、Radmin、pcAnywhere、JBoss、Struts、JspRun、Gene6 FTP Server、Tomcat、Citrix、VNC、ElasticSearch、Zabbix等。
第9章 Windows及Linux安全防范
本章就一些常見的系統漏洞和弱點進行分析。真正的安全防范是一個持續的改進和完善過程,我們需要隨時關注0day及安全漏洞。在網絡攻防過程中,安全防范非常重要:攻擊方需要隱藏自己的IP地址、消除痕跡、防止被發現;而防守方則關注如何加固,如何使自己的系統更安全,牢不可破是終極目標。在武俠小說中經常提及一個理念:最好的防御就是攻擊。通過攻擊自身系統發現漏洞,對漏洞進行分析、修補和加固,也就有了日常聽到的安全公司進行某項目的安全評估。
雖然本書內容已經比較豐富和完整了,但仍然無法涵蓋所有的漏洞利用與提權技術。通過本書的學習,讀者可以快速了解和掌握主流的漏洞利用與提權滲透技術,加固自己的服務器。本書的目的是介紹漏洞利用與提權技術,結合一些案例來
陳小兵,高級工程師,目前在某政府部門任職。從事網絡安全工作15年,擁有豐富的網絡安全管理、維護和滲透經驗,已出版《SQL Server 2000培訓教程》、《黑客攻防實戰案例解析》、《Web滲透技術及實戰案例解析》及《安全之路-Web滲透技術及實戰案例解析》專著,在《黑客防線》、《黑客手冊》、《網管員世界》、51cto、Freebuf以及IT168等雜志和媒體發表文章100余篇,在國內外刊物發表學術論文10余篇,其中核心期刊2篇。
第1章 提權基礎1
1.1 提權概述1
1.1.1 提權簡介1
1.1.2 提權條件2
1.1.3 提權準備工作2
1.1.4 實施提權4
1.2 Windows賬號和密碼的獲取與破解6
1.2.1 使用GetHashes獲取Windows系統密碼Hash值6
1.2.2 使用gsecdump獲取Windows系統密碼7
1.2.3 使用PwDump獲取域控密碼9
1.2.4 使用PwDump獲取系統賬號和密碼11
1.2.5 使用SAMInside獲取及破解Windows系統密碼12
1.2.6 使用oclHashcat破解Windows系統賬號密碼13
1.2.7 使用L0phtCrack破解Windows及Linux密碼16
1.2.8 使用Ophcrack破解系統Hash密碼20
1.3 使用John the Ripper破解Linux密碼25
1.3.1 準備工作25
1.3.2 John的4種破解模式26
1.3.3 使用John破解Linux密碼26
1.3.4 查看破解結果28
1.4 Linux提權輔助工具Linux Exploit Suggester28
1.4.1 列出可能的漏洞28
1.4.2 下載可利用的腳本30
1.4.3 編譯并執行30
1.4.4 總結與思考30
1.5 PHP WeBaCoo后門30
1.5.1 簡介30
1.5.2 使用方法31
1.5.3 參數詳解31
1.5.4 使用實例32
1.5.5 總結與思考33
1.6 對提權工具PR的免殺34
1.6.1 什么是PR34
1.6.2 如何對提權工具進行免殺34
1.6.3 加殼軟件VMProtect Ultimate37
1.7 通過LCX端口轉發實現內網突破39
1.7.1 確定被控制計算機的IP地址39
1.7.2 在被控制計算機上執行端口轉發命令40
1.7.3 在本機上執行監聽命令40
1.7.4 在本機上使用遠程終端進行登錄41
1.7.5 查看本地連接41
1.8 使用SocksCap進行內網突破42
1.8.1 安裝并運行SocksCap42
1.8.2 設置SocksCap43
1.8.3 建立應用程序標識項43
1.8.4 運行命令行代理44
1.8.5 總結與思考44
1.9 Windows系統提權基礎命令44
1.9.1 獲取IP地址信息44
1.9.2 獲取端口信息45
1.9.3 獲取服務信息和進程信息45
1.9.4 進程結束命令46
1.9.5 用戶管理命令47
1.9.6 開啟3389端口48
第2章 Windows漏洞利用與提權49
2.1 Windows提權基礎49
2.1.1 Windows提權信息的收集50
2.1.2 Windows提權準備52
2.1.3 使用MSF平臺搜索可利用的POC53
2.1.4 實施提權54
2.1.5 相關資源54
2.1.6 Windows本地溢出漏洞及對應版本55
2.1.7 停用安全狗58
2.2 提權輔助工具Windows-Exploit-Suggester58
2.2.1 Windows-Exploit-Suggester簡介58
2.2.2 使用Windows-Exploit-Suggester59
2.2.3 技巧與高級利用60
2.3 Windows低權限進程及服務提權65
2.3.1 AccessChk簡介及使用65
2.3.2 獲取低權限可操作服務的名稱66
2.3.3 修改服務并獲取系統權限68
2.4 Windows口令掃描及3389口令暴力破解70
2.4.1 口令掃描準備工作70
2.4.2 使用NTscan掃描口令71
2.4.3 使用Tscrack掃描3389口令75
2.4.4 使用Fast RDP Brute暴力破解3389口令79
2.5 使用WinlogonHack獲取系統密碼81
2.5.1 遠程終端密碼泄露分析81
2.5.2 WinlogonHack截取密碼原理81
2.5.3 使用WinlogonHack獲取密碼實例82
2.5.4 攻擊與防范方法探討83
2.5.5 自動獲取并發送密碼到指定網站85
2.6 Windows Server 2003域控服務器密碼獲取86
2.6.1 域控服務器滲透思路87
2.6.2 內網域控服務器滲透常見命令87
2.6.3 域控服務器用戶賬號和密碼獲取實例88
2.7 MS05-039漏洞利用實戰92
2.7.1 MS05-039漏洞簡介92
2.7.2 實戰MS05-039漏洞利用93
2.8 MS08-067遠程溢出漏洞利用實戰95
2.8.1 MS08-067漏洞描述95
2.8.2 實戰MS08-067遠程漏洞利用95
2.8.3 防范措施102
2.9 通過Pr提權滲透某高速服務器102
2.9.1 分析AWS掃描結果102
2.9.2 獲取WebShell103
2.9.3 服務器信息收集與Pr提權104
2.10 以Public權限滲透某ASP.NET網站110
2.10.1 尋找漏洞并進行滲透測試110
2.10.2 尋找、測試和獲取WebShell113
2.10.3 嘗試提權116
2.10.4 使用lcx命令轉發并登錄遠程桌面116
2.10.5 總結與思考118
2.11 Windows 7/2008服務器64位版本MS12-042漏洞提權118
2.11.1 MS12-042漏洞簡介118
2.11.2 提權工具118
2.11.3 實戰提權利用119
2.12 對某虛擬主機的一次SiteManager提權121
2.12.1 獲取虛擬主機某站點的WebShell121
2.12.2 使用WebShell中的提權功能嘗試提權122
2.12.3 查看可寫目錄122
2.12.4 滲透成功124
2.12.5 繼續滲透內外網126
2.13 社工滲透并提權某服務器127
2.13.1 網站掛馬的檢測和清除127
2.13.2 入侵痕跡的搜索和整理129
2.13.3 利用社會工程學進行反滲透129
2.14 通過SQL注入漏洞滲透某服務器并直接提權132
2.14.1 對目標站點的分析和漏洞利用132
2.14.2 嘗試提權獲取管理員權限134
2.15 phpinfo函數信息泄露漏洞的利用與提權135
2.15.1 phpinfo函數簡介135
2.15.2 phpinfo函數信息泄露漏洞135
2.15.3 通過phpinfo函數信息泄露漏洞滲透獲取WebShell權限136
2.15.4 服務器提權138
2.15.5 總結與思考139
2.16 通過簡單的漏洞滲透某公司內外部網絡140
2.16.1 測試頁面漏洞的檢測140
2.16.2 測試頁面漏洞的利用思路140
2.16.3 登錄服務器并進行口令掃描142
2.16.4 獲取域控密碼142
2.16.5 測試頁面漏洞的修復143
2.17 通過文件上傳漏洞滲透某Windows 2012服務器并提權143
2.17.1 初步滲透143
2.17.2 獲取WebShell145
2.17.3 使用WebShell進行提權并登錄服務器146
2.17.4 總結與思考146
2.18 通過戴爾服務器遠程訪問管理卡獲取服務器權限148
2.18.1 獲取服務器遠程訪問管理卡的賬號和密碼148
2.18.2 加載ISO文件149
2.18.3 替換文件獲取服務器權限150
第3章 Linux漏洞利用與提權151
3.1 使用fakesu記錄root用戶的密碼151
3.1.1 使用kpr-fakesu.c記錄root用戶的密碼151
3.1.2 運行鍵盤記錄程序153
3.1.3 查看密碼記錄文件154
3.1.4 刪除安裝文件155
3.2 使用Hydra暴力破解Linux密碼155
3.2.1 Hydra簡介155
3.2.2 Hydra的安裝與使用156
3.2.3 Hydra應用實例158
3.3 Linux操作系統root賬號密碼獲取防范技術研究162
3.3.1 Linux密碼原理162
3.3.2 Linux系統采用的加密算法163
3.3.3 獲取Linux root密碼方法研究164
3.3.4 Linux root賬號密碼防范技術167
3.4 通過Linux OpenSSH后門獲取root密碼167
3.4.1 OpenSSH簡介167
3.4.2 準備工作168
3.4.3 設置SSH后門的登錄密碼及其密碼記錄位置169
3.4.4 安裝并編譯后門170
3.4.5 登錄后門并查看記錄的密碼文件170
3.4.6 拓展密碼記錄方式171
3.4.7 OpenSSH后門的防范方法172
3.4.8 總結173
3.5 利用FCKeditor漏洞滲透某Linux服務器174
3.5.1 對已有WebShell進行分析和研究175
3.5.2 測試上傳的WebShell177
3.5.3 分析與收集WebShell所在服務器的信息177
3.5.4 服務器提權179
3.6 chkrootkit 0.49本地提權漏洞利用與防范研究181
3.6.1 漏洞分析181
3.6.2 漏洞利用條件182
3.6.3 實際測試183
3.6.4 漏洞利用擴展183
3.6.5 漏洞利用與防范方法探討184
3.7 從服務器信息泄露到Linux服務器權限獲取185
3.7.1 服務器信息泄露的危害185
3.7.2 服務器信息泄露的獲取185
3.7.3 服務器信息泄露的利用186
3.7.4 服務器信息泄露滲透實例186
3.8 通過WinSCP配置文件獲取Linux服務器權限188
3.8.1 發現主站SQL注入漏洞并獲取WebShell189
3.8.2 發現弱口令190
3.8.3 進入主站所在服務器及相關服務器191
3.8.4 總結193
3.9 通過網上信息獲取某Linux服務器權限193
3.9.1 通過SSH賬號和密碼進行登錄測試193
3.9.2 成功登錄Linux服務器194
3.9.3 查看服務器文件及所有信息194
3.9.4 查看服務器所在IP地址下網站的域名情況195
3.9.5 嘗試獲取WebShell195
3.9.6 總結與思考195
3.10 滲透某Linux服務器并提權196
3.10.1 收集網站基本信息196
3.10.2 掃描端口開放情況197
3.10.3 漏洞掃描和測試197
3.10.4 服務器提權197
3.11 通過SQL注入獲取某Linux服務器權限198
3.11.1 漏洞掃描與利用198
3.11.2 獲取Linux賬號和密碼200
3.11.3 破解Linux賬號200
3.11.4 獲取Linux SSH賬號權限201
3.11.5 總結與思考201
3.12 Struts 2遠程代碼執行漏洞s2-032及其提權利用202
3.12.1 Struts簡介202
3.12.2 s2-032漏洞簡介202
3.12.3 漏洞測試樣例202
3.12.4 網上公開的檢測地址204
3.12.5 網上公開的s2-032漏洞綜合利用工具204
3.12.6 s2-032漏洞的利用及提權204
3.13 快速利用s02-45漏洞獲取服務器權限206
3.13.1 CVE-2017-5638漏洞簡介206
3.13.2 漏洞實際利用206
3.13.3 修改POC利用代碼207
3.13.4 在Windows下快速實施滲透208
3.13.5 Linux下的快速滲透思路209
3.13.6 相關源代碼210
3.13.7 利用s02-045漏洞快速滲透某服務器212
3.14 安全設置Linux操作系統的密碼214
3.14.1 修改login.defs中的參數215
3.14.2 設置加密算法215
3.14.3 破解Linux密碼215
第4章 MSSQL漏洞利用與提權217
4.1 SQL Server提權基礎217
4.1.1 SQL Server簡介217
4.1.2 sa口令的獲取218
4.1.3 常見SQL Serve