Sonar.js – 识别和发起针对内部网络主机的攻击的框架

华盟原创文章投稿奖励计划

Sonar.js是一个用于识别和启动针对内部网络主机的攻击的框架。通过WebRTC IP枚举,WebSocket主机扫描和外部资源指纹识别工作。

在现代Web浏览器中加载sonar.js有效载荷后,将会发生以下情况:

它从指纹数据库中运行。指纹只是设备上已知资源的列表,可以通过onload链接并检测。这包括图像,CSS样式表,甚至外部JavaScript。

下面是一个示例指纹数据库:

~~~~var fingerprints = [    {        'name':“华硕RT-N66U”,        'resources':[“/images/New_ui/asustitle.png","/images/loading.gif”,“/images/alertImg.png","/images/New_ui/networkmap/line_one.png","/images/New_ui/networkmap/lock.png","/images/New_ui/networkmap/line_two.png”“/index_style.css","/form_style.css","/NM_style.css","/other.css”],        'callback':function(ip){            //在这里插入exploit        },    },    {        'name':“Linksys WRT54G”,        'resources':[“/UILinksys.gif","/UI_10.gif","/UI_07.gif","/UI_06.gif”,“/UI_03.gif","/UI_02.gif","/UI_Cisco.gif","/style.css”],        'callback':function(ip){            //在这里插入exploit        },    },]~~~~

每个数据库条目都有以下内容:

通过创建自己的指纹,您可以构建自定义漏洞利用,一旦它们被sonar.js检测到,就会针对内部设备发起攻击。常见的漏洞包括诸如跨站点请求伪造(CSRF),跨站点脚本(XSS)等等。这个想法是,你可以使用这些漏洞来做一些事情,例如修改路由器DNS配置,从内部文件转储文件服务器等等。

要更轻松地创建指纹,请参阅以下Chrome扩展程序,该扩展程序会自动为您所在的页面生成指纹模板代码:

sonar.js - 指纹生成器

通过使用sonar.js,pentesting团队可以针对诸如内部日志记录服务器,路由器,打印机,VOIP电话等事物构建Web攻击。由于内部网络往往不够谨慎,诸如CSRF和XSS等攻击可以强大地接管主机内部网络上的设备配置。

下载地址:https://github.com/mandatoryprogrammer/sonar.js

名称:用于识别指纹所用设备的字段。这可能是HP Officejet 4500打印机或Linksys WRT54G路由器。

资源:这是一组相对指向资源的链接,如CSS样式表,图像甚至JavaScript文件。如果您希望这些资源位于非标准端口(如8080)上,请使用包含以下端口的端口设置资源::8080 / unique.css。请记住,使用包含JavaScript等活动内容的外部资源是非常危险的,因为它会中断正常的执行流程。

回调:如果发现所有这些资源都存在于枚举主机上,那么使用设备IP地址的单个参数调用回调函数。

sonar.js将使用WebRTC来枚举加载有效载荷的用户所拥有的内部IP。

sonar.js然后尝试通过WebSockets在内部网络上找到现场主机。

如果找到活的主机,sonar.js会尝试通过~img src =“x”>和<link rel =“stylesheet”type =“text / css”href =“x” 并挂载onload事件。如果预期的资源加载成功,将触发预设的JavaScript回调来启动用户提供的漏洞。

仅供于学习研究使用,不得非法使用,如非法操作,责任自行承担

文章出处:http://www.effecthacking.com,由华盟网翻译排版,转载请注明华盟网

本文原创,作者:congtou,其版权均为华盟网所有。如需转载,请注明出处:https://www.77169.net/html/208408.html

发表评论