PortSpoof:一款好玩的Linux反欺诈工具
骗倒那些试图对你的系统进行端口扫描的人!
Portspoof程序旨在通过在原本封闭的端口上模拟仿真合法的服务签名,加强操作系统的安全性。它本来就是一个轻便、快速、便携、安全的附件,可以添加到任何防火墙系统或安全基础设施上。
这款程序的基本目的就是,让端口扫描软件(Nmap/Unicornscan/等)进程运行缓慢,让输出结果非常难以解读,从而使攻击侦察阶段成为一项难度大又麻烦的任务。
我发觉这个小程序背后的概念很有意思:不是用防火墙堵住所有端口,而是欺骗真实端口,因而让针对你的服务器/计算机运行端口扫描的那些家伙无功而返。
Portspoof程序的主要目的是,通过攻击者对你系统进行侦察的过程中减缓攻击者攻击速度,并阻止攻击者保持低调的一系列技巧,加强操作系统的安全性。
默认情况下,攻击者的侦察阶段应该很费时,而且很容易被你的入侵检测系统所发现。
主动(进攻性)防御的艺术
Portspoof还可以用作“漏洞框架前端”(Exploitation Framework Frontend),这可以将你的系统变成一台反应迅即、具有攻击性的机器。实际上,这意味着你的服务器能够自动利用攻击者的工具和漏洞。这种方法纯粹基于主动(进攻性)防御理念。
特点
•快速:多线程(默认情况下10个线程处理新的入站连接)。
•轻便:所需的系统资源数量极少。
•便携:可以在Linux和BSD(直到版本0.3)上运行。
•灵活:你可以轻松使用防火墙规则,定义将被欺骗的端口。
•对付流行的端口扫描工具很有效。
•超过8000多个假签名可以骗倒端口扫描工具!
•采用开源技术。
安装
Portspoof是一款免费的软件,采用GNU GPL版本2许可证发行,它并不以任何软件库中程序包的方式出现,或者至少我还没有发现这种方式,所以想安装它,你就得从官方网站下载zip文件(https://github.com/drk1wi/portspoof/archive/master.zip),或者从Github(https://github.com/drk1wi/portspoof)克隆源软件库,然后遵循下面这些简单的操作步骤:
1. 编译软件,进入到你解压缩/放置源文件的目录,然后运行这些命令:
$./configure
$ make
$ sudo make install
或者
$ g++ -lpthread -Wall -g Configuration.cpp connection.cpp Portspoof.cpp revregex.cpp Utils.cpp Fuzzer.cpp Server.cpp -o portspoof
2. 配置防火墙规则:
# iptables -A PREROUTING -i eth0 -p tcp -m tcp –dport 1:65535 -j REDIRECT –to-ports 4444
# iptables-restore < iptables-config (system_files directory)
注意:
如果你想访问合法服务,就得将这些服务的端口排除在REDIRECT语句之外!
Portspoof默认情况下会侦听端口ALL_INTERFACES和端口4444 tcp。这条防火墙规则会导致服务骗过端口1至端口65535。
运行模拟仿真服务的Portspoof:
$ portspoof -c portspoof.conf -s portspoof_signatures -D
在“打开的端口”模式下运行Portspoof:
$ portspoof -D
3. 将portspoof添加到你系统的启动脚本。
为此,修改或使用默认的init.d脚本,你可以在system_files目录中找到这个脚本。
演示
你想不想根本不用安装就能试一下Portspoof?
检查一下:针对portspoof.or地址,运行你常用的端口扫描工具,看看结果:nmap -sV -v portspoof.org。
你应该会看到类似这样的界面: