2018-2019-2 20189215 《网络攻防技术》第九周作业
教材《網(wǎng)絡(luò)攻防技術(shù)》第九、十章學(xué)習(xí)
第9章 惡意代碼安全攻防
9.1 惡意代碼基礎(chǔ)知識
- 惡意代碼是指使計算機(jī)按照攻擊者的意圖執(zhí)行以達(dá)到惡意目標(biāo)的指令集。類型包括:計算機(jī)病毒、蠕蟲、惡意移動代碼、后門、特洛伊木馬、僵尸程序、內(nèi)核套件、融合型惡意代碼。
- 計算機(jī)病毒
- 基本特性:感染性、潛伏性、可觸發(fā)性、破壞性、衍生性。
- 感染及引導(dǎo)機(jī)制:可執(zhí)行文件、引導(dǎo)扇區(qū)、支持宏指令的數(shù)據(jù)文件。
- 傳播機(jī)制:移動存儲、電子郵件、下載、共享目錄。
- 網(wǎng)絡(luò)蠕蟲
- 基本特性:通過網(wǎng)絡(luò)自主傳播。
- 組成結(jié)構(gòu):彈頭、傳播引擎、目標(biāo)選擇算法、掃描引擎、有效載荷。
- 后門與木馬。后門是允許攻擊者繞過系統(tǒng)常規(guī)安全控制機(jī)制的程序,能夠按照攻擊者自己的意圖提供訪問通道;而木馬作為特洛伊木馬的簡稱,是指一類看起來具有某個有用或者善意目的,但實(shí)際掩蓋著一些隱藏惡意功能的程序。
- 僵尸程序與僵尸網(wǎng)絡(luò)
- 僵尸網(wǎng)絡(luò)功能結(jié)構(gòu):網(wǎng)絡(luò)控制器和僵尸程序,其中僵尸程序分為主體功能模塊和輔助功能模塊。
- 僵尸程序的命令與控制機(jī)制:基于IRC協(xié)議的命令與控制機(jī)制、基于HTTP協(xié)議的命令與控制機(jī)制、基于P2P協(xié)議的命令與控制機(jī)制。
- Rootkit。分為用戶模式Rootkit和內(nèi)核模式Rootkit。其中內(nèi)核模式Rootkit包括Linux內(nèi)核模式Rootkit和Windows內(nèi)核模式Rootkit。
9.2 惡意代碼分析方法
- 惡意代碼的靜態(tài)分析技術(shù):
- 反病毒軟件掃描
- 文件格式識別
- 字符串提取分析
- 二進(jìn)制結(jié)構(gòu)分析
- 反匯編
- 反編譯
- 代碼結(jié)構(gòu)與邏輯分析
- 加殼識別與代碼脫殼
- 惡意代碼的動態(tài)分析技術(shù):
- 快照對比
- 系統(tǒng)動態(tài)行為監(jiān)控
- 網(wǎng)絡(luò)協(xié)議棧監(jiān)控
- 沙箱
- 動態(tài)調(diào)試
第10章 軟件安全攻防——緩沖區(qū)溢出和Shellcode
10.1 軟件安全概述
- 安全漏洞:在系統(tǒng)安全流程、設(shè)計、實(shí)現(xiàn)或內(nèi)部控制中所存在的缺陷和弱點(diǎn),能夠被攻擊者所利用并導(dǎo)致安全侵害或?qū)ο到y(tǒng)安全策略的違反,包括三個基本元素:系統(tǒng)的脆弱性或缺點(diǎn)、攻擊者對缺陷的可訪問性以及攻擊者對缺陷的可利用性。
- 軟件安全漏洞類型:內(nèi)存安全規(guī)范類、輸入驗證類、競爭條件類、權(quán)限混淆與提升類。
10.2 緩沖區(qū)溢出基礎(chǔ)概念
計算機(jī)程序中存在的一類內(nèi)存安全違規(guī)類漏洞,在計算機(jī)程序向特定緩沖區(qū)內(nèi)填充數(shù)據(jù)時,超出了緩沖區(qū)本身的容量,導(dǎo)致外溢數(shù)據(jù)覆蓋了相鄰內(nèi)存空間的合法數(shù)據(jù),從而改變了程序執(zhí)行流程破壞系統(tǒng)運(yùn)行完整性。
10.3 Linux平臺上的棧溢出與Shellcode
- Linux平臺棧溢出攻擊技術(shù):NSR、RNS、RS三種模式。NSR和RNS模式適用于本地緩沖區(qū)溢出和遠(yuǎn)程棧溢出攻擊,而RS模式只能用于本地緩沖區(qū)溢出攻擊。
- Linux平臺的Shellcode實(shí)現(xiàn)技術(shù):Linux本地Shellcode實(shí)現(xiàn)機(jī)制、Linux遠(yuǎn)程Shellcode實(shí)現(xiàn)機(jī)制。
10.4 Windows平臺上的棧溢出與Shellcode
- Windows平臺棧溢出攻擊技術(shù)機(jī)理:對程序運(yùn)行過程中廢棄棧的處理方式差異、進(jìn)程內(nèi)存空間的布局差異、系統(tǒng)功能調(diào)用的實(shí)現(xiàn)方式差異。
- Windows平臺Shellcode實(shí)現(xiàn)技術(shù):Windows本地Shellcode、Windows遠(yuǎn)程Shellcode。
10.5 堆溢出攻擊
- 函數(shù)指針改寫。
- C++類對象虛函數(shù)表改寫。
- Linux下堆管理glibc庫free()函數(shù)本身漏洞。
10.6 緩沖區(qū)溢出攻擊的防御技術(shù)
- 嘗試杜絕溢出的防御技術(shù)
- 允許溢出但不讓程序改變執(zhí)行流程的防御技術(shù)
- 無法讓攻擊代碼執(zhí)行的防御技術(shù)
課后習(xí)題
P379 分析惡意代碼樣本rada
- 準(zhǔn)備工作(kali)
- 使用md5sum rada.zip查看md5值,確認(rèn)文件完整性。
- 使用file RaDa.exe確認(rèn)二進(jìn)制文件格式。
- 使用strings RaDa.exe取得文件中的可打印文件,發(fā)現(xiàn)是亂碼,推測惡意代碼程序加殼了。
- 在windows 7中開啟process monitor(win7及之后的版本,process monitor代替了filemon和regmon)
- 開啟wireshark
- 使用Exeinfo PE工具查看RaDa.exe軟件加殼情況,發(fā)現(xiàn)使用UPX加殼
- 在UPX官網(wǎng)下載UPX脫殼工具,脫殼失敗
- 使用超級巡警自動脫殼器V1.3脫殼成功
- 在cmd中使用RaDa_unpacked.exe --gui即可打開軟件的圖形界面。也可以使用--help、authors、--server等參數(shù)。
P423 SEED緩沖區(qū)溢出實(shí)驗
- 有漏洞的程序stack。它一開始從一個叫“badfile”的文件讀了一個輸入,然后將這個輸入傳遞給了另一個 bof()功能里的緩沖區(qū)。原始輸入最大長度為 517 bytes,然而 bof()的長度僅為 12 bytes。由于 strcpy()不檢查邊界,將發(fā)生緩沖區(qū)溢出。由于此程序有效執(zhí)行用戶為 root,如果一個普通用戶利用了此緩沖區(qū)溢出漏洞,他有可能獲得 root shell。應(yīng)該注意到此程序是從一個叫做“badfile”的文件獲得輸入的,這個文件受用戶控制。現(xiàn)在我們的目標(biāo)是為“badfile”創(chuàng)建內(nèi)容,這樣當(dāng)這段漏洞程序?qū)⒋藘?nèi)容復(fù)制進(jìn)它的緩沖區(qū),便產(chǎn)生了一個 shell。
- 攻擊漏洞exploit1。將為“badfile”生成內(nèi)容。然后運(yùn)行漏洞程序stack,如果攻擊正確實(shí)現(xiàn),將得到一個shell。
- 先運(yùn)行exploit1,然后運(yùn)行漏洞程序stack,如果攻擊正確實(shí)現(xiàn),將得到一個shell。
- 讓bin/sh指向/bin/bash,重新攻擊。
kali視頻學(xué)習(xí)
36.KaliSecruity-壓力測試工具
壓力測試通過確定一個系統(tǒng)的瓶頸或者不能接受的性能點(diǎn),來獲得系統(tǒng)能夠提供的最大的服務(wù)級別的測試。通俗地講,壓力測試是為了測試應(yīng)用程序的性能會變得不可接受。
Kali下壓力測試工具包含VoIP壓力測試、Web壓力測試、網(wǎng)絡(luò)壓力測試及無線壓力測試。
- Voip壓力測試,包括iaxflood和inviteflood。
- WEB壓力測試工具THC-SSL-DOS。它不需要任何帶寬,只需要一臺執(zhí)行單一攻擊的電腦。命令為thc-ssl-dos -l 500 目標(biāo)IP 443 --accept。
- 網(wǎng)絡(luò)壓力測試工具
- dhcpig是耗盡DHCP資源池的壓力測試。DHCP服務(wù)為新接入內(nèi)網(wǎng)的計算機(jī)自動分配IP地址,而dhcpig工具借助Scapy大量偽造Mac地址,從DHCP服務(wù)器那里騙取IP,進(jìn)而把DHCP所能分配的IP地址全部耗盡。這樣,新加入網(wǎng)絡(luò)的計算機(jī)將無法獲取IP地址,從而無法上網(wǎng)。
- Macof工具可做泛洪攻擊。交換機(jī)Mac表的空間有限,當(dāng)Mac表存滿Mac地址時就會報錯,并且進(jìn)入非正常狀態(tài)。在此狀態(tài)下交換機(jī)會把接收的信息用廣播的形式發(fā)出去,這樣就可以用抓包工具把廣播的信息抓到。
- Siege可以根據(jù)配置對一個Web站點(diǎn)進(jìn)行多用戶的并發(fā)訪問,記錄每個用戶所有請求過程的響應(yīng)時間,并在一定數(shù)量的并發(fā)訪問下重復(fù)進(jìn)行。
- T50具有獨(dú)特的數(shù)據(jù)包注入工具,功能強(qiáng)大,支持unix系統(tǒng),可進(jìn)行多種協(xié)議數(shù)據(jù)包注入,是唯一可以使用GRE封裝協(xié)議的工具。
- dhcpig是耗盡DHCP資源池的壓力測試。DHCP服務(wù)為新接入內(nèi)網(wǎng)的計算機(jī)自動分配IP地址,而dhcpig工具借助Scapy大量偽造Mac地址,從DHCP服務(wù)器那里騙取IP,進(jìn)而把DHCP所能分配的IP地址全部耗盡。這樣,新加入網(wǎng)絡(luò)的計算機(jī)將無法獲取IP地址,從而無法上網(wǎng)。
- 無線壓力測試,包括MDK3和Reaver。
37.KaliSecruity-數(shù)字取證工具
- PDF取證工具peepdf,是一個使用python編寫的PDF文件分析工具,它可以檢測到惡意的PDF文件。其設(shè)計目標(biāo)是為安全研究人員提供PDF分析中可能用到的所有組件,無需使用3或4種工具來完成同一件任務(wù)。
- 反數(shù)字取證chkrootkit。Linux系統(tǒng)下查找rootkit后門工具。判斷系統(tǒng)是否被植入Rootkit的利器。
- 內(nèi)存取證工具Volatility,是開源的Windows、Linux、Mac、Android的內(nèi)存取證分析工具,由python編寫成,命令行操作,支持各種操作系統(tǒng)。
- 取證分析工具binwalk,是一個固件的分析工具,旨在協(xié)助研究人員對固件分析,提取及逆向工程。簡單易用,完全自動化腳本,并通過自定義簽名,提取規(guī)則和插件模塊,更重要的一點(diǎn)是可以輕松擴(kuò)展。借助binwalk中的一個很強(qiáng)大的功能——提取文件(壓縮包)中的隱藏文件(或內(nèi)容文件)。亦可分析文件格式。
- 取證哈希驗證工具集md5deep,是一套跨平臺的方案,可以計算和比較MD5等哈希加密信息的摘要MD5,SHA-1,SHA-256,Tiger,Whirlpool。
- 數(shù)字取證套件。Autopsy是一款數(shù)字取證平臺,提供了一個瀏覽器平臺,訪問本地端口9999。DFF是數(shù)字取證工作輔助工具,它具有靈活的模塊系統(tǒng),具有多種功能,包括:回復(fù)錯誤或崩潰導(dǎo)致的文件丟失,證據(jù)的研究和分析。DFF提供了一個強(qiáng)大的體系結(jié)構(gòu)和一些列有用的模塊。
- 取證鏡像工具集主要是針對鏡像文件的取證分析,如mmstat與mmls等命令。
38.KaliSecruity-報告工具與系統(tǒng)服務(wù)
一次完整的滲透測試,最后要完成一份報告作為一個小結(jié)。相應(yīng)的,Kali Linux為安全工程師準(zhǔn)備了報告工具集。
- Dradis是一個獨(dú)立的web應(yīng)用程序,它會自動在瀏覽器中打開https://127.0.0.1:3000。設(shè)置密碼,使用任何登錄名即可進(jìn)入Dradis框架進(jìn)行使用。
瀏覽器中: - keepnote,一款本地精簡的筆記本軟件。
有如下特點(diǎn):- 富文本格式:彩色字體、內(nèi)置圖片、超鏈接,能保存網(wǎng)頁圖片文字等完整內(nèi)容。
- 樹形分層組織內(nèi)容,分門別類,一目了然。
- 全文搜索
- 綜合截圖
- 文件附件
- 集成的備份和恢復(fù)
- 拼寫檢查(通過gtkspell)
- 自動保存
- 內(nèi)置的備份和恢復(fù)(zip文件存檔)
- 媒體捕捉工具包括Cutycapt(將網(wǎng)頁內(nèi)容截成圖片保存)和Recordmydesktop(屏幕錄像工具)。
- 證據(jù)管理工具M(jìn)altego Casefile。
- MagicTree可以幫助攻擊者進(jìn)行數(shù)據(jù)合并、查詢、外部命令執(zhí)行(如直接調(diào)用nmap,將掃描結(jié)果直接導(dǎo)入tree中)和報告生成,所有數(shù)據(jù)都會以樹形結(jié)構(gòu)存儲。
下載jar包,使用java -jar MagicTree-build18141.jar命令即可打開。 - Truectypt,免費(fèi)開源的加密軟件,同時支持Windows,OS,Linux等操作系統(tǒng)。
- 系統(tǒng)服務(wù)目錄。主要是方便我們及時啟動或關(guān)閉某些服務(wù),命令行輸入service 服務(wù)名 start和service 服務(wù)名 stop可以達(dá)到相同效果。
《Python 黑帽子》第十、十一章
代碼托管:
https://github.com/jsjliyang/python3-Black.Hat/tree/master/chapter10
https://github.com/jsjliyang/python3-Black.Hat/tree/master/chapter11
轉(zhuǎn)載于:https://www.cnblogs.com/jsjliyang/p/10779174.html
總結(jié)
以上是生活随笔為你收集整理的2018-2019-2 20189215 《网络攻防技术》第九周作业的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 适配移动端的文字超出隐藏并添加省略号
- 下一篇: P2050 [NOI2012]美食节