malleable_profile文件配置概述

2023-10-12 21:59

本文主要是介绍malleable_profile文件配置概述,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 参考资料
  • 通用知识概述
  • http通信部分
      • http-get块
      • http-post块
      • http-stager块
  • http服务配置
      • http-config块
  • ssl证书以及代码签名配置
  • PE文件和内存相关
      • stage块
      • process-inject块
      • execute块
  • 后渗透模块:

参考资料

Cobalt Strike Malleable C2 配置

Malleable profile模版下载
CS官方解释malleable profile


通用知识概述

在这里插入图片描述

上面四条叫做终止语句。作用是将数据存储到不同的地方,由上到下依次为http头,get请求中,http body中,url中。header与parameter 只能用在client与server中。不能用在metadata id 与output模块中。
exp:
parameter “ver” “1.2.4”;

在这里插入图片描述

上图为数据转换语言。就是将传输的数据进行格式的转化。其中append与prepend是可以混合使用的,例如在真正的数据前后分别加上干扰数据,这样子能一定程度隐藏数据。
netbios是smb传输的时候根据主机名的编码方式,mask为异或,base64url编码后的数据是可以直接放在url中的。

不同请求方式中不同组件的用法如下图
在这里插入图片描述

  • beacon与c2通信逻辑

1.stager的beacon会先下载完整的payload执行,stage则省略这一步
2.beacon进入睡眠状态,结束睡眠状态后用 http-get方式 发送一个metadata(具体发送细节可以在malleable_profie文件里的http-get模块进行自定义),metadata内容大概是目标系统的版本,当前用户等信息。
3.如果存在待执行的任务,则c2会响应这个metadata发布命令。beacon将会收到具体任务内容与一个任务id。
4.执行完毕后beacon将回显数据与任务id用post方式发送回C2(细节可以在malleable_profile文件中的http-post部分进行自定义),然后又会回到睡眠状态。

参考资料
https://www.chabug.org/web/832.html


http通信部分

http-get块

在这里插入图片描述

如上图所示。设定了victim的beacon发送给c2的metadata的相关配置。
1.在clent部分中,先设置了一个http header头,然后在uri中存储一个参数。
2.然后又设置了在metadata数据在传输的时候,先base64加密然后在加密后的数字前面加上”"token=”这个字段,然后将所有的值填写在Cookie字段中。
3.在server部分,先设置两个header头。然后更改相应内容然后base64编码,然后把数据放在在body里。

http-post块

这里先说client模块
在这里插入图片描述

这里面的id代表的是task id,任务执行后,beacon需要利用post方式来与c2进行通信,需要传送一个唯一的task id值,还需要传送回显。例如ipconfig命令,就会传送命令的结果等。上面的header头就跟之前的header头的用途一致。client中的output代表的是客户端发送给服务端的响应用什么形式发送,如上图中就为base64加密。server部分跟client比较类似所以不做太多讲述。

http-stager块

在这里插入图片描述

这个代表的是存放x64或者x86架构的stage payload的地址,主要针对于stager类型的木马有用,定义的是下载stage payload的时候的请求方式。


http服务配置

http-config块

http-config代码块会影响Cobalt Strike所有HTTP响应。

在这里插入图片描述

如上代码块配置了http响应头的部分信息,set headers代表的是相应头的显示顺序。后面的header是给部分相应头赋值。最后一个set trust_x_forwarded_for,当使用c2重定向技术的时需要设置这个点。


ssl证书以及代码签名配置

第一步
用keytool生成一个store文件(自签名)
首先解释一下,store文件是证书跟私钥的一个集合体。
keytool -genkey -alias shanfenglan -keyalg RSA -validity 36500 -keystore perfect.store
-genkey 必备命令。
-alias 别名。
-keyalg 加密方式。
-validity 到期时间。
-keystore 生成store文件。
生成store文件后放在与cobaltstrike相同的目录下即可。

