【阅读分享】我们的网站是如何被入侵?

2018-03-0907:16:51 28 550
摘要

秀的白帽子/黑帽子会根据目标网站进行黑盒/白盒测试进行漏洞挖掘,白盒可称为代码审计,而黑盒则是在接触不到代码的情况下进行的模糊测试。通过上面这些步骤,目前国内的一些网站可谓是难逃一劫,当然具体场景遇到的不同情况要变化不同的攻击思路。看到了那么多,仔细想一下,我们的网站到底安全吗?

这篇文章写起来还是蛮难的,难在不容易把整个网站安全体系全部写出来,或者文中应当添些真实案例让大家感觉笔力饱满,用墨充足。鉴于大量站长/网民普遍认为网站是“固若金汤”的安全,毫不担心也不在意自身隐私安全等其他问题,让我来试试科普是否能改变现状观念,哪怕只是一小撮人群呢?

【阅读分享】我们的网站是如何被入侵?

你的网站真的坚不可摧?

目前的网站可分为三大块:个人运营、团队/公司运营、政府运营。

个人网站比例还是很大的,这种网站多数采用开源系统,如博客类:Wordpress、Emlog、Typecho、Z-blog、More...,社区类:Discuz、PHPwind、StartBBS、Mybb 等等。

团队/公司网站使用常用的开源 CMS 比例也是非常大,政府类网站基本上外包开发较多。

当然互联网公司自家产品应用必然都是公司自主开发:淘宝?知乎?豆瓣?太多了。

更泛一点的说,分为两大块:开源与闭源

能够有效说明网站伪安全的就是从实战出发的角度去证明到底是不是真的固若金汤。

这里之所以讲到入侵方法不是为了教大家如何入侵网站,而是了解入侵的方法多种多样,知己知彼才能百战不殆。菜刀能够用来切菜,同样也能够用来杀人。

黑客们入侵网站普遍的手法/流程

1、信息收集

  • Whois 信息--注册人、电话、邮箱、DNS、地址
  • Googlehack--敏感目录、敏感文件、更多信息收集
  • 服务器 IP--Nmap 扫描、端口对应的服务、C 段
  • 旁注--Bing 查询、脚本工具
  • 如果遇到 CDN--Cloudflare(绕过)、从子域入手(mail,postfix)、DNS 传送域漏洞
  • 服务器、组件(指纹)--操作系统、web server(apache,nginx,iis)、脚本语言

通过信息收集阶段,攻击者基本上已经能够获取到网站的绝大部分信息,当然信息收集作为网站入侵的第一步,决定着后续入侵的成功。

2、漏洞挖掘

  • 探测 Web 应用指纹--Discuz、PHPwind、Dedecms、Ecshop...
  • XSS、CSRF、XSIO、SQLinjection、权限绕过、任意文件读取、文件包含...
  • 上传漏洞--截断、修改、解析漏洞
  • 有无验证码--进行暴力破解

经过漫长的一天,攻击者手里已经掌握了你网站的大量信息以及不大不小的漏洞若干,下一步他们便会开始利用这些漏洞获取网站权限。

3、漏洞利用

  • 思考目的性--达到什么样的效果
  • 隐藏,破坏性--根据探测到的应用指纹寻找对应的 EXP 攻击载荷或者自己编写
  • 开始漏洞攻击,获取相应权限,根据场景不同变化思路拿到 webshell

4、权限提升

  • 根据服务器类型选择不同的攻击载荷进行权限提升
  • 无法进行权限提升,结合获取的资料开始密码猜解,回溯信息收集

5、植入后门

  • 隐蔽性
  • 定期查看并更新,保持周期性

6、日志清理

  • 伪装性,隐蔽性,避免激警他们通常选择删除指定日志
  • 根据时间段,find 相应日志文件

太多太多。。。

说了那么多,这些步骤不知道你看懂了多少?其实大部分的脚本小黑显然不用这些繁琐的步骤,他们只喜欢快感!通常他们会使用各种漏洞利用工具或者弱口令(admin,admin888)进行攻击,入侵无果就会选择睡觉、打飞机或者去做一些其他的事情。当然,这种“黑客”仅仅是出于“快感”而去想入侵你的网站,如果是别有它意的人,麻烦就来了。

