教材學習
第9章 惡意代碼安全攻防
1、惡意代碼基礎知識
一、惡意代碼定義與分類mysql
惡意代碼定義:使計算機按照攻擊者的意圖執行以達到惡意目標的指令集sql
惡意代碼類型 ?計算機病毒 ?蠕蟲 ?惡意移動 ?代碼後門 ?特洛伊木馬 ?僵屍網絡 ?內核套件瀏覽器
惡意代碼的命名規則與分類體系安全
二、惡意代碼發展史服務器
惡意代碼的起源網絡
惡意代碼的發展過程併發
惡意代碼的發展趨勢框架
三、計算機病毒分佈式
計算機病毒基本特性 ?感染性 ?潛伏性 ?可觸發性 ?破壞性 ?衍生性函數
計算機病毒的感染及引導機制 ?可執行文件 ?引導扇區 ?支持宏指令的數據文件
計算機病毒的傳播機制
四、網絡蠕蟲
網絡蠕蟲的基本特性
網絡蠕蟲的組成結構
(1)「彈頭」
緩衝區溢出攻擊
文件共享攻擊
利用電子郵件傳播
利用其餘廣泛的錯誤配置
(2)傳播引擎
(3)目標選擇法和掃描引擎
電子郵件地址
主機列表
被信任的系統
網絡鄰居主機
域名服務
經過特定規則任意選擇IP目標地址
(4)有效荷載
植入後門
安裝分佈式拒絕服務攻擊代理
組建僵屍網絡
執行一個複雜的計算
五、後門與木馬
後門
後門工具能爲攻擊者提供多種不一樣類型的訪問通道,包括如下幾種: ?本地權限提高和本地帳號 ?單個命令的遠程執行 ?遠程命令行解釋器訪問 ?遠程控制GUI ?無故口後門
特洛伊木馬
六、殭屍程序與僵屍網絡
殭屍程序和僵屍網絡的演化過程
僵屍網絡的功能結構
殭屍程序的命令與控制機制 ?基於IRC協議的命令與控制機制 ?基於HTTP協議的命令與控制機制
七、Rootkit
用戶模式Rootkit ?提供後門訪問的二進制替換程序 ?隱藏攻擊者的二進制替換程序 ?用於隱藏但不替換的二進制長鬚 ?另一些零散工具 ?安裝腳本
內核模式Rootkit
大多內核模式Rootkit採用以下技術手段 ?文件和目錄隱藏 ?進程隱藏 ?網絡端口隱藏 ?混雜模式隱藏 ?改變執行方向 ?設備截取和控制
Linux,Windows內核模式Rootkit
2、惡意代碼分析方法
一、惡意代碼分析技術概述
二、惡意代碼分析環境
惡意代碼發燒友的分析環境
基於虛擬化構建惡意代碼分析環境
用於研究的惡意代碼自動分析環境
三、惡意代碼靜態分析技術
反病毒軟件掃描
文件格式識別
字符串提取分析
惡意代碼實例名
幫助或命令行選項
用戶會話
後門命令
相關URL信息,E-mail地址
包含庫文件和函數調用
二進制結構分析
反彙編與反編譯
代碼結構與邏輯分析
加殼識別與代碼脫殼
四、惡意代碼動態分析技術
基於快照比對的方法和工具
系統動態行爲監控方法 ?文件行爲監控軟件 ?進程行爲監控軟件 ?註冊表監控軟件 ?本地網絡棧監控軟件
網絡協議棧監控方法
沙箱技術
動態調試技術
第10章 軟件安全攻防——緩衝區溢出和Shellcode
1、軟件安全概述
一、 軟件安全漏洞威脅
二、軟件安全環境
複雜性
可擴展性
連通性
三、軟件安全漏洞類型
內存安全違規類
輸入驗證類
競爭條件類
權限混淆與提高類
2、緩衝區溢出基礎概念
一、緩衝區溢出的基本概念與發展過程
緩衝區溢出基本概念
緩衝區溢出攻擊技術發展過程
二、緩衝區溢出攻擊背景知識
編譯器與調試器的使用
彙編語言基礎知識
進程內存管理
函數調用過程
三、緩衝區溢出攻擊原理
分爲棧溢出,堆溢出,內核溢出這三種具體技術形態。
3、Linux平臺上的棧溢出與Shellcode
一、Linux平臺棧溢出攻擊原理
NSR模式
RNS模式
RS模式
二、Linux平臺的Shellcode實現技術
Linux本地Shellcode實現機制
Linux遠程Shellcode實現機制
4、Windows平臺上的棧溢出與Shellcode
一、Windows平臺棧溢出攻擊技術
Windows平臺棧溢出攻擊技術機理 ?對程序運行過程當中廢棄棧的處理方式差別 ?進程內存空間的佈局差別 ?系統功能調用的實現方式差別
遠程棧溢出攻擊實例
野外Windows棧溢出實例
二、Windows平臺Shellcode實現技術
Windows本地Shellcode
Windows遠程Shellcode
5、堆溢出攻擊
函數指針改寫
C++類對象虛函數表改寫
Linux下堆管理glibc庫free()函數自己漏洞
6、緩衝區溢出攻擊的防護技術
嘗試杜絕溢出的防護技術
容許溢出但不讓程序改變執行流程的防護技術
沒法讓攻擊代碼執行的防護技術
視頻學習
1、KaliSecurity - 壓力測試工具
壓力測試經過肯定一個系統的瓶頸或者不能接受的性能點,來得到系統能提供的最大的服務級別的測試。通俗的講,壓力測試是爲了發如今什麼條件下你的應用程序的性能會變得不可接受。
一、VoIP壓力測試工具
包括iaxflood和inviteflood
二、Web壓力測試
藉助THC-SSl-DOS攻擊工具,任何人均可以把提供SSL安全鏈接的網站攻擊下線。這種攻擊方法被稱爲SSL拒絕服務攻擊。德國黑客組織「The Hacker’s Choice」發佈THC SSL DOS,利用SSL中的已知弱點,迅速消耗服務器資源,與傳統DDos工具不一樣的是,他不須要任何帶寬,只須要一臺執行單一攻擊的電腦。 漏洞存在與協議的renegotitation過程當中,renegotiation被用於瀏覽器到服務器之間的驗證。
三、dhcpig
耗盡DHCP資源池的壓力測試。對新接入的計算機自動分配一個內網地址,dhcpig會將IP所有耗盡,新接入的計算機就獲取不到IP
4.IPv6工具包
五、Inundator
防火牆壓力測試工具,耗盡對方認證資源。經過日誌對IDS/IPS/WAF 進行壓力測試工具
六、Macof
可作泛洪攻擊。
七、Siege
壓力測試和評測工具,設計用於WEB開發和評估應用在壓力下的承受能力;能夠根據配置對一個WEB站點進行多用戶的併發訪問,記錄每一個用戶全部請求過程的相應時間,並在必定數量的併發訪問下重複進行。用來測試服務器的性能。比較強大。
八、T50壓力測試
T50 Sukhoi PAK FA Mixed Packet Injector是一個壓力測試工具,功能強大且具備獨特的數據包注入工具。T50支持Unix系統可進行多種協議的數據包注入,實際上支持15種協議。主要特色:
Flooding
CIDR support
TCP ,UDP,ICMP,IGMPVC2,IGMPV3,EGP,DCCP,RSVP,RIPV1 ,RIPv2 ,GRE,ESP,AH,EIGRp
TCP options
HIGH performance
Can hit about 1000000 packets per second
九、無線壓力測試
mdk3和reaver
2、KaliSecurity - 數字取證工具
數字取證技術將計算機調查和分析技術應用於對潛在的、有法律效力的電子證據的肯定與獲取,一樣他們都是針對黑客和入侵的,目的都是寶航網絡安全。
一、PDF取證工具
peepdf是一個用Python編寫的PDF文件分析工具,它能夠檢測惡意的PDF文件,其設計目標是爲安全研究人員提供PDF分析中可能用到的全部組件,無需使用3或4種工具完成統一任務。
二、反數字取證chkrootkit
較經常使用、知名,Linux系統下的查找檢測Rootkit後門的工具。適用該條指令就能夠檢測是否被注入後門
三、內存取證工具
Volatitlity是開源的Windows,Linux,mac,Android的內存取證分析工具,有Python編寫成,命令行操做,支持各類操做系統。
四、取證分割工具binwalk
是一個強大的固件分析工具,旨在協助研究人員對固件分析,提取及逆向工程用處,簡單易用,徹底自動化腳本,並經過自定義簽名,提取規則和插件模塊,更重要的一點是能夠輕鬆擴展。
-e 參數直接解壓
也可做爲一個文件格式工具。藉助binwalk有個很強大的功能是提取文件中存在的隱藏文件,亦可分析文件格式。
五、取證哈希驗證工具集
md5deep是一套跨平臺的方案,能夠計算和比較MD5等哈希加密信息的摘要MD5,SHA-1,SHA-256,Tiger,Whirlpool
六、取證鏡像工具集
針對鏡像文件的取證工具,如mmsstat與mmls等命令。
七、數字取證套件
autopsy是圖形化界面,是以瀏覽器的形式訪問。
dff是程序的圖形化界面,是一個簡單強大的數字取證工做輔助工具,有一個靈活的模塊系統,具備多種功能,包括:恢復錯誤或崩潰致使的文件丟失,證據的研究和分析等。dff提供了一個強大的體系結構和一些有用的模塊。
3、KaliSecurity - 報告工具與系統服務
一次完整的滲透測試,最後總要完成一份優雅的報告做爲一個小結,kali下也有相關的報告工具集。
一、Dradis
是一個用於提升安全檢測效率的信息共享框架,它提供了一個集中的信息倉庫,用於標記咱們目前已經作的工做和下一步計劃。一個基於瀏覽器的在線筆記。最後還會生成報告。
二、Keepnote
一個很精簡的筆記軟件,特色以下:
富文本格式:彩色字體,內置圖片,超連接(即:能保存整個網頁的圖品文字等完整信息)。
樹形分層組織內容
分門別類,一目瞭然
全文搜索
綜合截圖:屏幕截圖後,能夠直接在筆記本中插入
文件附件
集成的備份和恢復
拼寫檢查
自動保存
內置的備份和恢復(zip文件存檔)
三、媒體捕捉之Cutycapt
將網頁內容截成圖片保存
四、媒體捕捉之Recordmydesktop
屏幕錄像工具,用來錄製桌面
五、證據補充之Maltego Casefile
六、MagicTree
配置稍複雜,是一個面向滲透測試人員的工具,能夠幫助你輕鬆直接的進行數據合併,查詢,外部命令執行,報告生成,全部數據都會以樹形結構存儲,很是方便。
七、Truecrypt
一款免費開源的文件加密軟件,命令行版和圖形界面版,同時支持Windows Vista/7/XP,Mac OS X,Linux等操做系統。
八、系統服務介紹
beEF:對應XSS測試框架BeEF的啓動與關閉
Dradis:對應筆記本分享服務的啓動與關閉
HTTP:對應kali本機WEB服務的啓動與關閉
Metasploit:對應Metasploit服務的啓動與關閉
MySQL:對應mysql的服務啓動與關閉
openvas:對應掃描器openvas服務的啓動與關閉
SSh:對應SSh的服務啓動與關閉