滲透測試 完全初學者指南

[美]喬治亞·魏德曼(Georgia Weidman)

  • 滲透測試 完全初學者指南-preview-1
  • 滲透測試 完全初學者指南-preview-2
滲透測試 完全初學者指南-preview-1

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

商品描述

所謂滲透測試是借助各種漏洞掃描工具,通過模擬黑客的攻擊方法來對網絡安全進行評估。

《滲透測試——完全初學者指南》作為入門滲透測試領域的理想讀物,全面介紹每一位滲透測試人員有必要瞭解和掌握的核心技巧與技術。本書分為20章,其內容涵蓋了滲透測試實驗室的搭建、Kali Linux的基本用法、編程相關的知識、Metasploit框架的用法、信息收集、漏洞檢測、流量捕獲、漏洞利用、密碼攻擊、客戶端攻擊、社會工程學、規避病毒檢測、深度滲透、Web應用測試、攻擊無線網絡、Linux/Windows棧緩沖區溢出、SEH覆蓋、模糊測試/代碼移植及Metasploit模塊、智能手機滲透測試框架的使用等。有別於其他圖書的是,本書在這20章之外還增加了一個第0章,用來解釋滲透測試各個階段應該做的工作。

《滲透測試——完全初學者指南》內容實用,理論與實戰相互輔佐。讀者借助於書中提及的各個工具,可復現每一個實驗操作,加深對滲透測試技術的進一步理解。無論是經驗豐富的信息安全從業人員,還是有志於從事信息安全行業的新手,都會在閱讀中獲益匪淺。本書還適合信息安全專業的高校師生閱讀。

作者簡介

Georgia Weidman是一位滲透測試專家和安全研究員,同時還是Bulb Security安全諮詢公司的創始人。她不僅多次在Black Hat、ShamooCon和DerbyCon等世界各地的安全會議上發表演講,而且還親自傳授滲透測試、移動破解和exploit開發等專業課程。世界各國的報紙和電視都曾報導過她在移動安全領域的研究成果。DARPA的Cyber​​ Fast Track(信息化項目快速通道)曾為她的移動設備安全主題立項,並給予她專門的資金支持。
 

目錄大綱

