灰帽黑客(第5版) ( 簡體 字) |
作者:[美]艾倫·哈珀(Allen Harper),丹尼爾·里加拉多(Daniel Regalado),賴安·林(Ryan Linn) 等著;欒浩,毛小飛,姚凱 等譯 | 類別:1. -> 安全 -> 網路安全 -> 駭客攻擊與入侵 |
譯者: |
出版社:清華大學出版社 | 3dWoo書號: 51402 詢問書籍請說出此書號!【缺書】 NT售價: 640 元 |
出版日:6/1/2019 |
頁數:550 |
光碟數:0 |
|
站長推薦: |
印刷:黑白印刷 | 語系: ( 簡體 版 ) |
|
加入購物車 │加到我的最愛 (請先登入會員) |
ISBN:9787302527688 |
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 序 |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證) |
作者序: |
譯者序: |
前言:我不知道第三次世界大戰用什么武器,但我知道第四次世界大戰中用的肯定是棍棒和石頭。 ——阿爾伯特?愛因斯坦
人類文明的確在進步,但這不能保證你的安全……在每次戰爭中,敵方都會試圖借助新武器、新戰術消滅你。 ——威爾?羅杰
不戰而屈人之兵,善之善者也。 ——孫子
《灰帽黑客(第5版)》由致力于以道德和負責任的工作方式來提升個人、企業和國家的整體安全性的信息安全專業人員編撰,適合相關專業人士閱讀。《灰帽黑客(第5版)》旨在向你提供過去只有少數黑客才了解的信息。無論是個人,還是一家機構的防御者,在面對黑帽黑客時,對敵人的深入了解非常重要,包括他們的策略、技能、工具和動機。因此《灰帽黑客(第5版)》將帶你領會灰帽黑客的思路,即道德黑客使用攻擊性技術達到防御性目的。道德黑客始終尊重法律和他人的權利,并且相信,通過先行的自我測試和完善,對手將無處下手,知難而退。 《灰帽黑客(第5版)》作者們希望為讀者提供我們所認為的這個行業和社會所需的信息:對負責任的而且在意識和物質方面真正合乎道德標準的正義黑客技術的整體性討論。這也是我們為什么一直堅持在《灰帽黑客(第5版)》每個新版本的開頭就給出正義黑客的清晰定義的原因所在,社會上對正義黑客的理解是非常模糊的。 《灰帽黑客(第5版)》對第4版中的內容做了全面細致的更新,并嘗試將最新最全的技術、流程、材料以及可重復的實際動手實驗組合起來。在第4版的基礎上,第5版中增加了13章全新的內容,同時對其他章節的內容也進行了更新。 《灰帽黑客(第5版)》第I部分介紹打贏安全戰需要的所有工具和技術,使你通透理解更高級的主題。該部分節奏明快,無論是初出茅廬的新手,還是想將安全技能提高到新水平的專業人員,都必須掌握其中的知識點。第I部分的內容包括: ● 白帽、黑帽和灰帽黑客的定義及特征 ● 在實施任何類型的正義黑客行動前應該了解的一些棘手道德問題 ● 編程生存技能,這是灰帽黑客編寫漏洞攻擊程序或審查源代碼必備的技能 ● 模糊測試,這是挖掘零日漏洞的利器 ● 逆向工程,這是剖析惡意軟件或研究漏洞的必備技能 ● 軟件定義的無線電 第II部分從業務角度分析黑客攻擊。不管你因為愛好還是謀生而從事黑客攻擊,該部分的內容都適合你閱讀。如果你是一位資深黑客,該部分的提示將讓你功力倍增。該部分介紹一些讓道德黑客合法賺錢的軟技能: ● 如何進入滲透測試行當 ● 通過紅隊改善企業的安全態勢 ● 適用于啟動階段的紫隊 ● 介紹Bug賞金計劃,講述如何以合乎道德的方式通過查找漏洞獲得賞金 第III部分討論開發程序來攻擊系統漏洞所需的技能。其他書籍都介紹過此類主題,但舊式漏洞攻擊程序到現在已經過時,不再奏效。因此,該部分將更新內容,介紹如何突破系統保護。該部分介紹的主題如下: ● 如何在不使用漏洞攻擊程序的情況下獲得shell訪問權限 ● 基本和高級Linux漏洞攻擊程序 ● 基本和高級Windows漏洞攻擊程序 ● 使用PowerShell攻擊系統漏洞 ● 現代Web漏洞攻擊 ● 使用補丁開發漏洞攻擊程序 第IV部分分析高級惡意軟件。在很多方面,這是網絡安全領域最高級的主題。在網絡戰中,惡意軟件扮演著沖鋒陷陣的角色。該部分介紹用于執行惡意軟件分析所需要的工具和技術。該部分介紹的主題如下: ● 分析移動惡意軟件 ● 分析最新的勒索軟件 ● 分析ATM惡意軟件 ● 使用下一代蜜罐在網絡上查找高級攻擊者和惡意軟件 第V部分討論物聯網(Internet of Things,IoT)攻擊主題。物聯網會受到攻擊,其中的漏洞會被人利用。該部分介紹的主題如下: ● 受到攻擊的物聯網 ● 剖析嵌入式設備 ● 攻擊嵌入式設備 ● 分析針對物聯網設備的惡意軟件 希望你能體會到《灰帽黑客(第5版)》呈現的新內容的價值,并在閱讀新章節的過程中享受樂趣。如果你剛進入網絡安全領域,或想更進一步深刻理解道德黑客攻擊主題,《灰帽黑客(第5版)》將是你的良師益友。 注意:為確保你正確配置系統,從而執行實驗步驟,《灰帽黑客(第5版)》配套網站提供了所需的文件。要獲得實驗材料和勘誤信息,可訪問GitHub庫,也可訪問出版商的網站。另外,還可掃描《灰帽黑客(第5版)》封底的二維碼來下載它們。 |
內容簡介:? 利用Ettercap來構建和發動欺騙攻擊 ? 使用模糊器來誘發錯誤條件并使軟件崩潰 ? 利用高級逆向工程技術對Windows和Linux上的軟件發起漏洞攻擊 ? 繞過Windows訪問控制和內存保護方案 ? 利用Padding Oracle Attack攻擊Web應用程序 ? 研究最近0-day漏洞中使用的“釋放后重用”技術 ? 使用高級XSS攻擊來劫持Web瀏覽器 ? 理解勒索軟件及其如何控制桌面 ? 使用JEB 和DAD反編譯器來剖析Android惡意軟件 ? 通過二進制比較來查找1-day漏洞 ? 使用軟件無線電(SDR)攻擊無線系統 ? 攻擊物聯網設備 ? 剖析和攻擊嵌入式設備 ? 了解漏洞賞金計劃 ? 部署下一代蜜罐 ? 剖析ATM惡意軟件和常見的ATM攻擊 ? 從業務角度分析道德黑客攻擊 |
目錄:第Ⅰ部分備戰 第1章灰帽黑客——道德和法律3 1.1了解敵人3 1.1.1當前的安全狀況3 1.1.2識別攻擊5 1.2灰帽黑客之道5 1.2.1模擬攻擊6 1.2.2測試頻率及關注點9 1.3網絡安全相關法律的演變10 1.4本章小結13 第2章編程技能15 2.1C編程語言15 2.1.1C語言程序的基本結構15 2.1.2程序示例22 2.1.3使用gcc進行編譯23 2.2計算機內存24 2.2.1隨機存取存儲器24 2.2.2字節序25 2.2.3內存分段25 2.2.4內存中的程序25 2.2.5緩沖區27 2.2.6內存中的字符串27 2.2.7指針27 2.2.8內存知識小結28 2.3Intel處理器29 2.4匯編語言基礎30 2.4.1機器語言、匯編語言與C語言30 2.4.2AT&T與NASM30 2.4.3尋址模式33 2.4.4匯編文件結構34 2.4.5匯編過程35 2.5使用gdb進行調試35 2.5.1gdb基礎35 2.5.2使用gdb進行反匯編37 2.6Python編程技能38 2.6.1獲取Python39 2.6.2Python的“Helloworld”程序39 2.6.3Python對象39 2.6.4字符串40 2.6.5數值41 2.6.6列表42 2.6.7字典44 2.6.8Python文件操作44 2.6.9Python套接字編程46 2.7本章小結47 第3章下一代模糊測試49 3.1模糊測試簡介49 3.2模糊測試器的類型50 3.2.1數據變異模糊測試器50 3.2.2數據生成模糊測試器50 3.2.3遺傳模糊測試50 3.3Peach數據變異模糊測試51 3.4Peach數據生成模糊測試56 3.5AFL遺傳或進化模糊測試64 3.6本章小結68 第4章下一代逆向工程69 4.1代碼標注69 4.1.1使用IDAscope的IDB標注69 4.1.2C++代碼分析75 4.2協作分析79 4.2.1利用FIRST協作知識80 4.2.2使用BinNavi進行協作82 4.3動態分析84 4.3.1使用Cuckoo沙箱自動執行動態分析84 4.3.2使用Labeless填補靜態工具與動態工具之間的空隙85 4.3.3實驗4-1:將IDA標注應用于x64dbg調試器86 4.3.4實驗4-2:將調試器內存區域導入IDA87 4.4本章小結88 第5章軟件定義的無線電89 5.1SDR入門89 5.1.1從何處購買89 5.1.2了解管理規則91 5.2示例91 5.2.1搜索91 5.2.2捕獲92 5.2.3重放94 5.2.4分析96 5.2.5預覽102 5.2.6執行104 5.3本章小結105 第Ⅱ部分從業務角度分析黑客攻擊 第6章成為一名滲透測試人員109 6.1從新手成長為專家的歷程109 6.1.1滲透測試精神110 6.1.2滲透測試分類110 6.1.3未來的黑客攻擊110 6.1.4了解技術111 6.1.5知道什么是“良好”的111 6.1.6滲透測試培訓112 6.1.7實踐112 6.1.8學位課程115 6.1.9知識傳播115 6.2滲透測試人員和職業技能116 6.2.1個人責任116 6.2.2成為一名值得信賴的顧問117 6.2.3管理滲透測試119 6.3本章小結122 第7章紅隊的行動123 7.1紅隊的基本行動124 7.1.1策略、行動和戰術重點124 7.1.2評估比較125 7.2紅隊的目標126 7.3常見問題127 7.3.1范圍受限127 7.3.2時間受限127 7.3.3參與者受限127 7.3.4克服條件的限制127 7.4溝通128 7.4.1規劃會議128 7.4.2確定可衡量的事件129 7.5理解威脅129 7.6攻擊框架130 7.7測試環境131 7.8自適應測試132 7.8.1外部評估132 7.8.2物理安全評估133 7.8.3社交工程攻擊133 7.8.4內部評估134 7.9吸取的教訓135 7.10本章小結136 第8章紫隊的行動137 8.1紫隊簡介137 8.2藍隊的基本行動138 8.2.1了解敵人139 8.2.2了解自己139 8.2.3安全程序140 8.2.4事故響應程序140 8.2.5常見的藍隊挑戰142 8.3紫隊的基本行動143 8.3.1決策框架143 8.3.2破壞殺傷鏈144 8.3.3殺傷鏈對策框架146 8.3.4溝通146 8.4紫隊的優化和自動化147 8.5本章小結148 第9章漏洞賞金計劃149 9.1漏洞披露的歷史149 9.1.1完全向供應商披露150 9.1.2完全向公眾披露151 9.1.3負責任的披露方式152 9.1.4再沒有免費的Bug152 9.2漏洞賞金計劃153 9.2.1漏洞賞金計劃的類型153 9.2.2激勵措施155 9.2.3圍繞漏洞賞金計劃的爭議155 9.2.4主流的漏洞賞金計劃促進者155 9.3Bugcrowd詳解156 9.3.1程序所有者Web界面156 9.3.2程序所有者API示例161 9.3.3研究人員Web界面162 9.4通過發現漏洞謀生163 9.4.1選擇一個目標163 9.4.2如有必要,進行注冊163 9.4.3理解游戲規則164 9.4.4發現漏洞164 9.4.5報告漏洞164 9.4.6領取賞金165 9.5事故響應165 9.5.1溝通165 9.5.2鑒別和分級165 9.5.3修復166 9.5.4向用戶披露166 9.5.5公關166 9.6本章小結167 第Ⅲ部分漏洞攻擊 第10章不使用漏洞獲取權限171 10.1捕獲口令哈希171 10.1.1理解LLMNR和NBNS171 10.1.2理解WindowsNTLMv1和NTLMv2身份認證172 10.1.3使用Responder173 10.1.4實驗10-1:使用Responder獲取口令175 10.2使用Winexe178 10.2.1實驗10-2:使用Winexe訪問遠程系統178 10.2.2實驗10-3:使用Winexe提升權限179 10.3使用WMI180 10.3.1實驗10-4:使用WMI查詢系統信息180 10.3.2實驗10-5:使用WMI執行命令182 10.4利用WinRM185 10.4.1實驗10-6:使用WinRM執行命令185 10.4.2實驗10-7:使用WinRM遠程運行PowerShell186 10.5本章小結188 第11章基本的Linux漏洞攻擊189 11.1堆棧操作和函數調用過程189 11.2緩沖區溢出191 11.2.1實驗11-1:meet.c溢出192 11.2.2緩沖區溢出的后果196 11.3本地緩沖區溢出漏洞攻擊197 11.3.1實驗11-2:漏洞攻擊的組件197 11.3.2實驗11-3:在命令行上進行堆棧溢出漏洞攻擊200 11.3.3實驗11-4:使用通用漏洞攻擊代碼進行堆棧溢出漏洞攻擊203 11.3.4實驗11-5:對小緩沖區進行漏洞攻擊205 11.4漏洞攻擊的開發過程208 11.5本章小結215 第12章高級的Linux漏洞攻擊217 12.1格式化字符串漏洞攻擊217 12.1.1格式化字符串217 12.1.2實驗12-1:從任意內存讀取222 12.1.3實驗12-2:寫入任意內存224 12.1.4實驗12-3:改變程序執行226 12.2內存保護機制229 12.2.1編譯器的改進229 12.2.2實驗12-4:繞過棧保護231 12.2.3內核補丁和腳本234 12.2.4實驗12-5:ReturntoLibc漏洞攻擊235 12.2.5實驗12-6:使用ret2libc保持權限240 12.2.6結論244 12.3本章小結245 第13章基本的Windows漏洞攻擊247 13.1編譯和調試Windows程序247 13.1.1實驗13-1:在Windows上編譯程序248 13.1.2Windows編譯選項249 13.1.3在Windows上使用ImmunityDebugger進行調試250 13.1.4實驗13-2:程序崩潰253 13.2編寫Windows漏洞攻擊程序256 13.2.1回顧漏洞攻擊程序的開發過程256 13.2.2實驗13-3:攻擊ProSSHD服務器256 13.3理解SEH267 13.4理解和繞過Windows內存保護269 13.4.1SafeSEH269 13.4.2繞過SafeSEH270 13.4.3SEHOP271 13.4.4繞過SEHOP271 13.4.5基于堆棧的緩沖區溢出檢測(/GS)278 13.4.6繞過/GS280 13.4.7堆保護280 13.5本章小結281 第14章高級的Windows漏洞攻擊283 14.1DEP283 14.2ASLR284 14.3EMET和WindowsDefenderExploitGuard285 14.4繞過ASLR285 14.5繞過DEP和ASLR287 14.5.1VirtualProtect函數287 14.5.2ROP287 14.5.3指令片段288 14.5.4構建ROP鏈289 14.6通過內存泄漏突破ASLR293 14.6.1觸發缺陷294 14.6.2跟蹤內存泄漏297 14.6.3內存泄漏武器化308 14.6.4構建RVAROP鏈311 14.7本章小結315 第15章PowerShell漏洞攻擊317 15.1為什么使用PowerShell317 15.1.1利用現有資源317 15.1.2PowerShell日志記錄318 15.1.3PowerShell的可移植性319 15.2加載PowerShell腳本319 15.2.1實驗15-1:攻擊條件319 15.2.2實驗15-2:在命令行上傳遞命令321 15.2.3實驗15-3:編碼的命令322 15.2.4實驗15-4:通過Web啟動323 15.3使用PowerSploit進行漏洞攻擊和后漏洞攻擊325 15.3.1實驗15-5:設置PowerSploit325 15.3.2實驗15-6:通過PowerShell運行Mimikatz327 15.3.3實驗15-7:使用PowerSploit創建持續訪問330 15.4使用Empire實現命令和控制333 15.4.1實驗15-8:設置Empire333 15.4.2實驗15-9:使用Empire執行命令和控制333 15.4.3實驗15-10:使用Empire攻克系統334 15.5本章小結337 第16章下一代Web應用程序漏洞攻擊339 16.1XSS演化史339 16.1.1設置環境340 16.1.2實驗16-1:溫習XSS341 16.1.3實驗16-2:XSS規避Internet防線344 16.1.4實驗16-3:使用XSS更改應用程序邏輯346 16.1.5實驗16-4:為XSS使用DOM348 16.2框架漏洞351 16.2.1設置環境352 16.2.2實驗16-5:CVE-2017-5638漏洞攻擊352 16.2.3實驗16-6:CVE-2017-9805漏洞攻擊354 16.3PaddingOracleAttack357 16.4本章小結360 第17章下一代補丁漏洞攻擊361 17.1有關二進制比較的介紹361 17.1.1應用程序比較361 17.1.2補丁比較362 17.2二進制比較工具363 17.2.1BinDiff364 17.2.2turbodiff365 17.2.3實驗17-1:首次文件比較367 17.3補丁管理流程369 17.3.1微軟星期二補丁370 17.3.2獲得并提取微軟補丁371 17.3.3實驗17-2:比較MS17-010372 17.4通過比較補丁進行漏洞攻擊375 17.4.1DLL旁路漏洞375 17.4.2實驗17-3:比較MS16-009377 17.5本章小結382 第Ⅳ部分高級惡意軟件分析 第18章剖析移動平臺惡意軟件385 18.1Android平臺簡介385 18.1.1Android應用程序包385 18.1.2應用程序清單387 18.1.3分析DEX389 18.1.4Java反編譯391 18.1.5DEX反編譯392 18.1.6DEX反匯編394 18.1.7示例18-1:在模擬器中運行APK395 18.1.8惡意軟件分析397 18.1.9示例18-2:運用Droidbox進行黑盒APK監控401 18.2iOS平臺403 18.2.1iOS安全403 18.2.2iOS應用程序405 18.2.3實驗18-1:分析二進制屬性列表文件405 18.2.4實驗18-2:iPhone4S越獄406 18.2.5實驗18-3:解密Apple商店應用程序407 18.3本章小結409 第19章剖析勒索軟件411 19.1勒索軟件的歷史411 19.2贖金支付選項412 19.3剖析Ransomlock413 19.3.1示例19-1:動態分析413 19.3.2示例19-2:靜態分析415 19.4Wannacry428 19.5本章小結434 第20章ATM惡意軟件435 20.1ATM概覽435 20.2XFS概覽437 20.2.1XFS體系結構438 20.2.2XFS管理器439 20.3分析ATM惡意軟件443 20.3.1ATM惡意軟件的類型443 20.3.2攻擊者是如何在ATM上安裝惡意軟件的444 20.3.3剖析惡意軟件446 20.3.4針對ATM惡意軟件的對策453 20.4本章小結454 第21章欺騙:下一代蜜罐455 21.1欺騙簡史455 21.1.1作為欺騙形式的蜜罐456 21.1.2部署時的考慮事項458 21.1.3設置虛擬機458 21.2開源蜜罐459 21.2.1實驗21-1:Dionaea459 21.2.2實驗21-2:ConPot462 21.2.3實驗21-3:Cowrie463 21.2.4實驗21-4:T-Pot466 21.3可選的商業化產品:TrapX471 21.4本章小結480 第Ⅴ部分物聯網 第22章攻擊目標:物聯網483 22.1 IoT483 22.1.1連接設備的類型483 22.1.2無線協議484 22.1.3通信協議485 22.1.4安全方面的考慮事項485 22.2ShodanIoT搜索引擎486 22.2.1Web界面486 22.2.2實驗22-1:使用Shodan命令行工具488 22.2.3ShodanAPI489 22.2.4實驗22-2:測試ShodanAPI489 22.2.5實驗22-3:使用MQTT491 22.2.6未經身份認證訪問MQTT帶來的啟示492 22.3IoT蠕蟲:只是時間問題493 22.3.1實驗22-4:Mirai依然存在493 22.3.2預防措施494 22.4本章小結494 第23章剖析嵌入式設備495 23.1CPU495 23.1.1微處理器495 23.1.2微控制器496 23.1.3SoC496 23.1.4常見的處理器架構496 23.2串行接口497 23.2.1UART497 23.2.2SPI502 23.2.3I2C503 23.3調試接口503 23.3.1JTAG503 23.3.2SWD505 23.4軟件506 23.4.1啟動加載程序507 23.4.2無操作系統508 23.4.3實時操作系統508 23.4.4通用操作系統509 23.5本章小結509 第24章攻擊嵌入式設備511 24.1對嵌入式設備中的漏洞進行靜態分析511 24.1.1實驗24-1:分析更新包511 24.1.2實驗24-2:執行漏洞分析515 24.2使用硬件執行動態分析518 24.2.1設置測試環境518 24.2.2Ettercap519 24.3使用模擬器執行動態分析523 24.3.1FIRMADYNE工具523 24.3.2實驗24-3:設置FIRMADYNE523 24.3.3實驗24-4:模擬固件525 24.3.4實驗24-5:攻擊固件528 24.4本章小結529 第25章反制物聯網惡意軟件531 25.1對物聯網設備的物理訪問531 25.1.1RS-232概述532 25.1.2RS-232引腳排列532 25.1.3練習25-1:排除醫療設備的RS-232端口故障533 25.2建立威脅實驗室539 25.2.1ARM和MIPS概述540 25.2.2實驗25-1:使用QEMU設置系統541 25.3動態分析物聯網惡意軟件544 25.3.1實驗25-2:動態分析惡意軟件544 25.3.2PANDA545 25.3.3BeagleBoneBlack開發板546 25.4物聯網惡意軟件的逆向工程546 25.4.1ARM/MIPS指令集速成546 25.4.2實驗25-3:IDAPro遠程調試和逆向工程549 25.4.3練習物聯網惡意軟件逆向工程553 25.5本章小結555 |
序: |