第二步
更改teamserver文件
在这里插入图片描述
将store路径改一下再改一下后面的使用store文件所需的密码,这个密码是你在使用keytool途中让你输入的那个密码。

第三步
更改profile文件
例如
在这里插入图片描述
上述数据必须得跟你自己使用keytool工具的时候填写的数据相同。
https-certificate中各个项的参考解释:
在这里插入图片描述

附录
同样的你也可以创建合法的的SSL证书,这里提供一种解决方案(从CS4.0手册中摘录)
在这里插入图片描述

配置代码签名
在这里插入图片描述
利用这个块需要有keystore文件,并建议将keystore文件与这个profile文件放在 同一文件夹内,其中的各个参数就是你在创建keystore文件的时候输入的参数,第一个为keytool文件名,第二个为你自己创建的密码,第三个为你创建的别名。


PE文件和内存相关

stage块

相关参数
在这里插入图片描述
这个模块主要控制的是beacon在内存中的加载以及编辑beacon dll中的内容
在这里插入图片描述
内存规避检测与混淆中常用的参数
1.strrep
Strrep “A” “B” 将A替换为B。
2.sleep_mask
Set sleep_mask “true”; 设置使beacon在睡眠之前混淆内存中的代码,睡眠后对自己进行混淆处理。
3.obfuscate
set obfuscate “true”; 高度混淆内存中的代码。
4.stomppe
Set stomppe “true”;轻度混淆内存中的代码。
5.userwx
Set userwx “false”; 要求beacon程序避免rwx权限,因为这种权限的内存段很容易引起关注。
进程注入中的相关参数:

process-inject块

用来控制远程进程注入的细节。

在这里插入图片描述

具体条目的含义:
在这里插入图片描述
transform-x86/x64块:
用来填充beacon的注入内容,它支持两个命令,prepend与append,但是需要确保填充的数据是合法的代码的十六进制模式。execute控制beacon在注入代码的时候使用的方法。

execute块

execute块控制beacon在进程注入的时候使用的方法。

在这里插入图片描述
上图为相关参数。


后渗透模块:

在这里插入图片描述Post-ex块为后渗透模块。cs在执行后渗透功能如hash转储的时候,会派生一个新的进程并将功能注入其中。
1.spawnto_x86/x64表示的是派生后的默认临时进程。
注意:
1.值要用程序的完整路径,可以使用环境变量。x86后面必须跟x86程序的路径,x64亦然。
2.路径不能直接使用%windir%\system32 或者c:\windows\system32,应使用syswow64(x86)和sysnative(x64),beacon会自动调整。
3.你指定的路径必须同时存在于文件系统x64与x86的视图中。
2.obfuscate表示会以更安全的方式对post-ex dll的内容进行加密,并将post-ex的功能放在内存中。
3.smartinject选项使得进程注入更加智能,会将某一些关键函数的指针嵌入到post-ex dll中方便使用。
4.amsi_disable选项知识powerpick execute-assembly和psinject在加载.NET或者powersehll代码之前修补amsiscanbuffer函数,这限制了杀毒软件扫描借口对这些功能的可见性,换句话说就是使用这个参数后可以增加隐蔽性。

tips
配置完成后记得使用 ”./client 你的配置文件的路径“这个命令查看是否配置成功。

这篇关于malleable_profile文件配置概述的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/198748

相关文章

Zookeeper安装和配置说明

一、Zookeeper的搭建方式 Zookeeper安装方式有三种,单机模式和集群模式以及伪集群模式。 ■ 单机模式:Zookeeper只运行在一台服务器上,适合测试环境; ■ 伪集群模式:就是在一台物理机上运行多个Zookeeper 实例; ■ 集群模式:Zookeeper运行于一个集群上,适合生产环境,这个计算机集群被称为一个“集合体”(ensemble) Zookeeper通过复制来实现

CentOS7安装配置mysql5.7 tar免安装版

