自2013年首次問世以來,《Metasploit滲透測試指南(修訂版)》迅速擄獲瞭從業人員的芳心。作為唯1一本經官方團隊親自評審並高度認可(“現今已有好的Metasploit框架軟件參考指南”)的著作,《Metasploit滲透測試指南(修訂版)》不僅涵蓋瞭基礎的工具和技術,也深入分享瞭如何實施滲透測試的方法與經驗。四位來自不同領域的資深黑客作者從不同的視角無私奉獻瞭他們的技巧與心得:既貢獻瞭企業安全架構上的經驗,也端齣瞭安全漏洞挖掘和滲透代碼開發的“私房菜”。
本次的修訂版,在譯者的精心組織與編排下完成,主要的修訂在於:基於Metasploit新的版本復現並更新瞭原書的實驗案例,同時考慮到國情與本地化的需求,將關鍵的實驗對象、分析工具等換成瞭國內讀者更容易接觸和使用的替代品。這使讀者能更容易通過復現實驗過程,深刻而快速地掌握相關滲透技巧。
譯者來自諸葛建偉老師的團隊。諸葛建偉老師是XCTF聯賽發起人、知名的藍蓮花團隊創始人之一,在網絡安全領域有多年的從業經驗。
口碑好書,值得珍藏!
《Metasploit滲透測試指南(修訂版)》介紹開源滲透測試框架平颱軟件Metasploit,以及基於Metasploit 進行網絡滲透測試與安全漏洞研究分析的技術、流程和方法,幫助初學者從零開始建立作為滲透測試者的基本技能,也為職業的滲透測試工程師提供一本參考索引。
《Metasploit滲透測試指南(修訂版)》分為17 章,覆蓋滲透測試的情報搜集、威脅建模、漏洞分析、滲透攻擊和後滲透攻擊各個環節,並包含瞭免殺技術、客戶端滲透攻擊、社會工程學、自動化滲透測試、無綫網絡攻擊等高級技術專題,以及如何擴展Metasploit 情報搜集、滲透攻擊與後滲透攻擊功能的實踐方法。此修訂版盡量保持原著的實驗案例選擇,僅根據Metasploit 版本更新的實際情況來復現實驗,同步更新操作流程的命令輸入和輸齣結果。對於少量國內讀者不便重現的實驗案例,將實驗對象、分析工具等替換為更容易接觸和使用的替代品。
《Metasploit滲透測試指南(修訂版)》的讀者群主要是網絡與係統安全領域的技術愛好者與學生,以及滲透測試與漏洞分析研究方麵的安全從業人員。
作者簡介
David Kennedy Diehold 公司首席信息安全官,社會工程學工具包(SET)、Fast-Track 和其他開源工具的作者,他同時也是Back Track 和Exploit Database 的開發團隊成員,以及社會工程學博客網站的核心成員。Kennedy 曾在Black Hat、Defcon、ShmooCon、Security B-Sides 等一些安全會議上發錶過演講。
Jim O’Gorman CSC 公司StrickForce 團隊的職業滲透測試工程師,Social-Engineer.org 網站的共同創辦者,Offensive Security 團隊的培訓講師。他經常進行數字取證分析調查和惡意代碼分析,並協助在Back Track 中集成取證分析工具。在業餘時間裏,他會幫助自己的孩子們大戰僵屍。
Devon Kearns Offensive Security 團隊的培訓講師,Back Track 的開發者,以及ExploitDatabase 網站的管理員。他也為Metasploit 貢獻過一些滲透攻擊模塊,並且是《Metasploit 揭秘》教程Wiki 的維護者。
Mati Aharoni Back Track 發行版的創建者,以及安全培訓界領軍團隊Offensive Security的創始人。
譯者簡介
諸葛建偉 博士,清華大學網絡空間安全研究室副研究員,狩獵女神科研團隊負責人,藍蓮花戰隊聯閤創始人及領隊,XCTF 聯賽發起人及組委會副主任委員,信息安全領域培訓講師和自由撰稿人,撰寫和翻譯過多部教材和技術書籍。個人網站:netsec.ccert.edu.cn/zhugejw。
王珩 清華大學碩士畢業,藍蓮花創始團隊隊員,資深信息安全從業者,在Web 應用程序安全、網絡滲透測試等方麵有豐富的實踐經驗,現任賽寜網安副總經理、産品總監。
微博:@evan-css。
孫鬆柏 清華大學碩士畢業,從事網絡安全相關工作十餘年,在Web 滲透測試等方麵有豐富實踐經驗。
陸宇翔 北京郵電大學信息安全專業畢業,現就職於賽寜網安,參與網絡安全實訓産品的相關工作。
第1 章 滲透測試技術基礎 1
1.1 PTES 中的滲透測試階段 2
1.1.1 前期交互階段 2
1.1.2 情報搜集階段 2
1.1.3 威脅建模階段 3
1.1.4 漏洞分析階段 3
1.1.5 滲透攻擊階段 3
1.1.6 後滲透攻擊階段 3
1.1.7 報告階段 4
1.2 滲透測試類型 4
1.2.1 白盒測試 5
1.2.2 黑盒測試 5
1.2.3 灰盒測試 5
1.3 漏洞掃描器 6
1.4 小結 6
第2 章 Metasploit 基礎 7
2.1 專業術語 7
2.1.1 滲透攻擊(Exploit) 8
2.1.2 攻擊載荷(Payload) 8
2.1.3 Shellcode 8
2.1.4 模塊(Module) 8
2.1.5 監聽器(Listener) 8
2.2 Metasploit 用戶接口 8
2.2.1 MSF 終端 9
2.2.2 MSF 命令行 9
2.2.3 Armitage 10
2.3 Metasploit 功能程序 11
2.3.1 MSF 攻擊載荷生成器 11
2.3.2 MSF 編碼器 12
2.3.3 Nasm Shell 13
2.4 Metasploit Express 和Metasploit Pro 13
2.5 小結 14
第3 章 情報搜集 15
3.1 被動信息搜集 16
3.1.1 Whois 查詢 16
3.1.2 Netcraft 17
3.1.3 nslookup 18
3.1.4 Google Hacking 18
3.2 主動信息搜集 20
3.2.1 使用Nmap 進行端口掃描 20
3.2.2 在Metasploit 中使用數據庫 22
3.2.3 使用Metasploit 進行端口掃描 27
3.3 針對性掃描 28
3.3.1 服務器消息塊協議掃描 28
3.3.2 搜尋配置不當的Microsoft SQL Server 29
3.3.3 SSH 服務器掃描 30
3.3.4 FTP 掃描 30
3.3.5 簡單網管協議掃描 31
3.4 編寫自己的掃描器 33
3.5 展望 35
第4 章 漏洞掃描 36
4.1 基本的漏洞掃描 37
4.2 使用Nexpose 進行掃描 38
4.2.1 配置 38
4.2.2 將掃描報告導入到Metasploit 中 44
4.2.3 在MSF 控製颱中運行Nexpose 44
4.3 使用Nessus 進行掃描 46
4.3.1 配置Nessus 46
4.3.2 創建Nessus 掃描策略 47
4.3.3 執行Nessus 掃描 49
4.3.4 Nessus 報告 50
4.3.5 將掃描結果導入Metasploit 框架中 50
4.3.6 在Metasploit 內部使用Nessus 進行掃描 52
4.4 專用漏洞掃描器 54
4.4.1 驗證SMB 登錄 54
4.4.2 掃描開放的VNC 空口令 56
4.4.3 掃描開放的X11 服務器 58
4.5 利用掃描結果進行自動化攻擊 59
第5 章 滲透攻擊之旅 65
5.1 滲透攻擊基礎 66
5.1.1 msf> show exploits 66
5.1.2 msf> show auxiliary 66
5.1.3 msf> show options 66
5.1.4 msf> show payloads 68
5.1.5 msf> show targets 70
5.1.6 info 71
5.1.7 set 和unset 71
5.1.8 setg 和unsetg 72
5.1.9 save 72
5.2 你的第一次滲透攻擊 72
5.3 攻擊Metasploitable 主機 76
5.4 全端口攻擊載荷:暴力猜解目標開放的端口 79
5.5 資源文件 80
5.6 小結 82
第6 章 Meterpreter 83
6.1 攻陷Windows XP 虛擬機 83
6.1.1 使用nmap 掃描端口 84
6.1.2 攻擊MS SQL 84
6.1.3 暴力破解MS SQL 服務 86
6.1.4 xp_cmdshell 87
6.1.5 Meterpreter 基本命令 88
6.1.6 獲取鍵盤記錄 89
6.2 挖掘用戶名和密碼 90
6.2.1 提取密碼哈希值 90
6.2.2 使用Meterpreter 命令獲取密碼哈希值 91
6.3 傳遞哈希值 92
6.4 權限提升 93
6.5 令牌假冒 95
6.6 使用PS 95
6.7 通過跳闆攻擊其他機器 97
6.7.1 使用Meterpreter 進行跳闆攻擊 97
6.7.2 使用Metasploit Pro 的VPN 跳闆 100
6.8 使用Meterpreter 腳本 105
6.8.1 遷移進程 105
6.8.2 關閉殺毒軟件 106
6.8.3 獲取係統密碼哈希值 106
6.8.4 查看目標機上的所有流量 106
6.8.5 攫取係統信息 107
6.8.6 控製持久化 107
6.9 嚮後滲透攻擊模塊轉變 108
6.10 將命令行shell 升級為Meterpreter 109
6.11 通過附加的Railgun 組件操作Windows API 110
6.12 小結 110
第7 章 免殺技術 112
7.1 使用MSF 攻擊載荷生成器創建可獨立運行的二進製文件 113
7.2 躲避殺毒軟件的檢測 114
7.2.1 使用MSF 編碼器 114
7.2.2 多重編碼 117
7.3 自定義可執行文件模闆 118
7.4 隱秘地啓動一個攻擊載荷 120
7.5 加殼軟件 122
7.6 使用Metasploit Pro 的動態載荷實現免殺 123
7.7 關於免殺處理的最後忠告 126
第8 章 客戶端滲透攻擊 127
8.1 基於瀏覽器的滲透攻擊 128
8.1.1 基於瀏覽器的滲透攻擊原理 128
8.1.2 關於空指令 129
8.2 使用ollydbg 調試器揭秘空指令機器碼 130
8.3 對IE 瀏覽器的極光漏洞進行滲透利用 134
8.4 文件格式漏洞滲透攻擊 137
8.5 發送攻擊負載 139
8.6 小結 140
第9 章 Metasploit 輔助模塊 141
9.1 使用輔助模塊 144
9.2 輔助模塊剖析 146
9.3 展望 152
第10 章 社會工程學工具包 153
10.1 配置SET 工具包 154
10.2 針對性釣魚攻擊嚮量 155
10.3 Web 攻擊嚮量 160
10.3.1 Java Applet 160
10.3.2 客戶端Web 攻擊 165
10.3.3 用戶名和密碼獲取 167
10.3.4 標簽頁劫持攻擊(Tabnabbing) 169
10.3.5 中間人攻擊 169
10.3.6 網頁劫持 169
10.3.7 綜閤多重攻擊方法 171
10.4 傳染性媒體生成器 176
10.5 USB HID 攻擊嚮量 177
10.6 SET 的其他特性 181
10.7 展望 181
第11 章 Fast-Track 183
11.1 Microsoft SQL 注入 184
11.1.1 SQL 注入——查詢語句攻擊 185
11.1.2 SQL 注入——POST 參數攻擊 186
11.1.3 手工注入 187
11.1.4 MS SQL 破解 188
11.1.5 通過SQL 自動獲得控製(SQL Pwnage) 192
11.2 二進製到十六進製轉換器 194
11.3 大規模客戶端攻擊 195
11.4 對自動化滲透的一點看法 197
第12 章 Karmetasploit 無綫攻擊套件 198
12.1 配置 199
12.2 開始攻擊 200
12.3 獲取憑證 203
12.4 得到Shell 203
12.5 小結 206
第13 章 編寫你自己的模塊 207
13.1 在MS SQL 上進行命令執行 208
13.2 探索一個已存在的Metasploit 模塊 209
13.3 編寫一個新的模塊 211
13.3.1 PowerShell 211
13.3.2 運行Shell 滲透攻擊 213
13.3.3 編寫Powershell_upload_exec 函數 215
13.3.4 從十六進製轉換迴二進製程序 215
13.3.5 計數器 217
13.3.6 運行滲透攻擊模塊 218
13.4 小結——代碼重用的能量 219
第14 章 創建你自己的滲透攻擊模塊 220
14.1 Fuzz 測試的藝術 221
14.2 控製結構化異常處理鏈 225
14.3 繞過SEH 限製 227
14.4 獲取返迴地址 230
14.5 壞字符和遠程代碼執行 235
14.6 小結 238
第15 章 將滲透代碼移植到Metasploit 239
15.1 匯編語言基礎 240
15.1.1 EIP 和ESP 寄存器 240
15.1.2 JMP 指令集 240
15.1.3 空指令和空指令滑行區 240
15.2 移植一個緩衝區溢齣攻擊代碼 240
15.2.1 裁剪一個已有的滲透攻擊代碼 242
15.2.2 構造滲透攻擊過程 243
15.2.3 測試我們的基礎滲透代碼 244
15.2.4 實現框架中的特性 245
15.2.5 增加隨機化 246
15.2.6 消除空指令滑行區 247
15.2.7 去除僞造的Shellcode 247
15.2.8 我們完整的模塊代碼 249
15.3 SEH 覆蓋滲透代碼 250
15.4 小結 257
第16 章 Meterpreter 腳本編程 258
16.1 Meterpreter 腳本編程基礎 258
16.2 Meterpreter API 265
16.2.1 打印輸齣 265
16.2.2 基本API 調用 266
16.2.3 Meterpreter Mixins 266
16.3 編寫Meterpreter 腳本的規則 267
16.4 創建自己的Meterpreter 腳本 268
16.5 小結 275
第17 章 一次模擬的滲透測試過程 276
17.1 前期交互 277
17.2 情報搜集 277
17.3 威脅建模 278
17.4 滲透攻擊 280
17.5 MSF 終端中的滲透攻擊過程 280
17.6 後滲透攻擊 281
17.6.1 掃描Metasploitable 靶機 282
17.6.2 識彆存有漏洞的服務 284
17.7 攻擊Postgresql 數據庫服務 286
17.8 攻擊一個偏門的服務 288
17.9 隱藏你的蹤跡 289
17.10 小結 291
附錄A 配置目標機器 293
附錄B 命令參考列錶 301
推薦序
IT 是一個非常復雜和混沌的領域,充斥著各種已經半死不活的過時技術和數量更多的新係統、新軟件和新協議。保護現在的企業網絡不能僅僅依靠補丁管理、防火牆和用戶培訓,而更需要周期性地對網絡中的安全防禦機製進行真實環境下的驗證與評估,以確定哪些是有效的哪些是缺失的,而這就是滲透測試所要完成的目標。
滲透測試是一項非常具有挑戰性的工作。你拿著客戶付的錢,卻像犯罪者那樣去思考,使用你所掌握的各種“遊擊”戰術,在一個高度復雜的防禦網絡中找齣最為薄弱的環節,來實施緻命一擊。在滲透測試中,你能夠發現的事情可能是既讓你的雇主驚奇,又讓他煩惱的:從他的服務器可以被攻陷並架設色情網站,到公司業務可以被實施大規模的欺詐與犯罪行為。
滲透測試過程需要繞過目標組織的安全防禦陣綫,探測齣係統中存在的弱點。一次成功的滲透測試可能獲取到一些敏感數據,而這通常是安全體係結構審查或漏洞評估所無法找齣的,係統被發現的典型弱點包括共享口令、非法外聯的網絡,以及一些被發掘曝光的隱私信息。由馬虎草率的係統管理員和匆匆趕工完成的係統部署會造成各種各樣的安全問題,經常會對一個組織造成嚴重的安全威脅,然而對應的解決方案與計劃措施可能還積壓在係統管理員冗長的TO-DO 列錶中。滲透測試可以將這些被忽略的問題及時揭示齣來,讓目標組織更加清晰地瞭解到在防禦一次真正的入侵時哪些問題更需要被立即解決。
滲透測試者會接觸到一個公司中最敏感的資源,他們也會訪問到公司中最關鍵的區域,而如果有人針對這些資源和區域實施一些邪惡的攻擊行為,那將給這個公司帶來極其嚴重的影響和後果。僅僅一個神秘齣現的數據包就可能導緻整個工廠停工,從而造成每小時數百萬美元的損失;被當成攻擊跳闆時沒有察覺並嚮有關部門進行通報,也可能導緻最後遭遇到警方令人不自在且難堪的問詢。醫療係統是一個甚至連非常有經驗的滲透測試師都不太樂意進行測試的領域,沒有人願意承擔這個領域一些係統故障的後果與責任:比如由於OpenVMS 大型機係統故障導緻將患者的血型搞混,或者由於運行Windows XP 的一颱X 光機內存破壞對患者進行超輻射量的掃描。最為關鍵的係統經常也是最為脆弱的,沒有幾個係統管理員願意承擔業務中斷的風險關閉一颱核心數據庫服務器來安裝安全補丁。
在利用潛在攻擊路徑和造成損害的風險中進行權衡是所有滲透測試師都必須掌握的技能,這個過程不僅僅依賴於對滲透工具和技術的瞭解,也取決於對目標組織業務流程的深入理解,以及對其中最脆弱環節的定位能力。
在本書中,你將透過四位安全專傢的視角來認識滲透測試,而他們擁有不同的背景與技術專長,其中有在企業安全架構方麵擁有豐富經驗的安全專傢,也有熟知安全漏洞挖掘和滲透代碼開發地下經濟鏈的資深黑客。在市麵上已經有一些關於滲透測試與安全評估技術的書籍,也有一些完全聚焦於某種工具的實踐參考書。而這本書嘗試在這兩者之間取得平衡,既覆蓋瞭一些基礎的工具和技術,同時又展示瞭如何實施一次滲透測試的方法與經驗。有經驗的滲透測試者也可以從基於最新滲透測試執行標準的方法學中得到一些啓示,而新接觸到滲透測試領域的新手們也將不僅僅能夠看到關於如何入門的參考指南,也可以瞭解到哪些技術步驟是關鍵的、為什麼關鍵,以及它們在整個滲透測試流程中的地位。
這本書是專注於Metasploit 滲透測試框架軟件的專題指南。Metasploit 開源平颱提供瞭一個包含大量通用可靠並且經常更新的滲透攻擊代碼庫,同時也為編寫新的滲透工具及自動化滲透測試過程提供瞭一個完整的研究與開發環境。本書也介紹瞭Metasploit Express 和MetasploitPro——Metasploit 框架中商業化的兩個同胞姐妹,她們為如何進行一次自動化的大規模滲透測試提供瞭獨樹一幟的能力。
Metasploit 框架在代碼的反復無常上是“聲名狼藉”的,它的代碼庫每天被一個核心的開發團隊和數百位來自社區的貢獻者更新數十次。在我看來,為Metasploit 寫一本書根本就是一種自虐行為:完成的一章剛剛經過瞭試讀,可能它裏麵的內容就已經過時瞭。然而,作者們接受瞭這項艱巨的任務,並成功地讓這本書在到達讀者手中時,內容還仍然是適用的。
Metasploit 開發團隊也參與瞭這本書的評審,以確保對代碼的最新修改能夠精確地反映到書中,而最終的評審結果是:這本書對Metasploit 框架軟件的“0day”覆蓋已經達到人力的極限。我們可以很負責任地說——這是現今已有最好的Metasploit 框架軟件參考指南。我們希望本書能夠在你的工作中發揮價值,並且是指導你在滲透測試技術道路上不斷探索前行的一本優秀參考指南。
HD Moore
Metasploit 項目創始人
修訂版譯者序
2017 年春節假期前,當博文視點編輯皎子老師在微信聊天中提及要重新齣《Metasploit 滲透測試指南》這本書的時候,我的第一感受還是蠻激動的,以為Offensive Security 的幾位大神們終於想起對這本Metasploit 入門寶典做更新瞭。因為這本書對於我而言還是蠻有感情的,她是我技術書籍翻譯的處女作,自此書齣版之後,我就像打開瞭在網絡安全技術書籍齣版領域的大門,在之後的三年裏組織和參與翻譯瞭五本網絡安全知名巨著,包括暢銷經典《綫上幽靈:世界頭號黑客米特尼剋自傳》、大部頭的《惡意代碼分析實戰》、安卓安全重頭書《Android 安全攻防權威指南》等,也和本書譯者團隊共同齣版瞭一本原創書《Metasploit 滲透測試魔鬼訓練營》,算是“集齊七龍珠”,可以“召喚神龍”瞭。然而等我平復心情去查瞭下原版的更新情況,卻意識到可能有人在給我挖坑瞭。原書的作者大神們可能根本沒有想起來要去更新這本經典書籍,而是在專注一本新書Kali Revealed 的最後衝刺吧。
由於“欠債”太多的緣故,我無法拒絕皎子編輯的殷切期盼,答應她盡快利用春節假期的時間對這本Metasploit 入門寶典進行修訂,以適應讀者需求並重新齣版。為瞭能夠讓讀者參考修訂版來使用最新版本的Metasploit 滲透測試框架軟件,我重新召集瞭原來譯者團隊中的核心成員——王珩(好在他已經加入賽寜創業團隊),並讓賽寜網絡安全工程師陸宇翔全職加入一起進行全書操作流程的復現和更新工作。此外,為瞭讓讀者們能更容易地進行修訂版中的全部實驗,除瞭同步更新附錄A 中的實驗環境部署流程之外,我們還在賽寜運營的XCTF-OJ 實訓平颱(http://oj.xctf.org.cn)中提供完整的實驗環境,讓讀者無須自己配置環境即可在綫快速進行全書大部分的實驗操作。
在本書的修訂過程中,我們采取的原則是盡量保持原書作者的實驗案例選擇,僅根據Metasploit 版本更新的實際情況來復現實驗,同步更新實驗操作流程的命令輸入和輸齣結果,這樣讓讀者在閱讀本書時能夠實踐和掌握Metasploit 最新版本的使用方法和應用技巧。對於少量我們覺得國內讀者不便重現的實驗案例,我們將實驗對象、分析工具等替換為國內讀者更容易接觸和使用的替代品,在保持實驗目的和功能展示效果不變的前提下,讓大傢更容易通過復現實驗過程掌握相關滲透技巧。
基於以上修訂原則,我們對原書進行的具體修訂內容如下。
第1 章“滲透測試技術基礎”:1.2 節“滲透測試類型”中,在原書作者描述的黑盒測試和白盒測試之外,增加瞭對實際測試環境中更推薦的灰盒滲透方法進行瞭介紹。
第2 章“Metasploit 基礎”:2.2 節“Metasploit 用戶接口”中,根據Metasploit 2015 年1月版本之後的更新,移除瞭其不再支持的msfcli 命令行工具的說明,並介紹瞭可替代命令行工具的MSF 終端“-x”選項的用法。2.3 節“Metasploit 功能程序”中,說明瞭MSF攻擊載荷生成器和編碼器不再以單獨的程序(分彆為msfpayload、msfencode)實現,而是將功能集成到msfvenom 程序中。2.4 節“Metasploit Express 和Metasploit Pro”中,增加瞭Metasploit 商業版本和免費版本的功能差異。
第3 章“情報搜集”:3.1 節“被動信息搜集”中,由於原書作者用於示例的secmaniac.net域名不再維護,我們將相關示例的域名更新為testfire.net,增加瞭原書作者未覆蓋到的Google Hacking 基本技巧。
第4 章“漏洞掃描”:4.2 節“使用Nexpose 進行掃描”中,更新瞭用Nexpose 免費社區版進行漏洞掃描過程的演示。4.3 節“使用Nessus 進行掃描”中,更新瞭用免費傢用版Nessus 4.4.1 進行漏洞掃描的過程演示。4.5 節“利用掃描結果進行自動化攻擊”中,由於Metasploit 最新版本中已移除對db_autopwn 功能的支持,更新使用瞭Metasploit Pro商業版本進行自動化攻擊的演示。
第5 章“滲透攻擊之旅”:5.2 節“你的第一次滲透攻擊”中,將攻擊機從Back Track 更新至目前流行的Kali Linux,Windows 靶標從Windows XP 英文版更新為國內讀者更容易獲取到的Windows XP 中文版。5.3 節“攻擊Metasploitable 主機”中,將Linux 靶標從Metasploitable v1 更新至Metasploitable v2,將攻擊服務同步更新至Metasploitable v2 環境中包含的vsftpd 網絡服務。
第6 章“Meterpreter”:6.7 節“通過跳闆攻擊其他機器”中,增加瞭使用Metasploit Pro的VPN 跳闆的功能介紹和演示。
第7 章“免殺技術”:7.1 節“使用MSF 攻擊載荷生成器創建可獨立運行的二進製文件”中,Metasploit 新版本使用msfvenom 集成原先的載荷生成器msfpayload 和編碼器msfencode 的功能,更新瞭利用msfvenom 進行攻擊載荷生成的命令。7.2 節“躲避殺毒軟件檢測和後續”中,使用國內的殺毒軟件代替原書中國外殺毒軟件進行實驗更新。我們增加瞭7.6“使用Metasploit Pro 的動態載荷實現免殺”,嚮讀者們演示瞭Metasploit Pro商業版中特有的動態載荷生成功能。
第8 章“客戶端滲透攻擊”:使用瞭國內讀者更熟悉的Ollydbg 代替原書的Immunity Dbg更新對瀏覽器漏洞分析的實驗過程。
第9 章“Metasploit 輔助模塊”:9.2 節“輔助模塊剖析”中,根據原書作者采用的Foursquare基於用戶地理位置信息的手機服務網站案例的API 更新,將自動簽到的輔助模塊代碼進行瞭同步更新,並解釋瞭為瞭適用API 更新而做齣的修改。
第10 章“社會工程學工具包”:根據Kali Linux 中社會工程學工具包SET 的版本更新,對原書實驗進行瞭完整重復並更新瞭過程中的輸入命令和輸齣結果。10.5 節“USB HID攻擊嚮量”中,采用國內淘寶可采購到的Teensy USB HIB 主闆進行攻擊過程重現,並提供瞭完整的代碼,使得國內讀者能夠通過具體實驗實際掌握此項滲透技術。
第11 章“Fast-Track”:由於Kali Linux 中將Fast-Track 集成進SET 且沒有進行任何更新和維護,因此譯者沒有對本章進行任何修訂。
第12 章“Karmetasploit 無綫攻擊套件”:使用國內更流行的采用Realtek RTL8188EUS802.11n 芯片無綫網卡進行瞭實驗重現,並更新瞭實驗過程的命令輸入和結果輸齣。
第13 章“編寫你自己的模塊”:重新部署瞭Windows 7 靶標環境代替原書中使用的Windows Server 2008 R2 重現實驗,並更新瞭實驗過程的命令輸入和結果輸齣。
第14 章“創建你自己的滲透攻擊模塊”:使用瞭國內讀者更熟悉的Ollydbg 代替原書使用的Immunity Dbg 更新實驗過程。
第15 章“將滲透代碼移植到Metasploit”:沒有對本章進行任何修訂。
第16 章“Meterpreter 腳本編程”:在更新後的Kali Linux 操作機中對實驗進行瞭完整復現,並更新瞭實驗過程的命令輸入和結果輸齣。
第17 章“一次模擬的滲透測試過程”:采用更新後的Metasploitable Linux v2.0 作為靶標環境,針對靶標環境中存在漏洞網絡服務的變化,選擇瞭攻擊Postgresql 數據庫服務案例代替瞭Metasploitable v1.0 中的Apache Tomcat 網絡服務案例,使用unreal IRC 網絡服務案例代替瞭DistCC 網絡服務案例。
深夜裏打算就以上內容將修訂版譯者序收場之時,突然一眼瞄到瞭之前譯者序中立下的flag:“譯者團隊在充分吸收本書技術精華之後,也仍有計劃推齣基於最新發布的Metasploit v4.0,分彆麵嚮滲透測試技術人員、漏洞研究與利用技術人員的Metasploit 寶典姊妹篇”,瞬間心理防綫崩塌“壓力山大”瞭起來。將近六年之後,原先立的flag 還隻實現瞭一半(2014 年推齣的那本麵嚮滲透測試技術人員的《Metasploit 滲透測試魔鬼訓練營》),flag 的另一半還尚無頭緒,隻能在這裏徵集閤作者,咱們一起爭取“八年抗戰”把這立在心頭的flag 拔掉,也算是給一直支持我們的讀者朋友還有給我“挖坑”的編輯一個交代。
諸葛建偉
2017 年6 月5 日深夜於北京西山
譯者序
本書介紹Metasploit——近年來非常流行和極有發展前途的開源滲透測試框架平颱軟件,以及基於Metasploit 進行網絡滲透測試與安全漏洞研究分析的技術、流程和方法。Metasploit 從2004年橫空齣世之後,立即引起瞭整個安全社區的高度關注,作為“黑馬”很快就排進安全社區流行軟件的五強之列。Metasploit 不僅為滲透測試的初學者提供瞭一款簡單易用、功能強大的軟件,對於職業的滲透測試工程師而言更是在他們的“兵器庫”中增加瞭一件神器,此外Metasploit也已經成為安全社區進行軟件安全漏洞分析研究與開發的一個通用平颱。現在,安全社區中的漏洞利用程序往往以Metasploit 模塊方式進行發布,大量書籍(如著名的《黑客大曝光》係列,國內的《0day 安全:軟件漏洞分析技術(第2 版)》等)也都采用Metasploit 作為案例講解分析的基本工具。毋庸置疑,Metasploit 已經是安全社區一顆璀璨的“明星”,成為安全社區各個層次上的技術人員都愛不釋手的一款軟件。
本書雖不是第一本介紹Metasploit 軟件的書籍(第一本是由Syngress 在2007 年齣版的Metasploit Toolkit for Penetration Testing, Exploit Development, and Vulnerability Research,但內容組織很差,大部分內容直接照搬一些公開的Metasploit 文檔,Amazon 上都是一星和二星的負麵評價),卻是第一本真正能夠全麵且深入地展示Metasploit 在網絡滲透測試和漏洞研究方麵強大能力的指南書籍。一方麵 Metasploit 在2007 年之後的v3.0 版中重新設計並以Ruby 完全重寫,進一步提升瞭它作為網絡滲透測試和漏洞研究框架平颱性軟件的功能與號召力;另一方麵,來自著名黑客團隊Offensive Security 的本書作者們擁有著豐富的網絡滲透測試、安全漏洞研究與滲透軟件開發的實踐經驗,他們對網絡滲透攻擊的基本理論、實施流程,以及 Metasploit 軟件及相關工具的使用與開發都非常熟悉和瞭解。在這本書中,他們不僅對利用Metasploit 來實施網絡滲透測試的各個流程環節進行瞭細緻流暢的描述和案例講解,還結閤他們的實際經驗展示瞭如何在Metasploit 平颱基礎上擴展開發模塊,以解決一些實際情況中遇到的滲透測試需求。
因此,一方麵,本書能夠逐步引導網絡滲透測試的入門讀者瞭解Metasploit 的基本框架,並且結閤Metasploit 軟件的功能進行案例講解,從而使讀者能夠理解和掌握滲透攻擊的基本原理、流程方法與實踐技能;另一方麵也能為一些較高水平的讀者提供Metasploit 功能的實際參考手冊,及進一步擴展Metasploit 完成實際需求的方法指引。正因為如此,本書也獲得瞭Metasploit 項目發起人、著名黑客HD Moore 的好評,並專門為本書撰寫瞭序言。
在本書正式齣版之前,譯者團隊——清華大學信息與網絡安全實驗室狩獵女神科研小組就一直在滲透測試與漏洞分析技術的學習、探索和研究中使用Metasploit 框架軟件,也在今年5月開始規劃一本嚮國內讀者全麵介紹Metasploit 的原創書。然而到6 月我們就關注到瞭OffensiveSecurity 黑客團隊創作的Metasploit 書籍馬上要於7 月齣版,而且和我們之前所規劃的原創書目標基本一緻,同時我們對Offensive Security 黑客團隊之前維護的“Metasploit 揭秘”在綫教程質量非常認可,因此對他們齣版的Metasploit 書籍的質量與市場銷售前景也非常看好,所以選擇將此書推薦給電子工業齣版社進行引進翻譯,電子工業齣版社也很順利地與外方齣版社簽訂瞭版權引進協議。令我們意想不到的是本書在Amazon 上的市場銷售錶現甚至超過瞭我們的預期,在7 月本書齣版後的相當長一段時間內,都占據瞭Amazon“安全與加密”類技術書籍的銷量冠軍寶座,直到讓位於8 月齣版的米特尼剋自傳。
HD Moore 在為本書撰寫的序言中說:“為Metasploit 寫一本書根本就是一種自虐行為:完成的一章剛剛經過瞭試讀,可能它裏麵的內容就已經過時瞭”。為瞭盡快讓國內讀者閱讀到這本“新鮮齣爐”極具影響力的Metasploit 參考指南,譯者團隊在接受齣版社的翻譯任務之後,就“馬不停蹄”地開始瞭翻譯工作,由於我們對Metasploit 都有較多的瞭解與實踐經驗,書籍專業內容方麵並沒有給我們帶來太多障礙。正值學校暑假,因此譯者團隊也都投入瞭充分的時間來保障翻譯質量,在書籍翻譯所要達到的“信、達、雅”目標中,我們自信能夠基本達到前兩個目標。
對於“信”,我們在分配翻譯任務時考慮瞭每位譯者的技術優勢和關注點,來保證對翻譯內容的技術掌控,從而能夠忠實地描述齣原書作者期望傳遞給讀者的技術知識。在翻譯過程中,對於不太確認的一些疑問點,我們也祭齣Metasploit 軟件進行實驗驗證,並將發現的幾個原作者由於疏忽而引入的錯誤通過齣版社提交給原作者進行勘誤。對於“達”,我們在翻譯之前對全書齣現的技術詞匯進行瞭整理與翻譯對照,統一全書對關鍵技術詞匯的翻譯,並在初譯結束之後,由諸葛建偉進行全書內容的語句修改、潤色與審校。完成修改之後的初稿又由各自負責的譯者進行試讀、修改與格式調整,最後由諸葛建偉與責任編輯進行全書通讀、審校與文字修改,通過認真負責的翻譯與審校,應能保證最終譯稿的達意。而對於翻譯的最高境界“雅”,作為具有很強時效性需求的技術類書籍,譯者團隊在權衡之後,還是選擇更加注重在確保前兩者翻譯質量目標的前提下盡快完成譯稿,從而讓本書更快與國內讀者見麵,因此在翻譯的“雅”上會有所欠缺,也請讀者們諒解。
本書的讀者群主要是網絡與係統安全領域的技術愛好者與學生,滲透測試與漏洞分析研究方麵的安全從業人員,由於Metasploit 在國外安全社區中已經成為事實上的滲透測試與漏洞分析平颱,相信國內也會有很多對此書感興趣的讀者。在本書翻譯過程中,譯者也發現國內安全社區對本書非常關注,並對中文版的盡早問世給予瞭很高的期望,也有兩位熱心人士計劃自願進行翻譯,並分享給社區。然而由於本書是具有版權的發行作品,因此譯者善意提醒瞭他們可能存在的侵權法律問題,也告知他們譯者團隊在當時已經完成瞭全部章節的初稿翻譯並已進入到審校階段,他們也非常配閤地放棄瞭重復翻譯的想法。而這次小風波也反映瞭國內安全社區對本書的期待,也促使譯者團隊盡快完成瞭書稿翻譯與審校,為國內讀者們獻上一本具有良好翻譯質量的Metasploit 經典作品。
客觀而言,本書也還存在著一些不足之處,比如沒有包含目前非常熱門的Web 應用滲透攻擊測試與漏洞分析內容,滲透技術方麵沒有緊跟發展潮流(如VoIP、 SCADA、移動平颱等熱點攻擊技術),沒有引入真實的滲透測試案例以說明Metasploit 在實際網絡滲透測試中的實用性等等。當然,“瑕不掩瑜”,這並不妨礙本書能夠成為一本優秀的網絡滲透測試專業書籍。這也為我們進一步開發齣更加全麵深入的原創書提供瞭空間,而譯者團隊在充分吸收本書技術精華之後,也仍有計劃推齣基於最新發布的Metasploit v4.0,分彆麵嚮滲透測試技術人員、漏洞研究與利用技術人員的Metasploit 寶典姊妹篇,也請國內感興趣的讀者們給予關注。
本書翻譯工作的具體分工是:諸葛建偉譯序、前言和第1、2、13、14、15、17 章,王珩譯第3、4、5、7、9 章,孫鬆柏譯第10、11、16 章和附錄B,李聰譯第6 章,陳力波譯第8 章,田繁譯第12 章與附錄A。全書內容由諸葛建偉進行全麵、仔細的統稿與審校。
在本書的版權引進和翻譯過程中,電子工業齣版社的畢寜編輯給予瞭我們非常大的支持,顧慧芳編輯在審核、校對與排版等方麵付齣瞭辛勤的勞動。在此,一並錶示深切的謝意。
諸葛建偉
2011 年8 月於北京清華園
作者序
Metasploit 框架躋身信息安全職業者們最廣泛使用的工具軟件行列已經相當長時間瞭,但是除瞭源碼本身和在博客上的一些評論之外,有價值的文檔卻一直非常少。這種狀態在Offensive Security 團隊開發瞭“Metasploit 揭秘”在綫教程之後得到瞭顯著改觀。在這部教程上綫之後不久,No Starch 齣版社就聯係我們探討擴展“Metasploit 揭秘”教程來編寫一本參考書的可行性。
而這本書就是設計來讓你瞭解Metasploit 的輸入輸齣,以及如何極緻地發揮Metasploit 框架能力的。而我們的章節內容覆蓋也是經過深思熟慮和精心選擇的——我們不會覆蓋到每個參數或滲透攻擊模塊,但我們會讓你瞭解必須掌握的基礎技術,以及現在和將來如何使用Metasploit的方法。
開始寫作本書時,我們得到Metasploit 項目創始人HD Moore 的一次善意提醒。在和HD 的一次關於開發我們的“Metasploit 揭秘”在綫教程的談話中,我們中的一位成員對他說瞭一句:“我想教程質量會很好的”。對於這句漫不經心的自我評價,HD 僅僅迴應瞭一句“那就確保好的質量吧”。這就是我們期望本書所達到的效果。
作為一個團隊,我們都是富有經驗的滲透測試師,每天都在使用Metasploit 框架係統性地挫敗安全控製措施、繞過防禦機製,並攻擊係統。我們寫作此書的目的是幫助讀者成為具備能力的滲透測試師。HD 對高質量的關注和追求也在Metasploit 框架中得到瞭非常顯著的體現,我們也期望本書能夠達到與之相匹配的程度。而我們到底完成得如何,這將由你們來判斷。
想像一下在不久的將來,一位攻擊者決定要攻擊一傢跨國企業的數字資産,目標是從花費數百萬美元構建的安全防禦基礎設施中挖掘齣價值數億的知識産權。攻擊者很嫻熟地祭齣“神器”——最新版本Metasploit,在攻破目標組織的網絡邊界防禦之後,他找到瞭一個“軟肋”,並有條不紊地實施一係列滲透攻擊,但是直到他攻陷網絡中每一個角落之後,好戲纔剛剛上演。他在係統之間神齣鬼沒,尋找核心業務組件,而企業仍然在按部就班地運營,沒人能夠察覺到他的存在。彈指之間,他讓數百萬美元的安全防禦設施灰飛煙滅,將公司最敏感的知識産權數據手到擒來。
恭喜你完成瞭一次漂亮的工作,你已經展示齣真正的業務影響和後果,現在是寫報告和收錢的時候瞭。令人稱奇的是,現今的滲透測試者就已經處在上麵場景所描述的假想攻擊者角色,應那些需要高度安全等級的企業邀請,來實施閤法的攻擊。歡迎來到滲透測試的神奇世界。為什麼進行滲透測試?
企業在保護關鍵基礎設施的安全計劃中投入數百萬美元,來找齣防護盔甲的縫隙,防止敏感數據外泄。而滲透測試是能夠識彆齣這些安全計劃中的係統弱點與不足之處的一種最為有效的技術方式。通過嘗試挫敗安全控製措施並繞開防禦機製,滲透測試師能夠找齣攻擊者可能攻陷企業安全計劃、並對企業帶來嚴重破壞後果的方法。
當你在閱讀本書時,請記住你並不是非要攻陷哪個或者哪些係統,你的目標是以一種安全和受控的方式,來展示攻擊者可以如何對一個組織造成嚴重破壞,並影響它的業務盈利、維持聲譽和保護客戶的能力。
為什麼是Metasploit?
Metasploit 並不僅僅是一個工具軟件,它是為自動化地實施經典的、常規的,或復雜新穎的攻擊提供基礎設施支持的一個完整框架平颱。它使你可以將精力集中在滲透測試過程中那些獨特的方麵上,以及如何識彆信息安全計劃的弱點上。
當你通過逐章閱讀本書並建立起一個完整全麵的滲透測試方法體係的同時,你可以看到如何在你的滲透測試過程中以多種方式來使用Metasploit 框架軟件。Metasploit 能夠讓你通過選擇它的滲透攻擊模塊、攻擊載荷和編碼器來輕易實施一次滲透攻擊,也可以更進一步編寫並執行更為復雜的攻擊技術。在本書中,我們也會介紹幾個基於Metasploit 框架所構建的第三方工具——其中一些是由本書作者所編寫的。我們的目標是讓你充分認識Metasploit 框架,為你展示一些高級的攻擊技術,並確保你能夠可靠地應用這些技術。我們希望你能夠像我們編寫過程中一樣享受這本書。進入遊戲,讓我們開始玩吧!
Metasploit 發展簡史
Metasploit 最初是由HD Moore 所開發和孕育的,當時HD 隻是一個安全公司的雇員,當他意識到他的絕大多數時間是在用來驗證和處理那些公開發布的滲透代碼時,他便開始為編寫和開發滲透代碼構建一個靈活且可維護的框架平颱。2003 年的10 月HD 發布瞭他的第一個基於Perl 語言的Metasploit 版本,當時一共集成瞭11 個滲透攻擊模塊。
HD 於2004 年4 月發布瞭完全重寫後的Metasploit 2.0,這個版本包含瞭19 個滲透攻擊模塊和超過27 個攻擊載荷。在這次發布之後不久,Matt Miller(Skape)加入瞭Metasploit 開發團隊,隨著項目逐步獲得關注,Metasploit 框架也獲得瞭來自信息安全社區的大量代碼貢獻,並很快成為瞭一個滲透測試與攻擊的必備工具。
在使用Ruby 編程語言進行瞭一次完全重寫之後,Metasploit 團隊在2007 年發布瞭Metasploit3.0。Metasploit 框架從Perl 到Ruby 的移植整整花瞭18 個月,結果造就瞭超過15 萬行的新代碼。隨著3.0 版本的發布,Metasploit 在安全社區獲得瞭更加廣泛的用戶群,並在代碼貢獻方麵也得到瞭快速的發展。
2009 年鞦季,Metasploit 被漏洞掃描領域的一傢領軍企業Rapid7 公司收購,Rapid7 公司允許HD 來招募一支團隊,專注於Metasploit 框架的開發。自從被收購之後,Metasploit 上的代碼更新比任何人所預期的都要快得多。Rapid7 公司在Metasploit 框架的基礎上也發布瞭兩款商業版本:Metasploit Express 和Metasploit Pro。Metasploit Express 是一個帶有GUI 界麵的輕量級Metasploit 框架軟件,並增加瞭一些額外的功能,包括報告生成和其他一些很有用的特性。Metasploit Pro 則是Metasploit Express 的擴展版本,能夠支持以團隊協作方式實施的滲透測試過程,並擁有如一鍵創建VPN 通道等很多有用的特性。
關於本書
本書的目標是為你傳授從Metasploit 基礎到滲透攻擊高級技術的所有知識和技能,我們的目的是為初學者提供一本有用的指南教程,為職業的滲透測試工程師提供一本參考索引,然而我們不會總是牽著你的手前行。編程知識是在滲透測試領域中必須具備的基礎,本書中的很多例子都會使用Ruby 或者Python 編程語言,雖然我們建議你去學習並掌握像Ruby 或Python 這樣的一種編程語言,來幫助你進行更高級的滲透攻擊和攻擊定製開發,但對於閱讀本書來講編程知識不是必需的。
當你逐漸熟悉Metasploit 之後,你會發現:Metasploit 框架是一項經常更新並擁有一些新的特性、滲透代碼和攻擊的技術。本書在編寫時,Metasploit 中的知識也在不停地更新,沒有一本書能夠跟上如此快速開發的腳步,因此我們更加關注於基礎,因為一旦你理解瞭Metasploit 如何工作,你就有能力自己快速地去瞭解和掌握Metasploit 框架的更新內容瞭。
本書內容
這本書如何纔能幫助你入門並讓你的技能登上一個新的颱階呢?每個章都以前一章作為階梯,這樣可以幫助你從零開始來建立起作為滲透測試者的基本技能。
第1 章:“滲透測試技術基礎”,幫你建立起關於滲透測試的方法學。
第2 章:“Metasploit 基礎”,引領你認識Metasploit 框架中的各種工具。
第3 章:“情報搜集”,為你展示在滲透測試偵察階段利用Metasploit 搜集情報信息的不同方法。
第4 章:“漏洞掃描”,指導你如何發現安全漏洞並充分利用漏洞掃描技術。
第5 章:“滲透攻擊之旅”,帶你進入滲透攻擊的世界。
第6 章:“Meterpreter”,讓你見識後滲透攻擊階段的瑞士軍刀——Meterpreter。
第7 章:“免殺技術”,關注對殺毒軟件進行逃逸的底層技術概念。
第8 章:“客戶端滲透攻擊”,為你展示客戶端滲透攻擊和瀏覽器安全漏洞。
第9 章:“Metasploit 輔助模塊”,帶你瞭解輔助模塊的多樣化能力。
第10 章:“社會工程學工具包”,這是你在社會工程學攻擊中使用SET 的參考指南。
第11 章:“Fast-Track”,為你全麵剖析Fast-Track——一個自動化的滲透測試框架軟件。
第12 章:“Karmetasploit 無綫攻擊套件”,為你展示如何利用Karmetasploit 進行無綫攻擊。
第13 章:“編寫你自己的模塊”,教你如何編寫自己的滲透攻擊模塊。
第14 章:“創建你自己的滲透攻擊模塊”,介紹Fuzz 測試技術,以及如何使用緩衝區溢齣技術來創建滲透攻擊模塊。
第15 章:“將滲透代碼移植到Metasploit”,讓你深入地體驗將已有滲透代碼移植成Metasploit 框架模塊的過程。
第16 章:“Meterpreter 腳本編程”,為你展示如何編寫自己的Meterpreter 腳本。
第17 章:“一次模擬的滲透測試過程”,將所有的技術綜閤在一起,來帶領你進行一次模擬的滲透攻擊。
關於道德倫理的忠告
我們編寫本書的目的是幫助你提升作為滲透測試者的技能。作為一名滲透測試者,我們可以擊敗安全防禦機製,但這僅僅是我們工作中的一部分。當你進行滲透攻擊時,請記著如下的忠告:
不要進行惡意的攻擊;
不要做傻事;
在沒有獲得書麵授權時,不要攻擊任何目標;
考慮你的行為將會帶來的後果;
如果你乾瞭些非法的事情,天網恢恢疏而不漏,你總會被抓到牢裏的。
無論本書作者,還是本書的齣版商——No Starch 齣版社(譯者注:再加上本書譯者和中文書齣版商——電子工業齣版社),都不會寬恕或鼓勵濫用本書討論的滲透測試技術進行非法活動的行為,也不會對其承擔任何責任,我們的目標是讓你變得更具能力,而不是幫助你自找麻煩,而且我們也不想,也沒有能力把你從裏麵撈齣來。
跟
評分同事推薦,挺好的
評分應該還不錯,我就是評個價。
評分不錯,有用。包裝完好無損,內容也不錯,適閤新手,基礎知識的,多練練,希望有進步
評分書很好,快遞很快,也沒有損壞值得一讀
評分好用,特彆喜歡,推薦購買,可以放心
評分書很好,快遞很快,也沒有損壞值得一讀
評分書不錯???,推薦大傢看一下。
評分好評
本站所有內容均為互聯網搜尋引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度,google,bing,sogou 等
© 2025 book.cndgn.com All Rights Reserved. 新城书站 版權所有