ASA对TCP序列号扰乱测试

本文涉及的产品
公网NAT网关,每月750个小时 15CU
简介:
一.概述:

听了yeslab的秦珂老师的ASA的课程,讲到ASA对TCP的随机初始化序列号扰乱功能,于是搭建环境进行测试,发现其实不仅对TCP初始化的序列号进行扰乱,对后续的TCP包序列号也会进行扰乱。

----后记:听了后面的教程,才知道之所以叫初始化序列号扰乱,是因为后续的变化都基于初始的序列号之上的,比如未扰乱前第一个SYN包ISN序列号为A,第四个包的序列号为B,扰乱后的第一个SYN包ISN序列号为A',扰乱后的第四个包的序列号的B',那么B-A=B'-A',即它们的差值总是相同的。

二.基本思路和结论:
A.搭建环境在ASA两侧进行抓包测试
B.抓包软件显示的相对随机号,实际数据才是真正的序列号
C.ASA不仅仅对TCP初始化包进行序列号扰乱,对其他的包也进行序列号扰乱
D.通过policy-map可以禁止让ASA对序列号进行扰乱
三.测试拓扑:
223453812.jpg
四.基本配置:
A.Outside路由器:
interface Ethernet0/0
ip address 202.100.1.1 255.255.255.0
no shut
line vty 0 4
password cisco
login
ip route 0.0.0.0 0.0.0.0 202.100.1.10
B.ASA842防火墙:
interface GigabitEthernet0
nameif Outside
security-level 0
ip address 202.100.1.10 255.255.255.0
interface GigabitEthernet1
nameif DMZ
security-level 50
ip address 192.168.1.10 255.255.255.0
interface GigabitEthernet2
nameif Inside
security-level 100
ip address 10.1.1.10 255.255.255.0
C.Inside路由器:
interface Ethernet0/0
ip address 10.1.1.1 255.255.255.0
no shut
ip route 0.0.0.0 0.0.0.0 10.1.1.10
五.TCP序列号扰乱测试:
A.没有NAT情况下,Inside路由器Telnet Outside路由器

Inside路由器TCP第一个包:

223604839.jpg

----从抓包的注释relative sequence number可以看到seq 0其实是相对值,真正的值为D6D2CFDC。

Outside路由器TCP第一个包

223717681.jpg

---从两个图对比很容易看出,两边的syn包的序列号是不相同的,虽然相对值都是0。
Inside路由器TCP第四个包:
223822384.jpg
outside路由器TCP第四个包:

223933997.jpg

---四个截图序列号的值:未扰乱前第一个包D6D2CFDC,未扰乱前第四个包D6D2CFDD,增加值为1,扰乱后第一个包2F67830F,扰乱后四个包2F678310,增加值也为1,这就是抓包软件显示相对值为1的原因。

B.NAT情况下,Inside路由器Telnet Outside路由器

①PAT配置:

object network Inside_net
subnet 10.1.1.0 255.255.255.0
nat (Inside,Outside) dynamic interface

②抓包测试:
----发现跟没有NAT情况相同,不仅仅是TCP初始化进行序列号扰乱,其他的包也会进行序列号扰乱

六.TCP序列号扰乱避免:

A.配置policy-map并应用:

access-list telnet extended permit tcp any any eq telnet
class-map noseqrandom
match access-list telnet
policy-map noseqrandom
class noseq
set connection random-sequence-number disable
service-policy noseqrandom interface Inside
B.Inside路由器telnet Outside路由器并在两边抓包测试:
----抓包可以发现两边的序列号保持一致(截图略)



本文转自 碧云天 51CTO博客,原文链接:http://blog.51cto.com/333234/1303915,如需转载请自行联系原作者
相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
相关文章
|
6月前
|
网络协议 安全 测试技术
手撕测试tcp服务器效率工具——以epoll和io_uring对比为例
手撕测试tcp服务器效率工具——以epoll和io_uring对比为例
140 2
|
3月前
|
网络协议 网络安全 Python
电脑中 TCP/UDP 端口是否开放的测试:令人意想不到的神奇策略等你发现!
【8月更文挑战第19天】在网络管理和维护中,常需确认TCP/UDP端口是否开放以确保服务运行顺畅。端口如同计算机对外通信的“门”,TCP提供可靠连接,UDP则快速但无连接。测试端口是否开放的方法多样:可用`telnet`测试TCP端口,如`telnet localhost 80`;UDP测试较复杂,可用`nc`工具,如`nc -u -z localhost 53`。此外,也有在线工具可供选择,但需确保其安全性。
328 1
|
3月前
|
网络协议 Windows
在电脑上测试TCP/UDP端口是否开放,还是得网络大佬这招厉害!
在电脑上测试TCP/UDP端口是否开放,还是得网络大佬这招厉害!
801 2
|
5月前
|
缓存 网络协议 Ubuntu
ubuntu 网卡网速测试bondnetperf测试优化tcp
ubuntu 网卡网速测试bondnetperf测试优化tcp
140 3
|
5月前
|
网络协议 Linux Windows
测试端口是否开放 tcp端口 udp端口 测试服务器端口连通性
测试端口是否开放 tcp端口 udp端口 测试服务器端口连通性
94 0
|
网络协议 测试技术
|
网络协议 Linux 网络安全
2022-渗透测试-信息收集-Metasploit(基于TCP协议)
2022-渗透测试-信息收集-Metasploit(基于TCP协议)
2022-渗透测试-信息收集-Metasploit(基于TCP协议)
|
网络协议 Python
Python 计算与伪造TCP序列号
**计算TCP序列号:** 通过发送`TCP SYN`数据包来从依次收到的`SYN/ACK`包中计算TCP序列号之差,查看是否存在可被猜测的规律。
156 0
|
网络协议 安全 测试技术
【TCP/IP】【测试】常用发流软件一览
【TCP/IP】【测试】常用发流软件一览
1205 0
|
网络协议 测试技术
软件测试面试题:tcp 和 udp 的区别?
软件测试面试题:tcp 和 udp 的区别?
107 0
下一篇
无影云桌面