第118天:免杀对抗-二开CS上线流量特征Shellcode生成机制反编译重打包(上)

news2025/1/6 19:06:05

在这里插入图片描述

知识点

#知识点:
1、CS-表面特征消除
2、CS-HTTP流量特征消除
3、CS-Shellcode特征消除

#章节点:
编译代码面-ShellCode-混淆
编译代码面-编辑执行器-编写
编译代码面-分离加载器-编写
程序文件面-特征码定位-修改
程序文件面-加壳花指令-资源
代码加载面-Dll反射劫持-加载
权限逻辑面-杀毒进程干扰-结束
工具数据面-通讯内存流量-动态

对抗目标:
X60 Defender 某绒 管家 VT等

编程语言:
C/C++ Python C# Go Powershell Ruby Java ASM NIM Vlang等。

涉及技术:
ShellCode混淆,无文件落地,分离拆分,白名单,DLL加载,Syscall,加壳加花,
资源修改,特征修改,二次开发CS,内存休眠,进程注入,反沙盒,反调试,CDN解析等

演示案例

1、魔改搭建-CS反编译及导入IDEA编译

2、表面配置-对端口密码证书做特征消除

3、逆向源码-对http/s上线流量做特征消除

4、逆向源码-对http/s生成Payload做特征消除

5、逆向源码-对Powershell生成Payload做特征消除
#反编译魔改CS项目搭建及修改过程:
环境:IDEA JDK8&11 
参考:https://github.com/zer0yu/Awesome-CobaltStrike
1、反编译Jar包
2、新建Java项目
3、修改上线代码
4、打包替换编译
5、替换服务客户端
-反编译:
java -cp IDEA_HOME/plugins/java-decompiler/lib/java-decompiler.jar  org.jetbrains.java.decompiler.main.decompiler.ConsoleDecompiler -dgs=true <src.jar> <dest dir>
-具体命令:
"D:\program files\Java\jdk11\bin\java.exe" -cp "C:\Program Files\JetBrains\IntelliJ IDEA 2022.1.3\plugins\java-decompiler\lib\java-decompiler.jar" org.jetbrains.java.decompiler.main.decompiler.ConsoleDecompiler -dgs=true cobaltstrike.jar coba

#表面配置-对端口密码证书做特征消除
简单说下,较为简单,主要是源码的特征流量
•cobaltstrike.beacon_keys和cobaltstrike.store不要使用默认的文件,删除
•profile文件要换新的,启动服务端时记得加载,或直接把jar包里面的默认配置给改了
•开在公网的teamserver不要使用默认端口
https://github.com/zer0yu/Awesome-CobaltStrike

#逆向源码-对http/s上线流量做特征消除
checksum8函数对比后续-common\CommonUtils&cloudstrike\WebServer
80:http://IP/aaa9
443:https://ip:443/aaa9
当然特征不止这一个「aaa9」例如「http://IP/HjIa」这个也会出现这种状态
只要是符合「checksum8」算法技术出来的文件都可以请求到 「不是唯一值」
public class EchoTest {
    public static long checksum8(String text) {
        if (text.length() < 4) {
            return 0L;
        }
        text = text.replace("/", "");
        long sum = 0L;
        for (int x = 0; x < text.length(); x++) {
            sum += text.charAt(x);
        }

        return sum;
    }

    public static void main(String[] args) throws Exception {
        System.out.println(checksum8("xiaodi"));
    }
}

#逆向源码-对http/s生成Payload做特征消除
BeaconHTTPStagerX86->GenericHTTPStagerX86->GenericHTTPStager->
->resources/httpstager.bin
实验:用x86资源bin替换x64的,实现x64生成与x86一致
拓展:1、替换bin生成即免杀 2、更改源码生成机制即免杀

#逆向源码-对Powershell生成Payload做特征消除
功能生成-搜代码块->找引用(template.x86.ps1)->BaseResourceUtils->_buildPowerShellNoHint
实验:用x86资源ps1替换原本ps1,实现生成即免杀
拓展:1、仿前课程的函数打乱 2、更改源码生成机制即免杀

总结

魔改(二次开发)CS,目的是修改其特征防溯源,或是替换模板让其生成的payload直接达到免杀效果

今天的内容主要涉及以下几个方面:(修改前提是将CS的jar文件反编译,修改完后再打包替换)

1、表面配置特征消除
修改CS端口(没改的是50050端口,可修改成其他的端口)
修改CS证书配置
修改CS加载文件配置(比如profile文件要换新的,或直接把jar包里面的默认配置给改了)

