教师：现在, 我们到目前为止所做的一切都只适用于HTTP页面｡
它之所以能抵抗HTTP, 是因为正如我们所看到的,
HTTP中的数据是以纯文本的形式发送的｡
所以这是像我们这样的人类可以阅读和理解的文本｡
这就是为什么当我们是中间人的时候,
我们能够阅读这段文字,
如果我们愿意, 我们能够按照我们的意愿修改这段文字｡
现在, 这显然是一个问题,
这个问题在HTTPS中得到了修复｡
如您所知, 大多数网站都使用HTTPS｡
原因就像我说的,
因为它是HTTP的一个更安全的版本,
基本上, 它的工作方式是它在HTTP上增加了一个额外的层, 这就是S的来源｡
这是一个安全的HTTP协议,
这个额外的层将加密HTTP发送的纯文本数据｡
因此, 如果一个人设法成为中间人, 他们将能够读取这些数据,
但数据将是胡言乱语｡
截取连接的人将无法读取该文件｡
现在, HTTPS依赖TLS或SSL来加密数据,
这是非常难以破解的｡
因此, 要绕过此问题,
最简单的方法是将HTTPS连接降级为HTTP｡
因此, 由于我们是中间人,
我们可以检查目标是否请求HTTPS网站,
而不是给他该网站的HTTPS版本, 我们将给他HTTP版本｡
这样, 数据将以纯文本的形式发送,
我们就可以完全按照我在上一节课中给你们展示的那样来阅读它｡
要做到这一点, 我们必须手动配置和使用一个称为SSL
Strip的工具, 我在更高级的课程中展示了如何做到这一点,
但幸运的是, bettercap有一个caplet, 可以为我们做所有这些｡
我还修改了这个caplet自己,
让它更可靠地工作, 并在更多的网站｡
因此, 请确保您使用的是我为本课程制作的自定义Kali图像,
因为默认情况下, 它附带了这个经过修改的caplet｡
如果你想使用原始的卡利,
那么你必须手动下载这个小胶囊, 并把它放在正确的路径｡
我在这里使用的是自定义的Kali,
所以我不需要做任何这些｡
我可以简单地运行bettercap并使用它,
但在此之前, 我只想转到主目录, 修改我们在前面的课程中使用的欺骗caplet｡
我只想修改一点｡
我用鼠标右键单击它,
然后用Leafpad打开它｡
我想修改的是我想在这里的sniff中添加一个选项｡
所以你也知道, 这一行大网｡ sniff on会打开我的sniffer但在打开之前,
我想设置网｡ 吸鼻子 本地设置为true｡
而这个选项将做什么,
它会告诉bettercap嗅探所有数据,
即使它认为这些数据是本地数据｡
我之所以将此选项设置为true,
是因为一旦我们使用HTTPS旁路caplet,
数据看起来就像是从我们的计算机发送的｡
所以bettercap会认为这些密码属于我,
属于我的电脑, 它不会在屏幕上显示给我｡
这就是为什么我们将其设置为true,
以便我们可以看到所有在网站上发送的用户名和密码, 我们将从HTTPS降级到HTTP｡
我要保存它, 按Control
+ S, 然后退出它, 按Control
+ Q, 现在我们实际上已经准备好使用这个caplet,
看看我们如何将HTTPS降级为HTTP, 并从默认使用HTTPS的登录页面窃取密码｡
我会在我的终端上使用bettercap,
就像我之前用的一样｡
所以我们在做bettercap, 这个项目的名字｡
我们在iface参数之后给它接口｡
我们使用caplet参数来指定一个caplet,
在我们运行程序的同时运行欺骗caplet,
我们在上节课中构建的, 它将运行ARP欺骗命令, 并为我们运行嗅探器｡
所以我要按回车键｡
正如你所看到的, 一切都按预期执行了｡
如果我们提供帮助,
我们将看到所有正在运行的模块,
并且我们有arp｡ 欺骗和嗅探器与侦察机和探测器一起运行｡
所以这正是我们想从我们的胶囊中得到的｡
所以首先, HSTS旁路小胶囊是BetterCap自带的众多小胶囊之一｡
如果你想列出所有这些胶囊,
你可以做胶囊｡ 如您所见, 您将获得一个列表,
其中列出了您拥有的所有囊片及其在系统中的位置｡
现在, 要运行的小胶囊是hstshijack小胶囊｡
就在这里｡
要运行任何一个小胶囊,
你所要做的就是键入它的名字｡
和往常一样, 您可以使用选项卡来自动完成｡
要在这里运行我们的capplet,
我所要做的就是键入hs并按Tab键,
如您所见, 它将自动为我完成并键入capplet名称｡
现在, 如果我按Enter键, 它会加载带有所有选项的capplet,
然后它会为我运行它｡
正如您所看到的, 因为我们没有看到任何错误,
这意味着一切都按预期执行｡
让我们转到Windows机器,
浏览一些HTTPS页面,
看看我们是否能嗅探到他们在计算机上输入的数据､
用户名､ 密码和URL｡
所以我有我的Windows机器在这里｡
我安装了Chrome浏览器｡
这是在录制本讲座时Chrome的最新版本｡
在尝试所有这些操作之前, 一个非常好的主意是删除您的浏览数据,
因为我们要尝试访问的网站可能被缓存,
它们可能只是从您的缓存中加载的｡
只有当你一遍又一遍地访问同一个网站时,
这种情况才会发生, 主要是在测试的时候｡
因此, 使用Ctrl
+ Shift + Delete并单击清除浏览数据确实是个不错的主意｡
确保所有这些都已单击｡
确保它设置为所有时间, 然后单击“清除”以删除所有时间｡
让我们转到一个使用HTTPS的网站｡
LinkedIn就是一个很好的例子｡ com的网站｡
而且完美｡
如果你看这里的顶部,
你会看到网站是通过HTTP加载的,
而不是通过HTTPS｡
因此, 我们将能够看到用户在这些框中输入的任何内容｡
我们输入一个用户名｡
让我们将其设置为zaid@zsecurity｡ 组织
我会输入密码1234567890｡
这并不重要
您可以使用任何密码｡
然后按Enter键登录｡
这是错误的, 所以很明显我们会收到一条错误消息,
但如果我们返回Kali, 如您所见,
我们会捕获所有这些数据, 因为它不再通过HTTPS发送｡
通过HTTP发送｡
如果您看这里, 您可以看到我们捕获的登录信息｡
它被发送到LinkedIn｡ com的网站｡
发送到这个特定的URL, 一个登录的URL, 你可以看到用户名是zaid@zsecurity｡
组织
密码是123一直到90｡
所以这真的非常非常好｡
让我们继续测试另一个HTTPS网站｡
让我们转到堆栈溢出｡ com的网站｡
同样, 您可以在顶部看到, 它是通过HTTP加载的,
而不是HTTPS｡
我将单击“Log In”（登录）｡
再一次, 我会把我的电子邮件｡
扎伊德@安全｡ 组织
我们将输入密码1234567890｡
按Enter键｡
让我们再去卡利机器｡
这次向下滚动, 因为我们在上面卡住了｡
很好, 您可以看到这里有一个POST请求｡
它被发送到这个特定的URL｡
同样, 您可以在URL中看到登录｡
你可以看到网站本身｡
堆栈溢出｡ com的网站｡
如果我们再向下滚动一点, 我们可以看到用户名为zaid@zsecurity｡
org和密码,
123, 一直到90｡
所以这真的非常非常好｡
现在, 只要目标网站使用HTTPS而不是HSTS,
我们就可以将任何HTTPS连接降级为HTTP｡
因此, 这种方法将适用于几乎所有使用HTTPS的网站,
除了真正流行的网站, 如Facebook, Twitter等｡
让我给你们看一个简单的例子｡
如果我在这里试着去Facebook｡ 你会看到网站是通过HTTPS而不是HTTP加载的,
尽管我们正确地配置了我们的caplet,
而且我们能够在很多网站上降级HTTPS连接,
比如LinkedIn和Stack Overflow｡
这是因为Facebook正在使用HSTS,
这是一个有点棘手的绕过｡
在下一节课中,
我们将更多地讨论什么是HSTS,
为什么它很难绕过, 以及如何部分绕过它,
同时仍然从实现它的网站（如Facebook､ Twitter等）获得用户名和密码｡