【漏洞,病毒,調試,挖掘】Windows逆向工程師學習路線

職位描述:

  1. 參與漏洞挖掘、分析和利用技術研究;
  2. 分析當月高危漏洞原理和利用技巧,撰寫相關技術總結文檔;
  3. 挖掘瀏覽器、Office、Adobe Reader、flash等客戶端軟件以及網絡協議常見漏洞;
  4. 研發相應的漏洞挖掘和分析的一體化框架平臺;
  5. 惡意程序分析以及其餘程序內部實現邏輯分析;
  6. 對公司其餘部門提供技術支持。
  7. written by: coolsmurfs

職位要求:

  1. 熟悉x86/x64系列彙編語言、c/c++語言,能熟練讀懂彙編代碼;
  2. 有較好的逆向功底,熟練使用IDA、Windbg、Ollydbg、Immunity Debugger、Bindiff等分析工具以及Metasploit等滲透測試工具;
  3. 至少掌握一門編程語言,包括C/C++/python/ruby/perl/javascript;
  4. 熟悉瀏覽器、office、adobe以及flash等軟件內部工做原理以及相應軟件漏洞分析與利用技術優先;
  5. 熟悉操做系統的相關安全機制,掌握繞過漏洞緩解措施的基本方法;
  6. 熟悉windows系統安全,掌握windows核心編程優先;
  7. 熟悉漏洞挖掘和分析相關技術、工具以及平臺,如Fuzzing測試,補丁比較、符號執行技術等。
  8. 可以流暢的閱讀漏洞方面的英文資料,具有較強的漏洞學習和理解能力;
  9. 熟悉技術文檔的寫做、PPT製做、具有基本的工做彙報能力;
  10. 學習能力強、富有團隊精神、有責任心和進取能力;
  11. written by: coolsmurfs

