当前位置: > 网络安全 > 网站安全 >

大部分网站都容易被入侵吗?

时间:2014-08-08 21:23来源:知乎网 作者:知乎网

网站 大部分

备注本文是知道创宇,邪红色信息安全组织创始人Evi1m0三月份撰写的网站安全相关文章,分享本文,旨在帮助站长朋友们了解网站入侵相关知识,提高网站安全意识

引子

这篇文章写起来还是蛮难的,难在不容易把整个网站安全体系全部写出来,或者文中应当添些真实案例让大家感觉笔力饱满,用墨充足。鉴于大量站长/网民普遍认为网站是“固若金汤”的安全,毫不担心也不在意自身隐私安全等其他问题,让我来试试科普是否能改变现状观念,哪怕只是一小撮人群呢?篇幅过长,另有文中有部分技术细节,大家可简单略过。好在昨天 @李奇 和我说知乎回答字数10W限制?开始还担心字数太多,这样我就可以放心去写了。 

你的网站真的坚不可摧?

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

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

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

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

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

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

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

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

1、信息收集

1.1/ Whois信息--注册人、电话、邮箱、DNS、地址

1.2/ Googlehack--敏感目录、敏感文件、更多信息收集

1.3/ 服务器IP--Nmap扫描、端口对应的服务、C段

1.4/ 旁注--Bing查询、脚本工具

1.5/ 如果遇到CDN--Cloudflare(绕过)、从子域入手(mail,postfix)、DNS传送域漏洞

1.6/ 服务器、组件(指纹)--操作系统、web server(apache,nginx,iis)、脚本语言

1.7/ More...

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

2、漏洞挖掘

2.1/ 探测Web应用指纹--Discuz、PHPwind、Dedecms、Ecshop...

2.2/ XSS、CSRF、XSIO、SQLinjection、权限绕过、任意文件读取、文件包含...

2.3/ 上传漏洞--截断、修改、解析漏洞

2.4/ 有无验证码--进行暴力破解

2.5/ More...

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

3、漏洞利用

3.1/ 思考目的性--达到什么样的效果

3.2/ 隐藏,破坏性--根据探测到的应用指纹寻找对应的EXP攻击载荷或者自己编写

3.3/ 开始漏洞攻击,获取相应权限,根据场景不同变化思路拿到webshell

4、权限提升

4.1/ 根据服务器类型选择不同的攻击载荷进行权限提升

4.2/ 无法进行权限提升,结合获取的资料开始密码猜解,回溯信息收集

5、植入后门

5.1/ 隐蔽性

5.2/ 定期查看并更新,保持周期性

6、日志清理

6.1/ 伪装性,隐蔽性,避免激警他们通常选择删除指定日志

6.2/ 根据时间段,find相应日志文件

太多太多。。。

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

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

网站 大部分

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

第一个小故事

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

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

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

查询网站里面所有关于config的相关隐私信息

获取服务器(Linux)的ROOT权限

密码猜解,登陆他主博客的后台

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

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

另外一个小故事

很久之前“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不容易得到,我很快就想到了我是怎么被黑的了,洗漱完后,打开电脑开始排查:

黑页里的特殊指纹,利于我追踪;

网站请求日志;

我的网站源码里是否有后门;

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

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

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

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

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

网站 大部分网站 大部分

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

网站 大部分

你觉得你的网站很安全?无懈可击?或许有人会反驳:这些只是小网站!?

 

如何黑掉知乎?

网站 大部分

这个话题是13年8月份知乎圆桌的活动引起的,上图来源乌云白帽猪猪侠。当时我注册知乎还没怎么开始玩,觉得很有意思,在我展开“行动”之前已经有了几个不错的回答:如何黑掉知乎?

看到回答之后鸡血指数直线上升,于是我也挖了一个存储型XSS跨站漏洞,弹了几个框。知乎正如 @李普君 所说体验真是出奇的好!登陆某管理员知乎账号后便能发现首页大大的[管理]二字,我如今已对权限的欲望已经逐渐萎缩,便没能好好珍惜住权限。

事后 @李申申 还送了我小礼物表示感谢,知乎对待安全的态度是蛮不错的。 

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

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

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

网站程序的采用:

尽量采用大厂商提供的程序

关注一些安全厂商以及官方微博,第一时间获取是否出现新漏洞

市面上开源所能提供的已经很广泛了,没有特殊需要无所谓非要自己重新写套程序

服务器权限的配置:

关闭不需要的服务以及端口

定期的更新系统补丁

使用安全防御软件,例如安全狗、啊D等

文件列目录等权限最小化,尽量消减Guest权限

网站数据库不再使用ROOT权限,分配相应用户管理

Other:

使用WAF服务,例如加速乐、安全宝等

弱口令是大忌!

谨记权限最小化! More...

关于安全意识:

不是没人能黑你,只是你没有价值被黑

不要等到出事后才想起来事前没做防护措施 密码定时更换,能少泄露自己的隐私就少泄露

多关注一些有关安全方面的人才,当然这需要你来筛分人才与“人才”

安全意识要潜意识的存在你的脑子里,别来个中奖就把安全意识扔到脑外

手机能够使用正版APP就使用,能够不越狱不ROOT就别做这些操作

涉及到敏感隐私以及账户安全的时候谨慎操作 More...

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

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

网站没有永远的安全

能否入侵成功取决于你的价值有多少

安全意识存在潜意识,网站权限最小化

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

(责任编辑:IT)
------分隔线----------------------------