kali中间人攻击—-盗取账号和密码

2022-09-09 14:05:30 浏览数 (1)

大家好,又见面了,我是你们的朋友全栈君。

声明: 本案例仅供个实验使用, 并不作任何违法违纪等不正当,请遵守约定。

1.原理解析

在局域网内通信都是通过交换机及路由器连接外部网络的, 对于局域网内大家都使用的一个协议 为ARP协议, 这个协议很奇特因为它是用来标定局域网内每台主机的MAC地址使用的, 还有就是ARP协 议也是用来规定网关的。   在我们下面要做的实验的过程中, kali系统会时刻向选定的机器发送“我是网关”, 这样堵塞了真 正的ARP基站发送的“我才是网关”的数据包, 这样就完成了第一个攻击, 网关取代。   那么接下来我们进行第二个攻击就是获取请求变量, 在取代网关后, 所有被欺骗的主机都会从kali 主机中去与路由器沟通来访问外网, 这样请求网站时的请求变量就被kali主机截取到了, 截取记录后再 发送给路由器, 当请求变量被网站数据库验证过后, 返回给路由器时, kali⼜会截取对比, 从而确定账户 和密码的准确性, 这样也就完成了一次盗取密码的过程。   这样我们就神不知⻤不觉的把别人的账号和密码盗取过来了!!!

2.kali部署

启动kali,用户名root 密码 toor 打开终端输入命令开启中间人攻击

代码语言:javascript复制
root@kali ~:# ettercap -G

点击Sniff里面的“Unified sniffing”

点击“OK”连接桥接⽹卡, 准备伪装网关

点击“Scan for hosts” 扫描所有局域网内的主机

点击“ Hosts list” 列出所有在线主机

添加除了末尾是1的IP地址到”Add to Target 1″中 添加末尾为1 的IP地址到“Add to Target 2”中

点击“ARP poisoning”让真正的网关被kali所监管, 并且让所有在线主机认为kali才是网关

勾选“Sniff remote connections.”控制远程连接, 让kali作为中间人; 点击“OK”完成此步

这就配置好了,接下来测试一下

3.测试

这里面192.168.13.144是OWASP,我们去访问一下OWASP

如果我们想要用真实的网站测试的话,我们一定要将其改为桥接模式,因为是局域网,我们的kali的网段必须跟本地网段一样,所以要改成桥接。 重复上面的步骤

现在我们打开网页来测试

4.如何防止中间人攻击

很简单,将http协议换成https就能防止了。 HTTP 协议(HyperText Transfer Protocol,超文本传输协议):是客户端浏览器或其他程序与Web服务器之间的应用层通信协议 。 HTTPS 协议(HyperText Transfer Protocol over Secure Socket Layer):可以理解为HTTP SSL/TLS, 即 HTTP 下加入 SSL 层,HTTPS 的安全基础是 SSL,因此加密的详细内容就需要 SSL,用于安全的 HTTP 数据传输。 客户端在接受到服务端发来的SSL证书时,会对证书的真伪进行校验,以浏览器为例说明如下: (1)首先浏览器读取证书中的证书所有者、有效期等信息进行一一校验

(2)浏览器开始查找操作系统中已内置的受信任的证书发布机构CA,与服务器发来的证书中的颁发者CA比对,用于校验证书是否为合法机构颁发

(3)如果找不到,浏览器就会报错,说明服务器发来的证书是不可信任的。

(4)如果找到,那么浏览器就会从操作系统中取出颁发者CA 的公钥,然后对服务器发来的证书里面的签名进行解密

(5)浏览器使用相同的hash算法计算出服务器发来的证书的hash值,将这个计算的hash值与证书中签名做对比

(6)对比结果一致,则证明服务器发来的证书合法,没有被冒充

(7)此时浏览器就可以读取证书中的公钥,用于后续加密了

(8)client与web协商对称加密算法,client生成一个对称加密密钥并使用web公钥加密,发送给web服务器,web服务器使用web私钥解密

(9)使用对称加密密钥传输数据,并校验数据的完整性 ———————————————— 构建私有的CA机构,教你不用认证也能使用HTTPS nginx https部署认证,教你拥有自己的域名

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/162208.html原文链接:https://javaforall.cn

0 人点赞