奇虎360高级安全研究员李福:别让黑客毁掉运维

《奇虎360高级安全研究员李福:别让黑客毁掉运维》要点:
本文介绍了奇虎360高级安全研究员李福:别让黑客毁掉运维,希望对您有用。如果有疑问,可以联系我们。

作者简介:

奇虎360高级安全研究员李福:别让黑客毁掉运维

李福

奇虎360 高级安全研究员

360 WEB攻防团队 0keeTeam 成员,拥有多年安全实战经验,擅长渗透测试与漏洞挖掘.专注于安全评估,对各种漏洞利用和场景有独到的见解.BlackHat 2016演讲者.

前言

作者来自360信息安全部的 0KeeTeam,主要做企业级的深度测试,挖掘运维基础服务的漏洞,并通过漏洞做企业级的安全评估.

1、常见的安全风险

本文以攻击者的角度看,主要写一些可能因为运维的问题会导致攻击成功.比如说弱口令问题,听起来比较 low,但实际问题一直存在.

奇虎360高级安全研究员李福:别让黑客毁掉运维

1.1 弱口令危害安全的入口之一

弱口令对于强密码,经常有人问我,怎样的密码才叫强? “密码要求8位以上,大小写加数字和字符,为什么还说这是弱口令”.

针对键盘序列生成的密码有多少人在使用呢? 如下图所示,左边的密码规律很明显,对照右边的键盘来看,就是按照这个键盘区位产生的密码,同类型的组合还有很多.

奇虎360高级安全研究员李福:别让黑客毁掉运维

这个组合有限的,而且很多人也有这个习惯.攻击者在攻击企业的时候,重要的入口就是邮箱,OA 这些系统会使用这样的密码.那么弱口令的问题就是一个大问题了.

奇虎360高级安全研究员李福:别让黑客毁掉运维

常见的密码组合,这边有四个规则:

第一种,修改密码的时候说不包含数字,不符合要求,后面加 123 或者 321 符合要求.

第二种,有可能说前面的长度不够再加长一点,123456 都是有可能的.

第三种,有可能运维提示,密码今年过期了,只能再修改一个,为了方便记忆修改加一个年份,如 2017 2016

第四种,密码组合加公司域名,大家可以想像自己的密码是不是包含公司的域名.

初始化的问题.大家看到图中,根据不同人员的类型设置测试密码.我们作为攻击者首先关注到了外包人员初始化密码的规则.

密码最简单的就是出生年月,这个攻击实现起来很简单,暴露破解账号,加上有限的生日密码字典.

1.2 弱口令扩大的安全伤害

奇虎360高级安全研究员李福:别让黑客毁掉运维

除弱口令之外,还有信息收集.现有密码泄露情况来分析,可以分析出大的一些规则.有的人喜欢把生日放在密码组合里面,有的人喜欢把公司域名放在里面.

还有通过尝试,攻击者可以看到密码,从而进入比较重要的系统.有的人说密码比较长,很安全,我说能不能谦虚一点,他说我的密码 98% 的黑客是攻破不了的.

但当你100个人说这样的话,概率还是不足1/3的.当500个员工说密码比较强的时候,这个可能性是趋于零的.

有个互联网的公开案例,某银行因为弱口令导致服务器被攻破.攻击者猜出口令,user 是人名的拼音.

中国的大环境下不同的姓有可能拼音一样,经过相关数据统计可以统计前500,前1000使用任命组合转化成拼音,我们把它作为用户名的字典.

当时攻击者利用口令进入到系统以后,拿到服务器的权限,攻击者通过这台服务器作为入侵银行的跳板.

弱口令的问题一直存在,有必要引起各位的重视,不能掉以轻心.

2、Devops面临的安全风险

2.1 关于Github的一些问题

我没有写代码层面和技术层面的安全问题,我觉得系统漏洞和人工造成的漏洞,大家都是需要负责的.

聊一聊敏感信息泄露,在过去很长的时间里,大家可以利用 GitHub 随时随地方便修改代码

奇虎360高级安全研究员李福:别让黑客毁掉运维

上图是运维,把自己的内容上传到 GitHub 上,代码中涉及到账号密码和数据库配置,还有可能涉及到有哪一些资产.

我上传的可以保证没有漏洞,密码都去掉了.关键性的算法都去掉,但有的黑客会仔细的审计你的代码风格,挖掘代码中的漏洞,然后再攻击系统.

我们现在做过长期监控,通过关键字搜索和长期的账户监控,我们会及时地发现员工上传代码到 GitHub,有敏感影响的我们会及时地联系他删除.

奇虎360高级安全研究员李福:别让黑客毁掉运维

git 泄露,使用了 git 攻击后会留下 git 目录.攻击者利用现场的工具可以获取部分的代码,甚至是整个网站的源代码.DS-Store 会泄露路径的信息.

