本書是暢銷書《Python 灰帽子—黑客與逆向工程師的 Python 編程之道》的姊妹篇,那本書一面市便占據(jù)計算機(jī)安全類書籍的頭把交椅。本書由 Immunity 公司的高級安全研究員 Justin Seitz 精心撰寫。作者根據(jù)自己在安全界,特別是滲透測試領(lǐng)域的幾十年經(jīng)驗(yàn),向讀者介紹了 Python 如何被用在黑客和滲透測試的各個領(lǐng)域,從基本的網(wǎng)絡(luò)掃描到數(shù)據(jù)包捕獲,從 Web 爬蟲到編寫 Burp 擴(kuò)展工具,從編寫木馬到權(quán)限提升等。 作者在本書中的很多實(shí)例都非常具有創(chuàng)新和啟發(fā)意義, 如 HTTP 數(shù)據(jù)中的圖片檢測、 基于 GitHub命令進(jìn)行控制的模塊化木馬、瀏覽器的中間人攻擊技術(shù)、利用 COM 組件自動化技術(shù)竊取數(shù)據(jù)、通過進(jìn)程監(jiān)視和代碼插入實(shí)現(xiàn)權(quán)限提升、通過向虛擬機(jī)內(nèi)存快照中插入 shellcode 實(shí)現(xiàn)木馬駐留和權(quán)限提升等。通過對這些技術(shù)的學(xué)習(xí),讀者不僅能掌握各種 Python 庫的應(yīng)用和編程技術(shù),還能拓寬視野,培養(yǎng)和鍛煉自己的黑客思維。讀者在閱讀本書時也完全感覺不到其他一些技術(shù)書籍常見的枯燥和乏味。
第 1 章 設(shè)置 Python 環(huán)境 1
安裝 Kali Linux 虛擬機(jī)1
WingIDE3
第 2 章 網(wǎng)絡(luò)基礎(chǔ) 9
Python 網(wǎng)絡(luò)編程簡介 10
TCP 客戶端 10
UDP 客戶端 11
TCP 服務(wù)器12
取代 netcat13
小試牛刀 21
創(chuàng)建一個 TCP 代理 23
小試牛刀 28
通過 Paramiko 使用 SSH 29
小試牛刀 34
SSH 隧道 34
小試牛刀 38
第 3 章 網(wǎng)絡(luò):原始套接字和流量嗅探 40
開發(fā) UDP 主機(jī)發(fā)現(xiàn)工具 41
Windows 和 Linux 上的包嗅探 41
小試牛刀 43
解碼 IP 層 43
小試牛刀 47
解碼 ICMP48
小試牛刀 52
第 4 章 Scapy:網(wǎng)絡(luò)的掌控者 54
竊取 Email 認(rèn)證 55
小試牛刀 57
利用 Scapy 進(jìn)行 ARP 緩存投毒 58
小試牛刀 63
處理 PCAP 文件 64
小試牛刀 69
第 5 章 Web 攻擊 71
Web 的套接字函數(shù)庫: urllib2 71
開源 Web 應(yīng)用安裝 73
小試牛刀 75
暴力破解目錄和文件位置 76
小試牛刀 79
暴力破解 HTML 表格認(rèn)證 80
小試牛刀 86
第 6 章 擴(kuò)展 Burp 代理 88
配置89
Burp 模糊測試90
小試牛刀 97
在 Burp 中利用 Bing 服務(wù) 101
小試牛刀 105
利用網(wǎng)站內(nèi)容生成密碼字典 107
小試牛刀 111
第 7 章 基于 GitHub 的命令和控制114
GitHub 賬號設(shè)置115
創(chuàng)建模塊116
木馬配置 117
編寫基于 GitHub 通信的木馬 118
Python 模塊導(dǎo)入功能的破解121
小試牛刀123
第 8 章 Windows 下木馬的常用功能125
有趣的鍵盤記錄125
小試牛刀 129
截取屏幕快照 130
Python 方式的 shellcode 執(zhí)行 131
小試牛刀 132
沙盒檢測 133
第 9 章 玩轉(zhuǎn)瀏覽器140
基于瀏覽器的中間人攻擊 140
創(chuàng)建接收服務(wù)器144
小試牛刀 145
利用 IE 的 COM 組件自動化技術(shù)竊取數(shù)據(jù) 146
小試牛刀 154
第 10 章 Windows 系統(tǒng)提權(quán)156
環(huán)境準(zhǔn)備157
創(chuàng)建進(jìn)程監(jiān)視器 158
利用 WMI 監(jiān)視進(jìn)程 158
小試牛刀 160
Windows 系統(tǒng)的令牌權(quán)限 161
贏得競爭 163
小試牛刀 167
代碼插入168
小試牛刀 170
第 11 章 自動化攻擊取證172
工具安裝 173
工具配置 173
抓取口令的哈希值173
直接代碼注入177
小試牛刀 183
譯者序
毫無疑問,在腳本語言的世界里, Python 已經(jīng)變得足夠強(qiáng)大且流行。這不僅是因?yàn)?Python 簡練的語法風(fēng)格和非常高的開發(fā)效率,還由于 Python 擁有*活躍的開發(fā)社區(qū)和數(shù)量龐大的第三方庫。用 Python 編寫的代碼短小而精干,越來越多的技術(shù)人員開始使用 Python 作為**語言進(jìn)行編程。
在滲透測試的過程中,我們可能面對非常復(fù)雜的網(wǎng)絡(luò)環(huán)境,其中任何一個環(huán)節(jié)都可能是我們的突破點(diǎn)。這不僅要求我們?nèi)嬲莆崭鞣N系統(tǒng)和環(huán)境的薄弱環(huán)節(jié),然后使用工具或者編程進(jìn)行測試,而且要求我們有快速處理和靈活應(yīng)變的能力。特別是在分秒必爭的 CTF 競賽中,快速編碼的能力顯得尤為重要。使用 Python 能很好地滿足這些要求。
本書是暢銷書 Gray Hat Python(《Python 灰帽子—黑客與逆向工程師的Python 編程之道》)的姊妹篇。在那本書中,作者介紹了 Python 在逆向工程和漏洞挖掘方面的強(qiáng)大功能;而在本書中,作者介紹了 Python 如何被用在黑客和滲透測試的各個領(lǐng)域,從基本的網(wǎng)絡(luò)掃描到數(shù)據(jù)包捕獲,從 Web 爬蟲到編寫B(tài)urp 擴(kuò)展工具,從編寫木馬到權(quán)限提升等。作者是一位經(jīng)驗(yàn)非常豐富的安全工作人員,他結(jié)合自己在工作中經(jīng)常碰到的問題、經(jīng)常需要使用的工具等,運(yùn)用大量的實(shí)例向我們展示如何輕松地使用 Python 迅速、高效地編寫符合我們要求vi Python 黑帽子:黑客與滲透測試編程之道的工具。除了一些基本的 Python 編程技能,如使用 Socket 編寫客戶端與服務(wù)端、使用原始套接字和 Scapy 庫進(jìn)行嗅探,作者在本書中的很多實(shí)例都非常具有創(chuàng)新和啟發(fā)意義。例如, HTTP 數(shù)據(jù)中的圖片檢測,基于 GitHub 進(jìn)行命令和控制的模塊化木馬,瀏覽器的中間人攻擊技術(shù),利用 COM 組件自動化技術(shù)竊取數(shù)據(jù),通過進(jìn)程監(jiān)視和代碼插入實(shí)現(xiàn)權(quán)限提升, 通過向虛擬機(jī)內(nèi)存快照中插入shellcode 實(shí)現(xiàn)木馬駐留和權(quán)限提升等。通過閱讀本書,讀者不僅能學(xué)到各種Python 庫的應(yīng)用和編程技術(shù),還能拓寬視野,培養(yǎng)和鍛煉自己的黑客思維,這使得讀者在閱讀本書的過程中不會感覺如閱讀普通技術(shù)書籍那樣的枯燥和乏味。
同時,作者在大部分實(shí)例的講解過程中,指明了工具需要進(jìn)一步拓展和完善的地方,并將這些工作布置為家庭作業(yè)。我建議讀者按照作者的要求修改和完善這些工具,因?yàn)檫@個過程不僅能獲得對已學(xué)知識的鞏固和提升,還能獲得滿滿的成就感!
在網(wǎng)絡(luò)安全領(lǐng)域,我們通常將只懂得使用已有工具的黑客稱為“腳本小子”。
現(xiàn)在,有了本書,稍加學(xué)習(xí)和運(yùn)用,你就能編寫出功能足夠強(qiáng)大的工具。趕緊行動起來,擺脫這個帶有歧視性質(zhì)的稱呼吧!
本書的翻譯分工如下:孫松柏翻譯前言、第 1 章、第 2 章、第 5 章和第 6章;李聰翻譯第 3 章、第 4 章、第 7 章和第 8 章;潤秋翻譯第 9 章、第 10 章和第 11 章。第 1 章、第 2 章、第 6 章、第 9 章和第 10 章由李聰負(fù)責(zé)審閱,第3 章、第 4 章和第 11 章由孫松柏負(fù)責(zé)審閱,潤秋審閱第 5章、第 7 章、第 8 章。本書的翻譯工作由孫松柏負(fù)責(zé)組織和統(tǒng)籌。
由于水平有限,翻譯中難免出現(xiàn)一些錯漏和表達(dá)不準(zhǔn)確的地方,懇請讀者批評指正。
李聰
2015 年 5 月于廣東