对了,上面这些步骤是刚翻到 12 年我整理的一个 freemind 思维导图的部分内容:

【阅读分享】我们的网站是如何被入侵?

(点击查看大图)

优秀的白帽子/黑帽子会根据目标网站进行黑盒/白盒测试进行漏洞挖掘,白盒可称为代码审计,而黑盒则是在接触不到代码的情况下进行的模糊测试。通过上面这些步骤,目前国内的一些网站可谓是难逃一劫,当然具体场景遇到的不同情况要变化不同的攻击思路。看到了那么多,仔细想一下,我们的网站到底安全吗?当然,还有一种攻击概念:APT(以后有机会再写吧!一言难尽!)

第一个小故事

之所以能有兴趣写下这么大篇幅内容源于上周末,有幸认识了一位小哥,搞开发的。当时他问我:“Evi1m0,你说的博客安全不安全,能帮我测试一下吗?”

我们相识在源头是因为我们两人博客使用的同一套系统--Typecho。刚下载好这套系统的时候我便简单的进行了一次白盒审计,刚好捡到两个 0day(未公布的漏洞)。所以我对他“意味深长”的说:黑你博客,分分钟。当然只是逗逗他,最后我告诉他了这么自信的原因。

过了会儿,他便找我测试他最近写的一套博客系统,程序也还算简单,一顿黑盒测试后只发现了 1 个 SQLinjection,有趣的是我发现他数据库竟然使用的 ROOT 权限!?结果很简单的拿到了网站权限,解开 HASH 之后我获取到了他常用的密码,然后我做了什么?

  1. 查询网站里面所有关于 config 的相关隐私信息
  2. 获取服务器(Linux)的 ROOT 权限
  3. 密码猜解,登陆他主博客的后台

去年 5 月份的时候我写过一篇文章《剖析隐私安全的奥秘》,文中便提到过个人使用不同的密码其实不会超过 3-5 种。

于是很简单的,我便完成了这次“入侵”,事后他感叹自己的安全意识竟如此薄弱,网站竟然如此不堪一击

另外一个小故事

很久之前“L”发邮件要我协助他搞某酒店,那时还没有2000W 酒店数据库泄露事件这回事,信息收集前戏他自己就已经单干了两个月,这些我后来才知道,不得不佩服他的耐心。

拥有了这些信息后我便开始和他配合伪造成对方公司职员接触一些公司员工以便更快的获取有价值的东西,当然这种方法大家也许都应该知道--社会工程学。

记忆尤深的是最后防线 OA 系统迟迟无法突破,让我吃惊的是他竟在公司接待厅里搭起 WIFI 开始钓鱼,一晃就是两天,最终他成功拿下了客服经理的 OA 账号密码。就在这整整半年期间,他和这公司某妹子拍拖成功,虽然后来分手了 (〃'▽'〃)。

从一个弱口令开始,到分站沦陷再到密码猜解到主站沦陷,全部服务器开始成为肉鸡。权限在他手上一直持有了 2 年多,13 年底的时候“L”与我 Mail 称:“They are the idiot!?后门竟然还没清理”,同时留下了一张图:

【阅读分享】我们的网站是如何被入侵?

为什么他非要弄到全部的服务器权限,其实并不是因为什么开房数据库,只是因为他和我有过一场小小的赌注。

仔细想想我们的安全意识究竟够不够高?不要总是说:“我的网站很安全!我用的是 Discuz!我用的是最贵的服务!没人能黑!”,借用我之前文中的一句话:“你只是目前还没有价值被黑!”。

就算程序上没有漏洞安全问题,人性的弱点仍然是一个值得深思的点,很多经典案例都来自于人性的弱点,不了解的可以查看百度百科(社会工程学),虽然我一直扬言称拿科普来改变大家的安全观,可是你们不入戏啊,自己高潮可真无趣。

