Python灰帽子︰黑客與逆向工程師的Python編程之道

Python灰帽子︰黑客與逆向工程師的Python編程之道
定價:234
NT $ 234
 

內容簡介

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

本書適合熱衷于黑客技術,特別是與逆向工程與漏洞挖掘領域相關的讀者,以及所有對Python編程感興趣的讀者閱讀與參考。
 

目錄

第1章 搭建開發環境
1.1 操作系統要求
1.2 獲取和安裝Python 2.5
1.2.1 在Windows下安裝Python
1.2.2 在Linux下安裝Python
1.3 安裝Eclipse和PyDev
1.3.1 黑客摯友︰ctype庫
1.3.2 使用動態鏈接庫
1.3.3 構建C數據類型
1.3.4 按引用傳參
1.3.5 定義結構體和聯合體
第2章 調試器原理和設計
2.1 通用寄存器
2.2 棧
2.3 調試事件
2.4 斷點
2.4.1 軟斷點
2.4.2 硬件斷點
2.4.3 內存斷點
第3章 構建自己的Windows調試器
3.1 Debugee,敢問你在何處
3.2 獲取寄存器狀態信息
3.2.1 線程枚舉
3.2.2 功能整合
3.3 實現調試事件處理例程
3.4 無所不能的斷點
3.4.1 軟斷點
3.4.2 硬件斷點
3.4.3 內存斷點
3.5 總結
第4章 PyDbg——WindoWS下的純Python調試器
4.1 擴展斷點處理例程
4.2 非法內存操作處理例程
4.3 進程快照
4.3.1 獲取進程快照
4.3.2 匯總與整合
第5章 Immunity Debugger一兩極世界的最佳選擇
5.1 安裝Immunity Debugger
5.2 Immunity Debugger l01
5.2.1 PyCommand命令
5.2.2 PyHooks
5.3 Exploit(漏洞利用程序)開發
5.3.1 搜尋exploit友好指令
5.3.2“壞”字符過濾
5.3.3 繞過Windows下的DEP機制
5.4 破除惡意軟件中的反調試例程
5.4 1 lsDebuugerPresent
5.4.2 破除進程枚舉例程
第6章 鉤子的藝術
6.1 使用PyDbg部署軟鉤子
6.2 使用Immunity Debugger部署硬鉤子
第7章 DLL注入與代碼注入技術
7.1 創建遠程線程
7.1.1 DLL注入
7.1.2 代碼注入
7.2 遁入黑暗
7.2.1 文件隱藏
7.2.2 構建後門
7.2.3 使用py2exe編譯Python代碼
第8章 Fuzzing
8.1 幾種常見的bug類型
8.1.1 緩沖區溢出
8.1.2 整數溢出
8.1.3 格式化串攻擊
8.2 文件Fuzzer
8.3 後續改進策略
8.3.1 代碼覆蓋率
8.3.2 自動化靜態分析
第9章 Sulley
9.1 安裝Sulley
9.2 Sulley中的基本數據類型
9.2.1 字符串
9.2.2 分隔符
9.2.3 靜態和隨機數據類型
9.2.4 二進制數據
9.2.5 整數
9.2.6 塊與組
9.3 行刺WarFTPD
9.3.1 FTP 101
9.3.2 創建FTP協議描述框架
9.3.3 Sulley會話
9.3.4 網絡和進程監控
9.3.5 Fuzzing測試以及Sulley的Web界面
第10章 面向Windows驅動的Fuzzing測試技術
10.1 驅動通信基礎
10.2 使用Immunity Debugger進行驅動級的Fuzzing測試
10.3 Driverlib——面向驅動的靜態分析工具
10.3.1 尋找設備名稱
10.3.2 尋找IOCTL分派例程
10.3.3 搜尋有效的IOCTL控制碼
10.4 構建一個驅動Fuzzer
第11章 IDAPyrhon——IDA PRO環境下的Pyrhon
11.1 安裝IDAPython
11.2 IDAPython函數
11.2.1 兩個工具函數
11.2.2 段(Segment)
11.2.3 函數
11.2.4 交叉引用
11.2.5 調試器鉤子
11.3 腳本實例
11.3.1 搜尋危險函數的交叉代碼
11.3.2 函數覆蓋檢測
11.3.3 檢測棧變量大小
第12章 PYEmu——腳本驅動式仿真器
12.1 安裝
12.2 PyEmu概覽
12.2.1 PyCPU
12.2.2 PyMemory
12.2.3 PyEmu
12.2.4 指令執行
12.2.5 內存修改器與寄存器修改器
12.2.6 處理例程(Handler)
12.3 IDAPyEmu
12.3.1 函數仿真
12.3.2 PEPyEmu
12.3.3 可執行文件加殼器
12.3.4 UPX加殼器
12.3.5 利用PEPyEmu脫UPX殼
 

