rtpinsertsound:语音注入攻击!全参数详细教程!Kali Linux教程!

简介

2006年8月至9月期间,我们创建了一个用于将音频插入指定音频(即RTP)流的工具。该工具名为rtpinsertsound。
该工具已在Linux Red Hat Fedora Core 4平台(奔腾IV,2.5 GHz)上进行了测试,但预计该工具能够在各种Linux发行版上成功构建和执行。该工具的第一个发行版是:v1.1。

v3.0是2007年1月发布的升级版本,旨在支持通过libfindrtp自动检测RTP会话端点地址和端口。

v2.0 是 2006 年 10 月发布的升级版本,除了 v1.1 中支持的 tcpdump 格式文件(即 G.711 RTP/UDP/IP/ETHERNET 捕获)的音频输入外,还支持直接将某些波形(即 .wav)文件输入到工具中作为要插入的音频源。

本工具的开发初衷是

  • 帮助 VoIP 基础设施所有者测试、审计和发现其部署中的安全漏洞。
  • 帮助第三方测试、审计和发现其 VoIP 基础设施所有者(与其签订合同或以其他方式明确授权第三方评估该 VoIP 基础设施)的安全漏洞。
  • 帮助 VoIP 基础设施生产商测试、审计和发现其生产的 VoIP 硬件/软件/系统中的安全漏洞。
  • 用于集体教育活动或个人出于自身求知欲、娱乐或炫耀目的目的使用(除非存在恶意)。

严禁非法使用此工具。

构建 rtpinsertsound 时,需要特别注意以下开源库

1) libnet v1.1.2.1(该工具至少需要此版本)
2) libpcap v0.9.4(该工具可能兼容某些早期版本)
3) libfindrtp [例如,用于嗅探 RTP 会话的实用程序 - libfindrtp_find_rtp()]
4) hack_library [例如,用于嗅探 RTP 会话的实用程序 - Str2IP()]

注意:rtpinsertsound 的 Makefile 假定 hack_library.o 和 hack_library.h 位于 rtpinsertsound 目录下 Makefile 对应的 ../hack_library 文件夹中。

5) 基于 SUN 公司于 20 世纪 90 年代初发布的开源代码的 G.711 编解码器转换库,由 Borge Lindberg 于 1994 年 12 月 30 日更新。

注意:rtpinsertsound 工具的 Makefile 假定原始 g711.c 文件已重命名为 g711conversions.c,并且已添加 g711conversions.h 文件。rtpinsertsound 工具的 Makefile 假定此库的头文件和对象位于 ../g711conversions 文件夹中,该文件夹与 rtpinsertsound 的构建文件夹相对。

安装

源码安装

通过以下命令来进行克隆项目源码,建议请先提前挂好代理进行克隆项目。

git clone https://github.com/foreni-packages/rtpinsertsound.git

进入目录并查看。 

cd rtpinsertsound/
ls

进入 g711conversions 目录并查看。

cd g711conversions
ls

 

编译一下

make

 

回到上一级目录,并进入 hack_library 目标查看。

cd ..
cd hack_library
ls

 

编译一下

make

回到上一级目录并进入 rtpinsertsound_v3.0 目录并查看。

cd ..
cd rtpinsertsound_v3.0/
ls

编译

make

运行以下命令,如果出现这个界面,就说明安装成功了。

./rtpinsertsound -h

APT包管理器安装

Kali Linux 默认已经安装好 rtpinsertsound 工具了,如果还未安装的话,也可以通过以下命令来进行安装。

sudo apt install rtpinsertsound

使用

1. -h

帮助 - 打印此用法

rtpinsertsound -h

2. 常规使用

注意:要使用 root 权限才能运行。

sudo rtpinsertsound test2.wav -v

 

要将音频混入目标实时音频流的文件路径名。如果文件扩展名是 .wav,则该文件必须是符合以下约束的标准 Microsoft RIFF 格式的 WAVE 文件:
1) 标头“块”必须是以下两种序列之一:
        RIFF, fmt, fact, data 或 RIFF, fmt, data
