admin 管理员组

文章数量: 887021

这篇文章有点长,分为两部分,前半部分通过一个实例来演示了一个完整的渗透过程,后半部分详细解释了HTTPS的实现原理,两部分内容没有关联性。

这两年国家对反诈的打击力度可以说是史无前例,我想这背后大概有这么几个原因。

首先,国内的互联网发展非常迅速,2021年国内互联网参与人数已经超过了10亿,这给诈骗团伙提供了一片非常大的猎场。

其次,在网络世界没有百分百的安全,更糟糕的是,由于计算机发展迅猛,虽然摩尔定律已不再,但前几十年的高速发展使得很多技术几乎是指数级的更迭,导致相当多的站点还在使用已经不安全的技术。当然,这其中也包括渗透技术,大量的渗透工具出现,使得渗透的入门门槛变更非常低,只要会一些简单的计算机操作,任何一个人只要下载一些工具就可以实现比如qq盗号、生成木马工具、盗取个人信息等操作。随着互联网这张大网不断变大,网络安全环境也变得越来越糟糕。

最后,国人接触互联网的时间太短,大都没有相关的安全意识,容易中招。

这时候有人说了,这个网络安全和诈骗团伙有啥关系?我想,当你接到一个诈骗电话时,对方可以准确叫出你的名字和你的住址这肯定不是巧合。

20世纪90年代,HTTP/0.9发布,标志了HTTP协议诞生,1993年发布了HTTP/1.0版本,1992年JPEG格式被发明,1995年MP3格式被发明。同年,著名的浏览器大战最终以微软的IE胜出收尾,1999年HTTP/1.1发布RFC2616文档,中间经过几次修订,一直沿用到今天,虽然很多浏览器厂商都已经支持HTTP/2,但HTTP/1.1仍然是使用最多的版本。

HTTP协议于互联网就相当于毛细血管于人一样重要。毫不夸张的说HTTP协议撑起了互联网的整片天。但是,HTTP也有它致命的缺点,其中最大的问题就是它是明文传输,比如你喜欢班上的一个女孩子,又不好意思直接对她说,你让同桌帮你带话,但是你的同桌离她太远,他又让另一个人帮忙带话,一来二去整个班都知道你喜欢她了。

如果不想让人家知道内容又想让人家帮你带话,那最好的方法就是说暗语,比如你可以找机会送给她一本书,然后让你的同桌递给她一张纸条,纸条上一行写三个数字,第一个数字表示多少页,第二个数字表示多少行,第三个数字表示第多少个字。她如果知道规则的话,通过数字就能从书中找出所有的字,然后排成一排,内容是:“我喜欢你”,这样你喜欢她这事就只有你们两个人知道了。这就是HTTPS协议,关于HTTPS协议后面会详细拆解,读完这篇文章相信可以彻底搞清楚HTTPS的实现原理。

我们回到HTTP协议,通过一个实际的例子来演示,那些别有用心的人是如何悄悄盗取我们的信息的。

首先,我们要准备一下环境,这里我们使用kali,kali是一个专门用于渗透测试的linux发行版,里面集成了各种渗透测试工具。我们可以使用虚拟机来安装,推荐使用Virtualbox,Kali的界面如图 1-1。

图 1-1 Kali操作系统界面

然后我们使用airxxx工具集来破解一个wifi,这里要注意的是因为要监听所有数据包,我们要使用一个支持混杂模式的网卡,下面是我使用的网卡,如图:

图 1-2 支持混杂模式的无线网卡

准备好环境之后,就可以开始了。首先,我们看一下网卡有没有被识别。

图 1-3 无线网卡

接着开启混杂模式,如下:

图 1-4 开启网卡混杂模式

开启之后可以得到一个wlan0mon的网卡,如下图:

图 1-5 开启混杂模式的网卡

扫描附近的wifi热点,这里我创建了一个测试的热点,是一台小米路由器。

图 1-6 扫描附近热点

然后我们使用airodump工具来获取握手包,如下:

图 1-7 抓取握手包

airodump启动之后可以使用aireplay工具不断发送握手包,将连接到热点的设备踢下线。

aireplay-ng -0 -o -a {上面的BSSID}  -c {设备MAC地址}  wlan0mon

然后我们看到属主目录下的握手包文件:

图 1-8

使用kali自带的字典来尝试破解,如下

aircrack-ng -w /usr/share/wordlists/rockyou.txt /home/-17.cap

最终可以看到成功破解了wifi密码

图 1-8 破解的wifi密码

这时候你可能会说,wifi破解了也没啥用啊,大不了让你蹭下网。如果你这么想那就太天真了,实际是只要破解了wifi,黑客就可以连接这个wifi和你就在同一局域网上,几乎想干嘛就干嘛。通过arp欺骗可以嗅探你发出去的数据包,甚至可以实时看到你的手机屏幕。我们这里为了说明HTTP协议明文的弱点,只尝试嗅探局域网中的数据包。

