免杀对抗—内存加载UUID标识IPV4地址MAC地址

前言

试想我们开辟一块内存,然后直接将shellcode写入到对应的内存中并且该内存是可读可写可执行的状态,那么这种方式太容易被AV所查杀,因此当我们如果是利用Windows自身提供的API来将加密或者封装好的shellcode写入到内存执行的话,将会大大增加查杀的难度。

参考文章:CS shellcode内存加载器免杀及实现-安全客 - 安全资讯平台

UUID内存加载

通用唯一识别码(UUID),是用于计算机体系中以识别信息数目的一个128位标识符,根据标准方法生成,不依赖中央机构的注册和分配,UUID具有唯一性。也就是说我们把shellcode封装成UUID,然后再去执行它。

C/C++

代码没特别的网上找的,封装成C/C++的格式,先把shellcode封装成UUID。

大概就是这个样子。

C/C++语言的加载代码也是网上找的,或者我上面引用的文章有。

接着再去执行它,成功上线。

编译成exe测试一下,火绒没查杀到。

但是VT上面火绒又能查杀到,奇怪。

360落地就杀。

WD也是落地就杀,WD都查杀到了,火绒居然没查杀到???

C#

我们来试试用C#去把shellcode封装为UUID,封装代码和C/C++差不多,但是这里要用64位的shellcode。

生成的和上面的也差不多。

再利用一个C#的加载器去执行它.

生成exe看看效果,火绒能查杀到。

WD查杀能到。

360也能查杀到,看起来效果不太好。

python

试试python语言,同理先把shellcode转为UUID地址,这里用32位的shellcode。

转换后是这样子滴。

网上找的python加载器,直接把UUID参数换成上面我们生成的,注意这里要用python2去执行,因为UuidFromStringA这个函数只有python才有。

用pyinstaller编译成exe测试一下免杀性,火绒能过。

360查杀到。

WD也能过。

VT报9九个,中规中矩。

GOlang

再试试go语言,同样的道理,先把shellcode转为UUID地址,也是要用64位的shellcode,因为我只找到64位转化的脚本。

go语言的加载器脚本。

编译成exe,火绒没过。

go build 文件名

WD也没过。

360不用说啦,肯定也是不过滴。

如果结合我们前面说过的分离免杀或者加壳,可能效果会更好,这里我就不演示了。

MAC地址

除了封住成为UUID,还可以把shellcode封装成MAC地址。

python

shellcode用64位的,转换脚本不用多说,也是网上找的,我自己写不出来。

生成的Mac地址,这里如果python3不行就换python2。

接着用加载器去执行,还是那句话网上找的,自己写不出来。

编译成exe,火绒静态能过,但是执行起来就被杀,根据提示是检测了内存行为。

360可以查杀到。

WD没问题滴。

GOlang

再试试go语言。

转换为Mac地址。

加载器加载地址,由于我在运行的时候一直在报错,所以就没能上线,估计是环境出了问题。

有懂的师傅可以指教一下,或者找我拿源码测试。

IPV4地址

最后把shellcode封装成IPV4地址效果会不会更好。

GOlang

利用脚本把shellcode转换成IPV4地址。

转换后看起来有点奇怪。

同上,环境问题没能运行脚本,就不测试了,有兴趣的可以找我拿源码。

总结

原理其实不难,就是把shellcode变成地址,根本原理还是混淆。这个go的环境太搞了,老是报错,qnm的。

最后,以上仅为个人的拙见,如何有不对的地方,欢迎各位师傅指正与补充,有兴趣的师傅可以一起交流学习。

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

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

相关文章

Linux的pinctrl和gpio子系统

上一章我们编写了基于设备树的 LED 驱动,但是驱动的本质还是没变,都是配置 LED 灯所使用的 GPIO 寄存器,驱动开发方式中硬件初始化这一部分和裸机基本没啥区别。Linux 是一个庞大而完善的系统,尤其是驱动框架,像 GPIO …

