文档章节

安全基础教育第一季:堡垒是从内部攻破的

旁观者-郑昀
 旁观者-郑昀
发布于 2015/05/29 19:00
字数 2236
阅读 121
收藏 9
郑昀 创建于2015/4/10 最后更新于2015/4/28

本文档适用人员:广义的技术人员
提纲:
  1. 堡垒是从内部攻破的
    • 员工无知者无畏
    • 运维配置暴露细节
    • 后台不设防
  2. 常犯常新,屡战屡败
  3. 处处留心皆学问

0x00. 背景:

    技术团队 第一忙于业务逻辑,第二大量新人涌入,会把过去大家在安全上栽的跟头重新趟一遍,因此该做的培训咱还得做,该说的经验教训还得说,一次不行就两次,两次不行三次,重复再重复。
 

0x01. 堡垒是从内部攻破的:

    一次成功的入侵渗透,并不需要是什么高危漏洞,几个普普通通的中等漏洞,搭配一次社会工程学行动,就可以搞定。
    一个公司成千上万人,往少里说也有 80% 的人安全意识淡薄,有耐心的攻击者会盯好几年,穷尽各种招数,没有攻不进去的堡垒。
 

员工无知者无畏

  大多数员工都图省事儿,公司邮箱以及其他内部 IT 系统都用简单密码甚至空密码,好些个知名 IT 系统也不对此做任何限制(甚至是专业企业级软件制造商出品的IT系统)。

    弱密码遇到不设防的 IT 系统,对攻击者来说真是福音。
 
案例一,乌云漏洞报告:重置某东任意内部邮箱用户密码
漏洞提交时间:
2013-10-26
原理:
公司做得越来越大的时候,总会出现那么几个安全意识薄弱的人员(俗称猪一样的队友),他们往往会做出一些让人无法理解的事情,比如:他会毫不犹豫地双击运行邮件内的 EXE 附件,或者使用跟用户名一样的密码,或者用户名+当前年份的密码。
实施步骤:
1)通过社会工程学神器  theharvester 工具,和 baidu/google 搜索引擎,收集所有关于某东员工的信息;
2)找到了可用的登录接口验证口令 ,https://mail.....com/owa/auth/logon.aspx,某东的邮件服务使用了微软的 Exchange 服务,并无验证码限制,可以直接 Fuzz;
注: Fuzz 指的是用随机坏数据攻击一个程序,然后等着观察哪里遭到了破坏。
3)成功 Fuzz 出某个用户的密码,再结合 Exchange 的通讯录功能,导出所有用户名列表;
4)是的,现阶段,你已经拥有了所有某东员工的联系信息列表 。
重复使用 Fuzz 规则,测试后回显找到了 2865 名员工的密码,均为弱口令。
 
    更有甚者,互联网开发人员还会主动暴露自家机密。每家知名公司都有这么几个没心没肺的人,在开源社区泄露源码或敏感信息:
……几乎每个大公司都报过这个漏洞。
 
    开源社区暴露了邮箱用户名密码之后,又会怎么样?后果很可怕。
案例二,乌云漏洞报告:一次成功地漫游某东内部网络的过程
漏洞提交时间:
2014-04-03
后果:
1)邮箱里找到了 VPN 登录方式:
图1 某东VPN邮件截图
2)拨 VPN 登 3389 进入堡垒机:
图2 某东堡垒机登录截图
3)进入堡垒机,看浏览器历史记录,找到了各种高大上的管理系统:
图3 某东内部各种应用入口
4)还找到了执行 SQL 刷库的地方%#&……
图4 某东执行SQL的内部界面
 
    总结一下:
以 github 为首的版本控制信息泄漏:
由于 github 支持强大的搜索语法,可以很方便地搜索到一些常规搜索引擎无法搜索到的内容,如搜索内部项目、密码、密钥等。
还可以通过 github 来查找代码安全问题,如输入规则:extension:php mysql_query $_GET,可以搜索到大量包含 mysql_query $_GET 的请求,可以有针对性地进行代码审计。
当你把自己的项目代码上传到 github 时,看看配置文件里是不是有不能说的秘密,思量一下后果。
 

运维配置暴露细节

  生产环境配置不当,加上开源系统层出不穷的漏洞,敏感信息轻轻松松泄露,经常坑爹的服务有 Resin-doc、SVN、git……

案例三,乌云漏洞报告:某公司源码泄露导致配置信息泄漏
漏洞提交时间:
2011年
原理:
Caucho Resin 是一款 Web 应用服务器,它自带一个 resin-doc app,这个破玩意儿在 Resin 3.0 上有一个漏洞,可以被当成一个后门。
Resin 的某个 CGI 程序实现上存在输入验证漏洞,远程攻击者可能利用此漏洞读取 Web 主目录下的任意文件,包括 JSP 源码或类文件。如果系统中安装了 resin-doc 就可能读取 Web 主目录中的所有文件,包括类文件,然后可以反编译这些文件浏览 Java 源代码。
实施步骤:
2011年时,你可以访问这样的路径: http://www.....com /resin-doc/viewfile/ ?file=index.jsp
攻击者可以设置 resin-doc 外的上下文路径,读取其他 Web 目录的任意文件: http://localhost/resin-doc/viewfile/?contextpath=/otherwebapp&servletpath=&file=WEB-INF/web.xml
 
    如果运维不强制规范上线部署 Resin 时一律删除 resin-doc app,那么类似的悲剧还会继续发生,如:
    因为你有可能部署一个低版本 Resin。
 
    SVN 的隐藏目录问题,各家也遇到过。