哦,对了,这些故事都是我竭尽脑汁编出来的。


被黑网站背后的故事

我所被黑的故事

我曾经也是这种想法,网站怎么可能会被黑呢?Linux 权限做的那么死,除非网站系统出现漏洞,不然谁能入侵它!?

当时我所创立的邪红色信息安全团队还算火热,有不少黑/白帽子想涂鸦主页(入侵篡改),记得是一个悠闲的下午,刚从咖啡厅出来接到团队成员打过来的电话称团队网站被黑了!

Oh shit!真有趣,被黑的切入点竟然来源于服务器上朋友临时搭建的测试站点,他测试程序的时候忘记最后删除掉了,出于懒惰后台密码就使用了最令人头疼的弱口令--admin,admin

真巧,这都能让那位黑客发现!显然他是有恶意的,对当时论坛进行了脱裤(数据库下载),后来朋友对这事儿仍然耿耿于怀。常在河边走,哪能不湿鞋?

朋友被黑的故事

和我同在知道创宇公司余弦的博客在 12 年底的时候也被黑过,不必太惊讶。

下面内容来自他当时的文章:

【阅读分享】我们的网站是如何被入侵?

2012 年 11 月 21 日,早 7 点,我发现我的博客被黑了,如封面这张图,说:“i'm sure your site have no xss by the venus hacker”,这英语很有 chinese 范,我当然不相信谁会用 XSS 来攻击我用 WordPress 搭建的博客系统,这年头 WordPress 的高质量 XSS 不容易得到,我很快就想到了我是怎么被黑的了,洗漱完后,打开电脑开始排查:

  1. 黑页里的特殊指纹,利于我追踪;
  2. 网站请求日志;
  3. 我的网站源码里是否有后门;

调查黑页不仅仅是为了拿到里面的特殊指纹,还有想看看是否有植入网马(如果有这个,那这个黑客太狠了,我非得把这个人挖出来并曝光),或者更邪恶的 XSS 攻击(这个我估计很多很多人都想不到,如果有这个,我会很尊敬这个黑客),我如此谨慎是因为如果是我要做些邪恶的事,我会这样做。

结果这个黑页很普通。于是开始查看网站请求日志(如果是我猜测的攻击手法,日志里不应该有什么明显特征),果然日志里没什么奇怪的,基本肯定了我的猜测了。

但是我还是不放心,既然是我猜测的攻击手法,那这个黑客如果不是仅仅“just a joke”,那肯定还会留下后门,WordPress 那么多文件,我如何最快的速度确定是否有后门呢?

我用 Python 脚本改写了两个程序(幸好之前我有积累),一个脚本分析全球常见后门(Webshell)特征(允许误报),一个脚本对比我之前备份过的文件 Hash(担心被篡改植入一句话后门)。

半小时后,完成了这些检查(如下图),看来这个黑客仅仅是想开个小玩笑而已。

【阅读分享】我们的网站是如何被入侵?

【阅读分享】我们的网站是如何被入侵?

那这个我已经猜测到的攻击手法是什么呢?很简单,我博客所在的主机权限配置很脆弱,只要这个主机上任意网站被黑,都可能威胁到我的博客,这个主机被黑客拿下了,然后看到我的博客居然在里面,顺手来了个玩笑

【阅读分享】我们的网站是如何被入侵?


 

说了那么多,最重要的来了!如何加固网站安全以及提高安全意识?

加固网站安全提高安全意识

一开始便提到了网站大致可分为几大块以及使用开源/闭源程序,如何加固?

网站程序的采用:

  1. 尽量采用大厂商提供的程序
  2. 关注一些安全厂商以及官方微博,第一时间获取是否出现新漏洞
  3. 市面上开源所能提供的已经很广泛了,没有特殊需要无所谓非要自己重新写套程序

服务器权限的配置:

  1. 关闭不需要的服务以及端口
  2. 定期的更新系统补丁
  3. 使用安全防御软件,例如安全狗、啊 D 等
  4. 文件列目录等权限最小化,尽量消减 Guest 权限
  5. 网站数据库不再使用 ROOT 权限,分配相应用户管理

