- A+
(译注:在网上搜了一下,也能搜到关于portspoof的文章,不过感觉这篇文章在原理上讲得更明白一些,过程也更详细一些,是本人喜欢的文章类型,所以把这篇文章也翻译了,分享给有兴趣的同学)
Portspoof是一款适合任意防火墙系统或安全系统的轻量级、快速、可移植的安全插件,该程序的目标是尽量减缓或扰乱攻击的信息收集阶段。
下面我们直接进入正题。本文首先会介绍不使用portspoof时的普通网络通信,之后介绍使用了portspoof之后的网络通信情况。下图为正常情况下的网络通信:
这里,如果一人攻击者扫描CentOS服务器的网络,第一个请求首先会被发送给iptables,根据iptables的规则决定对数据包的处理方式。下图为当前目标主机的规则配置:
即端口22开放,允许任意客户端连接到服务器的ssh服务。我将一台安装Kali Linux系统的机器作为攻击者机器,用nmap扫描该目标服务器,得到如下所示结果:
下面测试配置了portspoof的网络情况,程序默认端口为4444,可以根据需要修改。
从上图可以看出,当攻击者向CentOS服务器发送nmap扫描请求时,首先被iptables获取到,但之后不是响应攻击者机器,而是将请求发送给portspoof的4444端口,之后通过portspoof响应攻击者,向其反馈所有65535个端口全部是开放的。
开始演示
首先清除iptables的所有规则,允许所有数据包进入目标主机,使用命令如下:
iptables -F
执行完后,如果想查看当前策略,可以用以下命令:
iptables -L
之后用portspoof配置iptables。首先要做的当然就是下载并安装portspoof,我已经下载好了它的rpm包,可以通过以下命令安装:
rpm –ivh portspoof-1.0-5.1.i686.rpm
命令/选项 描述 rpm rpm包管理命令 -i 安装rpm包 -v 打印处理过程中的详细信息 -h 安装过程中打印hash记号(即“#”)
之后重新刷新当前防火墙规则。前文已经说过,当前防火墙没有设置任何规则,所以只需要使用iptables –F或iptables –L命令加以确认即可。
接下来要做的就是将这些数据包转发到portspoof中,使其响应扫描请求。命令如下:
iptables -t nat -A PREROUTING -i eth0 -p tcp -m tcp -dport1:65535 -j REDIRECT -to-ports 4444
该命令的最后几个关键字非常重要,使iptables将所有收到的包转发到4444端口,即portspoof的默认端口。之后再次对目标进行扫描(此时还没有对portspoof进行配置):
扫描结果显示主机(CentOS)正在运行,但没有列出任何开放的端口,说明我们已经成功配置iptables,其将所有接收到的数据包成功发送给portspoof。接下来配置portspoof。
portspoof运行时需要两个配置文件,均位于/etc/目录,如下图所示:
portspoof.conf文件中配置了portspoof如何响应扫描以及响应哪些扫描,portspoof_signatures文件中包含大量扫描工具的指纹信息。
例如,如果我对一台主机进行常规nmap扫描,其只会向我显示某端口是否处于开放状态,并列出端口号。但如果给nmap加上-sV选项,其同时也会显示目标服务器上运行的服务名。portspoof会检测到这些指纹,并根据请求特征给出错误的结果。
输入portspoof –h命令查看其提供了哪些可用选项:
要运行portspoof,有两个选项必须使用:
portspoof -c /etc/portspoof.conf -s /etc/portspoof_signatures
运行结果如下:
下面用攻击者机器(Kali Linux)扫描目标服务器:
结果如图所示,其显示从1开始的所有65535个端口全部开放。实际上这些端口并不是真的开放,有些甚至不存在,但这种扫描结果还是会对攻击者产生一定的迷惑作用。
用nmap中的任意选项扫描目标主机,得到的结果都与下图类似。下图是我用nmap的-v和-A选项扫描的结果:
我在运行portspoof时使用了verbose模式,如果现在检查目标主机,可以看到其显示了曾受到过哪种扫描,识别出了哪些签名,响应了哪种扫描,如下图所示:
总结
本文介绍了如何用portspoof调戏攻击者或网络新手,使其困惑哪些端口是真正开放的,哪些是虚假的。如果攻击者真是个新手,那他很有可能去尝试攻击所有这些端口。所以通过这款小工具,我们可以在一定程度上迷惑攻击者,延长其攻击时间,从而达到对攻击者的定位跟踪。
参考
http://linux.about.com/od/commands/l/blcmdl8_rpm.htm
http://www.centos.org/docs/4/html/rhel-rg-en-4/s1-iptables-options.html
portspoof源码:https://github.com/drk1wi/portspoof
原文地址:http://resources.infosecinstitute.com/fool-network-hunters-hackers/
- 我的微信
- 这是我的微信扫一扫
- 我的微信公众号
- 我的微信公众号扫一扫