3dwoo大學簡體電腦書店
Python黑帽子:黑客與滲透測試編程之道(第2版)
( 簡體 字)
作者:林修樂類別:1. -> 程式設計 -> Python
   2. -> 安全 -> 網路安全 -> 駭客攻擊與入侵
出版社:電子工業出版社Python黑帽子:黑客與滲透測試編程之道(第2版) 3dWoo書號: 55702
詢問書籍請說出此書號!
缺書
NT售價: 500
出版日:3/1/2022
頁數:244
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 字 )
ISBN:9787121430695 加入購物車加到我的最愛 (請先登入會員)
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證, 繁體書的下載亦請直接連絡出版社)
1 設置你的Python環境 1
安裝Kali Linux虛擬機 2
配置Python 3 3
安裝IDE 6
保持代碼整潔 6
2 基礎的網絡編程工具 9
Python網絡編程簡介 10
TCP客戶端 10
UDP客戶端 11
TCP服務端 12
取代netcat 13
小試牛刀 19
開發一個TCP代理 22
小試牛刀 28
基于Paramiko的SSH通信 30
小試牛刀 36
SSH隧道 37
小試牛刀 41
3 編寫流量嗅探器 43
編寫基于UDP的主機發現工具 44
Windows和Linux上的包嗅探 44
小試牛刀 46
解碼IP層 47
ctypes庫 48
struct庫 49
編寫IP解碼器 53
小試牛刀 55
解碼ICMP 56
小試牛刀 61
4 Scapy:網絡的掌控者 63
竊取郵箱身份憑證 64
小試牛刀 68
ARP投毒 68
小試牛刀 74
pcap文件處理 76
小試牛刀 83
5 Web攻擊 85
Python中的網絡庫 86
Python 2中的urllib2庫 86
Python 3中的urllib庫 87
requests庫 88
lxml與BeautifulSoup庫 89
拓印開源網站系統的初始結構 91
拓印WordPress系統結構 92
掃描在線目標 96
小試牛刀 98
暴力破解目錄和文件位置 98
小試牛刀 102
暴力破解HTML登錄表單 104
小試牛刀 109
6 編寫Burp插件 111
配置Burp Suite 112
Burp模糊測試插件 113
小試牛刀 120
在Burp中調用Bing搜索 125
小試牛刀 129
利用網頁內容生成暴破字典 131
小試牛刀 135
7 基于GitHub服務的C&C通信 139
創建GitHub賬號 140
編寫木馬模塊 141
編寫木馬配置文件 142
構建基于GitHub通信的木馬 143
深入探索Python的import功能 146
小試牛刀 148
8 Windows下的木馬常用功能 150
鍵盤記錄 151
小試牛刀 154
截取屏幕 155
以Python風格執行shellcode 157
小試牛刀 159
沙箱檢測 159
9 數據滲漏 165
文件的加密與解密 166
基于電子郵件的數據滲漏 169
基于文件傳輸的數據滲漏 171
基于Web服務器的數據滲漏 172
融會貫通 176
小試牛刀 178
10 Windows系統提權 180
安裝依賴庫 181
模擬受害服務 181
編寫進程監視器 184
利用WMI監視進程 185
小試牛刀 187
Windows系統的令牌權限 188
“贏得”條件競爭 190
小試牛刀 194
代碼注入 194
小試牛刀 196
11 攻擊取證 198
安裝Volatility 199
探查基本情況 201
探查用戶信息 203
探查潛在漏洞 206
volshell控制界面 208
編寫Volatility插件 209
小試牛刀 215
出發! 217
本書是暢銷書《Python黑帽子:黑客與滲透測試編程之道》的再版,介紹Python是如何被運用在黑客和滲透測試的各個領域的:從基本的網絡掃描到數據包捕獲,從Web爬蟲到編寫Burp插件,從編寫木馬到權限提升等。書中的很多實例都很有啟發意義,比如HTTP通信數據中的人臉圖像檢測,基于GitHub進行C&C通信的模塊化木馬,瀏覽器的中間人攻擊,利用COM組件自動化技術竊取數據,通過進程監視和代碼插入進行提權,通過向虛擬機內存快照插入shellcode實現木馬駐留和權限提升等。學習這些實例,讀者不僅能掌握各種Python庫的應用和編程技術,還能拓寬視野,培養和鍛煉自己的黑客思維。閱讀本書時,幾乎感受不到一般技術圖書常有的枯燥和乏味。與第1版相比,本次再版最大的工程在于對示例代碼的全方位升級。兩位作者不僅將示例代碼從Python 2升級到Python 3,還對編碼風格進行了改善。此外,他們還用了一些從Python 3.6版本引入的新語法,并增補了一些新的知識點,比如上下文管理器的用法、BPF語法,等等。本書適合有一定Python編程基礎的安全愛好者、計算機從業人員閱讀。對于正在學習計算機安全專業,立志從事計算機安全行業,成為滲透測試人員的人來說,本書更是不可多得的參考書。
譯 者 序
在網絡安全的世界里,需求、場景、時機,往往瞬息萬變。一個今天還能打遍天下的0day漏洞,可能明天就會被全網緊急修復;一套一小時前還在線的業務系統,可能下一秒就被藍隊拔了網線。在這種爭分奪秒的場景下,Python這樣的語言堪稱“最好的伙伴”。
Python簡單、快捷,效率驚人,寫一行代碼就能直接看到結果。它擁有非常活躍的開發者社區和豐富的第三方生態,用幾行代碼就能跨平臺實現各種復雜功能。它的動態類型設計雖然在構建大型項目時會導致你寫出很爛的代碼,但是在攻防場景中卻會給你美好順滑的編程體驗——寫百十來行的攻擊代碼就罷,今天打完這一場,明天這些代碼就進垃圾桶,管它參數類型是str還是int呢?
對于暢銷書《Python黑帽子:黑客與滲透測試編程之道》的再版,兩位作者投入了很大的精力,將書中的示例代碼進行了全方位的升級,除了引入的Python 3新語法、新框架之外,你能明顯地感受到示例代碼的質量有了很大提升。前一版中的示例代碼看起來像是為了應付需求而隨手寫的小腳本,而這一版中的示例代碼則更像是正經的教學代碼或開源項目代碼。
本書討論的話題都非常基礎,但也都相當實用,適合有一定Python基礎、初學信息安全的同學閱讀。親手實現書里的示例能使你感受到快樂和成就感,但是,如果你想備戰CTF拿名次的話,不推薦選擇這本書作為參考,因為其定位更偏向于拓展視野和培養興趣,內容跟CTF的比賽范圍幾乎沒什么重疊。建議“賽棍們”還是好好刷題,專心學習“賽棍”專用讀物。
由于水平有限,翻譯中難免出現一些錯漏和表達不準確的地方,歡迎讀者批評指正。
——Gh0u1L5 騰訊玄武實驗室研究員
2021年7月于北京

