python灰帽子講的什麼

germo發表於2021-09-11

python灰帽子講的什麼

內容簡介

《Python灰帽子》是由知名安全機構Immunity Inc的資深黑帽Justin Seitz主筆撰寫的一本關於程式語言Python如何被廣泛應用於駭客與逆向工程領域的書籍。老牌駭客,同時也是Immunity Inc的創始人兼首席技術執行官(CTO)Dave Aitel為這本書擔任了技術編輯一職。書中絕大部分篇幅著眼於駭客技術領域中的兩大經久不衰的話題:逆向工程與漏洞挖掘,並向讀者呈現了幾乎每個逆向工程師或安全研究人員在日常工作中所面臨的各種場景,其中包括:如何設計與構建自己的除錯工具,如何自動化實現煩瑣的逆向分析任務,如何設計與構建自己的fuzzing工具,如何利用fuzzing 測試來找出存在於軟體產品中的安全漏洞,一些小技巧諸如鉤子與注入技術的應用,以及對一些主流Python安全工具如PyDbg、 Immunity Debugger、Sulley、IDAPython、PyEmu等的深入介紹。作者藉助於如今駭客社群中備受青睞的程式語言 Python引領讀者構建出精悍的指令碼程式來一一應對上述這些問題。出現在書中的相當一部分Python程式碼例項借鑑或直接來源於一些優秀的開源安全專案,諸如Pedram Amini的Paimei,由此讀者可以領略到安全研究者們是如何將駭客藝術與工程技術優雅融合來解決那些棘手問題的。

相關推薦:《》

作者簡介

Justin Seitz是一名Immunity公司的高階安全研究員,他在以往的工作中花費了大量的時間從事漏洞挖掘、逆向工程、編寫漏洞利用以及編寫Python程式碼的研究。

目錄

第1章 搭建開發環境 1

1.1 作業系統要求 1

1.2 獲取和安裝Python 2.5 2

1.2.1 在Windows下安裝Python 2

1.2.2 在Linux下安裝Python 2

1.3 安裝Eclipse和PyDev 4

1.3.1 駭客摯友:ctype庫 5

1.3.2 使用動態連結庫 6

1.3.3 構建C資料型別 8

1.3.4 按引用傳參 9

1.3.5 定義結構體和聯合體 9

第2章 偵錯程式原理和設計 12

2.1 通用暫存器 13

2.2 棧 15

2.3 除錯事件 17

2.4 斷點 18

2.4.1 軟斷點 18

2.4.2 硬體斷點 20

2.4.3 記憶體斷點 22

第3章 構建自己的Windows偵錯程式 24

3.1 Debugee,敢問你在何處 24

3.2 獲取暫存器狀態資訊 33

3.2.1 執行緒列舉 34

3.2.2 功能整合 35

3.3 實現除錯事件處理例程 39

3.4 無所不能的斷點 44

3.4.1 軟斷點 44

3.4.2 硬體斷點 49

3.4.3 記憶體斷點 55

3.5 總結 59

第4章 PyDbg——Windows下的純Python偵錯程式 60

4.1 擴充套件斷點處理例程 60

4.2 非法記憶體操作處理例程 63

4.3 程式快照 66

4.3.1 獲取程式快照 67

4.3.2 彙總與整合 70

第5章 Immunity Debugger——兩極世界的最佳選擇 74

5.1 安裝Immunity Debugger 74

5.2 Immunity Debugger 101 75

5.2.1 PyCommand命令 76

5.2.2 PyHooks 76

5.3 Exploit(漏洞利用程式)開發 78

5.3.1 搜尋exploit友好指令 78

5.3.2 “壞”字元過濾 80

5.3.3 繞過Windows 下的DEP機制 82

5.4 破除惡意軟體中的反除錯例程 87

5.4.1 IsDebuugerPresent 87

5.4.2 破除程式列舉例程 88

第6章 鉤子的藝術 90

6.1 使用PyDbg部署軟鉤子 90

6.2 使用Immunity Debugger部署硬鉤子 95

第7章 DLL注入與程式碼注入技術 101

7.1 建立遠端執行緒 101

7.1.1 DLL注入 102

7.1.2 程式碼注入 105

7.2 遁入黑暗 108

7.2.1 檔案隱藏 109

7.2.2 構建後門 110

7.2.3 使用py2exe編譯Python程式碼 114

第8章 Fuzzing 117

8.1 幾種常見的bug型別 118

8.1.1 緩衝區溢位 118

8.1.2 整數溢位 119

8.1.3 格式化串攻擊 121

8.2 檔案Fuzzer 122

8.3 後續改進策略 129

8.3.1 程式碼覆蓋率 129

8.3.2 自動化靜態分析 130

第9章 Sulley 131

9.1 安裝Sulley 132

9.2 Sulley中的基本資料型別 132

9.2.1 字串 133

9.2.2 分隔符 133

9.2.3 靜態和隨機資料型別 134

9.2.4 二進位制資料 134

9.2.5 整數 134

9.2.6 塊與組 135

9.3 行刺WarFTPD 136

9.3.1 FTP 101 137

9.3.2 建立FTP協議描述框架 138

9.3.3 Sulley會話 139

9.3.4 網路和程式監控 140

9.3.5 Fuzzing測試以及Sulley的Web介面 141

第10章 面向Windows驅動的Fuzzing測試技術 145

10.1 驅動通訊基礎 146

10.2 使用Immunity Debugger進行驅動級的Fuzzing測試 147

10.3 Driverlib——面向驅動的靜態分析工具 151

10.3.1 尋找裝置名稱 152

10.3.2 尋找IOCTL分派例程 153

10.3.3 搜尋有效的IOCTL控制碼 155

10.4 構建一個驅動Fuzzer 157

第11章 IDAPython——IDA PRO環境下的Python指令碼程式設計 162

11.1 安裝IDAPython 163

11.2 IDAPython函式 164

11.2.1 兩個工具函式 164

11.2.2 段(Segment) 164

11.2.3 函式 165

11.2.4 交叉引用 166

11.2.5 偵錯程式鉤子 166

11.3 指令碼例項 167

11.3.1 搜尋危險函式的交叉程式碼 168

11.3.2 函式覆蓋檢測 169

11.3.3 檢測棧變數大小 171

第12章 PYEmu——指令碼驅動式模擬器 174

12.1 安裝PyEmu 174

12.2 PyEmu概覽 175

12.2.1 PyCPU 175

12.2.2 PyMemory 176

12.2.3 PyEmu 176

12.2.4 指令執行 176

12.2.5 記憶體修改器與暫存器修改器 177

12.2.6 處理例程(Handler) 177

12.3 IDAPyEmu 182

12.3.1 函式模擬 184

12.3.2 PEPyEmu 187

12.3.3 可執行檔案加殼器 188

12.3.4 UPX加殼器 188

12.3.5 利用PEPyEmu脫UPX殼 189

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/1868/viewspace-2836340/,如需轉載,請註明出處,否則將追究法律責任。

相關文章