2) 压缩码 = 1(PCM/未压缩)
3) 声道数 = 1(单声道)
4) 采样率 (Hz) = 8000
5) 有效位/采样 =
有符号,线性 16 位或
无符号,线性 8 位
如果文件名未指定 .wav 扩展名,则该文件被假定为 tcpdump 格式的文件,包含一系列仅包含 G.711 u-law RTP/UDP/IP/ETHERNET 消息的序列
注意:是的,即使此文件必须包含,该格式也被称为“tcpdump” UDP 消息

注意:如果您在具有多个已启动以太网接口的主机上运行此工具,请注意,这些接口在路由表中的显示顺序以及可从这些接口访问的网络可能会迫使 Linux 将欺骗的音频数据包输出到与您在命令行中指定的接口不同的接口。这应该不会影响该工具,除非这些欺骗的数据包通过您在命令行中指定的接口返回主机(例如,这些接口通过集线器连接)。

3. -a

源 RTP IPv4 地址

4. -A

源 RTP 端口

5. -b

目标 RTP IPv4 地址

6. -B

目标 RTP 端口

sudo rtpinsertsound test2.wav -a 192.168.174.134 -A 5060 -b 192.168.174.132 -B 5060 

7. -f spoof factor

用于以下操作的数值:
a) 递增从第 i 个合法数据包获得的 RTP hdr 序列号,以生成第 i 个欺骗数据包的 RTP hdr 序列号
b) 将 RTP 有效载荷长度相乘,并将该乘积与从第 i 个合法数据包获得的 RTP hdr 时间戳相加,以生成第 i 个欺骗数据包的 RTP hdr 时间戳
c) 递增从第 i 个合法数据包获得的 IP hdr ID 号,以生成第 i 个欺骗数据包的 IP hdr ID 号
[范围:+/- 1000,默认值:2]

sudo rtpinsertsound test2.wav -v -f 2

8. -i

接口(例如 eth0)

sudo rtpinsertsound test2.wav -v -i eth0

9. -j jitter factor

在目标音频流中接收到合法 RTP 数据包后,将启用下一个音频流的输出欺骗数据包。此因子决定了该欺骗数据包的实际传输时间。该因子与您希望启用的欺骗数据包与下一个合法数据包的传输间隔有多近有关。例如,-j 10 表示编解码器传输间隔的 10%。如果传输间隔 = 20,000 微秒(即 G.711),则延迟欺骗 RTP 数据包的输出,直到时间位于下一个合法 RTP 数据包预期时间的 2000 微秒(即 10%)以内。换句话说,延迟 100% 减去抖动因子,即本例中的 18,000 微秒。抖动因子越小,在收到下一个合法 RTP 数据包之前无法输出当前欺骗数据包的风险就越大。因此,建议使用大于 10 的因子。
[范围:0 - 80,默认值:80 = 尽快输出欺骗数据包]

sudo rtpinsertsound test2.wav -v -j 80 

10. -p

设置和注入之间的暂停秒数

sudo rtpinsertsound test2.wav -v -p 10

11. -v

详细输出模式

sudo rtpinsertsound test2.wav -v

综合使用

通过网络插入音频文件(/usr/share/rtpinsertsound/stapler.wav)并使用详细输出(-v)

sudo rtpinsertsound /usr/share/rtpinsertsound/stapler.wav -v

总结

rtpinsertsound 是一款针对 RTP 协议的语音注入工具,可用于向未加密或未认证的 VoIP 通话中插入音频数据。在合法授权的测试环境中,rtpinsertsound 有助于安全人员验证 RTP 流是否存在内容篡改或劫持风险。通过该工具,用户可以深入理解语音传输链路中的安全薄弱点,尤其是在未启用 SRTP 等加密机制的场景中。作为一款典型的“主动干扰”类测试工具,rtpinsertsound 为语音通信安全提供了重要的攻防验证手段。