中文版推薦序一
20年前,我剛開始研究網絡安全的時候,社區里最流行的腳本語言是Perl。當時,一個Exploit如果不是用C寫的,八成就是用Perl寫的,沒人聽說過Python。
那時候Python已經誕生近10年了。其實Python幾乎和Perl一樣古老。Perl的第一個版本是1987年發布的,而Python的發布時間只比它晚了4年。
但20年后的今天,網絡安全社區里已經幾乎看不到Perl的影子,人人都在用Python。
一種編程語言的興衰,固然和其自身有關,但也和技術環境的變化有關,還有一點運氣在里面。無論如何,一旦天平開始向一邊傾斜,就會產生很大的勢能。因為編程語言不僅是人和計算機對話的語言,也是編程者之間溝通的語言。語言的力量是巨大的,可以讓我們建起巴別塔。所以技術生態一旦成熟,就會具有強大的生命力。
今天,Python已經成為網絡安全社區里最重要的語言之一,而且地位非常穩固。無論是研究Web、操作系統、網絡協議,還是硬件或者無線,都可以在社區里找到現成的模塊和代碼樣例。不僅如此,甚至Python自身都已經成為網絡攻擊的目標——出現了向PyPI倉庫投毒的攻擊方式。
很多講編程的書多少都會有些枯燥,但《Python黑帽子:黑客與滲透測試編程之道》(第2版)這本書完全不會。因為它其實并不是在談Python語言本身,而是以Python作為線索在講網絡安全攻防。也正因為是以Python作為線索的,所以閱讀這本書不僅可以學到攻防知識,還能學到怎么用Python去實現。
我還記得7年前《Python黑帽子:黑客與滲透測試編程之道》的第1版發行后,很快就在網絡安全社區里流行起來。除了初學者們將其看作必備的入門書籍,一些已經工作了很多年的老家伙也會讀。因為即使書中的網絡安全知識對我們來說已經并不陌生,但知道如何以Python為工具去運用這些知識,可以幫助我們更高效地完成工作,也能使我們更順暢地和社區成員交流。
——tombkeeper

