杀软对抗 ---> Perfect Syscall??

好久没更了,今天想起来更新了😋😋😋😋

目录

1.AV && EDR

2.Perfect Syscall??

3.Truly Perfect ???


在开始之前先来展示一下这次的免杀效果

1.AV && EDR

360

天擎EDR

Windows Defender

赛门铁克EDR

卡巴斯基EDR(30Minutes内未被杀,后续未测)

Trelix EDR 

2.Perfect Syscall??

自从syscall出来到现在也算是有一段的时间了,但是还是公认的在三环比较好用来Bypassedr的一种手法(相比起patch NTDLL).

像地狱之门,天堂之门,TartarusGate这种直接系统调用,好是挺好,但是有个东西叫做栈回溯

当我们call完之后,RIP会直接返回到我们的主程序,这就是一个"特征",有一些国外的EDR存在栈回溯功能,当扫描到你的程序存在这样的特征的时候,可能会对你的程序记录,或者是直接把你杀掉!

  :那这咋办

于是我们的间接系统调用就出来了!!! 

通过Jmp去syscall的地址,我们的调用链会比较完整!!

于是我们的程序就是这样的

这种在github也是有很多项目的,像syswhisper等

但是其实还是有一个问题!! 我们间接系统调用不就是为了让我们的程序更像一个正常的api调用吗,但是正常上会有人直接去调用NT的函数吗????

好的,GPT告诉我们不会,那我们能不能让这个程序既是syscall(绕过三环API),又能调用链更加完整呢??? 

 : 答案是有,不然我怎么敢叫做 "Perfect Call"呢??? 

思路如下:

在间接系统调用的前提下,我们通过Inline-Hook挂钩一个三环的API,然后让他去进行Indirect-Syscall,这样我们的调用链看起来将会非常完整!!!!

这样就能达到一个这样的效果(算不算是Perfect Call呢???😋😋)

事实上也是可以,但是这里我就不放代码了,可以展示部分,核心就在那个GetSystemTime,其实你换一个api也可以,只要不是被hook的就行(或者说换一个非敏感API)

3.Truly Perfect ???

其实调用链这么完整了,他就无敌了吗??? 

:肯定不是啊!!!

  • 首先,就算你的调用链这么完整了,但是你调用的api和作用不符合啊(调用一个API完成了所有的事情)
  • 其次,你的行为,就算你上线了,遇到像赛门铁克这种,你shell whoami 一下,你的beacon就直接没掉了
  • 然后,也是最重要的!!! 你的线程调用栈有问题,或者说你的堆栈有问题!

正常的线程调用栈是这样的

但是你的cs呢???

你这个两个地址是什么鬼,我们直接定位去这块内存

很明显,就是反射dll和loader的产物,就算你内存进行加密,但是你的线程调用栈还是不完整,这时候就要用到一个比较强大的技术 "堆栈欺骗" !! Spoof Call 

Tips最后补充一下,为什么我一直都是用的EDR或者AV,因为我绕不过XDR啊!!

XDR是最强悍,最顶级,最强大的存在(比起EDR) 就拿 Cortex XDR来看

用CS根本存在对抗的可能,而且上面的卡巴也是(持久化基本上不太可能,还是换C2吧!)

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

[c++进阶(九)] STL之deque深度剖析

1.前言 本章重点 本章将会着重的介绍deque底层到底是如何实现它能够双向进出的,并且双向进出的消耗率还特别低,并且讲解deque的优缺点。 2.deque的使用 如果没有看我前面两篇文章的,请先看前面两篇文章再来看这篇文章,可以有助于…

手写Spring第三篇,原来Spring容器是使用反射来初始化对象的

上次是不是你小子和大家说你拿来做登记的样品被我收了,然后取豆子的时候就是这个样品的? 今天我来辟一下谣,真的是这样的。这小子的样品确实被我收了,不过这小子没给真东西给我,只给了一个指针,害我宝贝得存…

Git rebase 的使用(结合图与案例)

