利用Nginx隐藏红队服务器Web应用指纹
创始人
2024-12-28 16:04:06
0次

攻防演练是一个对抗过程,攻防中红队几乎必定会用到的VPS用于远控或者扫描,为了避免被蓝队溯源反制,对VPS上的Web服务进行访问加固,可以增加蓝队对C2服务器的反制的工作量,降低被溯源的风险

需求说明

由于红队VPS上如果要使用一些远控和扫描功能,会要部署相应的Web服务,例如Viper、NPS、ARL等,如果这些服务没有做反溯源处理,很容易就被微步等平台标记为红队服务器

在这里插入图片描述
一目了然的远控标签,和直接开放的Web服务,都容易让我们成为蓝队的重点溯源目标,被溯源的风险大大增加

为了防止Web服务特征泄露,下面我们通过Nginx反向代理来进行反溯源配置

思路讲解

实现思路很简单,便是利用Nginx提供的ngx_http_auth_basic_module模块,让用户必须输入正确的用户名和密码才能访问网页内容。在密码验证成功之前,用户无法获取网页的任何信息,可以完美隐藏网站原有指纹,还能多一层密码防护

实现方法也不难,首先安装htpasswd生成密码文件,然后通过Nginx指定读取该密码文件进行验证,验证成功后将请求转发到对应Web服务的端口,便可以进行访问了

htpasswd安装

首先安装需要的工具和环境,如果没有安装Nginx可以通过下面的指令进行安装,并设置Nginx服务为开机自启动

yum -y install nginx systemctl start nginx systemctl enable nginx 

然后安装htpasswd工具,用于生成对应的密码文件

yum -y install httpd-tools 

通过下面的指令指定密码文件路径和用户名,文件路径可以随意指定,输入指令后确认两次密码,便能生成对应的密码文件

htpasswd -c /usr/share/nginx/passwd {username} 

如果不小心忘记了密码,可以通过下面这条指令修改密码

htpasswd -D /usr/share/nginx/passwd {username} 

配置Nginx密码认证

先备份nginx配置文件,然后进行编辑

cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak vim /etc/nginx/nginx.conf 

修改配置如下,首先是监听端口可以设置不常用端口,我这里设置为常用端口8080是希望对方以为我这是普通web服务,而不是红队工具。中间还一些配置是安全配置,限制爆破速率

然后通过auth_basic_user_file指定密码文件路径为我们刚刚使用htpasswd生成的密码文件,最后配置端口转发,如果密码验证正确则跳转到本地的红队web工具端口

server_tokens off;  # 关闭Nginx版本号回显 limit_req_zone $binary_remote_addr zone=mylimit:10m rate=2r/s;  # 定义变量,占用空间大小为10m,每秒处理请求不超过2个  server {     listen       8080;     listen       [::]:8080;      location / {             auth_basic "Restricted Access";  # 配置认证提示信息             auth_basic_user_file /usr/share/nginx/passwd;  # 配置存储用户名和密码的文件路径             limit_req zone=mylimit burst=5 nodelay;  # 缓冲队列长度为5             limit_req_status 503;   # 禁止访问后回显状态码             proxy_pass https://127.0.0.1:5003;  # 配置转发到对应端口的服务     } } 

配置完后需要重启Nginx服务才能使配置生效

systemctl restart nginx 

设置监听服务仅能本地访问

以红队工具灯塔(ARL)为例,由于Docker占用了5003端口提供灯塔web服务,我们没办法直接通过Nginx监听5003端口并配置密码认证。我想到的解决方法是先通过Nginx监听其他端口并配置访问密码,一旦密码认证通过则将端口服务转发到灯塔监听的5003端口,这样就能正常使用灯塔服务

但是这样有个问题,就是如果别人不通过Nginx监听的端口访问灯塔,而是直接通过5003访问,那么Nginx配置的密码认证也就没有效果了

解决方法原理一致,只是方式不同:

  1. 通过Linux防火墙配置端口访问黑名单,禁止外网访问5003端口

  2. 通过灯塔进行配置,将服务绑定在本地的5003端口,这样外网就无法访问

这里介绍第二种方式的实现方法,首先进入arl源文件安装路径,关闭docker镜像服务

docker-compose down 

然后编辑docker配置文件,指定本地IP 127.0.0.1 绑定的 5003 端口作为Docker容器中443端口的映射,这样想访问灯塔的web服务就只能通过本地地址 https://127.0.0.1:5003 访问

vim docker-compose.yml 

最后重新启动灯塔服务,使配置文件生效

docker-compose up -d 

实现效果

访问Nginx监听的端口会弹框提示需要输入账号和密码进行验证

验证通过后才会重定向到灯塔的主页,这时候才能正常使用

在这里插入图片描述

抓包端口,没有验证时请求包和响应包中完全看不出灯塔的指纹特征,完美隐藏

在这里插入图片描述

Viper反溯源

Viper 是国人自主编写的一款红队服务器,提供了MSF的图形化的操作界面,让用户使用浏览器便捷的进行内网渗透

这里特意提一下,避免有些人重复操作,由于Viper自带了反溯源功能,我们直接按照他的操作手册配置就行,不用我们再自己配置Nginx反向代理实现反溯源

Viper反溯源教程:https://www.yuque.com/vipersec/install/ilwe2iprztf9hlqv

在这里插入图片描述

相关内容

热门资讯

实测交流透视挂!宝玛大厅ai智... 实测交流透视挂!宝玛大厅ai智能透视挂教程,宝玛大厅破解软件经验(本来有挂辅助)1、每一步都需要思考...
总算了解辅助器!朱雀吴江三缺一... 总算了解辅助器!朱雀吴江三缺一ai智能透视辅助挂技巧,朱雀吴江三缺一好像是有挂(有辅助挂细节)朱雀吴...
今日公布透视!九五至尊大厅ai... 今日公布透视!九五至尊大厅ai智能透视插件,九五至尊大厅有没有透视挂窍门(切实有挂技术)1、在九五至...
玩家必看科普开挂!聚闲麻将ai... 玩家必看科普开挂!聚闲麻将ai智能透视辅助挂软件,聚闲麻将总是真的有挂(有辅助挂方式)聚闲麻将能透视...
据报道开挂!旅游娱乐ai智能开... 据报道开挂!旅游娱乐ai智能开挂工具,旅游娱乐辅助工具演示(一直有挂教学)1、全新机制【旅游娱乐ai...
一分钟揭秘开挂!决胜朋来麻将a... 一分钟揭秘开挂!决胜朋来麻将ai智能透视辅助挂教程,决胜朋来麻将真是真的是有挂(有辅助挂总结)1、首...
如何分辨真伪透视!红牛ai智能... 如何分辨真伪透视!红牛ai智能透视攻略,红牛是不是有挂经验(真是有挂技术)1、操作简单,无需红牛手机...
2分钟细说辅助器!江湖大庆麻将... 2分钟细说辅助器!江湖大庆麻将ai智能透视辅助挂攻略,江湖大庆麻将竟然是真的有挂(有辅助挂头条)1、...
总算清楚透视挂!老夫子厅ai智... 总算清楚透视挂!老夫子厅ai智能透视挂技巧,老夫子厅怎么开挂课程(好像发现有挂)老夫子厅破解侠是真的...
解密关于辅助!菜鸟麻将ai智能... 解密关于辅助!菜鸟麻将ai智能透视辅助挂脚本,菜鸟麻将总是存在有挂(有辅助挂存在)1、用户打开应用后...