中文版推薦序二
本書讀起來很順暢,覆蓋了黑客或滲透工程師常用的很多技巧。其特點是,剖析技巧的本質,然后用Python 的內置模塊或優秀的第三方模塊來實現。
Python 是一門非常酷的主流語言,擁有優美的編碼風格、頑強的社區與海量優質的模塊,如果看到一段代碼寫得很好,我們會說:“Pythonic!”這本書用Python 來實現滲透測試中用到的各類技巧與工具,讓人不得不說一句:“Pythonic!”
可以看出作者有豐富的滲透測試經驗與Python 編程經驗,感謝作者能把自己的經驗如此清晰地分享出來,也感謝出版社能將這本書引入國內。
這本書的發行,會讓更多人投身Python 黑客領域,不再是只會使用他人工具的“腳本小子”,在必要時刻,也能用Python 打造屬于自己的漏洞利用工具。
關于Python有句流傳甚廣的話:“人生苦短,快學Python”。是的,人生苦短,如果你立志成為一名真正的黑客,Python 值得你掌握,這本書是一個非常好的切入點。
——余弦 知道創宇技術副總裁

中文版推薦序三
在日常工作中,Python已經成為我最常用的語言,其代碼簡潔、高效,同時擁有強大、豐富的第三方庫,往往起到事半功倍的效果,極大提高了我的工作效率。
在滲透測試過程中,收集目標的信息、對漏洞進行模糊測試、利用漏洞、提升權限、部署后門等,對滲透測試人員來說都是重復繁雜的工作。幸運的是,這些基本上都可以利用Python來實現自動化、工具化。在這本《Python黑帽子:黑客與滲透測試編程之道》(第2版)中,作者通過滲透實戰,從多個維度向讀者闡述了Python如何被用在黑客和滲透測試的各個領域。相信本書能夠給那些想要利用Python來提升自身水平的讀者帶來收獲。
從Python開始,培養和鍛煉自己的黑客思維。本書值得擁有!
——張瑞冬(Only_Guest)無糖信息CEO

