在进行漏洞检测的时候,我们会发现有很多的漏洞在执行了一些命令后,从表面上看没有任何回应的,比如命令执行漏洞,可以让目标执行读取文件的命令等,但由于前端并没有对应的展示,导致我们并不能知道文件是否成功读取,也就不知道命令是否执行成功。
同时还有向经典的log4j rce,fastjson,ssrf,XXE
等,都是没有回显的漏洞,那么当面对这类的漏洞,我们就需要一个反连平台,通过让目标执行ping、curl
等命令,对反连平台发起请求,反连平台在接受到请求后,就能告诉我们,命令触发了,也就代表了漏洞存在了。
所以当我们想要比较完备的对一个系统进行测试,反连平台的利用一定是必不可少的。所以本文将着重讲述xray
的反连平台如何部署搭建,配置文件如何修改,如何进行调试,并使用实际存在的漏洞进行举例。
需要预先准备一台VPS
,安装CentOS
系统,最好的方式是开放全端口。如果担心安全风险,可只开放要使用的端口。
xray下载:
通过如下官方地址下载xray
到VPS
中,下载Linux
版本:
https://stack.chaitin.com/tool/detail/1
VPS上配置环境:
先直接yum安装libpcap-devel:
yum install libpcap-devel
yum -y install mlocate
updatedb
locate libpcap
然后配置相关环境:
cd /usr/lib64
ln -s libpcap.so.1.5.3 libpcap.so.0.8
这里如果都顺利的话就可正常运行了,进入xray
目录下执行:
./xray version
然后参考官方文档配置一下服务端config.yaml
:
安装screen
,并使用screen
创建一个新的视窗,并将反连平台运行在新的视窗中,这样在退出ssh
连接后,反连平台将一直保持运行,操作如下
yum install screen -y
screen -S xxx 任意命名,要后台执行任务的名字
这样将进入到名为xxx
的视窗中,执行./xray reverse
启动反连平台,可以输入exit
退出视窗
使用screen -ls
可以查看当前存在的视窗,并使用screen -r {{id}}
进入视窗
启动返连平台:
./xray reverse
可以手动访问一下平台测试是否正常:
http://VPS的IP地址:33899/cland/
本地电脑使用cmd
执行curl -v http://vps:33899/p/2395c7/SyQ9/
1、需要一个可以自定义DNS host的域名,example.com
。
2、需要一个可以运行xray的服务器 VPSIP
。
放通全部端口
1、解析记录配置
增加ns1、ns2
的A记录(ns1/2
可以是别的名称,可自定义),其记录值为VPS
的公网地址。
2、自定义DNS host
3、 DNS 修改
创建自定义的DNShost
之后将Dns修改为自定义的DNS服务器。
等待10
分钟后
如果是刚部署好,可以首先使用nslookup
进行测试
如果已经有一段时间了,则可以使用ping
命令
完成以上操作就算部署完毕了。
使用vps
上的vulhub
起一个log4j2
靶场
漏洞地址为:http://vps:8983/solr/admin/cores?action=123
本地xray
执行以下命令:
xray.exe webscan --poc poc-go-apache-log4j2-rce --url http://vps:8983/solr/admin/cores?action=123
使用vps
上的vulhub
起一个fastjson
靶场
本地xray
执行以下命令:
xray.exe webscan --plug fastjson --url http://ip:8090/
这里使用phpstudy+pikachu
靶场演示
本地xray
执行以下命令:
xray.exe webscan --plug ssrf --url http://127.0.0.1/pikachu/vul/ssrf/ssrf_curl.php?url=http://127.0.0.1/pikachu/vul/ssrf/ssrf_info/info1.php
这里使用VPS+phpstudy+pikachu/php_xxe
靶场演示
php_xxe
本地xray
执行以下命令:
xray.exe webscan --plugins xxe --listen 0.0.0.0:7777
pikachu