2、上线流量特征消除
采用默认http(s)的CS请求url为4位字符串(如aaa9),将这4位字符串作为传入,通过算法checksum8会得到92(93),蓝队可以以此判定为CS连接器
为了防止这一点,可以自定义字符串(如xiaodi),通过checksum8得到其值(比如是115),那么再替换CS源码中的92为115即可

3、生成payload特征消除
比如对http(s)生成payload做特征消除,用x86资源bin替换x64的,实现x64生成与x86一致,实现生成即免杀(结合之前的免杀技术效果更好)
对Powershell生成Payload做特征消除,用x86资源ps1替换原本ps1,实现生成即免杀(结合之前的免杀技术效果更好)

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

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

相关文章

opencv-21 alpha 通道详解(应用于 图像增强,合成,蒙版,特效 等)

什么是alpha 通道&#xff1f; Alpha通道是计算机图形学中用于表示图像透明度的一种通道。在一个图像中&#xff0c;通常会有三个颜色通道&#xff1a;红色&#xff08;R&#xff09;、绿色&#xff08;G&#xff09;、蓝色&#xff08;B&#xff09;&#xff0c;它们合在一起…

将Parasoft和ChatGPT相结合会如何?

ChatGPT是2023年最热门的话题之一&#xff0c;是OpenAI训练的语言模型。它能够理解和生成自然语言文本&#xff0c;并接受过大量数据的训练&#xff0c;包括用各种编程语言编写的许多开源项目的源代码。 软件开发人员可以利用大量的知识库来协助他们的工作&#xff0c;因为它具…

网络安全高级课笔记1

HTML字符编码/HTML实体编码 html实体编码 unicode urlcode 在字符的十六进制前加百分号&#xff08;%&#xff09;&#xff0c;用于浏览器的网址输入框 utf-8 字符数字表示法 HTML允许使用Nuicode码点表示字符&#xff0c;浏览器会自动将码点转成对应的字符。 字符的码点表…

vtk能否被OpenGL和DirectX取代?

VTK&#xff08;Visualization Toolkit&#xff09;是一个强大的开源可视化库&#xff0c;用于处理和呈现各种科学数据。它建立在OpenGL和DirectX等底层图形库之上&#xff0c;提供了高级的可视化功能和算法。虽然OpenGL和DirectX可以用于图形渲染和实时图形处理&#xff0c;但…

数据结构--线性表2-1

目录 一、线性结构的定义 二、线性表的表示 三、顺序表的实现&#xff08;或操作&#xff09; 1、修改&#xff1a; 2、插入&#xff1a; 四、顺序表的运算效率分析&#xff1a;时间效率分析&#xff1a; 一、线性结构的定义 若结构时非空有限集&#xff0c;则有且仅有一个…

python爬虫基础入门——利用requests和BeautifulSoup

(本文是自己学习爬虫的一点笔记和感悟) 经过python的初步学习,对字符串、列表、字典、元祖、条件语句、循环语句……等概念应该已经有了整体印象,终于可以着手做一些小练习来巩固知识点,写爬虫练习再适合不过。 1. 网页基础 爬虫的本质就是从网页中获取所需的信息,对网…

优化帮助与支持中心,提升客户满意度

在竞争激烈的商业环境中&#xff0c;提供良好的客户体验和有效的支持服务是企业获得成功的关键因素之一。优化帮助与支持中心的设计和运营对于提升客户满意度至关重要。本文将探讨如何通过优化帮助与支持中心来提升客户满意度&#xff0c;并为企业带来更多的商业机会。 提供多…

2023年深圳杯数学建模 A题 影响城市居民身体健康的因素分析

以心脑血管疾病、糖尿病、恶性肿瘤以及慢性阻塞性肺病为代表的慢性非传染性疾病&#xff08;以下简称慢性病&#xff09;已经成为影响我国居民身体健康的重要问题。随着人们生活方式的改变&#xff0c;慢性病的患病率持续攀升。众所周知&#xff0c;健康状况与年龄、饮食习惯、…

【计算机视觉 | 图像分割】arxiv 计算机视觉关于图像分割的学术速递(7 月 25 日论文合集)

文章目录 一、分割|语义相关(17篇)1.1 Semi-Supervised Medical Image Segmentation with Co-Distribution Alignment1.2 CTVIS: Consistent Training for Online Video Instance Segmentation1.3 SL: Stable Learning in Source-Free Domain Adaption for Medical Image Segme…

