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

备注本文是知道创宇,邪红色信息安全组织创始人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

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