20189222 《網絡攻防實踐》第九周學習總結
教材學習內容總結
第九章 惡意代碼安全攻防
惡意代碼定義python
惡意代碼是指使計算機按照攻擊者的意圖執行以達到惡意目標的指令集。
類型包括:計算機病毒、蠕蟲、惡意移動代碼、後門、特洛伊木馬、殭屍程序、內核套件、融合型惡意代碼。mysql
- 計算機病毒
- 基本特性:感染性、潛伏性、可觸發性、破壞性、衍生性
- 感染及引導機制:可執行文件、引導扇區、支持宏指令的數據文件。
- 傳播機制:移動存儲、電子郵件、下載、共享目錄。
- 網絡蠕蟲
- 基本特性:經過網絡自主傳播
-組成結構:彈頭、傳播引擎、目標選擇算法、掃描引擎、有效載荷
- 後門與木馬
- 後門是容許攻擊者繞過系統常規安全控制機制的程序,可以按照攻擊者本身的意圖提供訪問通道;而木馬做爲特洛伊木馬的簡稱,是指一類看起來具備某個有用或者善意目的,但實際掩蓋着一些隱藏惡意功能的程序。
- 殭屍程序與僵屍網絡
- 僵屍網絡功能結構:網絡控制器和殭屍程序,其中殭屍程序分爲主體功能模塊和輔助功能模塊
- 殭屍程序的命令與控制機制:基於IRC協議的命令與控制機制、基於HTTP協議的命令與控制機制、基於P2P協議的命令與控制機制
- Rootkit
- 用戶模式Rootkit和內核模式Rootkit。其中內核模式Rootkit包括Linux內核模式Rootkit和Windows內核模式Rootkit
惡意代碼分析方法算法
- 靜態分析技術:反病毒軟件掃描、文件格式識別、字符串提取分析、二進制結構分析、反彙編、反編譯、代碼結構與邏輯分析、加殼識別與代碼脫殼。
- 動態分析技術:快照對比、系統動態行爲監控、網絡協議棧監控、沙箱、動態調試。
第十章 軟件安全攻防——緩衝區溢出和shellcode
- 軟件安全概述
- 安全漏洞:在系統安全流程、設計、實現或內部控制中所存在的缺陷和弱點,可以被攻擊者所利用並致使安全侵害或對系統安全策略的違反,包括三個基本元素:系統的脆弱性或缺點、攻擊者對缺陷的可訪問性以及攻擊者對缺陷的可利用性。
- 軟件安全漏洞類型:內存安全規範類、輸入驗證類、競爭條件類、權限混淆與提高類。
- 緩衝區溢出
- 定義:計算機程序中存在的一類內存安全違規類漏洞,在計算機程序向特定緩衝區內填充數據時,超出了緩衝區自己的容量,致使外溢數據覆蓋了相鄰內存空間的合法數據,從而改變了程序執行流程破壞系統運行完整性。
- Linux平臺上的棧溢出與Shellcode
- Linux平臺棧溢出攻擊技術:NSR、RNS、RS三種模式。NSR和RNS模式適用於本地緩衝區溢出和遠程棧溢出攻擊,而RS模式只能用於本地緩衝區溢出攻擊。
- Linux平臺的Shellcode實現技術:Linux本地Shellcode實現機制、Linux遠程Shellcode實現機制
- Windows平臺上的棧溢出與Shellcode
- Windows平臺棧溢出攻擊技術:Windows平臺棧溢出攻擊技術機理(對程序運行過程當中廢棄棧的處理方式差別、進程內存空間的佈局差別、系統功能調用的實現方式差別)、遠程棧溢出攻擊示例、野外Windows棧溢出實例
- Windows平臺Shellcode實現技術:Windows本地Shellcode、Windows遠程Shellcode
- 堆溢出攻擊
- 函數指針改寫
- C++類對象虛函數表改寫
- Linux下堆管理glibc庫free()函數自己漏洞
- 緩衝區溢出攻擊的防護技術
- 嘗試杜絕溢出的防護技術
- 容許溢出但不讓程序改變執行流程的防護技術
- 沒法讓攻擊代碼執行的防護技術
視頻學習內容總結
Kali壓力測試工具
壓力測試經過肯定一個系統的瓶頸或者不能接受的性能點,來得到系統可以提供的最大的服務級別的測試。通俗地講,壓力測試是爲了測試應用程序的性能會變得不可接受。
Kali下壓力測試工具包含:sql
- VoIP壓力測試:包括iaxflood和inviteflood
- Web壓力測試
- 網絡壓力測試
- 無線壓力測試
Web壓力測試:
藉助THC-SSL-DOS攻擊工具,任何人均可以把提供SSL安全鏈接的網站攻擊下線,這種攻擊方法稱爲SSL拒絕服務攻擊(SSL-DOS)。德國黑客組織發佈THC SSL DOS,利用SSL中已知的弱點,迅速耗費服務器資源,與傳統DDoS工具不一樣的是,它不須要任何帶寬,只須要一臺執行單一攻擊的電腦。漏洞存在於協議的renegotiation過程當中,renegotiation被用於瀏覽器到服務器之間的驗證。shell
網絡壓力測試:瀏覽器
- Inundator:IDS/IPS/WAF 壓力測試工具
- Macof:可作泛洪攻擊
- Siege:是一個壓力測試和評測工具,設計用於Web開發,評估應用在壓力下的承受能力,能夠根據配置對一個Web站點進行多用戶的併發訪問,記錄每一個用戶全部請求過程的響應時間,並在必定數量的併發訪問下重複進行。
- T50壓力測試:功能強大,且具備獨特的數據包注入工具,T50支持 nix系統,可進行多種協議數據包注入,實際上支持15種協議。
- 無線壓力測試:包括MDK3和Reaver
數字取證工具
PDF取證工具:pdf-parser和peepdf。peepdf是一個使用python編寫的PDF文件分析工具,它能夠檢測到惡意的PDF文件。其設計目標是爲安全研究人員提供PDF分析中可能用到的全部組件。安全
反數字取證chkrootkit:Linux系統下查找rootkit後門工具。判斷系統是否被植入Rootkit的利器。服務器
- 內存取證工具:Volatility是開源的Windows、Linux、Mac、Android的內存取證分析工具,由python編寫成,命令行操做,支持各類操做系統。
取證分析工具binwalk
Binwalk是一個固件的分析工具,旨在協助研究人員對固件分析,提取及逆向工程。簡單易用,徹底自動化腳本,並經過自定義簽名,提取規則和插件模塊,更重要的一點是能夠輕鬆擴展。藉助binwalk中的一個很強大的功能——提取文件(壓縮包)中的隱藏文件(或內容文件)。亦可分析文件格式。網絡
取證哈希驗證工具集:md5deep是一套跨平臺的方案,能夠計算和比較MD5等哈希加密信息的摘要MD5,SHA-1,SHA-256,Tiger,Whirlpool。併發
取證鏡像工具集:針對鏡像文件的取證工具,如mmsstat與mmls等命令。
Kali報告工具與系統服務
一次完整的滲透測試,最後要完成一份報告做爲一個小結。相應的,Kali Linux爲安全工程師準備了報告工具集:documentation、媒體捕捉、證據管理。
系統服務:beef、dradis、http、metasploit、mysql、openvas、ssh。
- Dradis
Dradis用於提升安全檢測效率的信息共享框架(協做平臺)。Dradis提供了一個集中的信息倉庫,用於標記咱們目前已經作的工做和下一步計劃。基於瀏覽器的在線筆記。
keepnote精簡的筆記本軟件,特色以下:
- 富文本格式——彩色字體、內置圖片、超連接,能保存網頁圖片文字等完整內容。
- 樹形分層組織內容,分門別類,一目瞭然。
- 全文搜索
- 綜合截圖
- 文件附件
- 集成的備份和恢復
- 拼寫檢查(經過gtkspell)
- 自動保存
- 內置的備份和恢復(zip文件存檔)
- 媒體捕捉工具Cutycapt:將網頁內容截成圖片保存。
- Recordmydesktop:屏幕錄像工具
- 證據管理:Maltego Casefile
- MagicTree:是一個面向滲透測試人員的工具,能夠幫助攻擊者進行數據合併、查詢、外部命令執行(好比直接調用nmap)和報告生成。全部數據都會以樹形結構存儲,很是方便。
- Truectypt:免費開源的加密軟件,同時支持Windows,OS,Linux等操做系統。
系統服務介紹:
- BeEF:對應XSS測試框架BeEF的啓動與關閉;
- Dradis:對應筆記分享服務Dradis的啓動與關閉;
- HTTP:對用Kali本機Web服務的啓動與關閉;
- Metasploit:對應Metasploit服務的啓動與關閉;
- Mysql:對應Mysql服務的啓動與關閉;
- Openvas:對應Openvas服務的啓動與關閉;
- SSH:對應SSH服務的啓動與關閉;(遠程鏈接最好不要開啓)
參考資料