學習路線:

  • 4周
     
    漏洞相關概念
    熟悉基本概念和原理(二進制漏洞基本原理、漏洞類型、漏洞利用方法、常見漏洞挖掘、shellcode編寫)。
    1. 經過關鍵字(棧溢出、堆溢出、整數溢出、UAF、double-free、shellcode)進行Google/SecWiki等了解基本概念;
    2. 閱讀《Q版本緩衝區溢出》《0day漏洞挖掘》等書籍,學習二進制漏洞造成的基本原理和基本的利用方法,並進行實踐操做;
    3. 學習《加密與解密》中部分章節,熟悉Windows系統的重要數據結構、函數傳參方法以及PE文件結構等基礎知識。
    4. written by: coolsmurfs
  • 4周
     
    熟悉相關的工具和平臺使用
    熟悉IDA、WinDbg、Ollydbg、Immunity Debugger、Bindiff,Metasploit等常見的漏洞分析調試和集成平臺使用;
    1. 瞭解這些工具的使用背景和用途,能夠經過Google/SecWiki等搜索瞭解。
    2. 下載安裝相應的工具和搭建相應的平臺。
    3. 學習這些工具的功能和基本使用方法,收集有用的工具插件(如mona、idapython)。教程能夠經過Google或者SecWiki上搜索。
    4. 學習常見工具的插件和腳步編寫方法,如WinDbg插件編寫、IDC和IDApython腳步編寫、od腳本編寫,具體能夠Google相關教程。
    5. 熟悉Metasploit滲透工具的使用,重點熟悉漏洞模塊選擇、查看、配置利用以及shellcode導出配置等功能,並利用Metasploit進行實踐。具體教程能夠Google:如Metasploit教程
    6. 待基本工具都熟悉後將相關工具作成一個工具箱。
    7. written by: coolsmurfs
  • 8周
     
    漏洞樣本分析
    掌握基本的漏洞原理和利用思路後開始分析分析各類類型的漏洞並撰寫分析報告。
    1. 經過搜索引擎各大漏洞披露平臺(exploit-dbCVEbinvul等)蒐集歷年爆出來的比較經典的各類類型的二進制漏洞進行整理歸類,並同時蒐集相應的漏洞分析教程。
    2. 根據漏洞描述搭建相應的漏洞調試分析環境,利用Metasploit生成樣原本進行漏洞重現,並根據漏洞分析報告本身調試分析
    3. 待調試分析完成並掌握了漏洞觸發的緣由和相應的利用方法後,認真總結,並撰寫本身的調試分析報告。
    4. 根據Metasploit中生成樣本的ruby源碼和調試過程的分析,本身嘗試編寫漏洞poc並進行驗證。
    5. 各個類型的漏洞分析3-5個,總結各類類型的漏洞的造成機理並及時進行概括總結。
    6. written by: coolsmurfs
  • 9周
     
    高級漏洞利用技術
    學習掌握如今的主流高級漏洞利用技術,瞭解操做系統以及編譯器的各類漏洞利用緩解和保護措施以及相應的繞過方法。
    1. 瞭解如今操做系統以及編譯器的漏洞利用緩解和保護措施,如GS、DEP、ALSR、CFI等。
    2. 學習掌握針對這些緩解保護措施的基本方法,如SEH利用、堆噴射、ROP導向編程等。
    3. 學習掌握一些針對特定應用程序的高級利用技術:如IE腳步引擎高級利用技術office漏洞利用繞過ALSRoffice漏洞利用堆噴射Flash高級漏洞利用技術
    4. 經過一些在線掃描網站平臺如malwrVirusTotalwidespread kits等蒐集一些在真實環境中使用的樣本(推薦經過閱讀一些安全公司的分析報告並獲取相關樣本的MD5值而後搜索下載),分析這些在野外使用的樣本中的各類高級漏洞利用技術並進行總結。
    5. 關注一些安全峯會的分享議題(如BlackHat等),對其中涉及到漏洞利用的高級技術進行學習和研究。
    6. written by: coolsmurfs
  • 9周
     
    漏洞挖掘平臺使用
    掌握主流的漏洞挖掘方法Fuzz測試以及各個Fuzz測試平臺的使用。
    1. 熟悉Fuzz測試的基本原理,瞭解主流的Fuzz測試平臺,如Peach-fuzz,AFL等。
    2. 搭建Peach-fuzz測試框架,熟悉Peach-fuzz的使用範圍,熟悉Peach-Fuzz的各個模塊的基本工做原理,掌握Peach-pit語法規則
    3. 閱讀peach-pit的模板,以簡單的文檔格式爲基礎,參照編寫相應的Peach-pit文件並對目標軟件進行Fuzz測試。
    4. 瞭解AFL的基本工做原理,掌握AFL的基本使用方法,下載安裝Windows平臺的winafl,熟悉其使用,並利用其對Windows平臺下的非開源軟件進行Fuzz測試。
    5. 在熟練使用以上Fuzz測試平臺的基礎上,閱讀工具源碼,對其工做原理進行更深層次的瞭解,並在此基礎上根據本身須要開發定製化的工具。
    6. 熟悉掌握其餘Fuzz測試框架或者平臺。
    7. written by: coolsmurfs
  • 0周
     
    關注安全動態、安全社區與安全會議
    關注相關的安全社區和安全大牛,掌握行業最新的安全資訊和安全發展動態。
    1. 收集國內外與安全相關的站點並及時整理製做瀏覽器書籤,天天按期抽時間查看,瞭解行業的最新動態和新時間。如(SecWiki-安全維基Freebuf看雪論壇Binvul二進制安全吾愛破解;
    2. 收集整理常見的漏洞披露平臺製做成瀏覽器書籤,如exploit-dbCVEProtekresearchlab,及時關注最新漏洞,對於感興趣的或者重要的漏洞都去實際分析調試一下。
    3. 經過Weibo、微信等平臺關注國內一些安全大牛的博客或者一些知名的安全公帳號,及時瞭解安全達人的最新分享以及安全研究進展。
    4. 經過Twitter關注一些國外的安全界著名人士,,不少國外研究者都會按期在Twitter上發佈其最新的研究成果,隨時跟蹤即可以瞭解國外的最新研究方向和研究現狀。
    5. 關注一些重要的安全峯會,如BlackHat、RSA等,收集相關感興趣的議題,對其中相關的議題進行學習研究。
    6. written by: coolsmurfs
  • 0周
     
    腳步編程和符號執行框架學習
    選擇腳步語言Python、Perl、JavaScript中的一種,對語法進行熟悉,對常見庫進行學習,推薦學習Python,Python庫比較完善,能夠大大提升工做效率。
    1. 搭建相應的開發環境,根據本身的喜愛選擇相應的IDE,推薦Sublime等。
    2. 選擇一本合適的教程學習Python基礎語法,如《Python核心編程》。
    3. Python的基本語法學習完後,能夠針對性的學習一些Python應用於逆向工程的庫,推薦學習《Python灰帽子》裏面介紹了常見的用於逆向工程的Python庫以及Python應用於immunity debugger和IDApython等方面的應用,利用這些庫能夠開發不少自動化的分析工具,節省分析時間。
    4. 學習一些動態插樁分析工具,如intel開發的pin,並利用pin插樁平臺能夠開發一些污點追蹤分析的工具,同時能夠在github上搜索與pin有關的項目,加入並學習。
    5. 學習一些符號執行框架或者平臺,符號執行在程序分析和漏洞挖掘上被認爲是最有潛力的研究方向,符號執行已經有成熟的框架被用於程序程序分析、自動化漏洞挖掘與利用。推薦學習平臺:s2ekleeangr
    6. 蒐集一些與符號執行相關的學術論文,進行學習。
    7. written by: coolsmurfs
  • 0周
     
    漏洞自動化分析與挖掘安全工具的開發
    隨着人工智能的發展,安全領域的研究也將向着以機器代替人的方向發展,在今年舉辦的CGC挑戰賽中,其主題"THE WORLD'S FIRST ALL-MACHINE HACKING TOURNAMENT」就體現了由機器來代替人進行網絡攻防對抗的理念,開發自動化的工具也將是下一步進一步發展方向。
    1. 在對各類漏洞類型成因有深刻的研究和了解後,逐步對各個類型的漏洞創建相應的漏洞模型。
    2. 綜合利用符號執行以及機器學習等方法,結合創建的漏洞模型,開發相應的自動化漏洞挖掘原型系統,在人工儘可能參與少的狀況下自動化進行漏洞挖掘。
    3. 深刻分析漏洞觸發的緣由以及漏洞條件,結合符號執行的方法,創建一套針對漏洞自動化分析的平臺,可以支持挖掘系統產出的異常樣本進行可利用性評估以及利用生成等高級功能。
    4. 深刻分析漏洞利用的過程以及利用技巧,創建相應的攻擊檢測模型,並開發相應的檢測系統,可以針對各類類型的漏洞攻擊進行檢測並報警。
    5. written by: coolsmurfs
相關文章
相關標籤/搜索