负载均衡下的 WebShell 连接

第一次作业时,我了解到了ngnix的负载均衡,可以通过利用ngnix充当中间件来对后续的服务器进行轮询等一系列操作。

Nginx的负载均衡-CSDN博客

本次实验,我们利用另一种方式,本次架构如下图所示:

一、环境配置

1、首先,我们需要下载Docker环境,来满足本次实验需求。

【容器化】Docker-compose教程(安装,使用, 快速入门)_docker-compose安装-CSDN博客(侵权必删)

查看docker配置进程:

2、根据docker所创建的端口,我们访问ngnix中间件:

可以看出,即使界面未找到,但是我们已经与后端建立联系。

3、通过蚁剑进行配置:

中国蚁剑(antSword)下载、安装、安装出现的问题、使用教程_中国蚁剑下载-CSDN博客

4、 查看蚁剑配置:

OK,我们假定在真实的业务系统上,存在一个 RCE 漏洞,可以让我们获取 WebShell。(图片侵权必删)

我们先按常规操作在蚁剑里添加 Shell

至此,环境配置完毕。

查看:

二、进行负载均衡时,webshell出现的问题:

1、问题1:我们需要在每一台节点的相同位置都上传相同内容的 WebShell。
2、问题2:我们在执行命令时,无法知道下次的请求交给哪台机器去执行 。
3、问题3:当我们需要上传工具时,工具由于服务器的偏移,而被分成两部分。
4、问题4:由于目标机器不能出外网,想进一步深入,只能使用 reGeorg/HTTPAbs 等 HTTP Tunnel,可由于我们的工具无法传输到服务器中,所以只能破解到链接外网的服务器,即使我们传输再小的工具,但由于中间件与服务器的来回偏移,会导致链接不停中断。 这还深入个锤子。

三、逐个破解问题

1、解决问题一

我们在传输时,不停的刷新,会不停的偏移:

此时,第一台服务器上有nnn.txt

我们再刷新一次,第二台上服务器没有,而如果我们不想要该文件时,删除的时候,服务器会一直进行偏移,很容易把我们气上头。

此刻,我们进行保存,由于服务器的不断偏转,这样,每台服务器上都会有我们所需要的文件。

(hello.txt文件进行举例)

第一个问题完美解决。

2、解决问题二

通过编写SSH脚本,来进行ip地址的判断,随后进行发送,若偏移的不是目标地址,则会停止发送软件或脚本。

例:脚本编写:

复制代码
MYIP=`ifconfig | grep "inet 172" | awk '{print $2}'`
if [ "$MYIP" == "192.168.118.131" ]; then
	echo "allow exec your command"
	id
else
	echo "Other,try again."
fi

随后,通过以下命令将脚本注入服务器:

复制代码
docker cp demo.sh cb94dc8b2073:/tmp

紧接着,通过以下命令进入服务器:

复制代码
docker exec -it cb94dc8b2073 /bin/bash

进行测试:

3、解决问题三和四

原理:通过jsp脚本,在中间件进行传输时,如传输到第一台服务器则进行正常传输,若传输到第二台服务器,第二台服务器会将信息包传输给第一台服务器。

1、首先保证服务器1和服务器2可以进行正常通信:

2、添加脚本:

部分代码参考Java教程 - 廖雪峰的官方网站 (liaoxuefeng.com)

3、使用ifconfig测试:

相关推荐
虎头金猫1 天前
4K 视频总卡在公网带宽?用 N1 + OpenList 把网盘播放链路重新理顺
运维·服务器·网络·python·容器·beautifulsoup·pandas
AI职业加油站1 天前
AI智能体应用工程师证书:政策红利下的职业新风口
大数据·运维·人工智能·学习·职场发展
此冬歌咏1 天前
K8s 节点故障实战:优雅驱逐 31 秒,硬故障 331 秒,以及那个永远 Pending 的 Pod
运维·k8s
-梅1 天前
linux(8) 软硬链接
linux·运维·服务器
张洛闻Eren1 天前
k8s云原生【第十课】:水平 Pod 自动扩缩容
运维·数据库·云原生·kubernetes·github
其实防守也摸鱼1 天前
内网穿透与反向代理:原理、工具与实战指南
android·大数据·运维·安全·网络安全·自动化·渗透
布裘1 天前
【银河麒麟】V4桌面图标消失,右击鼠标没反应排查
运维·银河麒麟·桌面环境
懂软件的胡子个哥1 天前
微信机器人为什么需要“回复候选”而不是所有 AI 内容直接发送
运维·微信·自动化·wechatapi·个人微信号二次开发
云贝贝贝1 天前
腾讯云 TDSQL(MySQL 版)性能优化与慢查询排障实战 6 招
运维·腾讯云
Lsetea1 天前
证书没到期却报certificate has expired:OpenSSL定位中间证书与系统时间
运维·https·ssl证书·openssl·证书链