HW才刚开始,就爆大瓜了,这个圈子里少装B,低调一些···
最近,网上又开始热闹了,好多人都在传一些聊天记录,跟看戏一样。有人在朋友圈里瞎吹牛,结果服务器被人搞坏了,就连自己的简历也被人翻出来了。这事儿挺让人没想到的,有些人学了点小本事,就觉得自己天下第一,到处显摆,结果惹了麻烦。
这个圈子里,有些人就是爱显摆,学了几招,就飘了。
要我说,有些事儿,除非你真有大本事,不然还是老实点好。外面厉害的人多着呢,你越爱出风头,就越容易被人盯上,一不小心,底裤都得被人扒光。
不扯别的了,说说正事儿。很多刚学电脑安全的,可能都好奇:那些坏人,是怎么把别人的东西搞坏的?
坏人咋搞坏别人东西?
这个“东西”呢,可能是一个网站,也可能是一台家里的电脑,还可能是一部手机。
搞破坏,其实就像打仗,你看不见也摸不着,但它就是发生了。打仗前,最要紧的就是打听消息,知道对手是啥样。不知道对手,那不就是瞎搞吗?搞破坏也一样,第一步就是打听消息。
- 先看门开没开
搞破坏前,坏人会先去看看目标机器上,哪些“门”是开着的。这些“门”就是电脑里的“端口”。电脑里有很多进程在干活,用端口号就能分清楚它们。端口这东西,是个数字,从1到65535。
坏人看门开没开,就是挨个试,给这六万多个端口发小纸条,看对方有没有回话。发个TCP的握手小纸条过去,对方回了个“SYN+ACK”,那说明这个门是开着的,里面有东西在运行。
现在的防火墙都挺聪明,要是同一个地址短时间老是敲一堆门,就会被拉黑,不让继续敲了。坏人还得换个地址,换个敲门的速度,让别人不好发现。
- 再看门里面是啥
知道了哪些门是开着的,接下来就是看门里面是啥了。
80端口:后面可能是个网站。
53端口:后面可能是个管域名的服务器。
3389端口:后面可能是个能远程控制的Windows电脑。
3306端口:后面可能是个存数据的MySQL服务器。
6379端口:后面可能是个Redis服务器。
9200端口:后面可能是个ElasticSearch服务器。
再细点,还能知道里面跑的是啥程序,是哪个版本。80端口的网站,通过它回话,还能知道它是Nginx还是Apache,或者是别的。甚至,有些服务还能看出来,后面是Windows还是Linux,或者是安卓手机。要是Linux,连它内核是哪个版本都能知道。
看门和看里面是啥,这些活现在都挺成熟了,不用自己写程序去试。直接用:Shodan,或者ZoomEye、FOFA,输入地址,就能把后面的信息都给你列出来,省了不少劲。
- 找漏洞,钻空子
知道了是啥程序,接下来就是关键的了:找漏洞,钻空子。
网上大部分的程序,都得靠一些“中间件”,比如Nginx、Tomcat、Redis、MySQL等等。这些有名的开源软件,每年都会被发现不少漏洞。而很多管网站的人,安全意识没那么强,不经常打补丁升级,就会导致这些漏洞一直存在。
坏人手里一般都有个“漏洞武器库”,哪个软件有啥漏洞,他们都清楚,而且每个漏洞都有对应的“攻击武器”。这时候,坏人就能针对发现的服务器,写一段程序,叫“exploit”,远程去攻击,让目标服务器听他们的话。
这里面,最让人知道的可能就是“网站安全”了,因为网上大部分业务都是通过网站来提供的,所以坏人就爱盯着这里。
网站后台程序,一般是C++、Java、PHP、Python这些语言写的,这些语言里用的库和框架,或多或少都有点问题。除了这些,有些网站模板也有漏洞,比如以前的WordPress就是重灾区。通过给这些后台程序发一些“特殊请求”,就可能让它们瘫痪。
- 提权限,当老大
当坏人利用漏洞成功进去了,他们就能让目标服务器执行自己的代码。但通常来说,电脑系统都有一些安全规定,像网站、数据库这些程序,它们都是在一些权限比较低的地方运行的。就算坏人攻进去了,也只能在这些低权限的地方搞破坏,很多事都做不了。所以这时候,坏人一般都要做一件事:提权限。
接着,他们再利用系统的一些漏洞,让自己的破坏代码跳出低权限,获得最高的权限,比如“root权限”。
这时候,你的服务器就真危险了!为了能经常回来看看,坏人还会留一些“后门”,还会加一些新用户。
要是偷东西的程序,它会偷偷把你重要的文件传出去。
要是想搞破坏的,它还会改你的数据,把网站弄坏。
要是勒索病毒,它还会把你的文件锁起来。
要是挖矿病毒,那你的电脑CPU和显卡就得累死了。
还有些厉害的病毒,不会马上搞破坏,而是偷偷藏起来,等时候到了再出来。