cobaltstrike配置nginx反向代理 – 作者:雷石安全实验室

1、前言

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

1597734922.png!small

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

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

2、端口配置

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

1597734964.png!small

3、启动nginx

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

图片[3]-cobaltstrike配置nginx反向代理 – 作者:雷石安全实验室-安全小百科

4、配置Nginx

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

jquery-c2.4.0.profile

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

来进行流量伪装,

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

图片[4]-cobaltstrike配置nginx反向代理 – 作者:雷石安全实验室-安全小百科

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

location ~*/jquery {

#start with jquery

proxy_pass  http://127.0.0.1:8089;

}

先访问一下看看:

图片[5]-cobaltstrike配置nginx反向代理 – 作者:雷石安全实验室-安全小百科

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

图片[6]-cobaltstrike配置nginx反向代理 – 作者:雷石安全实验室-安全小百科

这里需要给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中看到设置:

图片[7]-cobaltstrike配置nginx反向代理 – 作者:雷石安全实验室-安全小百科

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

图片[8]-cobaltstrike配置nginx反向代理 – 作者:雷石安全实验室-安全小百科

5、配置防火墙

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

图片[9]-cobaltstrike配置nginx反向代理 – 作者:雷石安全实验室-安全小百科

成功:

图片[10]-cobaltstrike配置nginx反向代理 – 作者:雷石安全实验室-安全小百科

端口开放情况:

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)

来源:freebuf.com 2020-08-18 16:00:15 by: 雷石安全实验室

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论