idea 对攻击者有非常有用的点,git、son 都是代码上传的工具,利用这两种方式可以获取网站的原代码.通过交换文件,可以完全地还原文件的内容.

特别巧的是,通常有人会去对你数据库配送文件.通过还原科技获取到数据库密码.代码备份,我打一个包,以日期命名或者当前的目录命名.

不管是数据库程序,在攻击者的眼里是很容易扫描到代码和数据库数据的.通过代码审计漏洞,然后通过代码获取敏感连接或者获取关键性的算法.

2.2 代码和流程问题

奇虎360高级安全研究员李福:别让黑客毁掉运维

代码和流程问题.很多的开发人员说自己开发代码,为了更加方便在代码加入开关,看有哪一些数据输出输入.

测试完成以后没有问题就上线,代码还是线上代码.因为这个开关没有人会注意,但黑客倾向于发现这样的问题,为了方便,开关可能放在 Cookies 里面,或者在 git 请求里面.

有一个典型的例子,开源的 CMS 对外发布一个版本,在用户系统里每个人有用户空间.UID=1,这是用户空间.然后 git 请求下,会把用户信息给你打印出来.

数据库报错的信息,可以清楚地知道这个领域,也可以猜测你的数据库结构,知道你存储了哪一些东西,利用这些东西可以更加深层地挖掘漏洞.

2.3 其他的信息泄露风险

奇虎360高级安全研究员李福:别让黑客毁掉运维

信息泄露另外的途径就是不可控的途径,我也不知道自己的信息和密码在互联网上有多少版本.

奇虎360高级安全研究员李福:别让黑客毁掉运维

有一次通过密码泄露查到了初中时候使用的 QQ 号密码.我觉得比较惊喜和惊讶,对员工的攻击面是非常广的.很多人使用公司邮箱注册密码,我攻击企业肯定通过数据公开查询对比密码,然后再针对员工去攻击.

这个员工可能在互联网上有两三套密码,我都解决掉,在他的邮箱和网盘发现了敏感的内容.公司某某的电话多少,公司的通信录密码多少.

员工个人安全也是我们专注的,因为有人说自己是 360 的,个人邮箱和网盘被攻破了,我们认为这是安全的问题,因为网盘存储的内容和我们360相关.

GitHub 运维脚本,邮箱是否可以连通,使用了自己的账号和密码.比较配合地将内容上传到 GitHub,黑客用关键字搜索这家公司域名的时候,发现运维脚本,然后登录了统一认证系统,统一认证系统说手机二次验证,因为没有手机号.

攻击者通过邮箱的密码给了邮件,说我的手机号码换了,确认一下身份,我是某某,手机号换多少.手机号修改成攻击者自己的,经过了二次验证.

在内网核心的攻击是代码支持库,核心代码的 SVN 与 GitHub.后台系统在管理人员看来已经为所欲为.

3、运维躺过的那些坑

3.1 基础服务上的安全风险

奇虎360高级安全研究员李福:别让黑客毁掉运维

基础服务的安全风险无非就是弱口令、未授权、配置不当.上图列的是代码备份的访问,连上去可以下代码和操作的.

奇虎360高级安全研究员李福:别让黑客毁掉运维

通过未授权可以获得服务器的选项,因为可以执行系统命令.

3.2 如何去改进

奇虎360高级安全研究员李福:别让黑客毁掉运维

  • 访问控制访问控制,办公网和测试网与生态环境要进行隔离.不能说现场服务器修改代码备份,我把测试服务器当现场服务器用.

    这里有一个典型的例子,有黑客对网站进行攻击的时候,发现测试系统存在弱口令,原因是因为测试环境和生产环境混在一起了导致存在弱口令,这样的问题很容易出现.

    另外同事之间不在自己的电脑上搭建外部服务或者说开启一些敏感端口,黑客入侵到内网的时候,会先入侵到内网的服务器.入侵办公网,这个概念又是不一样,因为个人电脑存储敏感信息比服务器更多.

  • 权限限制权限控制是最小权限,什么人可以用什么就给他什么用.明明做内部系统,为什么开放外网.运营的权限,为什么开管理员权限的后台.
  • 密码策略密码策略,弱口令和密码组合,通过信息泄露对系统和员工做口令攻击.更换周期尽量得到保证,因为无法确定你的密码是不是会被泄露.
  • 漏洞跟踪漏洞跟踪,已知的漏洞能修复就修复,有的漏洞修复后黑客无从下手.

4、总结

奇虎360高级安全研究员李福:别让黑客毁掉运维

我作为攻击者,做安全评估时间很长.但自己总是站在防疫的角度看,安全是一个整体,细节再安全难免有疏忽.攻击者总是寻找薄弱点进行攻击,木桶原理.作为防御者我会以攻击者的角度来防御.

