描述
內容簡介
全書圍繞如何使用目前備受矚目的Python語言進行網路安全程式設計展開。
從Python 的基礎講起,系統說明網路安全的作用、方法論,Python 在網路安全管理上的應用,以及Python 在實現這些應用時相關的網路原理和技術。
結合實例說明使用Python 進行網路安全程式設計的方法,以及在實際滲透中的各種應用,包含安全工具的開發、自動化報表的產生、自訂模組的開發等,將 Python 變成讀者手中的程式設計利器。
本書主要內容:
■ 網路安全滲透測試的相關理論
■ Kali Linux 2使用基礎
■ Python 語言基礎
■ 安全滲透測試中的常見模組
■ 資訊收集
■ 對漏洞進行滲透
■ 網路的偵測與監聽
■ 拒絕服務攻擊
■ 身份認證攻擊
■ 遠端控制工具
■ 無線網路滲透
■ Web滲透測試
■ 產生滲透測試報告
適合讀者群:網路安全滲透測試人員、運行維護工程師、網路管理人員、網路安全裝置設計人員、網路安全軟體開發人員,或非專業但熱衷網路安全研究者。
序
前言
❁ 為什麼要寫這本書
「人生苦短,我用Python。」短短的幾年時間中,Python 迅速成為最熱門的程式語言之一。為什麼Python 會取得如此大的成功呢?原因很簡單,功能強大、簡單易學就是它最大的優勢。
而Python 的到來對網路安全從業人員來說,更是一個好消息。雖然目前市面上已經有了很多功能強大的網路安全工具,但是複雜的網路環境常常是事先無法預知的,因此這些工具經常會有無法勝任的時候。如果網路安全從業人員具備程式設計能力,就可以彌補這些工具的不足之處。
對網路安全從業人員來說,最重要的應該是掌握各種網路安全的缺陷。因此,目前的網路安全教育訓練和書籍大都以工具的使用為主,而忽視了程式設計能力的培養。程式設計能力的欠缺直接造成了網路安全從業人員工作效率的不佳。但是要網路安全從業人員花費大量的時間和精力去精通一種傳統的程式語言,實際上也並不現實。因此,一種簡單而又強大的語言才是網路安全從業人員所需要的。近年來,Python 在程式設計界異軍突起,幾乎成為最熱門的程式語言無所不能,因此受到了廣大網路安全企業從業人員的喜愛。假以時日,Python 語言必會成為最流行的網路安全程式語言。
在本書的撰寫過程中,作者一直在學校從事網路安全方面的教學。在實作中,作者發現這個專業的學生面對的最大困難就是無法將網路安全中各種分散的知識聯繫起來。這些年作者也一直在尋求這個難題的解決方法,在此期間參閱了大量的國外優秀圖書。而最後作者發現解決這個問題的方法就是掌握一種程式語言,程式設計實現所有的基礎知識,而這門程式語言的最好選擇正是Python。本書在出版之前已經作為講義在課堂上使用了多年,作者也根據學生的反映了增刪。這些同學也成為本書最初的讀者,希望這本書在替他們帶來知識的同時,也能為各位讀者帶來一些幫助。
❁ 本書特色
本書由資深的網路安全教師撰寫,內容圍繞如何使用目前最受矚目的Python 語言進行網路安全程式設計展開。本書從Python 的基礎講起,系統說明了網路安全的作用、方法論,Python 在網路安全管理上的應用,以及Python 在實現這些應用時相關的網路原理和技術。結合實例說明了使用Python 進行網路安全程式設計的方法,以及在實際滲透中的各種應用,包含安全工具的開發、自動化報表的產生、自訂模組的開發等,將Python 變成讀者手中的程式設計利器。
❁ 閱讀本書的建議
(1) 沒有Python 基礎的讀者,建議從第1 章開始按順序閱讀並演練每一個實例。
(2) 有一定Python 基礎的讀者,可以根據實際情況有重點地選擇閱讀部分技術要點。
(3) 對於每一個基礎知識和專案案例,先通讀一遍以便有一個大概印象,然後將每個基礎知識的範例程式都在開發環境中操作以便加深對基礎知識的了解。
❁ 適合讀者群
本書的讀者群主要是網路安全滲透測試人員、運行維護工程師、網路管理人員、網路安全裝置設計人員、網路安全軟體開發人員、安全課程教育訓練學員、大專院校網路安全專業方向的學生,還包含各種非專業但卻熱衷於網路安全研究的人員。
目前,駭客文化的盛行,以及網路安全同好的日益增多,也為本書聚集了大量的潛在讀者。
❁ 如何閱讀本書
全書一共包含15 章。
■ 第 1 章主要介紹了網路安全滲透測試的相關理論。
■ 第 2 章主要介紹了 Kali Linux 2 使用基礎。
■ 第 3 章主要介紹了 Python 語言基礎。
■ 第 4 章主要介紹了安全滲透測試中的常見模組。
■ 第 5 章主要介紹了使用 Python 實現資訊收集。
■ 第 6 章主要介紹了使用 Python 對漏洞進行滲透的基礎部分。
■ 第 7 章主要介紹了使用 Python 對漏洞進行滲透的進階部分。
■ 第 8 章主要介紹了使用 Python 實現網路的偵測與監聽。
■ 第 9 章主要介紹了使用 Python 實現拒絕服務攻擊。
■ 第 10 章主要介紹了使用 Python 實現身份認證攻擊。
■ 第 11 章主要介紹了使用 Python 來撰寫遠端控制工具。
■ 第 12 章主要介紹了使用 Python 完成無線網路滲透基礎部分。
■ 第 13 章主要介紹了使用 Python 完成無線網路滲透進階部分。
■ 第 14 章主要介紹了使用 Python 對 Web 應用進行滲透測試。
■ 第 15 章主要介紹了使用 Python 產生滲透測試報告。
❁ 關於勘誤
雖然作者花了很多時間和精力去核心對書中的文字、程式和圖片,但因為時間倉促和水準有限,書中仍難免會有一些不足和紕漏,如果讀者發現問題,懇請回饋給作者,相關資訊可發到電子郵件lihuafeng1999@163.com
作者會努力回答疑問或指出一個正確的方向。
❁ 致謝
感謝所有的讀者,是你們的支援促成了本書的面世。感謝作者所在單位提供了自由的工作環境,正是這種完全自由的氣氛才使得作者多年的心血能夠以文字的形式展示出來。感謝清華大學出版社在本書的撰寫過程中對作者的支援。最後感謝身邊的每一位親人、朋友以及學生,感謝你們在作者撰寫此書時給予的支援與了解。
目錄
01 網路安全滲透測試
1.1 網路安全滲透測試簡介
1.2 開展網路安全滲透測試
1.3 網路安全滲透測試需要掌握的技能
02 Kali Linux 2 使用基礎
2.1 Kali Linux 2 介紹
2.2 Kali Linux 2 安裝
2.3 Kali Linux 2 的常用操作
2.4 VMware 的進階操作
03 Python 語言基礎
3.1 Python 語言基礎
3.2 在Kali Linux 2 系統中安裝Python 程式設計環境
3.3 撰寫第一個Python 程式
3.4 選擇結構
3.5 循環結構
3.6 數字和字串
3.7 清單、元組和字典
3.8 函數與模組
3.9 檔案處理
04 安全滲透測試的常見模組
4.1 Socket 模組檔案
4.2 python-nmap 模組檔案
4.3 Scapy 模組檔案
05 情報收集
5.1 資訊收集基礎
5.2 主機狀態掃描
5.3 通訊埠掃描
5.4 服務掃描
5.5 作業系統掃描
06 漏洞滲透模組的撰寫
6.1 測試軟體的溢位漏洞
6.2 計算軟體溢位的偏移位址
6.3 尋找JMP ESP 指令
6.4 撰寫滲透程式
6.5 壞字元的確定
6.6 使用Metasploit 來產生Shellcode
07 對漏洞進行滲透(進階部分)
7.1 SEH 溢位簡介
7.2 撰寫以SEH 溢位滲透模組為基礎的要點
7.3 撰寫滲透模組
7.4 使用Metasploit 與滲透模組協作工作
08 網路偵測與欺騙
8.1 網路資料偵測
8.2 ARP 的原理與缺陷
8.3 ARP 欺騙的原理
8.4 中間人欺騙
09 拒絕服務攻擊
9.1 資料連結層的拒絕服務攻擊
9.2 網路層的拒絕服務攻擊
9.3 傳輸層的拒絕服務攻擊
9.4 以應用層為基礎的拒絕服務攻擊
10 身份認證攻擊
10.1 簡單網路服務認證的攻擊
10.2 破解密碼字典
10.3 FTP 暴力破解模組
10.4 SSH 暴力破解模組
10.5 Web 暴力破解模組
10.6 使用Burp Suite 對網路認證服務的攻擊
11 遠端控制工具
11.1 遠端控制工具簡介
11.2 Python 中的控制基礎subprocess 模組
11.3 利用用戶端向服務端發送控制指令
11.4 將Python 指令稿轉為exe 檔案
12 無線網路滲透(基礎部分)
12.1 無線網路基礎
12.2 Kali Linux 2 中的無線功能
12.3 AP 掃描器
12.4 無線資料偵測器
12.5 無線網路的用戶端掃描器
12.6 掃描隱藏的SSID
12.7 繞過目標的MAC 過濾機制
12.8 捕捉加密的資料封包
13 無線網路滲透(進階部分)
13.1 模擬無線用戶端的連接過程
13.2 模擬AP 的連接行為
13.3 撰寫Deauth 攻擊程式
13.4 無線入侵偵測
14 對Web 應用進行滲透測試
14.1 HTTP 簡介
14.2 對Web 程式進行滲透測試所需模組
14.3 處理HTTP 表頭
14.4 處理Cookie
14.5 捕捉HTTP 基本認證資料封包
14.6 撰寫Web 伺服器掃描程式
14.7 暴力掃描出目標伺服器上所有頁面
15 產生滲透測試報告
15.1 滲透測試報告的相關理論
15.2 處理XML 檔案
15.3 產生Excel 格式的滲透報告