当前位置: 首页 > news >正文

C2远控篇CC++SC转换格式UUID标识MAC物理IPV4地址减少熵值

#C2远控-ShellCode-认知&环境

1.创建工程时关闭SDL检查

2.属性->C/C++->代码生成->运行库->多线程 (/MT)如果是debug则设置成MTD

3.属性->C/C++->代码生成->禁用安全检查GS

4.关闭生成清单 属性->链接器->清单文件->生成清单 选择否

#C2远控-ShellCode-分析&提取

ShellCode的本质其实就是一段可以自主运行的代码。

它没有任何文件结构,它不依赖任何编译环境,无法像exe一样双击运行,

因此需要通过控制程序流程跳转到shellcode地址加载上去执行shellcode。

目的:杀毒和感知平台如何定性

分析:OD&xdb&ida

提取:010Editor

加载:各种Loader方法执行

流程:ShellCode->Loader->EXE

思路:

1、Shellcode自写打乱-让杀毒不认识

2、Shellcode加密混淆-让杀毒不知道

3、Shellcode分离隐藏-让杀毒找不到

4、Shellcode注入回调-让杀毒绕圈圈

内存免杀是将shellcode直接加载进内存,由于没有文件落地,因此可以绕过文件扫描策略的查杀。为了使内存免杀的效果更好,在申请内存时一般采用渐进式申请一块可读写内存,在运行时改为可执行,在执行的时候遵循分离免杀的思想。分离免杀包含对特征和行为的分离两个维度,把shellcode从放在程序转移到加载进内存,把整块的ShellCode通过分块传输的方法上传然后再拼接,这些体现了基本的"分离"思想。

补充:

编辑器设置 VS

https://mp.weixin.qq.com/s/UJlVvagNjmy9E-B-XjBHyw

编译器差异 G++ GCC

https://blog.csdn.net/weixin_41012767/article/details/129365597

突破内存扫描

项目参考:https://github.com/wangfly-me/LoaderFly

360开启核晶(Vmware)

https://blog.csdn.net/fishfishfishman/article/details/134156418

对抗杀毒和感知云沙箱

常见沙盒沙箱检测技术

常见调试分析检测技术

https://github.com/a0rtega/pafish/

https://github.com/Arvanaghi/CheckPlease

https://github.com/wanttobeno/AntiDebuggers

https://github.com/LordNoteworthy/al-khaser

https://github.com/ZanderChang/anti-sandbox

https://github.com/nek0YanSu/CheckVM-Sandbox

https://github.com/sunn1day/malware-anti-techniques

https://bbs.kanxue.com/thread-225740.htm

https://anti-debug.checkpoint.com/techniques/debug-flags.html

Set-ExecutionPolicy Restricted

(1) 本地读取并以管道符运行

powershell Get-Content HelloWorld.ps1 | powershell -NoProfile -

(2) Bypass执行策略绕过

powershell -ExecutionPolicy bypass -File HelloWorld.ps1

(3) Unrestricted执行策略标志

powershell -ExecutionPolicy unrestricted -File HelloWorld.ps1

参考:

https://github.com/INotGreen/Bypass-AMSI

https://mp.weixin.qq.com/s/oJ8eHdX8HGuk6dZv0kmFxg

https://kyxiaxiang.github.io/2022/12/14/AMSIandEtw

https://github.com/S3cur3Th1sSh1t/Amsi-Bypass-Powershell

文章参考:

https://www.anquanke.com/post/id/262666

#C/C++内存加载-UUID方式-ShellCode转换

通用唯一识别码(UUID),是用于计算机体系中以识别信息数目的一个128位标识符,根据标准方法生成,不依赖中央机构的注册和分配,UUID具有唯一性。

然后用代码进行转换

#C/C++内存加载-MAC方式-ShellCode转换

MAC地址也叫物理地址、硬件地址,由网络设备制造商生产时烧录在网卡的EPROM一种闪存芯片,通常可以通过程序擦写。IP地址与MAC地址在计算机里都是以二进制表示的,IP地址是32位的,而MAC地址则是48位(6个字节)的。

#C/C++内存加载-IPV4方式-ShellCode转换

IPv4是一种无连接的协议,操作在使用分组交换的链路层(如以太网)上。此协议会尽最大努力交付数据包,意即它不保证任何数据包均能送达目的地,也不保证所有数据包均按照正确的顺序无重复地到达。IPv4使用32位(4字节)地址。

#熵和恶意软件

恶意软件会采取许多策略和技巧来从 AV 引擎的扫描中隐藏恶意软件。像shellcode加密,函数调用混淆之类的东西,像这种技术本质上是在加密和压缩数据,因此提高了数据的不可预测性/无序性,也就是提高了熵。所以我们可以根据熵值捕获文件,熵越大,数据就越有可能被混淆或加密,文件也就越有可能是恶意的熵是一种简单有效的检测技术,但并不能完全识别所有恶意代码。因此,杀毒软件通常使用熵作为其他技术的补充,以更好地识别潜在的威胁

1、识别项目:

https://github.com/langsasec/File-Entropy-Calculator

2、如何降低值:

简单演示下,后续课程细节讲到更多方法

http://www.lryc.cn/news/575763.html

相关文章:

  • Selenium+Pytest自动化测试框架实战
  • 玄机抽奖Spring Web项目
  • MySQL5.7和8.0 破解root密码
  • 【软件测试】银行信贷项目-面试题常问整理
  • Python 中 `for` 循环与 `while` 循环的实际应用区别:实例解析
  • 事件循环(Event Loop)机制对比:Node.js vs 浏览器​
  • 【UniApp 日期选择器实现与样式优化实践】
  • WinAppDriver 自动化测试:C#篇
  • 第七章:总结
  • linux环境内存满php-fpm
  • WebRTC(十):RTP和SRTP
  • 七天学会SpringCloud分布式微服务——03——Nacos远程调用
  • LightGBM:极速梯度提升机——结构化数据建模的终极武器
  • 2.1、STM32 CAN外设简介
  • 鸿蒙实时音视频流处理框架开发实战——基于HarmonyOS 4.0与分布式软总线的低延时高可靠架构
  • Miniconda+Jupyter+PyCharm初始环境配置
  • Java全栈面试实录:从电商平台到AIGC,技术栈深度解析
  • Linux驱动学习day8(按键驱动读取方式、GPIO、pinctrl子系统)
  • FFmpeg进行简单的视频编辑与代码写法实例
  • 推荐系统的视频特征-视频关键帧特征提取与向量生成
  • 【Unity】如何制作翻页UI
  • 圆周期性显示和消失——瞬态实现(CAD c#二次开发、插件定制)
  • 算法打卡 day4
  • Vue样式绑定与条件渲染详
  • MySQL多表关系
  • ASIO 避坑指南:高效、安全与稳健的异步网络编程
  • 游戏App前端安全加固:利用AI云防护技术抵御恶意攻击
  • vue3 json 转 实体
  • 临床开发计划:从实验室到市场的战略蓝图
  • day48-硬件学习之GPT定时器、UART及I2C