最新消息:XAMPP默认安装之后是很不安全的,我们只需要点击左方菜单的 "安全"选项,按照向导操作即可完成安全设置。

安全查找未使用的IP地址的科学

XAMPP案例 admin 62浏览 0评论

安全查找未使用的IP地址的科学
在测试期间,您经常会被客户端分配IP,或者可以通过DHCP获取IP。有时候,客户可能会期望您自己找到免费的IP。或者您可能想要检查客户端是否未为您分配已在使用的IP地址。

我相信我们都有自己的技术来做到这一点。每个人都会有更大或更小的风险导致临时IP冲突。本文探讨了一些方法,可以最大限度地降低选择正在使用的IP地址的风险。

我在下面的解释中大量使用arp-scan,并使用arp-fingerprint的指纹数据库。因此,首先感谢arp-scan的作者Roy Hills提供了一个非常有用的工具和全面的数据库,使得这篇博文的发布速度比原本要快得多。也就是说,这篇文章并不是真正的工具,只是一种寻找免费IP地址的方法。

网络嗅探
如果您发现自己在网络上并且DHCP发生故障,那么您最好的行动方式可能是在网络上嗅一会儿(例如使用tcpdump或wireshark)。希望您看起来有些广播流量可以让您了解正在使用的一些IP地址。

举个例子,我们假设我们已经看到了10.0.0.1的流量。

猜一个网络范围
现在猜一个网络掩码,你将在其中搜索一个免费的IP地址 – 当你找到一个免费的IP并想要开始你的pentest时,你总是可以扩展网络范围。也许首先假设一个C类网络,所以我们希望在10.0.0.0/24中找到免费的IP。

使用ARP查询识别正在使用的IP
这是该帖的主要观点。似乎有一些选择好的ARP请求意味着您的探测既有效又可以最大限度地减少导致IP冲突的可能性。

我们知道我们需要扫描10.0.0.0/24,但我们应该选择什么作为源IP地址?Arp-fingerprint的数据库表明以下是不错的选择:

127.0.0.1
0.0.0.0
255.255.255.255
1.0.0.1(IANA保留IP网络1.0.0.0/8)
所以相应的arp-scan命令是:

arp-scan –arpspa = 127.0.0.1 10.0.0.0/24
arp-scan –arpspa = 0.0.0.0 10.0.0.0/24
arp-scan –arpspa = 255.255.255.255 10.0.0.0/24
arp-scan –arpspa = 1.0.0.1 10.0.0.0/24
但这会有多有效?系统通常是否对这些探针中的至少一个做出响应?根据arp-fingerprint的数据库,我们可能遇到的大多数操作系统都会响应。以下是arp-fingerprint数据库(arp-scan v1.8.1)的摘录。应检测下面的操作系统,其中前4位数之一为“1”:

我的%fp_hash =(
’11110100000′=>’FreeBSD 5.3,7.0,DragonflyBSD 2.0,Win98,WinME,NT4,2000,XP,2003,Catalyst IOS 12.0,12.1,12.2,FortiOS 3.00′,
’01000100000′=>’Linux 2.2,2.4,2.6′,
’01010100000′=>’Linux 2.2,2.4,2.6,Vista,2008,Windows7′,#Linux仅在路由非本地IP时使用
’00000100000′=>’Cisco IOS 11.2,11.3,12.0,12.1,12.2,12.3,12.4′,
’11110110000′=>’Solaris 2.5.1,2.6,7,8,9,10,HP-UX 11′,
’01000111111′=>’ScreenOS 5.0,5.1,5.3,5.4′,
’11110000000′=>’Linux 2.0,MacOS 10.4,IPSO 3.2.1,Minix 3,Cisco VPN Concentrator 4.7,Catalyst 1900′,
’11110100011′=>’MacOS 10.3,FreeBSD 4.3,IRIX 6.5,AIX 4.3,AIX 5.3′,
’10010100011′=>’SCO OS 5.0.7′,
’10110100000′=>’赢3.11,95,NT 3.51′,
’11110000011′=>’2.11BSD,4.3BSD,OpenBSD 3.1,OpenBSD 3.9,Nortel Contivity 6.00,6.05′,
’10110110000′=>’NetBSD 2.0.2,4.0′,
’10110111111′=>’PIX OS 4.4,5.1,5.2,5.3′,
’11110111111′=>’PIX OS 6.0,6.1,6.2,ScreenOS 5.0(透明),Plan9,Blackberry OS’,
’00010110011′=>’PIX OS 6.3,7.0(1),7.0(2)’,
’01010110011′=>’PIX OS 7.0(4)-7.0(6),7.1,7.2,8.0′,
’00000110000′=>’Netware 6.5′,
’00010100000′=>’未知1′,#14805 79.253思科
’00000110011′=>’思科IP电话79xx SIP 5.x,6.x,7.x’,
’11110110011′=>’思科IP电话79xx SIP 8.x’,#又14805 63.11富士通西门子
);
因此,通过涵盖几乎所有版本的Windows,Linux和Solaris,我们已经涵盖了我们在测试中可能遇到的大多数服务器和工作站类型(或者至少是我遇到的主要类型)。以下将不会找到:

’00000100000′=>’Cisco IOS 11.2,11.3,12.0,12.1,12.2,12.3,12.4′,
’00000110000′=>’Netware 6.5′,
’00000110011′=>’思科IP电话79xx SIP 5.x,6.x,7.x’,
危险的比特
所以我们认为我们已经找到了10.0.0.0/24中使用的大多数IP,但我们并不完全确定。

现在,我们现在可以根据我们认为的范围内未使用的IP地址执行少量ARP探测。事实上,我们将选择两个IP地址,以便我们可以验证它们都是真正免费的。

在您观察到的最小和最大IP之间选择两个(显然)免费地址。除非必须,否则不要选择超出此范围的IP,因为您对网络掩码的猜测可能是错误的。我们将为此示例选择10.0.0.99和10.0.0.11。
从每个IP地址,为另一个IP地址发出ARP请求
arp-scan –arpspa = 10.0.0.11 10.0.0.99
arp-scan –arpspa = 10.0.0.99 10.0.0.11
如果您没有收到这些探测器的响应,您可以确定它们都是免费的。选择一个并使用各种网络掩码执行“arp-scan -l”,直到您满意为止,您的网络掩码足够大。

如果您收到上述某个探测器的响应,请将已使用的IP更改为另一个可用的IP并重复。

放弃
据我所知,上面提出的要求应该是相对安全的,或者至少要表现出勤奋。不过,如果出现任何问题,我不承担任何责任。

转载请注明:XAMPP中文组官网 » 安全查找未使用的IP地址的科学