奇虎360高级安全研究员李福:别让黑客毁掉运维

未知攻,焉知防.只有知道怎么攻击,才能更好地防御.

原文来自微信公众号:高效运维

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


每个HTTP请求和响应都会带有相应的头部信息。默认情况下,在发送XHR请求的同时,还会发送下列头部信息: Accept:浏览器能够处理的内容类型 Accept-Charset:浏览器能够显示的字符集
"Markdown自动生成目录" "使用npm语法生成" "1、安装npm" "2、安装doctoc插件" "
当我们从客户端向服务器发送请求时 服务器向我们返回状态码 状态码就是告诉我们服务器响应的状态 通过它,我们就可以知道当前请求是成功了还是出现了什么问题 状态码是
原理 介绍 哈希表(Hash table,也叫散列表), 是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映
一 共享秘钥 1.1 概念 共享秘钥和我们生活中同一把锁的钥匙概念类似,对同一把锁来说,加锁时使用什么钥匙,解锁也必须使用同样的钥匙。 1.2 共享秘钥在HTTP传输中的缺点 以共享密钥方式加密时必须
正向代理的概念 正向代理,也就是传说中的代理,他的工作原理就像一个跳板,简单的说,我是一个用户,我访问不了某网站,但是我能访问一个代理服务器这个代理服务器呢,他能访问那个我不能访问的网站于是我先连上代
如果你是网站的开发者或维护者,就不得不重视盗链的问题了。如果你刚刚开发完一个没有防盗链的带有文件下载功能的网站,挂上internet,然后上传几个时下非常热门的软件或电影并在网站内公布下载地址,让MS
select,poll,epoll区别总结 select,poll,epoll都是I/O多路复用。I/O多路复用就是通过一种机制,可以监测多个描述符,一旦某个描述就绪(一般是读或者写),能够通知程序进
PS: https就是http和TCP之间有一层SSL层,这一层的实际作用是防止钓鱼和加密。防止钓鱼通过网站的证书,网站必须有CA证书,证书类似于一个解密的签名。另外是加密,加密需要一个密钥交换算法,
一、什么是http协议 HTTP是一个应用层协议,无状态的,端口号为80。主要的版本有1.0/1.1/2.0. HTTP/1.* 一次请求-响应,建立一个连接,用完关闭; HTTP/1.1 串行化单线
host文件的工作原理及应用 Hosts文件是一个用于存储计算机网络中节点信息的文件,它可以将主机名映射到相应的IP地址,实现DNS的功能,它可以由计算机的用户进行控制。 一、Hosts文件基本介绍
HTTP 2.0是在SPDY(An experimental protocol for a faster web, The Chromium Projects)基础上形成的下一代互联网通信协议。HTT
虚拟地址和物理地址 第一层理解 1、每个进程都有自己独立的4g内存空间,每个进程的内存空间都具有类似的结构。 2、一个新进程建立的时候,将会建立自己的内存空间,此进程的数据,代码等数据从磁盘拷贝到自己
0x00 前言 发现自己学习python已经有半个月了,也开发了自己的一些渗透的小脚本,但觉得还是不够,我个人觉得工具和脚本还有框架是个本质上的区别。脚本的话,不会考虑到其他的一些因素,例如报错和交互
0x00 前言 由于昨天520,今天又是521,我被朋友圈和qq空间给刷屏了,都在秀对象。一气之下决定把我上次写的nc拿出来使用类进行重构,多实例化几个对象,这下子我也有对象了。 0x01 一些小插曲
upload labs通关 0x00 前言 这段时间一直在忙,没时间来更新文章,这里就写篇upload labs的通关手册吧,现在包括网上也有很多upload通关手册,但是在这里还是想自己去写一篇,来
0x00 前言 介于这段时间比较忙,所以博客的更新也比较慢。本来想前几天就发这个mssql数据库的,但是因为mssql的结构比较复杂,利用方式也比较多,所以又去深入研究了一下mssql的数据库结构和各
0x00 了解数据库 数据库是“按照数据结构来组织、存储和管理数据的仓库”。是一个长期存储在计算机内的、有组织的、可共享的、统一管理的大量数据的集合。 数据库是以一定方式储存在一起、能与多个用户共享、
0x00 前言 现在access的站,比较少,有的话也是小型网站在用,因为access的性能比较差,多人访问都能卡死,所以很多网站都很少会采用access的数据库搭建。但是该学的我们还是得学。 0x0
记一次某企业实战 0x00 前言 近段时间来也没怎么更新过博客,在这里就来水篇文章吧。 前段时间一直在做项目,也来分享并且记录一下自己的一些成果,和一些小思路。 0x01 信息收集 渗透的第一步肯定是