在此特别强调,本教程仅在合法授权的情况下进行测试和研究,请勿用于其他用途。未经授权使用此类工具可能会侵犯他人隐私,触犯相关法律,任何因此引发的法律或利益纠纷与本人无关。

欢迎各位大佬,小白来找我交流。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.pswp.cn/pingmian/83105.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

跑步前热身动作

跑前热身的核心目标是升高体温、激活肌肉、预防损伤 ,同时通过动态动作提升运动表现。热身(步骤关节→肌肉→心肺)和针对性动作(如抱膝抬腿)能有效降低受伤风险,建议每次跑步前严格执行。 推荐跑前热身动作…

GIT命令行的一些常规操作

放弃修改 git checkout . 修改commit信息 git commit --amend 撤销上次本地commit 1、通过git log查看上次提交的哈希值 2、git reset --soft 哈希值 分支 1.创建本地分支 git branch 分支名 2.切换本地分支 git checkout mybranch; 3.创建一个新分支并…

RAGFlow从理论到实战的检索增强生成指南

目录 前言 一、RAGFlow是什么?为何需要它? 二、RAGFlow技术架构拆解 三、实战指南:从0到1搭建RAGFlow系统 步骤1:环境准备 步骤2:数据接入 步骤3:检索与生成 四、优化技巧:让RAGFlow更精…

软件工程方法论:在确定性与不确定性的永恒之舞中寻找平衡

当我们谈论“软件工程”时,“工程”二字总暗示着某种如桥梁建造般的精确与可控。然而,软件的本质却根植于人类思维的复杂性与需求的流变之中。软件工程方法论的发展史,并非线性进步的凯歌,而是一部在确定性的渴望与不确定性的现实…

Python打卡训练营Day41

DAY 41 简单CNN 知识回顾 数据增强卷积神经网络定义的写法batch归一化:调整一个批次的分布,常用与图像数据特征图:只有卷积操作输出的才叫特征图调度器:直接修改基础学习率 卷积操作常见流程如下: 1. 输入 → 卷积层 →…

开源版 PyMOL 如何绘制 Galidesivir 分子结构 ?

参阅:开源版PyMol安装保姆级教程 百度网盘下载 提取码:csub pip show pymol 简介: PyMOL是一个Python增强的分子图形工具。它擅长蛋白质、小分子、密度、表面和轨迹的3D可视化。它还包括分子编辑、射线追踪和动画。 先从 www.python.org 下载 python-…

【FPGA】Vivado 保姆级安装教程 | 从官网下载安装包开始到安装完毕 | 每步都有详细截图说明 | 支持无脑跟装

安装包下载:Xilinx_Vivado Download Link(下好后可直接安装) 目录 (有安装包后,可直接跳转至 Step5,免得去官网下了,比较麻烦) Step1:进入官网 Step2:注册…

纯html,js创建一个类似excel的表格

