精通 Metasploit 滲透測試, 2/e (Mastering Metasploit, 2/e) 精通Metasploit渗透测试 第2版

[英]尼理·賈斯瓦爾

買這商品的人也買了...

商品描述

《精通Metasploit滲透測試 第二版》介紹了時下流行的滲透測試框架——Metasploit。適合網絡與系統安全領域的技術愛好者和學生,以及滲透測試與漏洞分析研究方面的安全從業人員閱讀參考。

書中從其基本功能和傳統使用方式開始,講解編寫Metasploit模塊的基礎知識,學習滲透模塊的執行、構建與移植,詳細解讀客戶端攻擊、Metasploit框架中的各種內置腳本。與第1版相比,第2版增添了大量對移動設備、SCADA、數據庫、物聯網設備的滲透案例,並講解瞭如何將全新的滲透模塊導入到Metasploit。此外,還新增了大量優秀的出色工具的使用教程,採用了新版的社會工程學工具包,增加了大量經典詳實的滲透模塊編寫實例。

作者簡介

Nipun Jaswal 

IT安全業務踐行者,充滿激情的IT安全研究人員。擁有7年專業經驗, IT安全測試技能嫻熟。曾在Eforensics、Hakin9和Security Kaizen等知名安全雜誌上發表過大量關於IT安全的文章,並因為Apple、Microsoft、AT&T、Offensive Security、Rapid7、Blackberry、Nokia、Zynga.com等知名公司進行漏洞發掘而為人熟知。e:mail@nipunjaswal.info。

目錄大綱

第1章走近Metasploit滲透測試框架1 
1.1組織一次滲透測試3 
1.2前期交互階段3 
1.3信息收集/偵查階段5 
1.4了解測試環境7 
1.4.1威脅建模階段7 
1.4.2漏洞分析階段8 
1.4. 3滲透階段和後滲透階段8 
1.4.4報告階段9 
1.4.5工作環境的準備9 
1.5在虛擬環境中安裝Kali Linux 9 
1.6 Metasploit基礎13 
1.7使用Metasploit進行滲透測試14 
1.8使用Metasploit進行滲透測試的優勢15 
1.8.1源代碼的開放性16 
1.8.2對大型網絡測試的支持以及便利的命名規則16 
1.8.3靈活的攻擊載荷模塊生成和切換機制16 
1.8.4乾淨的通道建立方式16 
1.8.5圖形化管理界面17 
1.9對未知網絡的滲透測試17 
1.9.1假設17 
1.9.2信息收集17 
1.10在Metasploit中使用數據庫18 
1.11威脅建模20 
1.12 VSFTPD 2.3.4後門的漏洞分析21 
1.12.1攻擊過程22
1.12.2漏洞滲透的過程22 
1.12.3滲透模塊和後滲透模塊23 
1.13 PHP-CGI查詢字符串參數漏洞的分析29 
1.14 HFS 2.3上的漏洞分析34 
1.15滲透訪問控制的持久化37 
1.16清除滲透痕跡38 
1.17回顧入侵過程39 
1.18小結41 

第2章打造定制化的Metasploit滲透測試框架42 
2.1 Ruby——Metasploit的核心43 
2.1.1創建你的第一個Ruby程序43 
2.1.2 Ruby中的變量和數據類型45 
2.1.3 Ruby中的方法48 
2.1.4決策運算符49 
2.1.5 Ruby中的循環50 
2.1.6正則表達式50 
2.1.7 Ruby基礎知識小結52 
2.2開發自定義模塊52 
2.2.1模塊編寫的概要52 
2.2.2了解現有模塊57 
2.2.3分解已有的HTTP服務器掃描模塊58 
2.2.4編寫一個自定義FTP掃描程序模塊62 
2.2.5編寫一個自定義的SSH認證暴力破解器65 
2.2.6編寫一個讓硬盤失效的後滲透模塊69 
2.2.7編寫一個收集登錄憑證的後滲透模塊73 
2.3突破Meterpreter腳本77
2.3.1 Meterpreter腳本的要點78 
2.3.2以被控制的計算機為跳板78 
2.3.3設置永久訪問權限81 
2.3.4 API調用和mixins類82 
2.3.5製作自定義Meterpreter腳本83 
2.4與RailGun協同工作84 
2.4.1交互式Ruby命令行基礎84 
2.4.2了解RailGun及其腳本編寫85 
2.4.3控制Windows中的API調用87 
2.4.4構建複雜的RailGun腳本87 
2.5小結89 

第3章滲透模塊的開發過程90 
3.1滲透的最基礎部分90 
3.1.1基礎部分90 
3.1.2計算機架構91 
3.1.3寄存器92 
3.2使用Metasploit實現對棧的緩衝區溢出93 
3.2.1使一個有漏洞的程序崩潰94 
3.2. 2構建滲透模塊的基礎95 
3.2.3計算偏移量96 
3.2.4查找JMP ESP地址98 
3.2.5填充空間100 
3.2.6確定壞字符102 
3.2.7確定空間限制102 
3.2.8編寫Metasploit的滲透模塊103 
3.3使用Metasploit實現基於SEH的緩衝區溢出106
3.3.1構建滲透模塊的基礎108 
3.3.2計算偏移量109 
3.3.3查找POP/POP/RET地址110 
3.3.4編寫Metasploit的SEH滲透模塊112 
3.4在Metasploit模塊中繞過DEP 115 
3.4.1使用msfrop查找ROP指令片段117 
3.4.2使用Mona創建ROP鏈118 
3.4.3編寫繞過DEP的Metasploit滲透模塊120 
3.5其他保護機制122 
3.6小結123 