16_LinuxLCD驱动

目录 Framebuffer设备 LCD驱动简析 LCD驱动程序编写 LCD屏幕参数节点信息修改 LCD 屏幕背光节点信息 使能Linux logo显示 设置LCD作为终端控制台 Framebuffer设备 先来回顾一下裸机的时候LCD驱动是怎么编写的,裸机LCD驱动编写流程如下: 1.初始化I.MX6U的eLCDIF控制器,…

【代码随想录day19】找树左下角的值

题目 思路 这题最直观的方法就是用层序遍历&#xff0c;记录一下每一层的左边第一个节点&#xff0c;这样整个层序遍历一遍就能找到最后一行最左边的节点。这里要注意最左边的节点不一定是父节点的左子节点&#xff01;&#xff01;&#xff01;如果最后一行没有左子节点&…

M5ATOMS3基础01按键

initinputoutput Linux环境Arduino IDE中配置ATOM S3 示例 官方示例代码&#xff1a; /* ******************************************************************************* * Copyright (c) 2022 by M5Stack * Equipped with M5AtomS3 sample source c…

Redis过期策略和内存淘汰策略

过期策略 过期策略是指Redis设置过期时间且key已经到达过期时间时删除该key&#xff0c;一般有定期删除和惰性删除&#xff1b; 定期删除是指每隔固定时间扫描key&#xff0c;对已经过期的key做清除操作&#xff1b; 定期删除时并不会实际对key做全量扫描&#xff0c;而是随机…

数字时代下CIO们如何做到业务增长和安全“双手抓”

7月22日&#xff0c;由福建信息主管(CIO)网主办的品牌企业业务增长与CIO进化之道暨福建CIO网20周年&#xff08;厦门&#xff09;产业数字化供需见面会在厦门顺利举办。 作为国内云原生安全领导厂商&#xff0c;安全狗也收到邀请出席此次活动。 厦门服云信息科技有限公司&…

Python实战案例:轻松采集微博评论,揭示网络舆论热点!

前言 大家早好、午好、晚好吖 ❤ ~欢迎光临本文章 开发环境: python 3.8: 解释器 pycharm: 代码编辑器 模块使用: requests: 发送请求 parsel: 解析数据 jieba pandas stylecloud 第三方模块安装&#xff1a; win R 输入cmd 输入安装命令 pip install 模块名 (如果你…

Android平台如何实现第三方模块编码后(H.264/H.265/AAC/PCMA/PCMU)数据实时预览播放

技术诉求 我们在做GB28181设备对接模块和RTMP直播推送模块的时候&#xff0c;遇到这样的技术需求&#xff0c;设备&#xff08;如执法记录仪&#xff09;侧除了采集传统的摄像头外&#xff0c;还需要对接比如大疆等第三方数据源&#xff0c;确保按照GB28181规范和RTMP协议规范…

使用百度地图SDK计算距离

说明&#xff1a;通过百度地图提供的SDK&#xff0c;可以计算出两个地点之间的距离&#xff0c;另外还有行驶路线等等。本文介绍如果使用百度地图SDK&#xff0c;并用java代码实现。 申请 首先需要登录百度地图的官网&#xff0c;申请开发者认证&#xff0c;个人认证一般都很…

装饰模式-扩展系统功能

买了新车后&#xff0c;不少人会对车进行装饰&#xff0c;比如给车贴膜&#xff0c;喷上骚粉的漆等。某天&#xff0c;小李和小张都买了辆车&#xff0c;小李想给车贴膜&#xff0c;小张想给车先喷漆然后再贴膜。现在中的做法是&#xff0c;把车开到改装店&#xff0c;如果要喷…

统一观测丨使用 Prometheus 监控 Cassandra 数据库最佳实践

作者&#xff1a;元格 本篇内容主要包括四部分&#xff1a;Cassandra 概览介绍、常见关键指标解读、常见告警规则解读、如何通过 Prometheus 建立相应监控体系。 Cassandra 简介 Cassandra 是什么&#xff1f; Apache Cassandra 是一个开源、分布式、去中心化、弹性可伸缩、…

day44-Spring_AOP

0目录 1.2.3 1.Spring_AOP 实体类&#xff1a; Mapper接口&#xff1a; Service和实现类&#xff1a; 测试1&#xff1a; 运行后&#xff1a; 测试2&#xff1a;无此型号时 测试3&#xff1a;库存不足时 解决方案1&#xff1a;事务声明管理器 测试&#xff1a…