中文版推薦序四
曾經去高校宣講,被問得最多的問題就是,如何成為一名黑客。而成為一名黑客高手,是我們這批從事安全技術的人的夢想。
那么,如何成為高手呢?兩個秘訣:持之以恒和動手實踐。
記得剛剛接觸計算機時,機緣巧合之下我買了本安全技術雜志月刊,但是由于水平所限,里面的技術文章一篇都看不懂。不過我每期都買來看,大約持續了半年,慢慢地發現自己能夠看懂了,后來甚至還可以在雜志上發表文章、發布黑客工具。就這樣堅持著,我終于走進了安全行業。
“紙上得來終覺淺,絕知此事要躬行”,成為黑客高手的另一個秘訣就是要多實踐。實踐就一定會涉及開發自己的工具或者優化別人的代碼,所以我們必須精通一門甚至多門腳本語言。Python就是這樣一門強大的腳本語言,很多知名的黑客工具、安全系統框架都是用Python開發的。比如,大名鼎鼎的滲透測試框架Metasploit、功能強大的fuzz 框架Sulley、交互式數據包處理程序Scapy 都是用Python 開發的,基于這些框架,我們可以擴展出自己的工具(多學一些總是好的,在這里也不必爭論是Python 好還是Perl 好這樣的問題)。
就我個人的經驗來看,與實踐結合是快速學習相關能力的路徑。這本書就從實戰出發,基于實際攻防場景講解代碼思路,能夠讓讀者快速了解和上手Python,進行黑客攻防實戰,所以特別推薦給大家。
知易行難,大家在讀書的同時不要忘記實踐:先搞懂原理,再根據實際需求寫出一個強大的Python 工具。
——胡珀(lake2)騰訊安全中心副總監?

中文版推薦序五
幾乎所有網絡安全經典工具,包括調試器、滲透工具、取證工具、報文分析等都支持使用Python語言編寫功能插件。不會編寫程序的黑客是一個假黑客,最多是一個頂級的工具小子;而最適合網絡安全的編程語言,莫過于Python,可以說不會用Python編程的滲透測試工程師是沒有前途的。其實,知道創宇公司從2007年成立之時,就要求除了前端使用JavaScript和少量例外,全公司只允許使用Python語言。這門語言簡單易學,各種第三方功能包十分豐富且強大。這本書的編程知識涉及網絡安全的方方面,從漏洞的POC到網絡通信,從攻擊取證到數據報文分析,非常全面,十分實用,是網絡安全從業者不可多得的一本好書。鄙人不敢藏私,力薦給大家。
——楊冀龍 知道創宇 CTO

中文版推薦序六
Python 是網絡安全領域的編程利器,在分秒必爭的CTF 賽場中擁有統治地位,在學術型白帽研究團隊和業界安全研究團隊中也已經成為主流編程語言。本書作者在其暢銷書《Python 灰帽子:黑客與逆向工程師的Python 編程之道》之后,再次強力推出姊妹篇《Python 黑帽子:黑客與滲透測試編程之道》,以其在網絡安全領域,特別是漏洞研究與滲透測試方向上浸淫十數年的經驗,獻上又一本經典的Python 黑客養成手冊。我非常高興地看到譯者以精準的翻譯、專業的表達將本書內容原汁原味地奉獻給國內的讀者。
——諸葛建偉 清華大學副研究員/藍蓮花戰隊聯合創始人及領隊/XCTF 聯賽聯合發起人及執行組織者

中文版推薦序七
我們一直認為,一個合格的安全從業者必須有自己動手編寫工具和代碼的意愿與能力。在這個安全攻防和業務一樣日趨大數據化、對抗激烈化又隱蔽化的年代,攻防雙方都必須有快速實現或驗證自己想法的能力。選擇并學習使用一個好的工具會起到事半功倍的效果。
Python則是目前特別適合這種需求的語言。平緩的學習曲線、膠水語言的靈活性和豐富的支持庫使其天然成為攻防雙方均可使用及快速迭代的利器,幾乎可以覆蓋安全測試的方方面面。求學時,我使用Scapy(本書中有詳細的介紹)和PyQt 庫編寫了Wifi 嗅探工具WifiMonster;在我參加的CTF 比賽中,基本上所有的漏洞利用工具都是用基于Python 的pwntools 和zio 庫編寫的;在Keen,我們的很多fuzzer 和靜態分析器也都是用Python 編寫的。
但令人遺憾的是,目前國內的高校很少有將Python 及其在安全領域方面的應用列入計算機和信息安全專業培養計劃的,市面上也缺乏相關圖書供從業人員學習。本書填補了這個空白:作者從逆向和漏洞分析挖掘的角度編寫了《Python 灰帽子:黑客與逆向工程師的Python 編程之道》后,又從滲透測試和嗅探、取證的角度編寫了這本書,介紹Python 在這些方面的應用和相關庫的使用。本書譯者在安全領域有豐富經驗,能保證翻譯質量。
相信讀者會從本書中受益良多。
——何淇丹(a.k.a Flanker) Keen Team 高級研究員