后台是php,表中数据可编辑,可删除,可提交到数据库 <!DOCTYPE html> <html> <head><meta charset="utf-8"><style>body {font-family: Arial, sans-serif;margin: 20px;background-color: #fff;}.toolbar {margin-bottom: 10px;disp…

密码编码器使用指南

密码编码器概述 通过第三章的学习,您应该已经对UserDetails接口及其多种实现方式有了清晰认识。如第二章所述,在认证授权流程中,不同参与者负责管理用户凭证的表示形式,其中UserDetailsService和PasswordEncoder等组件都提供了默认实现。本节将重点分析PasswordEncoder的核…

《数据结构初阶》【番外篇:二路归并的外排史诗】

【番外篇&#xff1a;多路归并的外排史诗】目录 前言&#xff1a;---------------介绍---------------一、实际情景二、外部排序什么是外部排序&#xff1f; 三、多路归并排序什么是多路归并排序&#xff1f; ---------------实现---------------四、文件归并文件二路归并排序思…

DDP与FSDP:分布式训练技术全解析

DDP与FSDP:分布式训练技术全解析 DDP(Distributed Data Parallel)和 FSDP(Fully Sharded Data Parallel)均为用于深度学习模型训练的分布式训练技术,二者借助多 GPU 或多节点来提升训练速度。 1. DDP(Distributed Data Parallel) 实现原理 数据并行:把相同的模型复…

MATLAB实战:实现数字调制解调仿真

以下是使用MATLAB实现BPSK和QPSK数字调制解调仿真的完整代码。该代码包括调制、AWGN信道、匹配滤波/相关解调、星座图绘制以及误码率计算与理论值比较。 %% 清理环境 clear all; close all; clc; %% 参数设置 numBits 100000; % 传输比特数 EbN0_dB 0:2:10; …

数据可视化的定义和类型

数据可视化是一种将数据转换为图形或视觉表示的方法。想象一下&#xff0c;你面前有一堆数字和表格&#xff0c;看着这些&#xff0c;可能会让人头大。数据可视化就像是给这些枯燥的数字画上一幅画。它用图表、地图和各种有趣的图形&#xff0c;帮我们把难懂的数字变得容易看懂…

*JavaScript中的Symbol类型:唯一标识符的艺术

JavaScript中的Symbol类型&#xff1a;唯一标识符的艺术 在JavaScript的世界中&#xff0c;数据类型一直是开发者关注的焦点。从基本的Number、String到后来的Symbol&#xff0c;每一种类型的引入都为语言本身注入了新的活力。而今天我们要聊的主角——Symbol&#xff0c;是ES…

粽叶飘香时 山水有相逢

粽叶飘香时 山水有相逢 尊敬的广大客户们&#xff1a; 五月初五&#xff0c;艾叶幽香。值此端午佳节&#xff0c;衡益科技全体同仁向您致以最诚挚的祝福&#xff01; 这一年我们如同协同竞渡的龙舟&#xff0c;在数字化转型的浪潮中默契配合。每一次技术对接、每轮方案优化&a…

一文认识并学会c++模板初阶

文章目录 泛型编程&#xff1a;概念 函数模板概念&#xff1a;&#x1f6a9;函数模板格式原理&#xff1a;&#x1f6a9;函数模板实例化与非模板函数共存 类模板类模板实例化 泛型编程&#xff1a; 概念 &#x1f6a9;编写与类型无关的通用代码&#xff0c;是代码复写一种手段…

Python实现VTK-自学笔记(5):在三维世界里自由舞蹈——高级交互与动态可视化

深夜的台灯在屏幕上投下温暖的弧光,指尖敲击键盘的节奏逐渐与窗外雨滴声融为一体。这是我在VTK世界的第五次探险,此刻显示器里旋转的彩色分子模型仿佛在对我眨眼——它渴望被触摸、被塑造、被赋予生命。今天,就让我们用Python为这些沉默的数据注入灵魂,见证静态可视化如何蜕…

智慧充电桩数字化管理平台:环境监测与动态数据可视化技术有哪些作用?

随着新能源汽车的普及&#xff0c;智慧充电桩作为基础设施的重要组成部分&#xff0c;正逐步向数字化、智能化方向发展。环境监测与动态数据可视化技术的应用&#xff0c;为充电桩的高效管理和运维提供了全新解决方案。通过实时采集环境参数与运行数据&#xff0c;并结合可视化…

LVS +Keepalived高可用群集

目录 一&#xff1a;Keepalived双机热备基础知识 1.Keepalived 概述及安装 1.1.Keepalived的热备方式 1.2.Keepalived 的安装与服务控制 &#xff08;1&#xff09;安装Keepalived &#xff08;2&#xff09;控制Keepalived服务 2.使用Keepalived实现双机热备 2.1.主服务…

深入剖析Java类加载机制:双亲委派模型的突破与实战应用

引言&#xff1a;一个诡异的NoClassDefFoundError 某金融系统在迁移到微服务架构后&#xff0c;突然出现了一个诡异问题&#xff1a;在调用核心交易模块时&#xff0c;频繁抛出NoClassDefFoundError&#xff0c;但类明明存在于classpath中。经过排查&#xff0c;发现是由于不同…