Scapy和DHCP安全性测试

塞尔达·埃本(Serdar Ebeng)

我有一个关于Scapy的问题,与dhcp一起使用。发送dhcp请求消息并获得答案没有问题,但是我真正需要的是编程:

  1. Scapy发送DHCP请求数据包
  2. 到目前为止,它接收到一个广告包。
  3. 我需要发送一个请求,其中包含从广告包中获取的一些信息。

这是代码的一部分,希望您能理解我正在尝试实现的目标。(最无关紧要,并且值未在此处写入)

sol = DHCP6_Solicit()
opreq = DHCP6OptOptReq()
et= DHCP6OptElapsedTime()
cid = DHCP6OptClientId()
iana = DHCP6OptIA_NA()
optiana = DHCP6OptIAAddress()

l2 = Ether (src = RandMAC())
l3 = IPv6(dst= dstt, src=srcc)
addr = raw_input("Give Option Address: ")
optiana.addr = str(RandIP6(addr))
pkt = l2/l3/l4/sol/cid/opreq/et/iana/optiana
sendp(pkt, iface='eth0')

当我发送此请求数据包时,我得到了一个很好的答复,说明dhcpv6服务器。在广告包中,包含绑定的缩写,服务器ID等。

(1)我想要的是,从广告包中使用该信息,并将其放入请求包中。但这一切都以某种循环的方式进行,因此可以绑定我可以发送的所有广告(例如数千个广告)。这也暗示了PrefixDelegation因此,出于安全原因,我可以测试dhcp服务器。

(2)当我在IA_NA中添加地址时,我DHCP OPTION 0在Packet中的IA_address之后得到了

http://i41.tinypic.com/154ulmp.png

我该怎么办?因为在有效的请求消息中,我们可以看到IA地址位于IA_NA内部。

我也尝试过这个:

addr = raw_input("Give Option Address: ")
optiana.addr = str(RandIP6(addr))
optiana.preflft = 7200
optiana.validlft = 9200
iana.ianaopts = optiana 
pkt = l2/l3/l4/sol/cid/opreq/et/iana

但是随后,数据包发生了一些变化,它的末尾添加了零。http://i44.tinypic.com/2ih09k3.png

我们可以在这里看到scapy发送数据包,因为它需要发送,对吗?http://i44.tinypic.com/309pohj.png

(3)还有一件事:我认为PD出了点问题,因为当我给PD等选项(如地址)时,当我添加其他PD时,程序包就停在那里(请参见Wireshark中的内容)。但是,如果我仅添加不带选项的PD,它就可以工作。

http://i41.tinypic.com/24zg390.png

PD的代码

optiapd = DHCP6OptIA_PD()
iapd = DHCP6OptIAPrefix()
opreq = DHCP6OptOptReq()
et= DHCP6OptElapsedTime()
cid = DHCP6OptClientId()

l2 = Ether (src = RandMAC())
l3 = IPv6(dst= dstt, src=srcc)
addr = raw_input("Give Option Address: ")
iapd.prefix = str(RandIP6(addr))
pkt = l2/l3/l4/sol/cid/opreq/et/optiapd/iapd       # (adding more...../optiapd/iapd....wont work)
sendp(pkt, iface='eth0')

另外,我在/scapy/layers/dhcp6.py中遇到了DHCPv6_am(AnsweringMachine)!将所有数据包排列在阵列中时,如何对每个数据包使用回复机制?

塞尔达·埃本(Serdar Ebeng)

问题(1)已解决:)

我刚刚编写了另一个脚本,该脚本将嗅探并读出数据包:)另一种方式。

问题(2)

经过数小时的测试,我得出的结论是DHCP Option 0Wireshark中会存在,因为:

DHCP6 IA Address Option,有一个子值IA-ID当我填写此内容时,我可以看到正是来自其中的价值的来临DHCP option 0

我认为这是Scapy中的一些编程错误。

查找后,RFC 3315 DHCP for IPv6子选项22.6没有为分配IAID DHCP6 IA Address Option

因此,我所做的只是调整并搜索该行并将其注释掉。

问题(3)

我认为Scapy还没有准备好PD。经过我尝试的一切,它不起作用。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章