利用Honeyports干扰端口扫描(网络欺骗技术)

本文详细介绍了如何使用Honeyports技术创建欺骗性端口,当攻击者尝试连接时会自动将其IP地址加入黑名单。通过TCP/IP三次握手机制和iptables规则实现主动防御,有效应对端口扫描攻击。

利用Honeyports干扰端口扫描(网络欺骗技术)

大家好!我是John Strand。在本视频中,我们将讨论Honeyports(蜜罐端口)技术。这是我们在ADHD实验环境中使用的工具,也是我们在Wild West Hackin’ Fest和Black Hat课程中使用的虚拟机。本文将重点介绍如何在计算机系统上创建一个特殊端口,当攻击者与该端口交互时,系统会自动将其IP地址加入黑名单。

技术原理

首先需要明确的是:所有使用说明都位于桌面上的ADHDusage.HTML文件中。我们使用的是Annoyance工具套件中的Honeyports功能。

Honeyports的设计原理是:当攻击者与特定端口建立完整连接时,系统会自动将攻击者的IP地址加入黑名单。

有人可能会担心:“攻击者可以伪造连接,导致整个环境被黑名单和拒绝服务攻击(DOS)"。这种担心是完全不必要的,让我解释原因:

在TCP/IP协议中,三次握手过程包含以下步骤:

  1. 我向您发送SYN数据包
  2. 如果端口开放,您会回复SYN-ACK
  3. 这里涉及32位的初始序列号(ISN),意味着有约42.7亿种可能的数值

攻击者要成功伪造活动系统,必须实时猜中这个32位数字,然后目标系统才会响应重置。这在数学上是极不可能实现的,因为Honeyports只有在建立完整连接时才会触发。

实际操作演示

按照ADHD的说明,我们使用终端进行操作:

1
cd /opt/honeyports/cross-platform

这个版本是由Security Weekly的Paul Asadoorian编写的。然后运行:

1
python2 ./honeyports.py -p 2222

需要注意的是,必须使用root权限运行,因为Honeyports需要在iptables中创建规则。

测试效果

打开另一个终端,使用netcat连接端口2222:

1
nc 127.0.0.1 2222

系统会显示"Thank you for connecting”。如果断开后再次尝试连接,连接将会失败,因为该IP已被加入黑名单。

使用root权限检查iptables规则:

1
iptables -L

可以看到输入链中已创建规则,localhost.com尝试连接时将被拒绝,并返回ICMP端口不可达消息。

安全性考虑

再次强调:这不会破坏您的环境。由于TCP/IP三次握手的机制,攻击者无法通过伪造端口来瘫痪整个网络。

关于Kevin Mitnick和Tsutomu Shimomura的历史案例,那是针对弱协议和弱序列号预测的特定攻击,发生在90年代,在现代网络中极不可能重现。

相关资源

欢迎了解更多信息:

  • Wild West Hackin’ Fest
  • Black Hills Information Security
  • ActiveCountermeasures.com
  • 每周三的Enterprise Security Weekly节目

感谢观看,我们下个视频再见!

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计