Python是一款非常流行的腳本編程語言。特別是在黑客圈子里,你不會Python就幾乎無法與國外的那些大牛們溝通。這一點我在2008年的XCon,以及2009年的idefense高級逆向工程師培訓中感觸頗深。前一次是因為我落伍,幾乎還不怎麼會Python,而後一次……記得當時我、海平和Michael Ligh(他最近出版的Malware Analyst’s Cookbookand DVD:Tools and Techniques for Fighting Malicious Cade)一書在Amazon上得了7顆五星!)討論一些惡意軟件分析技術時經常會用到Python,從Immunity Debugger的PyCommand、IDA的IDAPython到純用Python編寫的Volatility工具(這是…款內存分析工具,用于發現rootkit之類的惡意軟件)。Python幾乎無處不在!我也嘗試過對Volatility進行了一些改進,在電子工業出版社舉辦的“在線安全”Open Party上海站活動中,我以《利用內存分析的方法快速分析惡意軟件》為題進行了演講。

遺憾的是,之前市面上還沒有一本關于如何利用黑客工具中提供的Python(由于必須使用許多黑客工具中提供的庫函數,所以這時你更像在用一種Python的方言編程)的書籍。故而,在進行相關編程時,我們總是要穿行于各種文檔、資料之中,個中甘苦只自知。

本書的出版滿足了這方面的需求,它會是我手頭常備的一本書,啊不!是兩本,一本備用,另一本因為經常翻看用不了多久就肯定會破爛不堪。

說到這本書的好處也許還不僅于此,它不僅是一本Python黑客編程方面的極佳參考書,同時也是一本軟件調試和漏洞發掘方面很好的入門教材。這本書的作者從調試器的底層工作原理講起,一路帶你領略了Python在調試器、鉤子、代碼注入、fuzing、反匯編器和模擬器中的應用,涵蓋了軟件調試和漏洞發掘中的各個方面,使你在循序漸進中了解這一研究領域目前最新研究成果的大略。

本書譯者的翻譯也很到位。不客氣地說,不少好書是被糟糕的翻譯耽誤掉的。比如我在讀大學時的一本中文版的參考書,我看了三遍沒明白是怎麼回事,後來想起老師推薦時用的是英文版,于是試著去圖書館借了本英文版,結果看一遍就明白了。不過這本書顯然不屬于此例。譯者丁贊卿本來就是從事這一領域研究的,對原文意思的理解非常到位,中文用詞也十分貼切。特別是這本書的英文版中原本是存在一些錯誤的(包括一些代碼),譯者在中文版中竟然已經一一予以糾正了,從這一點上也可以看出譯者在翻譯過程中的認真細致。

我已經(口羅)(口羅)嗦嗦地講了不少了,你還在等什麼?還不快去賬台付錢?

崔孝晨
2010.12.16于Hannibal from Team 509
網路書店 類別 折扣 價格
  1. 新書
    $234