Other:

  1. 使用 WAF 服务,例如加速乐、安全宝等
  2. 弱口令是大忌!
  3. 谨记权限最小化!

关于安全意识:

  1. 不是没人能黑你,只是你没有价值被黑
  2. 不要等到出事后才想起来事前没做防护措施
  3. 密码定时更换,能少泄露自己的隐私就少泄露
  4. 多关注一些有关安全方面的人才,当然这需要你来筛分人才与“人才”
  5. 安全意识要潜意识的存在你的脑子里,别来个中奖就把安全意识扔到脑外
  6. 手机能够使用正版 APP 就使用,能够不越狱不 ROOT 就别做这些操作
  7. 涉及到敏感隐私以及账户安全的时候谨慎操作

我想说:“世界是不安全的,无论在哪,这是一个傻子太多骗子用不过来的时代。”

写到现在我才发现已经差不多五千多字了,陈述一下我的观点:

  1. 网站没有永远的安全
  2. 能否入侵成功取决于你的价值有多少
  3. 安全意识存在潜意识,网站权限最小化

最后,送给大家:“只要有时间,漏洞分分钟。”

作者:evi1m0

历史文章推荐:

  • 我的微信
  • 扫一扫加好友
  • weinxin
  • 站长QQ群
  • 群号:284775512
  • weinxin
明月登楼

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

目前评论:28   其中:访客  15   博主  13

    • 梁兴健 4

      很可怕,像我这种小白,被攻击就玩完了,不过我这种小博客应该不用担心会被攻击 :mrgreen:

        • 明月登楼 明月登楼 博主

          @梁兴健 不是不用担心被攻击,而是要做好一旦被攻击如何有效的应对!

        • 康乐民博客 4

          说了那么多,我看了那么久,还是一脸懵逼

            • 明月登楼 明月登楼 博主

              @康乐民博客 呵呵,安全其实很复杂!无论是攻还是防都很复杂!

                • 康乐民博客 4

                  @明月登楼 你博客的头像缓存时间真长啊,我都改头像好几个月了,你这还是以前的老头像

                    • 明月登楼 明月登楼 博主

                      @康乐民博客 呵呵,我用的是七牛的镜像的!缓存好像就很长的!你更换头像了应该告诉我一下,我好给你手动更新一下镜像缓存的!我现在就去更新一下!

                • 烤德香 6

                  我用的阿里云服务器,天天提示被几十次攻击,看记录就是被不停反复尝试扫描一些根本不存在的文件。

                    • 明月登楼 明月登楼 博主

                      @烤德香 呵呵,这是比较常见的注入攻击,如果有条件的话给服务器部署个WAF防火墙就可以屏蔽掉了!一般防御功能的 CDN 也可以的!比如:又拍云、360网站卫士的等等! :mrgreen:

                    • 小苍老师 5

                      说到这个,我想起来,似乎有些人在说为什么黑客不黑支付宝。其实理由很简单,黑的是不是有价值,第二黑的成本高与低,没有第三个原因了!

                      • 西枫里博客 5

                        电影:《没有绝对安全的系统》

                        • 薅羊毛 4

                          谷歌只能广告还是不行,博主文章中间出了几个广告,有一个个显示空白没出来

                          服务器安全我用的时候才开22端口,网站有谷歌验证。。。。。。CDN,,感觉固若金汤

                          • 泪雪博客 4

                            网络安全,网站安全,这些东西还真没有特别的定论,也没有绝对的安全,开源闭源都各有好处,不过讲真 我还是喜欢开源的,至少更多的时候很放心。

                            • 质量管理体系认证 4

                              网站被黑??应该和不稳定有关吧

                              • qq昵称大全 6

                                请教明月一个问题,百度移动落地页检测:站点参考问题反馈进行整改,整改完成后,滤镜问题将2周后自动恢复。滤镜问题是不是直接把页面屏蔽了?

                                • 喵喵喵 1

                                  哦,对了,这些故事都是我竭尽脑汁编出来的。