免杀对抗—内存加载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 …

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

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

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

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

ES6扩展运算符

1.介绍: ... 扩展运算符能将数组转换为逗号分隔的参数序列; 扩展运算符(spread)也是三个点(...)。它好比 rest 参数的逆运算,将一个数组转为用逗号分隔的 参数序列,对数组进…

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

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

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

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

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

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

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 概述: ①DHCP Snooping使能DHCP的一种安全特性,用于保证DHCP客户端从合法的DHCP服务端获取IP地址。DHCP服务器记录DHCP客户端IP…

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

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

Flink有状态计算

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

AnaTraf | 提升网络稳定性与效率:深入解析网络流量采集分析与故障定位

目录 网络流量采集分析的核心价值 什么是网络流量采集分析? 网络流量分析的应用场景 利用流量分析优化企业网络 网络故障定位的关键步骤 故障定位的基本流程 常用故障定位方法 实用技巧 网络流量采集分析与故障定位的协同作用 整合流量分析提升故障响应速…

人脸识别-特征算法

文章目录 一、LBPH算法1.基本原理2.实现步骤3.代码实现 二、Eigenfaces算法1.特点2.代码实习 三、FisherFaces算法1.算法原理2.算法特点3.代码实现 四、总结 人脸识别特征识别器是数字信息发展中的一种生物特征识别技术,其核心在于通过特定的算法和技术手段&#xf…

开源 | Science子刊 | GCS轨迹优化方法

论文: https://arxiv.org/pdf/2205.04422 Github: https://github.com/RobotLocomotion/gcs-science-robotics 本文介绍了一种基于凸优化的高效运动规划方法,该方法能够在高维空间中可靠地规划出障碍物周围的轨迹。研究者们通过结合贝塞尔曲线和凸集图&#xff08…

大厂面试一上来就手撕 Transformer,心凉半截

在这两年,尤其是大模型问世之后,有关 Transformer 的面试题不仅数量众多,而且颇具新意。 今日,我将分享 18 道 Transformer 高频面试题(如需获取更多专业面试题,扫描文末二维码即可)&#xff0…

【超详细】TCP协议

TCP(Transmission Control Protocol 传输控制协议) 传输层协议有连接可靠传输面向字节流 为什么TCP是传输控制协议呢? 我们以前所看到的write接口,都是把用户级缓冲区的数据拷贝到发送缓冲区中,然后数据就由TCP自主决定了,所以…

Postman 如何测试入参是文件类型(File)参数接口

Postman 如何测试 File 类型参数 前提背景测试步骤1、打开 Postman 选择 POST 方法输入调用地址2、参数选择 Body 下的 form-data3、KEY 选择 File 选项,并填写 file 前提背景 springboot 项目,接口的参数是 File 类型,需要通过 Postman 测试…

js中map,filter,find,foreach的用法介绍

js中map,filter,find,foreach的用法介绍 在 JavaScript 中,数组提供了一些常用的迭代方法,如 map、filter、find 和 forEach,这些方法允许你对数组中的每个元素进行操作,下面是它们的用法和区别…

2024台州赛CTFwp

备注: 解题过程中,关键步骤不可省略,不可含糊其辞、一笔带过。解题过程中如是自己编写的脚本,不可省略,不可截图(代码字体可以调小;而如果代码太长,则贴关键代码函数)。…

etcd集群修复异常节点

描述:仅一个 etcd 节点状态异常且无法自愈。 方案:删除异常节点,然后重新加入。 官方文档: How to Add and Remove Members | etcd Runtime reconfiguration | etcd