1. 程式人生 > >2017-2018-2 20179213《網絡攻防實踐》第九周學習

2017-2018-2 20179213《網絡攻防實踐》第九周學習

框架 md5 重復 掃描 不可 Go AD 對比 autops

教材學習

第九章 惡意代碼安全攻防

惡意代碼定義

?? 惡意代碼是指使計算機按照攻擊者的意圖執行以達到惡意目標的指令集。
類型包括:計算機病毒、蠕蟲、惡意移動代碼、後門、特洛伊木馬、僵屍程序、內核套件、融合型惡意代碼。

  • 計算機病毒
    • 基本特性:感染性、潛伏性、可觸發性、破壞性、衍生性
    • 感染及引導機制:可執行文件、引導扇區、支持宏指令的數據文件。
    • 傳播機制:移動存儲、電子郵件、下載、共享目錄。
  • 網絡蠕蟲
    • 基本特性:通過網絡自主傳播
    • 組成結構:彈頭、傳播引擎、目標選擇算法、掃描引擎、有效載荷
  • 後門與木馬
    ??後門是允許攻擊者繞過系統常規安全控制機制的程序,能夠按照攻擊者自己的意圖提供訪問通道;而木馬作為特洛伊木馬的簡稱,是指一類看起來具有某個有用或者善意目的,但實際掩蓋著一些隱藏惡意功能的程序。

  • 僵屍程序與僵屍網絡
    • 僵屍網絡功能結構:網絡控制器和僵屍程序,其中僵屍程序分為主體功能模塊和輔助功能模塊
    • 僵屍程序的命令與控制機制:基於IRC協議的命令與控制機制、基於HTTP協議的命令與控制機制、基於P2P協議的命令與控制機制
  • Rootkit
    • 用戶模式Rootkit和內核模式Rootkit。其中內核模式Rootkit包括Linux內核模式Rootkit和Windows內核模式Rootkit

惡意代碼分析方法

  • 靜態分析技術:反病毒軟件掃描、文件格式識別、字符串提取分析、二進制結構分析、反匯編、反編譯、代碼結構與邏輯分析、加殼識別與代碼脫殼。
  • 動態分析技術:快照對比、系統動態行為監控、網絡協議棧監控、沙箱、動態調試。

第十章 軟件安全攻防——緩沖區溢出和Shellcode

本章針對緩沖區溢出這類最為基礎與傳統的安全漏洞類型,詳細介紹了它的基本概念、滲透攻擊技術原理與具體過程,以及通過緩沖區溢出攻擊註入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下壓力測試工具包含:
- VoIP壓力測試:包括iaxflood和inviteflood
- Web壓力測試
- 網絡壓力測試
- 無線壓力測試

Web壓力測試

借助THC-SSL-DOS攻擊工具,任何人都可以把提供SSL安全連接的網站攻擊下線,這種攻擊方法稱為SSL拒絕服務攻擊(SSL-DOS)。
德國黑客組織發布THC SSL DOS,利用SSL中已知的弱點,迅速耗費服務器資源,與傳統DDoS工具不同的是,它不需要任何帶寬,只需要一臺執行單一攻擊的電腦。
漏洞存在於協議的renegotiation過程中,renegotiation被用於瀏覽器到服務器之間的驗證。

網絡壓力測試

dhcpig :耗盡DHCP資源池的壓力測試。
ipv6攻擊工具包:
技術分享圖片

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等命令。

  • 數字取證套件:
    數字取證工具:
    技術分享圖片

數字取證套件:
技術分享圖片

1)autopsy
2)DFF(Digital Forensics Framework)是一個簡單但強大的數字取證工作輔助工具,它具有靈活的模塊系統,具有多種功能,包括:回復錯誤或崩潰導致的文件丟失,證據的研究和分析。DFF提供了一個強大的體系結構和一些列有用的模塊。
3)反數字取證chkrootkit

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服務的啟動與關閉;(遠程連接最好不要開啟)

2017-2018-2 20179213《網絡攻防實踐》第九周學習