一、CentOS7.4系统自带mariadb # 查看系统自带的Mariadb[root@localhost~]# rpm -qa|grep mariadbmariadb-libs-5.5.44-2.el7.centos.x86_64# 卸载系统自带的Mariadb[root@localhost ~]# rpm -e --nodeps mariadb-libs-5.5.44-2.el7

水位雨量在线监测系统概述及应用介绍

在当今社会,随着科技的飞速发展,各种智能监测系统已成为保障公共安全、促进资源管理和环境保护的重要工具。其中,水位雨量在线监测系统作为自然灾害预警、水资源管理及水利工程运行的关键技术,其重要性不言而喻。 一、水位雨量在线监测系统的基本原理 水位雨量在线监测系统主要由数据采集单元、数据传输网络、数据处理中心及用户终端四大部分构成,形成了一个完整的闭环系统。 数据采集单元:这是系统的“眼睛”,

hadoop开启回收站配置

开启回收站功能,可以将删除的文件在不超时的情况下,恢复原数据,起到防止误删除、备份等作用。 开启回收站功能参数说明 (1)默认值fs.trash.interval = 0,0表示禁用回收站;其他值表示设置文件的存活时间。 (2)默认值fs.trash.checkpoint.interval = 0,检查回收站的间隔时间。如果该值为0,则该值设置和fs.trash.interval的参数值相等。

NameNode内存生产配置

Hadoop2.x 系列,配置 NameNode 内存 NameNode 内存默认 2000m ,如果服务器内存 4G , NameNode 内存可以配置 3g 。在 hadoop-env.sh 文件中配置如下。 HADOOP_NAMENODE_OPTS=-Xmx3072m Hadoop3.x 系列,配置 Nam

wolfSSL参数设置或配置项解释

1. wolfCrypt Only 解释:wolfCrypt是一个开源的、轻量级的、可移植的加密库,支持多种加密算法和协议。选择“wolfCrypt Only”意味着系统或应用将仅使用wolfCrypt库进行加密操作,而不依赖其他加密库。 2. DTLS Support 解释:DTLS(Datagram Transport Layer Security)是一种基于UDP的安全协议,提供类似于

【Python编程】Linux创建虚拟环境并配置与notebook相连接

1.创建 使用 venv 创建虚拟环境。例如,在当前目录下创建一个名为 myenv 的虚拟环境: python3 -m venv myenv 2.激活 激活虚拟环境使其成为当前终端会话的活动环境。运行: source myenv/bin/activate 3.与notebook连接 在虚拟环境中,使用 pip 安装 Jupyter 和 ipykernel: pip instal

Java 创建图形用户界面(GUI)入门指南(Swing库 JFrame 类)概述

概述 基本概念 Java Swing 的架构 Java Swing 是一个为 Java 设计的 GUI 工具包,是 JAVA 基础类的一部分,基于 Java AWT 构建,提供了一系列轻量级、可定制的图形用户界面(GUI)组件。 与 AWT 相比,Swing 提供了许多比 AWT 更好的屏幕显示元素,更加灵活和可定制,具有更好的跨平台性能。 组件和容器 Java Swing 提供了许多

【编程底层思考】垃圾收集机制,GC算法,垃圾收集器类型概述

Java的垃圾收集(Garbage Collection,GC)机制是Java语言的一大特色,它负责自动管理内存的回收,释放不再使用的对象所占用的内存。以下是对Java垃圾收集机制的详细介绍: 一、垃圾收集机制概述: 对象存活判断:垃圾收集器定期检查堆内存中的对象,判断哪些对象是“垃圾”,即不再被任何引用链直接或间接引用的对象。内存回收:将判断为垃圾的对象占用的内存进行回收,以便重新使用。

沁恒CH32在MounRiver Studio上环境配置以及使用详细教程

目录 1.  RISC-V简介 2.  CPU架构现状 3.  MounRiver Studio软件下载 4.  MounRiver Studio软件安装 5.  MounRiver Studio软件介绍 6.  创建工程 7.  编译代码 1.  RISC-V简介         RISC就是精简指令集计算机(Reduced Instruction SetCom