【HuggingFace 如何上传数据集】快速上传图片、文本等各种格式的数据

【HuggingFace 下载】diffusers 中的特定模型下载,access token 使用方法总结【HuggingFace 下载中断】Git LFS 如何下载指定文件、单个文件夹? 如果只是为了上传备份、或者迁移数据,可以不用 huggingface dataset,而是直接使用 …

k8s权限控制RBAC中的clusterrole serviceaccount rolebinding 有什么作用

在 Kubernetes 的权限控制模型中,RBAC(基于角色的访问控制,Role-Based Access Control)用于管理对集群资源的访问权限。ClusterRole、ServiceAccount 和 RoleBinding 是其中的关键概念。下面是它们的作用: 1. ClusterRole 作用: ClusterRole 定义了一组权限(可以访问或操…

Stm32+Esp8266连接阿里云程序移植教程(MQTT协议)

Stm32Esp8266连接阿里云程序移植教程(MQTT协议) 一、前期准备二、移植过程三、程序的使用3.1 连接上阿里云3.2 传输用户数据到阿里云3.3 解析从阿里云下发给用户的数据3.4 关于调试接口 一、前期准备 自己要的工程文件移植所需的文件(如下图&…

python实现:两个自然数 X,Y 相除,商 3 余 10,被除数、除数、商、余数的和是 163。求被除数、除数分别是多少?

题目&#xff1a; 两个自然数 X&#xff0c;Y 相除&#xff0c;商 3 余 10&#xff0c;被除数、除数、商、余数的和是 163。求被除数、除数分别是多少 答案&#xff1a; y1 while y<163:if (3*y10)y310163:x163-3-10-ybreakyy1 print(f"被除数为&#xff1a;{x}、除…

消息展示区(二)

消息展示区&#xff08;二&#xff09; 前言 在上一集我们初始化了右窗口的消息展示区&#xff0c;对每一条消息我们创建了对象和布局管理器&#xff0c;并且在这个布局管理器中添加了发送者的头像&#xff0c;并分类讨论了左侧消息和右侧消息&#xff0c;那么我们这一集将会…

新手必看!手把手教你打造10W+爆款文章

自定义 GPTs 的引入彻底改变了博主、营销人员和内容创作者在 ChatGPT 高级版本中的写作方式。这些自定义 GPTs 提供个性化的 AI 工具&#xff0c;旨在执行特定任务&#xff0c;使写作过程更顺畅、迅速且高效。从主题头脑风暴到撰写 SEO 友好的内容&#xff0c;自定义 GPTs 满足…

ES6扩展运算符

1.介绍&#xff1a; ... 扩展运算符能将数组转换为逗号分隔的参数序列&#xff1b; 扩展运算符&#xff08;spread&#xff09;也是三个点&#xff08;...&#xff09;。它好比 rest 参数的逆运算&#xff0c;将一个数组转为用逗号分隔的 参数序列&#xff0c;对数组进…

解决 Jupyter Notebook 环境问题:一步一步指南

Jupyter Notebook 是一个强大的工具&#xff0c;广泛用于数据科学、机器学习和交互式计算。然而&#xff0c;确保它在正确的 Python 环境中运行可能会带来一些挑战。本文将为您提供一个详细的步骤指南&#xff0c;帮助您解决 Jupyter Notebook 环境问题&#xff0c;确保它能够在…

mysql学习教程,从入门到精通,SQL 注入(42)

1、 SQL 注入 SQL 注入是一种严重的安全漏洞&#xff0c;它允许攻击者通过操纵 SQL 查询来访问、修改或删除数据库中的数据。由于 SQL 注入的潜在危害&#xff0c;我不能提供具体的恶意代码示例。然而&#xff0c;我可以向你展示如何防御 SQL 注入&#xff0c;并解释其工作原理…

使用verilog设计实现数字混响效果器及其仿真

以下是一个使用Verilog实现简单数字混响效果器的示例。数字混响效果器通过对输入音频信号进行延迟、衰减和混合等操作来模拟声音在不同空间中的反射效果。 整体架构设计 数字混响效果器主要包括延迟线模块、衰减模块和混音模块。延迟线模块用于存储音频样本并产生延迟效果。衰减…

方波信号发生器(完整SCL源代码)

正弦和余弦信号发生器请参考下面文章链接: 1、博途PLC平台 PLC信号发生器(博途SCL)_博图软件波形发生器怎么用-CSDN博客文章浏览阅读1.1k次。本文介绍了如何使用博途SCL编程实现不同周期和幅值的信号发生器,包括余弦和正弦信号。通过信号发生器,可以用于验证PLC的滤波器效…

Android Framework AMS(06)startActivity分析-3(补充:onPause和onStop相关流程解读)

该系列文章总纲链接&#xff1a;专题总纲目录 Android Framework 总纲 本章关键点总结 & 说明&#xff1a; 说明&#xff1a;本章节主要解读AMS通过startActivity启动Activity的整个流程的补充&#xff0c;更新了startActivity流程分析部分。 一般来说&#xff0c;有Activ…

ZBrush入门使用介绍——17、FiberMesh

大家好&#xff0c;我是阿赵。   继续介绍ZBrush的使用。这次来看看FiberMesh功能。这是一个可以模仿毛发的功能。 一、 使用FiberMesh的预览功能 先准备一个模型&#xff0c;并生成多边形网格 然后按着Ctrl&#xff0c;在模型的表面画一个遮罩。 找到FiberMesh功能&#…

React JSX 使用条件语句渲染UI的两种写法

只针对函数组件 1. 第一种写法&#xff1a; function App({ id }) {return id1? <h1>hello</h1> : <h1>world</h1>; } 或者&#xff1a; function App({ id }) {return (<h1>{id1 && "hello" || id2 && "wo…

JSP 的 response 和 session 内置对象

文章目录 前言一、response 内置对象 1.重定向网页2.处理 HTTP 文件头3.设置输出缓存二、session 内置对象 1.创建及获取客户会话2.会话中移动指定的绑定对象3.销毁 session 内置对象4.会话超时的管理5. session 对象的应用总结 前言 JSP 的 response 和 session 内置对像&…

HCIP——以太网交换安全(四)DHCP Snooping

目录 一、DHCP Snooping的知识点 二、DHCP Snooping实验拓扑 三、总结 一、DHCP Snooping的知识点 1.1、DHCP snooping 概述&#xff1a; ①DHCP Snooping使能DHCP的一种安全特性&#xff0c;用于保证DHCP客户端从合法的DHCP服务端获取IP地址。DHCP服务器记录DHCP客户端IP…

uniapp 省、市、区、乡镇 数据层级选择插件 Ba-DataPicker

Ba-DataPicker 是一款uniapp数据层级选择弹窗插件。支持省市区乡四级&#xff1b;支持自定义数据。 支持省、市、区、乡镇四级支持自定义数据支持字母检索 截图展示 支持定制、本地包、源码等&#xff0c;有建议和需要&#xff0c;请点击文章结尾“Uniapp插件开发”联系我&am…

Flink有状态计算

前言 状态是什么&#xff1f;状态就是数据&#xff0c;准确点说&#xff0c;状态是指 Flink 作业计算时依赖的历史数据或中间数据。如果一个 Flink 作业计算依赖状态&#xff0c;那它就是有状态计算的作业&#xff0c;反之就是无状态计算的作业。 举个例子&#xff0c;服务端…

Spring Boot异步任务、任务调度与异步请求线程池的使用及原理

Spring Boot异步任务、任务调度与异步请求线程池的使用及原理 在Spring Boot应用程序中&#xff0c;异步任务、任务调度和异步请求线程池是提高系统性能和响应速度的重要工具。本文将详细讲解这些概念的使用及原理。 一、异步任务 异步任务是指可以在后台线程上执行的任务&a…