第4章滲透模塊的移植124 
4.1導入一個基於棧的緩衝區溢出滲透模塊124 
4.1.1收集關鍵信息127 
4.1.2構建Metasploit模塊127 
4.1.3使用Metasploit完成對目標應用程序的滲透129 
4.1.4在Metasploit的滲透模塊中實現一個檢查(check)方法130 
4.2將基於Web的RCE導入Metasploit 131 
4.2.1收集關鍵信息132 
4.2.2掌握重要的Web函數132 
4.2.3 GET/POST方法的使用要點133 
4.2.4將HTTP滲透模塊導入到Metasploit中134 
4.3將TCP服務端/基於瀏覽器的滲透模塊導入Metasploit 136 
4.3.1收集關鍵信息138
4.3.2創建Metasploit模塊138 
4.4小結141 

第5章使用Metasploit對服務進行測試142 
5.1 SCADA系統的基本原理142 
5.1.1 ICS的基本原理以及組成部分143 
5.1.2 ICS-SCADA安全的重要性143 
5.1 .3 SCADA系統的安全性分析143 
5.1.4使SCADA變得更加安全147 
5.2數據庫滲透148 
5.2.1 SQL Server 148 
5.2.2使用Nmap對SQL Server進行踩點149 
5.2.3使用Metasploit的模塊進行掃描150 
5.2.4暴力破解密碼151 
5.2.5查找/捕獲服務器的口令152 
5.2.6瀏覽SQL Server 153 
5.2.7後滲透/執行系統命令154 
5.3 VOIP滲透測試156 
5.3.1 VOIP的基本原理156 
5.3.2對VOIP服務踩點158 
5.3.3掃描VOIP服務159 
5.3.4欺騙性的VOIP電話160 
5.3.5對VOIP進行滲透162 
5.4小結163 

第6章虛擬化測試的原因及階段164 
6.1使用Metasploit集成的服務完成一次滲透測試164
6.1.1與員工和最終用戶進行交流165 
6.1.2收集信息166 
6.1.3使用Metasploit中的OpenVAS插件進行漏洞掃描167 
6.1.4對威脅區域進行建模171 
6.1.5獲取目標的控制權限172 
6.1 .6保持控制權限和掩蓋入侵痕跡178 
6.1.7使用Faraday管理滲透測試178 
6.1.8手動創建報告180 
6.2小結183 

第7章客戶端滲透184 
7.1有趣又有料的瀏覽器滲透攻擊184 
7.1.1 browser autopwn攻擊185 
7.1.2對網站的客戶進行滲透188 
7.1.3與DNS欺騙的結合使用191 
7.2 Metasploit和Arduino——致命搭檔196 
7.3基於各種文件格式的滲透攻擊201 
7.3.1基於PDF文件格式的滲透攻擊201 
7.3.2基於Word文件格式的滲透攻擊203 
7.4使用Metasploit實現對Linux客戶端的滲透205 
7.5使用Metasploit攻擊Android系統206 
7.6小結210
 
第8章Metasploit的擴展功能211 
8.1 Metasploit後滲透模塊的基礎知識211 
8.2基本後滲透命令211
8.2.1幫助菜單212 
8.2.2後台命令212 
8.2.3機器ID和UUID命令213 
8.2.4通信信道的操作213 
8.2.5獲取用戶名和進程信息213 
8.2.6獲取系統信息214 
8.2.7網絡命令214 
8.2.8文件操作命令215 
8.2.9桌面命令217 
8.2.10截圖和攝像頭列舉218 
8.3使用Metasploit中的高級後滲透模塊220 
8.3.1遷移到更安全的進程上220 
8.3.2獲取系統級管理權限221 
8.3.3使用hashdump獲取密碼的哈希值221 
8.3.4使用timestomp修改文件的訪問時間、修改時間和創建時間222 
8.4其他後滲透模塊223 
8.4.1使用Metasploit收集無線SSID信息223 
8.4.2使用Metasploit收集Wi-Fi密碼223 
8.4.3獲取應用程序列表224 
8.4.4獲取Skype密碼225 
8.4.5獲取USB使用歷史信息225 
8.4.6使用Metasploit查找文件225 
8.4.7使用clearev命令清除目標系統上的日誌226 
8.5 Metasploit中的高級擴展功能227
8.5.1用Metasploit提升權限227 
8.5.2使用mimikatz查找明文密碼228 
8.5.3使用Metasploit進行流量嗅探229 
8.5.4使用Metasploit對host文件進行注入230 
8.5.5登錄密碼的釣魚窗口231 
8.6小結232 

第9章提高滲透測試的速度233 
9.1 pushm和popm命令的使用方法233 
9.2 loadpath命令的使用234 
9.3使用reload、edit和reload_all命令加快開發過程235 
9.4資源腳本的使用方法236 
9.5在Metasploit中使用AutoRunScript 237 
9.6 Metasploit中的全局變量240 
9.7自動化社會工程學工具包241 
9.8小結243 

第10章利用Armitage實現Metasploit的可視化管理244 
10.1 Armitage的基本原理244 
10.1.1入門知識245 
10.1.2用戶界面一覽246 
10.1. 3工作區的管理247 
10.2網絡掃描以及主機管理248 
10.2.1漏洞的建模250 
10.2.2查找匹配模塊250 
10.3使用Armitage進行滲透251
10.4使用Armitage進行後滲透攻擊252 
10.5使用Armitage進行客戶端攻擊253 
10.6 Armitage腳本編寫257 
10.6.1 Cortana基礎知識258 
10.6.2控制Metasploit 260 
10.6.3使用Cortana實現後滲透攻擊261 
10.6.4使用Cortana創建自定義菜單262 
10.6.5界面的使用264 
10.7小結266 
10.8延伸閱讀266