cobaltstrike配置nginx反向代理

简介: cobaltstrike配置nginx反向代理

1、前言


在使用cobaltstrike过程中,其web服务经常遭到各种扫描探测,就比如下图我的tomcat遭到的扫描,当天的日志达到了117MB:


fe5dea7ce7b4e2354a2defe1e0e7c283_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png


所以想试试反向代理,也看过一些文章讲的,我是觉得看了做了才等于会了。


这里试着在Windows下使用nginx反向代理来隐藏C2服务器,降低性能消耗,做一些简单的流量处理,进行一些实践测试。


2、端口配置


然后就是Cobaltstrike的端口配置,配置c2端口为nginx的端口(代理),Bind端口为实际c2监听端口:


ada854c7fa6136bb49d77edd2c724ca4_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png


3、启动nginx


下载nginx,命令行下使用nginx -c conf/nginx.conf执行后,修改配置文件,再使用nginx –s reload进行重载使配置生效,访问测试:


4461a2684fc9c4afd72bb51eabdee375_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png


4、配置Nginx


配置nginx,主要就是要把信标流量给cs服务器,这里由于我们使用


jquery-c2.4.0.profile

(https://github.com/rsmudge/Malleable-C2-Profiles)

来进行流量伪装,


可以在这个配置文件中看到对http-get的配置信息,所以payload会请求伪装的uri来进行通信:


3ebda4d56a464b56c6cadafe7c7614ff_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png


所以在nginx中配置,匹配jquery开头的url进行反向代理,匹配成功后转发给我们的cs 8089:


location ~*/jquery {

                    #start with jquery

                    proxy_pass  http://127.0.0.1:8089;

       }


先访问一下看看:


e55862c3e4cccc4e46c6bbe661efe989_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png


好了,测试一下上线后发现外部地址显示为127.0.0.1:


5d02112ff7575a864ed821d27dfd4a42_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png


这里需要给nginx配置一下源IP,加入配置项:


proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;


配置如下:


location ~*/jquery {

                    #start with jquery

                    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

                    proxy_pass  http://127.0.0.1:8089;

       }

           

              location / {

            proxy_pass  http://www.qq.com/;

       }

配置好后还需要到profile中设置真实IP获取,这里是用的 X-Forwarded-For,可以在profile中看到设置:


581fa686aa2672e5668304888863265e_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png


然后再进行测试,命令执行正常:


7e678861ed1b43432266c66014c7762e_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png


5、配置防火墙


很关键的一步,配置防火墙,拦截外部访问~:


6b4cbb99126cd079054426bcb3ac2152_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png


成功:


518e39de8644f17dd8b3a5fab09c8034_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png



端口开放情况:


80/tcp    open  http (nginx)

3389/tcp  open  ms-wbt-server (远程桌面)

5985/tcp  open wsman   (防火墙拦截)

33890/tcp  open unknown  (CS服务端)

33891/tcp  open unknown  (CS https监听器)

47001/tcp  open winrm (禁用Windows Remote Management)


相关文章
|
9天前
|
应用服务中间件 Linux nginx
Jetson 环境安装(四):jetson nano配置ffmpeg和nginx(亲测)之编译错误汇总
这篇文章是关于在Jetson Nano上配置FFmpeg和Nginx时遇到的编译错误及其解决方案的汇总。
46 4
|
5天前
|
缓存 负载均衡 安全
Nginx常用基本配置总结:从入门到实战的全方位指南
Nginx常用基本配置总结:从入门到实战的全方位指南
109 0
|
11天前
|
负载均衡 应用服务中间件 Linux
nginx学习,看这一篇就够了:下载、安装。使用:正向代理、反向代理、负载均衡。常用命令和配置文件,很全
这篇博客文章详细介绍了Nginx的下载、安装、配置以及使用,包括正向代理、反向代理、负载均衡、动静分离等高级功能,并通过具体实例讲解了如何进行配置。
61 4
nginx学习,看这一篇就够了:下载、安装。使用:正向代理、反向代理、负载均衡。常用命令和配置文件,很全
|
10天前
|
编解码 Ubuntu 应用服务中间件
Jetson 环境安装(三):jetson nano配置ffmpeg和nginx(亲测)
本文介绍了在NVIDIA Jetson Nano上配置FFmpeg和Nginx的步骤,包括安装、配置和自启动设置。
69 1
Jetson 环境安装(三):jetson nano配置ffmpeg和nginx(亲测)
|
4天前
|
前端开发 JavaScript 应用服务中间件
终极 Nginx 配置指南
本文介绍了Nginx的基本配置及其优化方法。首先,通过删除注释简化了Nginx的默认配置文件,使其更易于理解。接着,文章将Nginx配置文件分为全局块、events块和http块三部分进行详细解释。此外,还提供了如何快速上线网站、解决前端history模式404问题、配置反向代理、开启gzip压缩、设置维护页面、在同一IP上部署多个网站以及实现动静分离的具体配置示例。最后,附上了Nginx的基础命令,包括安装、启动、重启和关闭等操作。
|
8天前
|
负载均衡 应用服务中间件 nginx
Nginx的6大负载均衡策略及权重轮询手写配置
【10月更文挑战第9天】 Nginx是一款高性能的HTTP服务器和反向代理服务器,它在处理大量并发请求时表现出色。Nginx的负载均衡功能可以将请求分发到多个服务器,提高网站的吞吐量和可靠性。以下是Nginx支持的6大负载均衡策略:
30 7
|
10天前
|
缓存 前端开发 应用服务中间件
CORS跨域+Nginx配置、Apache配置
CORS跨域+Nginx配置、Apache配置
46 7
|
6天前
|
缓存 前端开发 JavaScript
一、nginx配置
一、nginx配置
51 1
|
5天前
|
JavaScript 前端开发 应用服务中间件
vue前端开发中,通过vue.config.js配置和nginx配置,实现多个入口文件的实现方法
vue前端开发中,通过vue.config.js配置和nginx配置,实现多个入口文件的实现方法
38 0
|
7天前
|
缓存 监控 负载均衡
nginx相关配置及高并发优化
Nginx的高并发优化是一个综合性的过程,需要根据具体的业务场景和硬件资源量身定制。以上配置只是基础,实际应用中还需根据服务器监控数据进行持续调整和优化。例如,利用工具如ab(Apache Benchmarks)进行压力测试,监控CPU、内存、网络和磁盘I/O等资源使用情况,确保配置的有效性和服务的稳定性。
51 0