安全工具Portspoof主要是通过在原本封闭的端口上模拟仿真合法的服务签名,加强Linux等支持的操作系统安全性。它本来就是一个轻便、快速、便携、安全的附件,可以添加到任何防火墙系统或安全基础设施上。 该款工具的基本目的就是,让端口扫描软件(Nmap/Unicornscan/等)进程运行缓慢,让输出结果非常难以解读,从而使攻击侦察阶段成为一项难度大又麻烦的任务。 我发觉这个小工具背后的概念很有意思:不是用防火墙堵住所有端口,而是欺骗真实端口,因而让针对你的服务器/计算机运行端口扫描的那些家伙无功而返。 Portspoof的主要目的是,通过攻击者对你系统进行侦察的过程中减缓攻击者攻击速度,并阻止攻击者保持低调的一系列技巧,加强操作系统的安全性。 默认情况下,攻击者的侦察阶段应该很费时,而且很容易被你的入侵检测系统所发现。 主动(进攻性)防御的艺术: Portspoof还可以用作”漏洞框架前端”(Exploitation Framework Frontend),这可以将你的系统变成一台反应迅即、具有攻击性的机器。实际上,这意味着你的服务器能够自动利用攻击者的工具和漏洞。这种方法纯粹基于主动(进攻性)防御理念。
一、Portspoof的特点 快速:多线程(默认情况下10个线程处理新的入站连接)。 轻便:所需的系统资源数量极少。 便携:可以在Linux和BSD上运行。 灵活:你可以轻松使用防火墙规则,定义将被欺骗的端口。 对付流行的端口扫描工具很有效。 超过8000多个假签名可以骗倒端口扫描工具。 采用开源技术。
二、Portspoof的安装 Portspoof是一款免费的软件,采用GNU GPL版本2许可证发行,它并不以任何软件库中程序包的方式出现,或者至少我还没有发现这种方式,所以想安装它,你就得从官方网站下载zip文件,或者从Github克隆源软件库,然后遵循下面这些简单的操作步骤: 1.编译软件,进入到你解压缩/放置源文件的目录,然后运行这些命令: wget https://github.com/drk1wi/portspoof/archive/master.zip -O master.zip unzip master.zip cd portspoof-master ./configure make make install 2.配置防火墙规则(portspoof预设端口为4444) iptables -t nat -A PREROUTING -i eth0 -p tcp -m tcp --dport 1:65535 -j REDIRECT --to-ports 4444 注意:Portspoof默认情况下会侦听所有网络接口的tcp4444端口。这条防火墙规则会导致服务骗过端口1至端口65535。如果你想访问合法服务,就得将这些服务的端口排除在REDIRECT语句之外。 1].如需开放22端口 方法一: iptables -t nat -A PREROUTING -i eth0 -p tcp -m tcp ! --dport 22 -j REDIRECT --to-ports 4444 方法二: #开放系統服务端口 iptables -t nat -A PREROUTING -p tcp -m multiport --dports 22,25,993,995 -j ACCEPT #其它所有端口转向portspoof的4444端口 iptables -t nat -A PREROUTING -p tcp --dport 1:65535 -j REDIRECT --to-ports 4444 注: 当封包走向系统真实服务的端口(tcp 22,25,993,995)符合第一条規則, 可被系统正常接受处理; 走向其他端口则会被转向到tcp 4444 端口由portspoof处理。 2].安装包带了一个配置的例子,可以参考下 cat portspoof-master/system_files/iptables-config # Generated by iptables-save v1.4.4 on Tues Jul 10 14:26:41 2018 *nat :PREROUTING ACCEPT [5992:539002] :INPUT ACCEPT [347451:16935290] :OUTPUT ACCEPT [477:45868] :POSTROUTING ACCEPT [0:0] # Portspoof everything except the sshd service # Remember to change the iface name -A PREROUTING -i eth0 -p tcp -m tcp --dport 1:21 -j REDIRECT --to-ports 4444 -A PREROUTING -i eth0 -p tcp -m tcp --dport 23:65535 -j REDIRECT --to-ports 4444 COMMIT # Completed on Tues Jul 10 14:26:42 2018 # Generated by iptables-save v1.4.4 on Tues Jul 10 14:26:42 2018 *filter :INPUT ACCEPT [1931192:104113948] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [1606583:151106362] -A FORWARD -j ACCEPT COMMIT # Completed on Tues Jul 10 14:26:42 2018
三、运行Portspoof 1.后台方式运行(默认输出日志在/var/log/messages) portspoof -D 2.自定义日志路径 portspoof -s /usr/local/etc/portspoof_signatures -c /usr/local/etc/portspoof.conf -l /var/log/portspoof.log 注:自定义日志路径不能在后台运行,加了-D参数后,测试portspoof进程会自动退出。
四、将portspoof添加到你系统的启动脚本 安装包里提供了两个的init.d管理脚本,你可以在system_files目录中找到这个脚本。你可根据自己情况复制到/etc/init.d目录下,使用很简单,这里就不详述了。 ls portspoof-master/system_files/init.d/portspoof portspoof.sh portspoof_simple.sh cp portspoof.sh /etc/init.d/
五、测试 1.本地测试 nmap -sV -v 192.168.34.160 Nmap scan report for (192.168.34.160) Host is up (0.00012s latency). PORT STATE SERVICE 1/tcp open tcpmux 3/tcp open compressnet 4/tcp open unknown 6/tcp open unknown 7/tcp open echo 9/tcp open discard 13/tcp open daytime 17/tcp open qotd 19/tcp open chargen ... 146/tcp open iso-tp0 161/tcp open snmp 163/tcp open cmip-man 179/tcp open bgp 199/tcp open smux 211/tcp open 914c-g 212/tcp open anet 222/tcp open rsh-spx 254/tcp open unknown ... 61532/tcp open unknown 61900/tcp open unknown 62078/tcp open iphone-sync 63331/tcp open unknown 64623/tcp open unknown 65389/tcp open unknown MAC Address: 00:E0:81:DB:0C:29 (Tyan Computer) Nmap done: 1 IP address (1 host up) scanned in 0.28 seconds 2.在线演示 你想不想根本不用安装就能试一下Portspoof? 检查一下:针对某个地址,运行你常用的端口扫描工具,看看结果:nmap -sV -v X(X为查看的地址)。
相关主题 |