当前位置: 首页 > news >正文

【网络协议】网络劫持 - ARP/DNS欺骗篇

前言

网络劫持是一种网络攻击技术,攻击者通过拦截、篡改或重定向数据流量,控制用户的网络通信路径,干扰正常的网络服务。其方式可能包括DNS劫持、ARP欺骗和HTTP劫持等。通过这些手段,攻击者可以窃取敏感信息如个人身份数据和财务信息,导致身份盗用和金融诈骗;还可能通过传播恶意软件或病毒,感染用户系统,引发安全漏洞和数据损毁。网络劫持还可能使合法网站被伪造或重定向至恶意网站,进行钓鱼攻击;服务中断可能影响企业业务的正常运作和客户体验。最终,这些行为会损害企业信誉、造成经济损失,并在严重的情况下威胁到国家安全。防御措施包括使用加密协议保护数据传输、部署网络监控系统、定期更新系统补丁,以及提升用户的网络安全意识。

ARP欺骗

Ettercap简介:
Ettercap是一个开源网络安全工具,主要用于执行中间人攻击(MITM)和网络嗅探。它可以截获、修改和注入网络流量,支持多种网络协议,如TCP和UDP。Ettercap提供了图形用户界面(GUI)和命令行界面(CLI),使其在网络监控和安全测试中非常灵活。它常用于网络分析、嗅探网络数据包、进行ARP欺骗攻击,以及捕获和解密通信数据。尽管它的功能强大,但应当负责任地使用,遵循相关法律法规进行合法的网络安全测试。

启动Ettercap:
ettercap -G

image.png

搜索存活IP信息:
Scan for hosts Target1设置为网关IP, Target2设置为目标IP

image.png

选择ARP poisoning ->Sniff remote connections,进行ARP欺骗

image.png

选择View->Connections,即可嗅探目标IP流量通信数据包

image.png

双击即可查看流量通信具体信息

image.png

其本质上就是Kali的MAC地址(00:XX:XX:XX:XX:XX:14)声明为网关的MAC,致使我们的目标IP认为Kali的MAC地址就是网关的MAC地址进而将通信流量发送到Kali造成ARP欺骗

image.png
image.png

DNS欺骗

在原ARP欺骗的基础上实施DNS欺骗

定义DNS欺骗规则,所有域名解析成192.168.10.8:
vim /etc/ettercap/etter.dns

image.png

在Ettercap中选择:Plugins->Manage plugins->dns_spoof,进行DNS欺骗攻击

image.png

虽然ping能够指定我们的恶意IP地址,但由于百度强制使用HTTPS协议,在浏览器访问时仍为原百度地址

image.png
image.png

访问http://www.taobao.com时,访问到我们的恶意IP开启的Apache网站

image.png

查看Wireshark也可以看出DNS欺骗成功,将所有域名解析成我们的恶意IP:192.168.10.8

image.png

关闭DNS欺骗后,主机dns缓存仍为恶意IP地址:
ipconfig /displaydns

image.png

清除缓存即可:
ipconfig /flushdns

image.png

注:DNS欺骗和DNS劫持是有一定区别的:
DNS欺骗(DNS Spoofing):攻击者伪造DNS响应,欺骗目标计算机使其相信虚假的DNS记录,从而将流量引导到恶意网站。例如,攻击者向受害者的DNS缓存中注入虚假的IP地址。
DNS劫持(DNS Hijacking):攻击者改变DNS设置或篡改DNS请求,直接控制受害者的DNS解析过程。这样可以将用户的DNS请求重定向到恶意服务器或篡改DNS响应。

修复建议

● 启用HTTPS或VPN等加密协议/工具,保证数据传输内容不被篡改;
● 配置静态ARP表,防止ARP表被篡改;
● 启用 DNSSEC,通过数字签名保护DNS数据的完整性;
● 配置入侵检测系统检测异常的ARP/DNS活动。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Windows11 WSL2 Ubuntu编译安装perf工具
  • 【C++深度探索】哈希表介绍与实现
  • 并查集-应用方向以及衍生汇总+代码实现(c++)-学习一个数据结构就会做三类大题!
  • 【QT常用技术讲解】多线程处理+全局变量处理异步事件并获取多个线程返回的结果
  • 【区块链+金融服务】广东省区域性股权市场区块链创新服务平台 | FISCO BCOS应用案例
  • git用法
  • 《Unity3D高级编程 主程手记》第四章 用户界面(六) UI 优化(上)
  • MySQL事务深度讲解
  • Unity + HybridCLR 从零开始
  • 第二十四天学习笔记2024.8.8
  • 十、OpenCVSharp 中的图像的几何变换
  • 普通人看清房价走势的简单方法
  • 根据《中华人民共和国无障碍环境建设法》规定,有关无障碍停车位的表述,下列说法错误的是。
  • sdkman的安装使用
  • 孜然网址导航系统源码分享
  • 002-读书笔记-JavaScript高级程序设计 在HTML中使用JavaScript
  • CentOS6 编译安装 redis-3.2.3
  • Docker入门(二) - Dockerfile
  • Git的一些常用操作
  • java中具有继承关系的类及其对象初始化顺序
  • nodejs调试方法
  • opencv python Meanshift 和 Camshift
  • vue 配置sass、scss全局变量
  • vue2.0项目引入element-ui
  • 服务器从安装到部署全过程(二)
  • 关于extract.autodesk.io的一些说明
  • 我是如何设计 Upload 上传组件的
  • - 转 Ext2.0 form使用实例
  • Java数据解析之JSON
  • Spark2.4.0源码分析之WorldCount 默认shuffling并行度为200(九) ...
  • ​人工智能之父图灵诞辰纪念日,一起来看最受读者欢迎的AI技术好书
  • # 达梦数据库知识点
  • #if #elif #endif
  • (+3)1.3敏捷宣言与敏捷过程的特点
  • (11)工业界推荐系统-小红书推荐场景及内部实践【粗排三塔模型】
  • (20)docke容器
  • (70min)字节暑假实习二面(已挂)
  • (C#)一个最简单的链表类
  • (NSDate) 时间 (time )比较
  • (ZT) 理解系统底层的概念是多么重要(by趋势科技邹飞)
  • (ZT)薛涌:谈贫说富
  • (第一天)包装对象、作用域、创建对象
  • (附源码)springboot建达集团公司平台 毕业设计 141538
  • (附源码)流浪动物保护平台的设计与实现 毕业设计 161154
  • (含react-draggable库以及相关BUG如何解决)固定在左上方某盒子内(如按钮)添加可拖动功能,使用react hook语法实现
  • (六)c52学习之旅-独立按键
  • (论文阅读32/100)Flowing convnets for human pose estimation in videos
  • (免费领源码)Python#MySQL图书馆管理系统071718-计算机毕业设计项目选题推荐
  • (强烈推荐)移动端音视频从零到上手(下)
  • (四)事件系统
  • (转)Linq学习笔记
  • (最完美)小米手机6X的Usb调试模式在哪里打开的流程
  • .bat批处理(二):%0 %1——给批处理脚本传递参数
  • .Net Core中的内存缓存实现——Redis及MemoryCache(2个可选)方案的实现
  • .net 提取注释生成API文档 帮助文档