本書從滲透測試實戰(zhàn)出發(fā),將關鍵知識點進行梳理,從外網(wǎng)和內(nèi)網(wǎng)兩個方面講解滲透測試技術,在內(nèi)容設計上兼顧初學者和安全領域從業(yè)人員。本書首先從基本環(huán)境搭建講起,再到實戰(zhàn)中非常重要的情報收集技術,由淺入深地講解滲透測試的基礎知識和滲透測試過程中經(jīng)常用到的技術要點;A部分具體包括:滲透測試前置準備、情報收集、常見Web應用漏洞、中間件漏洞、數(shù)據(jù)庫安全;在讀者掌握基礎知識的前提下,進入內(nèi)網(wǎng)滲透篇章,介紹內(nèi)網(wǎng)基礎知識、內(nèi)網(wǎng)隧道建立、權限提升、內(nèi)網(wǎng)信息收集、內(nèi)網(wǎng)橫向移動等技術;最后通過仿真靶場實戰(zhàn)演練,模擬滲透測試過程,幫助讀者理解所學滲透測試技術在實戰(zhàn)中的意義。 本書旨在幫助讀者能夠相對快速且完整地構建一個滲透測試實戰(zhàn)所需的知識框架,實現(xiàn)從入門到提升。本書適合所有網(wǎng)絡安全的學習者及從業(yè)者參考閱讀,也可作為院校網(wǎng)絡安全相關實踐課程的配套教材使用。
苗春雨,博士,杭州安恒信息技術股份有限公司首席人才官、高級副總裁,安恒數(shù)字人才創(chuàng)研院院長 中國網(wǎng)絡空間安全人才教育聯(lián)盟專委,人才標準組副組長;中國工業(yè)信息安全產(chǎn)業(yè)發(fā)展聯(lián)盟人才促進組副組長;中國網(wǎng)絡安全審查技術及認證中心專家講師;杭州第19屆亞運會網(wǎng)絡安全保障專家;安恒信息博士后工作站博士后企業(yè)導師;中國科學技術大學、西安電子科技大學等多所高?妥淌诩按T士生企業(yè)導師;浙大ARClab實驗室-安恒信息聯(lián)合研究中心主任。15年以上網(wǎng)絡安全從業(yè)經(jīng)歷,目前的研究方向主要集中于網(wǎng)絡安全防護體系、泛在物聯(lián)網(wǎng)安全、實戰(zhàn)型人才培養(yǎng);主持和參與國家級/省部級科研項目6項,主編教材和專著8本,主導開發(fā)5款網(wǎng)絡安全演訓產(chǎn)品,獲得中國發(fā)明專利授權和軟件著作權30余項,發(fā)表學術論文50余篇;多次參與人力資源和社會保障部、工業(yè)和信息化部等國家級網(wǎng)絡安全職業(yè)(崗位)技能標準和認證認可體系開發(fā),多次在縱橫論壇、工業(yè)和信息化部產(chǎn)學研合作論壇、全國網(wǎng)絡安全學院院長論壇發(fā)表演講;榮獲中國產(chǎn)學研合作促進會產(chǎn)學研合作創(chuàng)新獎、教育部網(wǎng)絡空間安全產(chǎn)學協(xié)同育人優(yōu)秀案例一等獎、中國網(wǎng)絡空間新興技術安全創(chuàng)新聯(lián)盟金石獎——“產(chǎn)學研工匠精神獎”等多個獎項。葉雷鵬,杭州安恒信息技術股份有限公司數(shù)字人才創(chuàng)研院教研部經(jīng)理,恒星實驗室負責人 杭州市葉雷鵬網(wǎng)絡與信息安全管理技能大師工作室領銜人。榮獲全國優(yōu)秀共青團員、新時代浙江工匠、浙江省技術能手、浙江省青年崗位能手等稱號。曾受邀參與國家一、二類職業(yè)技能競賽命題工作;多次帶隊參與各級攻防演練、競賽,并取得優(yōu)異成績。余棉水,博士、教授 畢業(yè)于華南理工大學計算機科學與工程學院,現(xiàn)任廣東工貿(mào)職業(yè)技術學院計算機與信息工程學院院長 廣東省高職院校信息安全技術應用高水平專業(yè)群負責人,信息安全技術應用專業(yè)教學團隊負責人,廣東省高等學校第四批“千百十工程”培養(yǎng)對象、廣東省職業(yè)院校計算機類專業(yè)教學指導委員會委員、廣東省圖象圖形學會“虛擬現(xiàn)實與智能交互”專業(yè)委員會委員等。 長期從事計算機科學教學工作,先后講授過“數(shù)據(jù)結構”“計算機原理”“C語言程序設計”等多門課程,先后主持教育部第三批信息安全技術應用專業(yè)現(xiàn)代學徒制試點、廣東省一類品牌專業(yè)(信息安全技術應用)、廣東省一流高職院校高水平專業(yè)(信息安全與管理)、廣東省示范性專業(yè)(計算機網(wǎng)絡)等專業(yè)項目建設,發(fā)表學術論文二十多篇,主編過《計算機網(wǎng)絡技術》《網(wǎng)絡信息安全理論與技術》《信息安全基礎(微課版)》等教材6部。
目 錄
第1章 滲透測試前置準備 1
1.1 系統(tǒng)基礎環(huán)境 1
1.1.1 虛擬機簡介 1
1.1.2 VMware軟件安裝 2
1.1.3 Windows虛擬機的安裝與配置 5
1.1.4 Kali Linux虛擬機的安裝與配置 17
1.2 編程基礎環(huán)境 19
1.2.1 Python運行環(huán)境 19
1.2.2 PHP運行環(huán)境 20
1.2.3 Java運行環(huán)境 23
1.2.4 GCC運行環(huán)境 24
1.2.5 Go運行環(huán)境 25
1.3 常用工具講解 26
1.3.1 Burp Suite 26
1.3.2 中國蟻劍 32
1.3.3 Kali-Metasploit 34
第2章 情報收集 35
2.1 信息收集概述 35
2.1.1 主動信息收集 35
2.1.2 被動信息收集 36
2.2 目標信息收集 36
2.2.1 組織架構 36
2.2.2 管理員信息 38
2.3 域名信息收集 39
2.3.1 Whois查詢 39
2.3.2 備案查詢 40
2.3.3 子域名查詢 42
2.4 網(wǎng)絡資產(chǎn)信息收集 45
2.4.1 端口檢測 45
2.4.2 C段掃描 46
2.4.3 服務識別 47
2.4.4 Web應用 47
2.4.5 漏洞掃描 55
2.4.6 Google Hacking 57
2.4.7 網(wǎng)絡空間搜索引擎 59
2.5 降低網(wǎng)絡資產(chǎn)被探測的安全風險 61
第3章 常見Web應用漏洞 62
3.1 Web應用漏洞概述 62
3.1.1 Web體系結構 62
3.1.2 Web應用漏洞基礎 63
3.2 Web滲透基礎 63
3.2.1 一句話木馬概述(WebShell) 64
3.2.2 一句話木馬實現(xiàn)原理 64
3.2.3 文件上傳漏洞 65
3.2.4 SQL注入漏洞 68
3.2.5 RCE漏洞 73
3.3 常見的CMS滲透思路 77
3.3.1 ThinkPHP漏洞 77
3.3.2 WordPress漏洞 80
3.4 Web常用框架滲透思路 84
3.4.1 Apache Shiro框架漏洞利用方法 84
3.4.2 Apache Struts2框架漏洞利用方法 88
3.4.3 Spring框架漏洞利用方法 90
3.5 框架組件滲透思路 94
3.5.1 Log4j2漏洞利用方法 95
3.6 針對常見Web應用漏洞的加固建議 100
3.6.1 針對Web基礎漏洞的加固建議 100
3.6.2 針對CMS類型的加固建議 101
3.6.3 針對Web常用框架、組件的加固建議 101
第4章 中間件漏洞 103
4.1 中間件基礎 103
4.1.1 中間件簡介 103
4.1.2 常見中間件 103
4.2 Apache漏洞 104
4.2.1 換行解析漏洞 104
4.2.2 遠程代碼執(zhí)行漏洞 112
4.3 Nginx漏洞 114
4.3.1 Nginx解析漏洞 114
4.3.2 文件名邏輯漏洞 122
4.4 WebLogic漏洞 131
4.4.1 控制臺獲取系統(tǒng)控制權方法 132
4.4.2 反序列化漏洞 139
4.5 Tomcat 142
4.5.1 WAR后門文件部署 143
4.5.2 PUT方法任意寫文件漏洞 151
4.6 phpStudy后門 153
4.7 Web容器中間件加固方案 155
第5章 數(shù)據(jù)庫安全 157
5.1 Redis數(shù)據(jù)庫 157
5.1.1 Redis未授權訪問漏洞的驗證 157
5.1.2 Redis主從復制漏洞 159
5.2 MySQL數(shù)據(jù)庫 160
5.2.1 MySQL身份認證漏洞及利用(CVE-2012-2122) 160
5.2.2 MySQL UDF提權漏洞 163
5.3 MSSQL數(shù)據(jù)庫 167
5.3.1 利用Metasploit進行遠程命令執(zhí)行 167
5.4 數(shù)據(jù)庫安全加固方案 168
第6章 內(nèi)網(wǎng)基礎知識 170
6.1 內(nèi)外網(wǎng)的基礎概念 170
6.1.1 網(wǎng)絡劃分 170
6.1.2 工作組的認識 171
6.1.3 域的認識 173
6.2 基礎環(huán)境準備 178
6.2.1 Kali Linux滲透測試平臺及常見工具 178
6.2.2 Windows PowerShell基礎 178
6.2.3 準備簡單服務環(huán)境 184
6.2.4 搭建域服務環(huán)境 184
6.3 Metasploit使用 190
6.3.1 Metasploit簡介 190
6.3.2 Metasploit簡單使用 191
6.3.3 永恒之藍漏洞利用 193
6.3.4 用Metasploit實現(xiàn)木馬遠程控制 197
第7章 內(nèi)網(wǎng)隧道建立 201
7.1 內(nèi)網(wǎng)隧道基礎認識 201
7.1.1 判斷目標機器出網(wǎng)情況 202
7.2 端口轉發(fā)技術 204
7.2.1 端口轉發(fā)實驗環(huán)境 204
7.2.2 LCX/portmap端口轉發(fā) 204
7.2.3 FRP端口轉發(fā) 206
7.3 SOCKS代理技術 209
7.3.1 SOCKS代理實驗環(huán)境 209
7.3.2 正向代理 209
7.3.3 反向代理 212
7.3.4 代理客戶端使用 215
7.4 防止內(nèi)網(wǎng)隧道建立的措施 219
第8章 權限提升 220
8.1 Windows權限提升 220
8.1.1 Windows內(nèi)核提權 220
8.1.2 繞過UAC提權 224
8.2 Linux權限提升 225
8.2.1 Linux內(nèi)核提權 225
8.2.2 Linux SUID提權 227
8.3 第三方組件提權思路 229
8.4 防止權限提升的措施 229
第9章 內(nèi)網(wǎng)信息收集 231
9.1 內(nèi)網(wǎng)信息收集概述 231
9.2 本地信息收集 232
9.3 域內(nèi)信息收集 238
9.3.1 判斷是否有域 238
9.3.2 域內(nèi)信息收集——手動 239
9.3.3 域內(nèi)信息收集——工具 242
9.4 網(wǎng)絡信息收集 244
9.4.1 網(wǎng)段發(fā)現(xiàn) 244
9.4.2 探測內(nèi)網(wǎng)存活主機 245
9.4.3 內(nèi)網(wǎng)端口掃描 247
9.5 密碼收集 250
9.5.1 服務器內(nèi)密碼收集 250
9.5.2 第三方應用密碼收集 251
9.6 減少滲透測試人員收集有效內(nèi)網(wǎng)信息的措施 253
第10章 內(nèi)網(wǎng)橫向移動 255
10.1 工作組橫向移動 255
10.1.1 內(nèi)網(wǎng)弱口令爆破 255
10.1.2 內(nèi)網(wǎng)密碼撞庫 258
10.1.3 內(nèi)網(wǎng)服務漏洞利用 260
10.2 域內(nèi)橫向移動 263
10.2.1 GPP漏洞利用 263
10.2.2 IPC利用 264
10.2.3 Hash傳遞 265
10.2.4 MS14-068漏洞利用 267
10.2.5 CVE-2020-1472漏洞利用 270
10.2.6 Kerberos協(xié)議基礎 272
10.2.7 黃金票據(jù)原理與利用 273
10.2.8 白銀票據(jù)原理與利用 276
10.3 降低滲透測試人員橫向移動成功的措施 278
第11章 仿真靶場實戰(zhàn)演練 280
11.1 外網(wǎng)打點 280
11.1.1 服務枚舉 280
11.1.2 SSH弱口令爆破 281
11.1.3 滲透Web服務 281
11.1.4 密碼離線爆破 288
11.1.5 后臺獲取系統(tǒng)控制權 290
11.2 內(nèi)網(wǎng)橫向滲透 292
11.2.1 內(nèi)網(wǎng)主機發(fā)現(xiàn) 292
11.2.2 內(nèi)網(wǎng)代理架設 296
11.2.3 MySQL服務爆破與UDF提權 298
11.2.4 Tomcat服務獲取系統(tǒng)控制權 302
11.3 域滲透 308
11.3.1 獲取DC權限 308
11.3.2 Hash傳遞 317
11.3.3 MS17-010 320
11.3.4 ZABBIX運維服務器獲取系統(tǒng)控制權 324
11.4 總結 332