●第0章滲透測試導論1 
0.1滲透測試的各個階段2 
0.1.1明確需求階段2 
0.1.2信息收集階段3 
0.1.3威脅建模階段4 
0.1.4漏洞分析階段4 
0.1.5漏洞驗證階段4 
0.1.6深度攻擊階段4 
0.1.7書面匯報階段5 
0.2小結6 
章搭建虛擬滲透實驗室7 
1.1安裝VMware7 
1.2安裝Kali Linux8 
1.2.1網絡配置11 
1.2.2安裝Nessus14 
1.2.3安裝其他軟件18 
1.2.4安裝Android模擬器20 
1.2.5智能手機滲透測試框架24 
1.3靶機虛擬機25 
1.4創建Windows XP靶機25 
1.4.1Microsoft Windows上的VMware Player26 
1.4.2Mac OS上的VMware Fusion28 
1.4.3安裝並激活Windows系統29 
1.4.4安裝VMware Tools32 
1.4.5關閉Windows防火牆33 
1.4.6設置用戶密碼34 
1.4.7設置靜態IP34 
1.4.8調整網絡登錄模式36 
1.4.9安裝一些存在漏洞的軟件37
1.4.10安裝Immunity Debugger和Mona42 
1.5安裝Ubuntu 8.10靶機44 
1.6安裝Windows 7靶機44 
1.6.1創建用戶賬號44 
1.6.2關閉自動更新46 
1.6.3設置靜態IP地址47 
1.6.4安裝第二塊網卡47 
1.6.5安裝其他的軟件48 
1.7小結49 
第2章使用Kali Linux50 
2.1Linux命令行50 
2.2Linux文件系統51 
2.3操作說明:查看參考手冊的命令52 
2.4用戶權限53 
2.4.1添加用戶53 
2.4.2把用戶添加到sudoers文件中54 
2.4.3切換用戶與sudo命令54 
2.4.4創建文件和目錄55 
2.4.5文件的複制、移動和刪除55 
2.4.6給文件添加文本56 
2.4.7向文件附加文本56 
2.5文件權限57 
2.6編輯文件58 
2.6.1字符串搜索59 
2.6.2使用vi編輯文件59 
2.7數據處理60 
2.7.1grep60 
2.7.2sed61 
2.7.3使用awk進行模式匹配62 
2.8軟件包管理62 
2.9進程和服務63
2.10網絡管理63 
2.10.1設置靜態IP地址64 
2.10.2查看網絡連接65 
2.11Netcat——TCP/IP連接的瑞士軍刀65 
2.11.1連接端口66 
2.11.2開放式shell67 
2.11.3反彈式shell67 
2.12使用cron進行定時任務68 
2.13小結69 
第3章編程71 
3.1Bash腳本71 
3.1.1ping71 
3.1.2腳本編程72 
3.1.3運行程序72 
3.1.4if語句73 
3.1.5for循環74 
3.1.6提煉數據75 
3.2 Python編程77 
3.2.1連接端口79 
3.2.2Python中的if語句79 
3.3編寫和編譯C語言程序80 
3.4小結82 
第4章使用Metasploit框架83 
4.1啟動Metasploit84 
4.2查找Metasploit模塊85 
4.2.1在線的模塊數據庫86 
4.2.2內置的搜索命令87 
4.3設置模塊選項90 
4.3.1RHOST90 
4.3.2RPORT91 
4.3.3SMBPIPE91 
4.3.4Exploit Target91
4.4有效載荷92 
4.4.1查找可兼容的有效載荷92 
4.4.2試運行94 
4.5shell的種類95 
4.5.1綁定型95 
4.5.2反射型95 
4.6手動設置有效載荷95 
4.7Msfcli98 
4.7.1查看幫助信息98 
4.7.2查看可用選項98 
4.7.3設置有效載荷99 
4.8使用Msfvenom創建有效載荷100 
4.8.1選取有效載荷101 
4.8.2設定相關選項101 
4.8.3選擇輸出格式101 
4.8.4部署可執行文件102 
4.8.5使用Multi/Handler模塊103 
4.9使用輔助類模塊104 
4.10小結106 
第5章信息收集108 
5.1開源情報收集(OSINT)108 
5.1.1Netcraft109 
5.1.2whois110 
5.1.3DNS偵查111 
5.1.4收集郵件地址113 
5.1.5Maltego114 
5.2端口掃描117 
5.2.1手動端口掃描118 
5.2.2使用Nmap進行端口掃描119 
5.3小結127 
第6章漏洞檢測128 
6.1Nmap的版本檢測功能128
6.2Nessus129 
6.2.1掃描策略130 
6.2.2使用Nessus進行掃描132 
6.2.3漏洞評級135 
6.2.4漏洞掃描器的必要性135 
6.2.5導出Nessus的掃描結果136 
6.2.6漏洞研究136 
6.3Nmap腳本引擎(NSE)137 
6.4運行單獨的NSE腳本139 
6.5Metasploit的掃描器模塊141 
6.6Metasploit漏洞檢驗功能142 
6.7Web應用程序掃描143 
6.7.1Nikto144 
6.7.2攻擊XAMPP145 
6.7.3默認登錄賬號145 
6.8人工分析146 
6.8.1檢測非標準端口146 
6.8.2查找有效登錄名148 
6.9小結149 
第7章流量捕獲150 
7.1流量捕獲網絡150 
7.2Wireshark的使用151 
7.2.1流量捕獲151 
7.2.2流量過濾153 
7.2.3查看TCP會話154 
7.2.4數據包解析155 
7.3ARP緩存攻擊155 
7.3.1ARP基礎156 
7.3.2IP轉發158 
7.3.3ARP緩存攻擊與Arpspoof159
7.3.4使用ARP緩存攻擊冒充默認網關160 
7.4DNS緩存攻擊161 
7.4.1入門163 
7.4.2使用Dnsspoof163 
7.5SSL攻擊164 
7.5.1SSL基礎165 
7.5.2使用Ettercap進行SSL中間人攻擊165 
7.6SSL Stripping167 
7.7小結169 
第8章漏洞利用171 
8.1回顧MS08-067171 
8.1.1Metasploit有效載荷172 
8.1.2Meterpreter173 
8.2利用WebDAV的默認口令174 
8.2.1在目標Web服務器上執行腳本175 
8.2.2上傳Msfvenom有效載荷175 
8.3攻擊開源phpMyAdmin177 
8.4下載敏感文件180 
8.4.1下載配置文件180 
8.4.2下載Windows SAM文件181 
8.5利用第三方軟件的緩存溢出漏洞182 
8.6攻擊第三方Web應用183 
8.7攻擊系統服務的缺陷186 
8.8攻擊開源NFS的漏洞186 
8.9小結188 
第9章密碼攻擊190 
9.1密碼管理190 
9.2在線密碼攻擊191 
9.2.1字典191
9.2.2使用Hydra猜測用戶名和密碼194 
9.3離線密碼攻擊196 
9.3.1還原Windows SAM文件中的密碼哈希值197 
9.3.2通過物理訪問提取密碼哈希值199 
9.3.3LM與NTLM算法201 
9.3. 4LM哈希算法的局限201 
9.3.5John the Ripper203 
9.3.6破解Linux密碼205 
9.3.7破解配置文件中的密碼205 
9.3.8彩虹表206 
9.3.9在線密碼破解服務206 
9.4使用Windows Credential Editor提取內存中的密碼明文206 
9.5小結207 
0章客戶端攻擊208 
10.1使用Metasploit有效載荷規避過濾規則209 
10.1.1規避端口規則209 
10.1.2HTTP和HTTPS有效載荷210 
10.2客戶端攻擊211 
10.2.1攻擊瀏覽器漏洞212 
10.2.2攻擊PDF漏洞219 
10.2.3攻擊Java漏洞223 
10.2.4browser_autopwn230 
10.2.5Winamp232 
10.3小結235 
1章社會工程學236 
11.1SET237 
11.2魚叉式釣魚攻擊237 
11.2.1選擇有效載荷238
11.2.2選項設置239 
11.2.3文件命名240 
11.2.4單個郵箱或者批量地址240 
11.2.5創建模板240 
11.2.6設置收件人241 
11.2.7設置會話受理端242 
11.3Web攻擊243 
11.4群發郵件攻擊245 
11.5組合攻擊248 
11.6小結248 
2章規避病毒檢測249 
12.1木馬程序249 
12.2防病毒軟件的工作原理252 
12.3Microsoft Security Essentials252 
12.4VirusTotal254 
12.5規避防病毒軟件的查殺255 
12.5.1編碼技術255 
12.5. 2交叉編譯258 
12.5.3Hyperion加密261 
12.5.4使用Veil-Evasion規避防病毒軟件檢測262 
12.6遠在天邊近在眼前的“隱藏”方法266 
12.7小結266 
3章深度滲透268 
13.1Meterpreter268 
13.1.1upload命令269 
13.1.2getuid命令270 
13.1.3其他命令270 
13.2Meterpreter腳本271 
13.3Metasploit的深度滲透模塊272
13.4Railgun274 
13.5本地權限升級274 
13.5.1面向Windows的getsystem命令275 
13.5.2面向Windows的本地權限提升模塊276 
13.5.3繞過Windows上的UAC277 
13.5.4Linux上的Udev權限提升278 
13.6本地信息收集283 
13.6.1搜索文件283 
13.6.2鍵盤記錄283 
13.6.3收集密碼284 
13.6.4net命令286 
13.6.5另闢蹊徑287 
13.6.6Bash的歷史文件287 
13.7橫向移動288 
13.7.1PSExec288 
13.7.2傳遞哈希值290 
13.7.3SSHExec291 
13.7.4冒用令牌293 
13.7.5Incognito293 
13.7.6SMB捕獲294 
13.8跳板297 
13.8.1向Metasploit中添加路由298 
13.8.2Metasploit端口掃描器299 
13.8.3通過跳板執行漏洞利用300 
13.8.4Socks4a和ProxyChains300 
13.9持久化302 
13.9.1添加用戶302 
13.9.2Metasploit持久化303
13.9.3創建Linux cron作業304 
13.10小結305 
4章Web應用測試306 
14.1使用Burp Proxy306 
14.2SQL注入311 
14.2.1檢測SQL注入漏洞312 
14.2.2利用SQL注入漏洞313 
14.2.3SQLMap313 
14.3XPath注入315 
14.4本地文件包含317 
14.5遠程文件包含319 
14.6命令執行320 
14.7跨站腳本攻擊322 
14.7.1檢測反射型XSS漏洞322 
14.7.2BeEF與XSS323 
14.8跨站請求偽造327 
14.9使用W3AF掃描Web應用328 
14.10小結329 
5章攻擊無線網絡331 
15.1配置331 
15.1.1查看可用的無線網卡332 
15.1.2掃描無線接入點332 
15.2監聽模式333 
15.3捕獲數據包334 
15.4開放網絡335 
15.5有線等效加密335 
15.5.1WEP的弱點338 
15.5.2用Aircrack-ng破解WEP密鑰338 
15.6WPA342 
15.7WPA2342
15.7.1企業架構網絡的聯網過程343 
15.7.2個人架構網絡的聯網過程343 
15.7.3四次握手343 
15.7.4破解WPA/WPA2密鑰345 
15.8WiFi保護設置348 
15.8.1WPS的問題348 
15.8. 2用Bully破解WPS349 
15.9小結349 
6章Linux棧緩衝區溢出350 
16.1內存相關的理論350 
16.2Linux緩衝區溢出353 
16.2.1程序漏洞實例353 
16.2.2蓄意崩潰355 
16.2.3運行GDB調試工具356 
16.2 .4引發程序崩潰361 
16.2.5操縱EIP363 
16.2.6命令劫持364 
16.2.7小端字節序366 
16.3小結367 
7章Windows系統的棧緩衝區溢出368 
17.1檢索War-FTP的已知漏洞369 
17.2蓄意崩潰進程371 
17.3尋找EIP373 
17.3.1創建循環模式字符串,判斷關鍵溢出點373 
17.3.2驗證偏移量377 
17.4劫持執行程序379 
17.5獲取shell384 
17.6小結389 
8章SEH覆蓋390 
18.1SEH覆蓋391
18.2把控制傳遞給SEH395 
18.3在內存中搜索攻擊字符串396 
18.4POP POP RET400 
18.5SafeSEH401 
18.6使用短跳轉(short jump)405 
18.7選用有效載荷406 
18.8小結407 
9章模糊測試、代碼移植及Metasploit模塊409 
19.1模糊測試409 
19.1.1源代碼審計法檢測bug409 
19.1.2模糊測試法審計TFTP服務器程序410 
19.1.3引發崩潰411 
19.2移植代碼415 
19.2.1查找返回地址418 
19.2.2替換shellcode419 
19.2.3編輯exploit419 
19.3編寫MSF模塊421 
19.3.1相似模塊423 
19.3.2移植代碼424 
19.4攻擊緩解技術428 
19.4.1Stack Cookie429 
19.4.2地址空間佈局隨機化(ASLR)429 
19.4.3數據執行保護(DEP)430 
19.4 .4強制代碼簽名機制430 
19.5小結431 
第20章使用智能手機滲透測試框架432 
20.1移動設備的攻擊向量432 
20.1.1短信433 
20.1.2NFC433
20.1.3二維碼433 
20.2智能手機滲透測試框架434 
20.2.1安裝434 
20.2.2Android模擬器436 
20.2.3給移動設備添加調試解調器436 
20.2.4建立Android App436 
20.2.5部署被控端App437 
20.2.6建立SPF會話438 
20.3遠程攻擊440 
20.4客戶端攻擊441 
20.4.1客戶端shell441 
20.4.2USSD遠程控制443 
20.5惡意應用程序445 
20.6移動平台的深度滲透測試451 
20.6.1信息收集452 
20.6. 2遠程遙控453 
20.6.3用作跳板454 
20.6.4權限提升459 
20.7小結460