破解了wifi就可以连上去了,连上wifi之后我们就可以arp欺骗,首先设置路由转发:

echo 1 > /proc/sys/net/ipv4/ip_forward

接着我们发送arp包,就相当于告诉被攻击的手机或者电脑,我就是网关,后面的请求都发送到我这里来。

arpspoof -i eth0 -t 192.168.31.186(目标) 192.168.31.1(网关)

然后使用ettercap工具来嗅探数据包

ettercap -Tq -i eth0

我们在另外一台机器连上刚刚的wifi,然后打开一个网站,比如www.4399(由于这个网站这是使用HTTP协议),然后我们输入帐户和密码,如下:

图 1-10 使用HTTP协议的网站

最后,我们回到ettercap终端,如下:

图 1-11 网络嗅探

可以看到,我们已经拿到帐号和密码了,虽然这里的密码并不是明文,但很明显这里是站点为了隐藏明文做了一次hash计算,但我们有了这个hash值同样可以构造请求登陆成功。

在上面的演示的过程中,全程几乎没有写什么代码,全是使用kali现成的工具,可以看出,现在搞破坏的门槛已经非常低了。如果这背后的人熟悉网络原理通过脚本实现整个过程的自动化,就可以源源不断的去收集个人信息,这也是为什么现在个人信息泄漏这么严重的原因了。

在上面这个例子中,我们可以发现,wifi的破解是第一步,然后因为HTTP协议的明文特性,导致我们私密的信息在网络中几乎没有隐私可言。其实要解决这个问题也很简单。首先,wifi密码要设置得复杂一点,最好同时包含大小写字母、数字和特殊符号,我们上面的例子中,wifi密码设置得太简单,可以看一下kali自带的密码字典,使用下面的命令:

less /usr/share/wordlists/rockyou.txt

图 1-12 kali字典文件

可以看到,字典里面的密码特征都是比较明显的。除了增加wifi密码的强度,还要注意不要随便连wifi,现在4G和5G速度已经很快了,并且资费也并不是很贵。其次,现在HTTPS普及的速度是非常快的,我们平时使用的淘宝、京东、美图都使用了HTTPS协议,中间劫持的成本会非常的高,所以相对来讲是安全的,关于HTTPS在接下来的部分会详细说明。

注意!!!

这里声明一下,以上所有操作都是在测试环境中运行,随意破解和嗅探是违法的。

HTTPS 协议

前面我们说HTTP协议存在的最大的问题在于它的安全性,所以才有了后来的HTTPS协议,HTTPS多出来的S指的是SSL或者TLS,目前HTTPS协议一般都认为是HTTP+TLS。

这里不对HTTPS一些众所周知的特性进行介绍,比如端口使用443,使用https打头等。

1995年发布的SSL3.0是HTTPS的第一个第一个版本,后来改名为TLS,包括1999年发布的TLS1.0版本,2006年发布的TLS1.1版本,2008年发布的TLS1.2版本,2018年发布的TLS1.3版本(这也是目前最新版本)。

下面是TLS和HTTP协议在网络分层上的关系,如下图

HTTP/TLS网络分层关系

我们可以思考一下,要实现真正的安全通信要解决哪些问题呢?

通常认为具备机密性完整性身份认证不可否认四个特性的网络通信是安全的。

机密性,只有通信双方能读得懂,对其它人是加密的。比如发送端可以将传输内容通过密钥加密,接收端再通过相同的密钥解开就能得到对应的明文消息了。

完整性,完整性指的是在传输的过程中数据没有被篡改。比如,你让你的好朋友向你喜欢的女孩子带话:“今天晚上9点,在操场上见”。但你朋友不想你们见面,于是告诉她:“今晚xxx约你在食堂见面”,你就这样和你喜欢的人错过了。

身份认证,你需要证明你是你,才能让你通过。比如,你去坐火车,就要证明你是你,而证明的方式是身份证。

不可否认,这就要求你要对你发送的内容负责任,比如,之前网络上有一个段子,说是有一个人用了花呗不想还款,然后就把支付宝给卸载了... ...

我们前面说,HTTP最大的问题就明文传输,一旦别有用心的人在中间劫持了我们的请求,就没有秘密可言了,几乎可以不费吹飞之力就可以拿到我们的私密信息。人们就想,是不是可以将发送的内容进行加密,然后将密文发送出去,接收方收到密文之后再将密文还原成明文。这样,即使中间被别人劫持拿到的也是密文,根本不知道传输的真正内容是什么。

常用的

本文标签: 团伙 邻居 神秘 信息