中文版推薦序八
接觸信息安全之前,Python就已經是我的常用語言了,它能滿足我日常工作的所有需求。因為對Python 已經有一定了解,接觸信息安全以后,借助這一利器,我在信息安全領域的探索進行得很順利。
老牌大黑客查理·米勒說的沒錯,腳本小子和職業黑客的區別是黑客會多編寫自己的工具而少用別人開發的工具。從事Web 滲透測試相關工作以及參加CTF競賽的時候,我基本上都是用自己寫的Python 腳本來實現目的的:掃描及收集目標的信息,測試大量已知漏洞是否存在,自動發現SQL 注入、XSS 攻擊點,對攻擊進行抓取、截獲和重放,在比賽中大量部署后門進行控制等。
Python 中有大量第三方庫,可以讓你從無關的工作中脫身,專心實現自己所需要的功能(有時你甚至會發現有人已經很好地實現了你所需要的功能),不被雜亂的事務所困擾。在Web 滲透測試這種重視效率的工作中,用Python快速地把自己的需求轉換成能運行的程序,實在是令人興奮的一件事。
作者在本書中所給出的大量樣例和技巧,足以讓那些想利用Python 迅速提高Web 滲透測試水平的人得到很大的幫助。但請記住,一定要動手實踐。
只有動手實踐,才能真正體會到本書的精華所在。
Hacking the planet by Python!
——陳宇森 北京長亭科技有限公司聯合創始人/藍蓮花戰隊核心成員/BlackHat 2015 講者

推薦序
從我為轟動一時的《Python黑帽子:黑客與滲透測試編程之道》(第1版)作序以來,已經過去6年了。這些年,世界變了不少,但有一件事始終沒變:我每天還是要寫一大堆Python代碼。在計算機安全領域,為了應付各式各樣的任務,你每天仍要跟用各種語言編寫的工具打交道,比如用C語言寫的內核漏洞利用程序,用JavaScript寫的JavaScript fuzzer,或是用Rust之類的“花哨”語言寫的代理。然而,Python依然是這個圈子里的“得力干將”。在我看來,它仍是最易上手的編程語言,有數不勝數的第三方庫;如果需要快速編寫代碼完成復雜任務,輕松地化繁為簡,那么Python是最佳選擇。有大量的安全工具和漏洞利用程序仍然是用Python編寫的,比如CANVAS這樣的漏洞利用框架,以及Sulley這樣經典的fuzzer。
在《Python黑帽子:黑客與滲透測試編程之道》(第1版)發行之前,我就已經用Python寫過許多fuzzer和漏洞利用程序(攻擊代碼),攻擊過的目標包括Mac OS上的Safari瀏覽器、蘋果手機、安卓手機,甚至還有游戲《第二人生》(你可能需要上網搜一搜這個游戲)。
我還跟Chris Valasek一起寫過一段挺特別的攻擊代碼,它能夠遠程感染包括2014款Jeep切諾基在內的多款車型。這段攻擊代碼當然也是用Python寫的(基于dbus-python模塊)。我們開發了大量工具,能夠在感染車輛之后遠程控制它的方向盤、剎車和油門。上述這些工具,也全部是用Python開發的。從某種意義上,你甚至可以說是Python害菲亞特克萊斯勒公司召回了140萬輛汽車。
如果你喜歡做一些“修修補補”類的信息安全小項目,那么Python是一門非常值得學習的語言,因為Python中有大量的逆向工程框架、漏洞利用框架供你使用。現在,只要那幫Metasploit開發者能恢復神智,棄Ruby投Python,我們的開發者社區就能迎來統一。
此次對這本經典書的升級,Justin和Tim把書里的所有代碼都更新到Python 3版本。就個人而言,我是個想要死守Python 2的老頑固,但是當所有第三方庫都升級到Python 3時,我也得去接受它。這個新版很好地覆蓋了大量知識點,它們都是摩拳擦掌的年輕黑客們入門必備的知識,從如何收發網絡數據包,到網絡應用審計/攻擊所需的各項技能,應有盡有。
總之,《Python黑帽子:黑客與滲透測試編程之道》(第2版)是一本由從業多年的專家精心撰寫的好書,無私分享了他們一路走來學到的許多訣竅。也許它不會讓你馬上變成像我一樣的絕世高手,但它絕對能夠讓你走上一條正確的道路。
記住,腳本小子和職業黑客之間最大的區別,就是前者只會用別人寫的工具;而后者,能創造自己想要的一切。
——Charlie Miller

