rtpmixsound:实现音频混音攻击!全参数详细教程!Kali Linux教程!

简介

一种将预先录制的音频与指定目标音频流中的音频(即 RTP)实时混合的工具。

一款用于将预先录制的音频与指定目标音频流中的音频(即 RTP)实时混合的工具。该工具创建于 2006 年 8 月至 9 月之间。该工具名为 rtpmixsound。它在 Linux Red Hat Fedora Core 4 平台上进行了测试,但预计该工具能够在各种 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 硬件/软件/系统中的安全漏洞。
  • 用于集体教育活动或个人出于自身求知欲、娱乐或炫耀目的目的使用(除非存在恶意)。

严禁非法使用此工具。

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

  1. libnet v1.1.2.1(必须使用大于等于此版本)

  2. libpcap v0.9.4(该工具可能兼容某些早期版本)

  3. libfindrtp [例如,用于嗅探 RTP 会话的实用程序 - libfindrtp_find_rtp()]

  4. hack_library [一些实用程序 - Str2IP() 和 DumpPacket()]

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

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

安装

源码安装

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

bash 复制代码
git clone https://gitlab.com/kalilinux/packages/rtpmixsound.git

进入目录并查看。

bash 复制代码
cd rtpmixsound/
ls

进入 rtpmixsound 目录并查看。

bash 复制代码
cd rtpmixsound/
ls

进入 g711conversions 目录并查看。

bash 复制代码
cd g711conversions
ls

清理项目并编译

bash 复制代码
make clean
make

返回上一级目录并进入 hack_library 目录查看。

bash 复制代码
cd ..
cd hack_library
ls

清理项目并编译

bash 复制代码
make clean
make

返回上一级目录并进入 rtpmixsound 目录查看。

bash 复制代码
cd ..
cd rtpmixsound
ls

编译

bash 复制代码
make

此时再次查看当前目录会发现多生成了一个 rtpmixsound 的文件。

bash 复制代码
ls

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

bash 复制代码
./rtpmixsound -h

APT包管理器安装

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

bash 复制代码
sudo apt install rtpmixsound

使用

1. -h

帮助 - 打印此用法

bash 复制代码
rtpmixsound -h

2. 常规使用

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

bash 复制代码
sudo rtpmixsound /usr/share/rtpmixsound/helzart.wav -v

要将音频混入目标直播音频流的文件路径名。如果文件扩展名是 .wav,则该文件必须是符合以下约束的标准 Microsoft RIFF 格式的 WAVE 文件:

  1. 标头"块"必须是以下两种序列之一:

RIFF, fmt, fact, data

RIFF, fmt, data

  1. 压缩码 = 1(PCM/未压缩)

  2. 声道数 = 1(单声道)

  3. 采样率 (Hz) = 8000

  4. 有效位/采样 =

有符号,线性 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 端口

bash 复制代码
sudo rtpmixsound /usr/share/rtpmixsound/helzart.wav -a 192.168.174.134 -A 5060 -b 192.168.174.128 -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

bash 复制代码
sudo rtpmixsound /usr/share/rtpmixsound/helzart.wav -v -f 2

8. -i

接口(例如 eth0)

bash 复制代码
sudo rtpmixsound /usr/share/rtpmixsound/helzart.wav -i eth0

9. -j jitter factor

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

范围:0 - 80,默认值:80 = 尽快输出欺骗数据包

bash 复制代码
sudo rtpmixsound /usr/share/rtpmixsound/helzart.wav -j 80

10. -p

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

bash 复制代码
sudo rtpmixsound /usr/share/rtpmixsound/helzart.wav -p 10

11. -v

详细输出模式

bash 复制代码
sudo rtpmixsound /usr/share/rtpmixsound/helzart.wav -v 

综合使用

通过网络混合给定的音频文件(/usr/share/rtpmixsound/stapler.wav)并显示详细输出(-v)

bash 复制代码
sudo rtpmixsound /usr/share/rtpmixsound/stapler.wav -v

总结

rtpmixsound 是一款针对 RTP 协议的音频混音注入工具,可用于将自定义音频流"混入"现有的 VoIP 通话中。在未加密或缺乏源验证的语音会话中,rtpmixsound 能精准插入语音片段,实现通话干扰或内容替换。通过该工具,安全研究人员不仅能验证通话完整性防护机制的有效性,还能模拟中间人音频注入攻击的真实场景。它在语音层面渗透测试和 VoIP 安全教学中具有极高的实用价值,是理解 RTP 安全边界的重要辅助工具。

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

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

相关推荐
Sapphire~2 小时前
Linux-07 ubuntu 的 chrome 启动不了
linux·chrome·ubuntu
伤不起bb2 小时前
NoSQL 之 Redis 配置与优化
linux·运维·数据库·redis·nosql
广东数字化转型3 小时前
nginx怎么使用nginx-rtmp-module模块实现直播间功能
linux·运维·nginx
啵啵学习3 小时前
Linux 里 su 和 sudo 命令这两个有什么不一样?
linux·运维·服务器·单片机·ubuntu·centos·嵌入式
半桔3 小时前
【Linux手册】冯诺依曼体系结构
linux·缓存·职场和发展·系统架构
网硕互联的小客服4 小时前
如何利用Elastic Stack(ELK)进行安全日志分析
linux·服务器·网络·安全
浩浩测试一下4 小时前
Authpf(OpenBSD)认证防火墙到ssh连接到SSH端口转发技术栈 与渗透网络安全的关联 (RED Team Technique )
网络·网络协议·tcp/ip·安全·网络安全·php
冰橙子id4 小时前
linux——磁盘和文件系统管理
linux·运维·服务器
网安INF5 小时前
CVE-2020-17518源码分析与漏洞复现(Flink 路径遍历)
java·web安全·网络安全·flink·漏洞
Snk0xHeart5 小时前
极客大挑战 2019 EasySQL 1(万能账号密码,SQL注入,HackBar)
数据库·sql·网络安全