目录 Git rebase 的使用Git rebase 概念Git rebase 原理rebase和merge的选择 Git rebase 的使用 在 Git 中整合来自不同分支的修改主要有两种方法:merge 以及 rebase Git rebase 概念 **rebase概念:**用来重新应用提交(commits&#xff09…

Llama 3.1 技术研究报告-1

llama3模型 现代⼈⼯智能(AI)系统由基础模型驱动。本⽂介绍了⼀组新的基础模型,称为Llama 3。它是⼀个语⾔模型群,原⽣⽀持多语⾔性、编码、推理和⼯具使⽤。我们最⼤的模型是⼀个密集变换器,有 405B个参数&#xff0…

oracle 插入date日期类型的数据、插入从表中查出的数据,使用表中的默认数据

date sysdate to_date 插入从表中查出的数据 方式一 方式二 或者指定列名称 下边这个案例的前提是指定列插入,如果不指定,则也是默认的

消息中间件---Kafka

一、什么是Kafka? Kafka是一个分布式流处理平台,类似于消息队列或企业消息传递系统; 流处理事什么呢? 流处理就是数据处理工作流,本质上是一种计算机编程范例。流处理是对接收到的新数据事件的连续处理。‌它涉及对从生产者到消…

HTML+CSS学习笔记

目录 HTML 1.开发环境 2.创建HTML文件 3.HTML元素 3.1HTML文件结构 3.2HTML标签 3.3HTML属性​编辑​编辑 3.4HTML区块 3.4.1块元素 3.4.2行内元素 3.5HTML表单 CSS 1.CSS简介 2.CSS语法​编辑 3.CSS三种导入方式 内联样式 内部样式 外部样式 4.选择器​ 5.C…

9月23日

思维导图 作业 统计家目录下.c文件的个数 #!/bin/bashnum0for file in ~/*.c; doif [ -f "$file" ]; then((num))fi doneecho "家目录下.c文件的个数: $num"

本周宣讲提醒-线上专场——香港科技大学工学院2025/2026年度硕士研究生(MSc)项目招生宣讲会

📆本周宣讲提醒-线上专场 🔔香港科技大学工学院2025/2026年度硕士研究生(MSc)项目招生宣讲会 📍香港科技大学工学院大挑战研究暨研究生课程信息网络研讨会-线上专场 🕙时间:2024年9月24日&…

python爬虫中json和xml字符串的xPath和jsonpath过滤语法区别对比

参考博客 两种语法结构作用 为了处理从网络请求返回的网页源码中得到自己想要的数据 首先了解两种库处理的对象语法 jsonpath处理的是json语法格式的字符串 **json(JavaScript Object Notation)**字符串的语法参考 **类似于下面的格式,以…

【VUE3.0】动手做一套像素风的前端UI组件库---先导篇

系列文章目录 【VUE3.0】动手做一套像素风的前端UI组件库—Button【VUE3.0】动手做一套像素风的前端UI组件库—Radio 目录 系列文章目录引言准备素材字体鼠标手势图 创建vue3项目构建项目1. 根据命令行提示选择如下:2. 进入项目根目录下载依赖并启动。3. 设置项目s…

MySQL函数介绍--日期与时间函数(二)

我相信大家在学习各种语言的时候或多或少听过我们函数或者方法这一类的名词,函数在计算机语言的使用中可以说是贯穿始终,那么大家有没有思考过到底函数是什么?函数的作用又是什么呢?我们为什么要使用函数?其实&#xf…

什么是上层封禁海外流量

上层封禁海外流量(Upper-layer Blocking of Overseas Traffic)是一种网络安全策略,旨在通过在网络传输的上层进行流量控制和过滤,从而阻止来自海外的恶意流量或不必要的访问。这一措施主要用于防止分布式拒绝服务(DDoS…

【AIGC】ChatGPT RAG提取文档内容,高效制作PPT、论文

目录 一、理解 RAG 技术 二、利用 ChatGPT 的 RAG 技术提取文档内容 三、高效制作 PPT 四、高效撰写论文 五、最佳实践与建议 六、工具推荐 随着人工智能生成内容(AIGC)的快速发展,利用先进的技术工具如 ChatGPT 的 RAG(Ret…

【深度学习】(3)--损失函数

文章目录 损失函数一、L1Loss损失函数1. 定义2. 优缺点3. 应用 二、NLLLoss损失函数1. 定义与原理2. 优点与注意3. 应用 三、MSELoss损失函数1. 定义与原理2. 优点与注意3. 应用 四、BCELoss损失函数1. 定义与原理2. 优点与注意3. 应用 五、CrossEntropyLoss损失函数1. 定义与原…

【觅图网-注册安全分析报告-无验证方式导致安全隐患】

前言 由于网站注册入口容易被黑客攻击,存在如下安全问题: 1. 暴力破解密码,造成用户信息泄露 2. 短信盗刷的安全问题,影响业务及导致用户投诉 3. 带来经济损失,尤其是后付费客户,风险巨大,造…

Java集合(Map篇)

一.Map a.使用Map i.键值(key-value)映射表的数据结构,能高效通过key快速查找value(元素)。 ii.Map是一个接口,最常用的实现类是HashMap。 iii.重复放入k-v不会有问题,但是一个…

Rasa对话模型——做一个语言助手

1、Rasa模型 1.1 模型介绍 Rasa是一个用于构建对话 AI 的开源框架,主要用于开发聊天机器人和语音助手。Rasa 提供了自然语言理解(NLU)和对话管理(DM)功能,使开发者能够创建智能、交互式的对话系统。 1.2…

【计算机网络】计算机网络基础二

🍑个人主页:Jupiter. 🚀 所属专栏:Linux从入门到进阶 欢迎大家点赞收藏评论😊 目录 以太网的通信原理令牌环网的通信原理网络传输基本流程 数据包封装和分用 网络传输流程图 局域网通信(同一个网段内的两台…

Java基础笔记1】Java基础语法

目录 一、Java简介 二、JDK和Java初体验 三、配置环境变量 四、IDEA快捷键 五、Java语法基础 1. 注释 2. 字面量 3. 变量 4. 关键字和标识符 5. 变量详解 a. 数值数据在计算机中的存储​编辑 b. 文本、图片、音频等数据在计算机中的存储 c. 八进制和十六进制 6. 数据类型 a. …