前言
Python黑客、Python程序員,隨便你怎么稱呼我們。Justin大部分的時間都在做滲透測試,這項工作要求快速開發出各種Python工具,并以最終成果為導向,不一定兼顧美觀、性能,甚至穩定性之類的細節。而Tim的口頭禪則是“先讓代碼能用,然后使其易懂、高效”。如果你的代碼寫得簡潔漂亮,不僅能方便別人讀懂,你自己隔了幾個月再看也會很輕松。通過閱讀本書,你將了解我們的編程風格:我們以實現各種又快又臟的巧妙方案為最終目標,而編寫干凈易懂的代碼是我們抵達這個目標的手段。希望這種編程哲學和風格也能對你有所幫助。
自《Python黑帽子:黑客與滲透測試編程之道》(第1版)問世以來,Python世界發生了不小的變化。Python 2于2020年1月被停止維護,Python 3成為目前編程與教學的推薦環境。因此,在本書中我們將所有代碼遷移到Python 3,并用上了最新的包與第三方庫。我們還用了一些Python 3.6和Python 3以上的版本才引入的語法,比如Unicode字符串、上下文管理器、f-string等。最后,我們還在本書中增補了一些編碼和網絡編程的知識點,比如上下文管理器的用法、BPF語法,以及ctypes和struct庫的比較等。
在閱讀本書的過程中,你會發現每個知識點都沒有講太深,這是我們有意為之的。我們希望教你一些基礎知識,再加一點簡單的技巧,為你進入黑客開發領域打下基礎。與此同時,我們在本書里塞了不少拓展閱讀材料、有趣的想法和課后作業,以此來啟發你找到自己的方向。我們鼓勵你去實踐這些想法,也歡迎你分享“造輪子”的體驗。
像所有技術圖書一樣,本書會帶給不同水平的讀者相當不同的體驗。有的人可能只需要翻看自己急需的內容,而有的人則需要從頭到尾讀完全書。如果你是一名初級至中級水平的Python程序員,建議你按章節順序通讀本書,這個過程能讓你學到不少東西。
作為開場,我們將在第2章介紹網絡方面的基礎知識,在第3章仔細講原始socket,在第4章介紹如何使用Scapy開發有趣的網絡工具。之后我們將討論如何攻擊Web應用。在第5章我們會先教你編寫一些典型的Web黑客工具,然后在第6章用鼎鼎大名的Burp Suite來編寫一些攻擊插件。再接下來,我們花大量的篇幅討論木馬,從第7章的基于GitHub服務的C&C通信,一直講到第10章的Windows提權技術。在最后一章我們學習Volatility內存取證庫,它既能幫你理解防守方是如何思考的,又能讓你明白如何以子之矛,攻子之盾。
我們會盡可能地讓書中的代碼樣例及解釋說明文字保持簡明扼要的風格。如果你剛剛開始接觸Python,建議你動手敲書里的每一行代碼,好好鍛煉一下寫代碼的手感。書中的所有源代碼都可以在鏈接1所指的頁面 上找到。
現在,讓我們出發吧!
pagetop