Python灰帽子:黑客與逆向工程師的Python編程之道_第1頁
Python灰帽子:黑客與逆向工程師的Python編程之道_第2頁
Python灰帽子:黑客與逆向工程師的Python編程之道_第3頁
Python灰帽子:黑客與逆向工程師的Python編程之道_第4頁
Python灰帽子:黑客與逆向工程師的Python編程之道_第5頁
已閱讀5頁,還剩24頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

Python灰帽子:黑客與逆向工程師的Python編程之道2011年電子工業(yè)出版社出版的圖書01宣傳語譯者序簡介內(nèi)容簡介前言目錄目錄0305020406基本信息《Python灰帽子》是2011年電子工業(yè)出版社出版的圖書,作者是(美)JustinSeitz。宣傳語宣傳語掌握職業(yè)黑客的Python工具箱內(nèi)容簡介內(nèi)容簡介本書適合熱衷于黑客技術(shù),特別是與逆向工程與漏洞挖掘領(lǐng)域相關(guān)的讀者,以及所有對Python編程感興趣的讀者閱讀與參考。推薦序Python是一款非常流行的腳本編程語言。特別是在黑客圈子里,你不會Python就幾乎無法與國外的那些大牛們溝通。這一點我在2008年的XCon,以及2009年的idefense高級逆向工程師培訓(xùn)中感觸頗深。前一次是因為我落伍,幾乎還不怎么會Python,而后一次……記得當(dāng)時我、海平和MichaelLigh(他最近出版的MalwareAnalyst'sCookbookandDVD:ToolsandTechniquesforFightingMaliciousCode)一書在Amazon上得了7顆五星!)討論一些惡意軟件分析技術(shù)時經(jīng)常會用到Python,從ImmunityDebugger的PyCommand、IDA的IDAPython到純用Python編寫的Volatility工具(這是一款內(nèi)存分析工具,用于發(fā)現(xiàn)rootkit之類的惡意軟件)。Python幾乎無處不在!我也嘗試過對Volatility進行了一些改進,在電子工業(yè)出版社舉辦的“在線安全”O(jiān)penParty上海站活動中,我以《利用內(nèi)存分析的方法快速分析惡意軟件》為題進行了演講。遺憾的是,之前市面上還沒有一本關(guān)于如何利用黑客工具中提供的Python(由于必須使用許多黑客工具中提供的庫函數(shù),所以這時你更像在用一種Python的方言編程)的書籍。故而,在進行相關(guān)編程時,我們總是要穿行于各種文檔、資料之中,個中甘苦只自知。譯者序譯者序早在逆向工程這一行當(dāng)如今日一般具備諸多的工程要義之前,我們更多地使用“Crack”這一富有獨立精神與草莽氣息的詞,來指代那些早期的為了反抗商業(yè)軟件文化所固有的封閉特性與壟斷本質(zhì)而實施的破解行為。早期的Cracker們并不像如今的逆向工程師一般有福,有著大量強大豐富的自動化分析工具與成熟的方法論,然而在這些行業(yè)先行者身上所體現(xiàn)出的精神與文化值得我們學(xué)習(xí)。Cracker中的開山鼻祖+ORC便是其中一位身兼工程師與哲學(xué)家氣質(zhì)理念的傳奇人物,由其撰寫的18篇《Howtocrack》作為最早的破解布道書廣為流傳,除了純粹的技術(shù)內(nèi)容外,其中不乏充滿靈性的隱喻與哲學(xué)理念。在其筆下,令人望而生畏的反編譯代碼被喻為“代碼叢林”(Codewood),而有幸踏入這塊領(lǐng)地的Cracker們則有如苦行于山澗叢林的狩獵者,他們沿著目標(biāo)所留下的蛛絲馬跡苦苦追尋,在堅忍之中等待著正面相遇的那一刻因緣際會。然而完滿福德與美好因緣并不會輕易眷顧身帶凡夫之氣的新手,在他們求得般若之前,也許免不了輪回于一次次觸破水月鏡花之后的悲喜,迷失于代碼叢林時的自我懷疑與望眼欲穿,以及柳暗花明后的唏噓短嘆。Crack的過程對于那些OldSchool(守舊派)來說更像是一次精神修行,幫助你在這旅途中發(fā)現(xiàn)自我,找尋一個更好的自我。+ORC在其撰寫的教程中不止一次地提及修行的Cracker在Crack之時,不應(yīng)忘記破解之禪(ZenofCrack)。也許任何一門迷人醉心的文化或者技藝都逃不過在商業(yè)洪流磨礪下重建秩序的宿命,就像朋克文化與搖滾樂一樣。隨著各種黑帽,灰帽會議召開,越來越多的安全愛好者與黑客從地下浮出,試圖在這個利益驅(qū)動的行業(yè)生態(tài)中尋求成功。前言前言“搞定了嗎?”,這可能是在Immunity公司出現(xiàn)頻率最高的一句話了。你也許會在類似以下的場景中聽到這樣的發(fā)問:“我正要給ImmunityDebugger開發(fā)一個新的ELF加載器”,片刻停頓之后,“搞定了嗎?”或者,“我剛發(fā)現(xiàn)了IE瀏覽器的一個Bug!”又一片刻的沉寂之后,“那個漏洞利用程序搞定了嗎?”在日常的安全項目中我們幾乎無時無刻地須要創(chuàng)建或者改寫自己的安全工具,并在這些頻繁的活動中始終保持高速的開發(fā)節(jié)奏,這使得Python逐漸成為了這個舞臺上的明星。你可以在下一個安全項目中選擇Python作為自己的開發(fā)工具,也許你將會用它來創(chuàng)建一個特殊的反編譯器或者開發(fā)一個完整的調(diào)試器。當(dāng)我走進位于南邁阿密海灘的AceHardware(美國的一家連鎖五金店),沿著擺放著螺絲刀的通道走過時,常常會感到目眩。你會看到接近50多種不同規(guī)格的螺絲刀以整齊的順序陳列在貨架上。每一種規(guī)格的螺絲刀都與緊鄰的螺絲刀有著微小卻又十分重要的區(qū)別。我不是一個合格的修理能手,因此無法準(zhǔn)確地說出每一種螺絲刀最為理想的使用場合,但是我很確信類似的情況同樣適用于我們的安全工具軟件。尤其是當(dāng)你在對Web類型或者其他類型的高度定制化的應(yīng)用程序進行安全審計時,你會發(fā)現(xiàn)每一次的審計任務(wù)都會需要一把特殊的“螺絲刀”來解決問題。要知道能夠及時地拼湊出一些類似SQLAPI函數(shù)鉤子之類的安全小工具已經(jīng)不止一次地拯救了Immunity的工作團隊。當(dāng)然這些工具并不僅僅適用于安全審計任務(wù),一旦你能夠使用鉤子函數(shù)對SQLAPI進行攔截,你就可以輕易地編寫出一個工具用于實時檢測可疑的異常SQL查詢,并及時向你的客戶公司提供修復(fù)方案,以抵御那些來自頑固黑客們的攻擊。簡介簡介我為了進行黑客技術(shù)研究而特地學(xué)習(xí)了Python這門語言,我敢斷言在這個領(lǐng)域中的眾多其他同行們也是如此。我曾經(jīng)花費了大量的時間來尋找一種能夠同時適用于黑客技術(shù)和逆向工程領(lǐng)域的編程語言,就在幾年前,Python成為了黑客編程領(lǐng)域內(nèi)顯而易見的王者。而一個不盡人如意的事實是,到目前為止還沒有一本真正意義上的參考手冊,來指導(dǎo)你將Python應(yīng)用于不同的黑客技術(shù)場景中。你往往需要游走于各大論壇的技術(shù)討論帖子中或者各種工具手冊中。有時為了使你的工具能夠正確地運轉(zhuǎn)起來,花費一番不小的功夫來閱讀和調(diào)試源代碼也是司空見慣的情況。而本書正是致力于填補這方面的空缺,將引領(lǐng)你經(jīng)歷一次“旋風(fēng)”之旅——你將看到Python這門語言是如何被應(yīng)用在各式各樣的黑客技術(shù)與逆向工程場景中的。本書將向你揭示隱藏在各種黑客工具背后的原理機制,其中包括:調(diào)試器、后門技術(shù)、Fuzzer、仿真器以及代碼注入技術(shù),本書將向你一一演示如何駕馭這些技術(shù)工具。除了學(xué)到如何使用現(xiàn)有的基于Python的工具之外,你還將學(xué)習(xí)如何使用Python構(gòu)建自己的工具。需要有言在先的一點就是,這并不是一本大全式的參考手冊!有大量使用Python編寫的信息安全類工具未在此書中被提及。本書的信條是授之以漁,而非授之以魚!你應(yīng)當(dāng)把從本書中所獲得的技能靈活地應(yīng)用于其他的場景中,根據(jù)自身的需求對你選擇的其他Python工具進行調(diào)試,并做出擴展和定制。閱讀本書的方式不僅限于一種,如果你是個Python新手或者對于構(gòu)建黑客工具尚感陌生,那么從前往后依次閱讀對你來說是最好的選擇,你將從最基本的理論開始,并在閱讀本書的過程中編寫相當(dāng)數(shù)量的Python代碼。目錄第1章搭建開發(fā)環(huán)境第2章調(diào)試器原理和設(shè)計第3章構(gòu)建自己的Windows調(diào)試器第4章PyDbg純Python調(diào)試器第5章ImmunityDebugger第6章鉤子的藝術(shù)010302040506目錄第7章DLL注入與代碼注入技術(shù)第8章Fuzzing第9章Sulley第10章Fuzzing測試技術(shù)第11章IDAPython第12章PYEmu010302040506目錄第1章搭建開發(fā)環(huán)境1.1操作系統(tǒng)要求11.2獲取和安裝Python2.521.2.1在Windows下安裝Python21.2.2在Linux下安裝Python21.3安裝Eclipse和PyDev41.3.1黑客摯友:ctype庫51.3.2使用動態(tài)鏈接庫61.3.3構(gòu)建C數(shù)據(jù)類型81.3.4按引用傳參91.3.5定義結(jié)構(gòu)體和聯(lián)合體9第2章調(diào)試器原理和設(shè)計2.1通用寄存器132.2棧152.3調(diào)試事件172.4斷點182.4.1軟斷點182.4.2硬件斷點202.4.3內(nèi)存斷點22第3章構(gòu)建自己的Windows調(diào)試器3.1Debugee,敢問你在何處243.2獲取寄存器狀態(tài)信息333.2.1線程枚舉343.2.2功能整合353.3實現(xiàn)調(diào)試事件處理例程393.4無所不能的斷點443.4.1軟斷點443.4.2硬件斷點493.4.3內(nèi)存斷點553.5總結(jié)59第4章PyDbg純Python調(diào)試器4.1擴展斷點處理例程604.2非法內(nèi)存操作處理例程634.3進程快照664.3.1獲取進程快照674.3.2匯總與整合70第5章ImmunityDebugger5.1安裝ImmunityDebugger745.2ImmunityDebugger101755.2.1PyCommand命令765.2.2PyHooks765.3Exploit(漏洞利用程序)開發(fā)785.3.1搜尋exploit友好指令785.3.2“壞”字符過濾805.3.3繞過Windows下的DEP機制825.4破除惡意軟件中的反調(diào)試?yán)?75.4.1IsDebuugerPresent875.4.2破除進程枚舉例程88第6章鉤子的藝術(shù)6.1使用PyDbg部署軟鉤子906.2使用ImmunityDebugger部署硬鉤子95第7章DLL注入與代碼注入技術(shù)7.1創(chuàng)建遠程線程1017.1.1DLL注入1027.1.2代碼注入1057.2遁入黑暗1087.2.1文件隱藏1097.2.2構(gòu)建后門1107.2.3使用py2exe編譯Python代碼114第8章Fuzzing8.1幾種常見的bug類型1188.1.1緩沖區(qū)溢出1188.1.2整數(shù)溢出1198.1.3格式化串攻擊1218.2文件Fuzzer1228.3后續(xù)改進策略1298.3.1代碼覆蓋率1298.3.2自動化靜態(tài)分析130第9章Sulley9.1安裝Sulley1329.2Sulley中的基本數(shù)據(jù)類型1329.2.1字符串1339.2.2分隔符1339.2.3靜態(tài)和隨機數(shù)據(jù)類型1349.2.4二進制數(shù)據(jù)1349.2.5整數(shù)1349.2.6塊與組1359.3行刺WarFTPD1369.3.1FTP1011379.3.2創(chuàng)建FTP協(xié)議描述框架138第10章Fuzzing測試技術(shù)10.1驅(qū)動通信基礎(chǔ)14610.2使用ImmunityDebugger進行驅(qū)動級的Fuzzing測試14710.3Driverlib——面向驅(qū)動的靜態(tài)分析工具15110.3.1尋找設(shè)備名稱15210.3.2尋找IOCTL分派例程15310.3.3搜尋有效的IOCTL控制碼15510.4構(gòu)建一個驅(qū)動Fuzzer157第11章IDAPython11.1安裝IDAPython16311.2IDAPython函數(shù)16411.2.1兩個工具函數(shù)16411.2.2段(Segment)16411.2.3函數(shù)16511.2.4交叉引用16611.2.5調(diào)試器鉤子16611.3腳本實例16711.3.1搜尋危險函數(shù)的交叉代

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論