案例四,乌云漏洞报告:某财经网某处SVN泄露
漏洞提交时间:
2014-11-19
原理:
发布流程不规范的情况下,代码上线时,Java/PHP等都特别容易带入 SVN 隐藏目录。
在 svn 1.6 以下版本,通过访问 .entries,可以下载到 svn 里的代码。在 svn 1.7 之后的版本,通过访问 .svn/wc.db,对应的 metasploit 模块也是有利用程序的。
实施步骤:
http://service.....com.cn/ .svn/entries
就是这么简单。
这名白帽子还总结了两点危害:
1.泄露 svn 地址和用户信息,通过爆破可控制 svn 权限;
2.可以获取截止到上一次 svn 操作的网站源码。
    再比如 乐视某分站源码泄漏
 
git
    在 google 里搜索关键词 *".git" intitle:"Index of",还可以进一步找到 git 暴露在外的站点。
 
phpinfo
    生产环境里,phpinfo 也随便放,视搜索引擎为无物?
 

后台不设防

    Elastic Search 官方的控制台本身没有访问控制,一般来说大家都会仅限内网访问,但咱家在这上面也吃过亏。

案例五,乌云漏洞报告:某站ElasticSearch远程命令执行
漏洞提交时间:
2015-03-05
原理:
es 控制台内网域名本来是有防火墙策略的,但某天调整策略时子网掩码误操作写错了,导致外网可以访问到 es 控制台。
刚好 ES 自己爆了一个高危安全漏洞(CVE-2015-1427),该漏洞可导致远程代码执行,危害极大。俩事儿撞一块了。
es漏洞利用工具
图5 es漏洞利用截图
幸好是白帽子找出来的。
 

0x02. 小结:

    不一定非要出高危漏洞,白帽子就可以用社工+中等漏洞攻进来,开发、测试、运维,都要认真,前面这些环节不认真,就得等漏洞爆出来后再认真了。
 
参考文献:
1,百度QA, 将Fuzz进行到底
2,2014,乌云知识库, fuzzing XSS filter
3,2014,乌云知识库, 被忽视的开发安全问题
4,2006, 模糊测试
 
-EOF-

© 著作权归作者所有

上一篇: 研发哲学
下一篇: 小伙伴们手滑集
旁观者-郑昀
粉丝 100
博文 77
码字总数 162700
作品 0
朝阳
私信 提问
安全基础教育第二季第1集:屡战屡败的找回密码

郑昀 创建于2015/5/19 最后更新于2015/8/7 关键词: Web安全、系统安全、Web开发、找回密码、重置密码 本文档适用人员:广义的技术人员 提纲: 堡垒是从内部攻破的 员工无知者无畏 运维配置暴...

旁观者-郑昀
2015/08/15
96
0
更安全的堡垒机登录方法

Hi,all 目前现状: 每个同事的私钥和公钥都保存在bastion服务器,bastion如果被攻破,bastion后端的服务器安全就荡然无存了。基于这种考虑,现在把公钥和私钥保存在自己的本地,bastion和b...

freeterman
2016/12/02
0
0
【议题前瞻】企业内网“反APT实践” 2018威胁情报&APT攻击技术与趋势高峰论坛

     种种信息安全事件显示,“堡垒最容易从内部攻破” ,内网从来都是不是安全的“自留地”。      对于初具规模的企业来说,内部沟通需要邮件,即时沟通需要im软件,需要有域控,需...

FreeBuf
2018/05/16
0
0
U-Mail邮件网关鉴伪防窃杜绝“家贼”

俗话说“明抢易躲暗箭难防”,假如垃圾邮件和病毒由外部某个帐号堂而皇之的发起进攻,那么容易识别和提防;但如果***来自于内部帐号,则难免“家贼难防”,需打起十二分的精神应对。国外案例...

bvofxadj
2018/06/26
0
0
麒麟开源堡垒机双因素认证功能(动态口令、CA证书)发布

堡垒机经常成为企业内部安全的薄弱环节,堡垒机内部保存所有的设备资产和权限关系,一旦堡垒机被入侵,则意味很多时候黑客得到了登录服务器、网络设备的权限。 堡垒机口令是堡垒机安全的第一...

网安1476
2016/05/24
2.5K
0

没有更多内容

加载失败,请刷新页面

加载更多

好程序员Java教程分享Zookeeper基本原理与运用场景

好程序员Java教程分享Zookeeper基本原理与运用场景一、什么是Zookeeper? zookeeper是一个分布式的一致性协调服务。 换句话说,也可以把zookeeper看成一个小型的分布式文件系统。但是和FastD...

好程序员官网
27分钟前
6
0
mysql表情符

1 修改表字段为utf8md4 ALTER table property_info MODIFY `address` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL 2 MySQL数据库服务器配置文件mysqld.cn......

干死it
46分钟前
4
0
正则表达式的基本语法

本文摘自LTP.NET知识库。 正则表达式的形式一般如下: /love/ 其中位于“/”定界符之间的部分就是将要在目标对象中进行匹配的模式。 用户只要把希望查找匹配对象的模式内容放入“/”定界符之...

木庄
48分钟前
6
0
java 框架有哪些?

十大常用框架: 一、SpringMVC 二、Spring 三、Mybatis 四、Dubbo 五、Maven 六、RabbitMQ 七、Log4j 八、Ehcache 九、Redis 十、Shiro 延展阅读: 一、SpringMVC Spring Web MVC是一种基于J...

java框架开发者
49分钟前
10
0
细谈Mysql事务

文章原创于公众号:程序猿周先森。本平台不定时更新,喜欢我的文章,欢迎关注我的微信公众号。 上一篇着重谈到了MySQL锁的概念,里面谈到了事务的概念,其实大部分开发者对于事务肯定不陌生,...

程序猿周先森
57分钟前
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部