SSD安全公告-GitStack未经验证的远程代码执行漏洞

Credit to Author: SSD / Maor Schwartz| Date: Tue, 06 Feb 2018 08:44:21 +0000

漏洞概要 以下安全公告描述了在GitStack中存在的一个未经身份验证的动作,允许远程攻击者添加新用户,然后用于触发远程代码执行。 GitStack是一个可以让你设置你自己私人Git服务器的软件。 这意味着你可以创建一个没有任何内容的版本控制系统。GitStack可以非常容易的保持你的服务器是最新的。它是真正Git for Windows,并与任何其他Git客户端兼容。GitStack对于小团队来说是完全免费的。 漏洞提交者 一位独立的安全研究人员 Kacper Szurek向 Beyond Security 的 SSD 报告了该漏洞 厂商响应 自2017年10月17日起,我们多次尝试联系GitStack,已经收到回应,但未提供有关解决方案或解决方法的详细信息。 CVE:CVE-2018-5955 漏洞详细信息 用户可控的输入没有经过充分的过滤,未经身份验证的攻击者可以通过发送以下POST请求在GitStack服务器中添加新用户: [crayon-5a7a29f09ace6671375808/] 一旦攻击者将用户添加到服务器,他就可以启用web repository功能。 现在,攻击者可以从远程创建一个repository,并禁止其他人访问我们新的repository。 在repository中,攻击者可以上传后门并使用它来执行代码: 漏洞证明 [crayon-5a7a29f09acf2853583590/]

Read more

SSD安全公告-希捷个人云存储设备多个漏洞

Credit to Author: SSD / Maor Schwartz| Date: Mon, 22 Jan 2018 12:07:17 +0000

漏洞概要 以下安全公告描述两个未经身份验证的命令注入漏洞。 希捷个人云家庭媒体存储设备是“存储,整理,流式传输,共享所有音乐,电影,照片和重要文档的最简单的方式”。 漏洞提交者 一位独立的安全研究人员Yorick Koster向 Beyond Security 的 SSD 报告了该漏洞。 厂商响应 希捷在10月16日被告知该漏洞,虽然已确认收到漏洞信息,但拒绝回应(我们给出的)技术细节,也没有给出确定的修复时间或是协调报告。 CVE:CVE-2018-5347 漏洞详细信息 Seagate Media Server使用Django Web框架并映射到.psp扩展名。 任何以.psp结尾的URL都会使用FastCGI协议自动发送到Seagate Media Server应用程序。 /etc/lighttpd/conf.d/django-host.conf: [crayon-5a666358f0897494367467/] URL被映射到文件/usr/lib/django_host/seagate_media_server/urls.py中特定的views。 有两个views受到未经认证的命令注入漏洞的影响。 受影响的views是: uploadTelemetry getLogs 这些views从GET参数获取用户输入,并将这些未经验证/解析的参数传递给Python模块相应的函数。 这允许攻击者注入任意的系统命令,这些命令将以root权限执行。 /usr/lib/django_host/seagate_media_server/views.py: [crayon-5a666358f08a3012049689/] /usr/lib/django_host/seagate_media_server/views.py: [crayon-5a666358f08a8093835846/] 请注意,这两个views都包含csrf_exempt decorator,它会禁用Django的默认开启的CSRF保护。 因此,这些问题可以通过跨站请求伪造来进行利用。 漏洞证明 下面的漏洞验证代码将尝试启用SSH服务,并更改root密码。 如果成功,则可以使用新密码通过SSH登录设备。 [crayon-5a666358f08ae242951493/]

Read more

SSD安全公告-Sophos XG从未经身份验证的存储型XSS漏洞到Root访问

Credit to Author: SSD / Maor Schwartz| Date: Mon, 22 Jan 2018 11:52:38 +0000

漏洞概要 以下安全公告描述了在Sophos XG 17中发现的一个存储型XSS漏洞,成功利用该漏洞可以获取root访问。 Sophos XG防火墙“全新的控制中心为用户的网络提供前所未有的可视性。可以获得丰富的报告,还可以添加Sophos iView,以便跨多个防火墙进行集中报告。“ 漏洞提交者 一位独立的安全研究人员向 Beyond Security 的 SSD 报告了该漏洞 厂商响应 Sophos已被告知这个漏洞,他们的回应是: 12月11日,我们收到并确认您提交的问题 12月12日,我们确认了这个问题,并开始进行修复 12月20日,我们发布了XGv17 MR3的官方修复:https:https://community.sophos.com/products/xg-firewall/b/xg-blog/posts/sfos-17-0-3-mr3-released 12月29日,我们完成了对之前发布的XGv16,v16.5,v17版本的修复 12月31日,我们根据您的要求发布了我们的安全公告:https://community.sophos.com/kb/en-us/128024?elqTrackId=3a6db4656f654d65b352f526d26c6a17&elq=1514ab02d2764e8cb73e6b0bdbe7e7be&elqaid=2739&elqat=1&elqCampaignId=27053 CVE:CVE-2017-18014 漏洞详细信息 未经身份验证的用户可以在webadmin界面中的WAF日志页面(控制中心 – >日志浏览器 – >,在过滤器选项“Web服务器保护”中)中触发存储型XSS漏洞,该漏洞可执行防火墙webadmin 可以执行的任何动作(创建新的用户/ 启用ssh和添加ssh授权密钥等)。 为了触发这个漏洞,我们将演示以下场景: Sophos XG Firewall配置3个区域:Trusted,Untrusted,DMZ WEB服务器被放置在DMZ中 防火墙使用Sophos推荐的默认Web应用防火墙(WAF)保护Web服务器。 来自Untrusted网络的攻击者向DMZ中的Web服务器发送URL请求,造成到脚本注入WAF日志页面 来自Trusted的管理员访问WAF日志页面 没有任何其他交互或警告,脚本向管理用户添加一个SSH授权密钥,并允许来自Untrusted的ssh管理。 攻击者获得完整的root ssh shell Sophos XG WAF日志页面将执行POST请求中“User-Agent”参数。 漏洞证明 Sophos XG配置: 防火墙接口可信 – 192.168.10.190端口A. 防火墙接口不可信 – 192.168.0.192端口B. … Continue reading SSD安全公告-Sophos XG从未经身份验证的存储型XSS漏洞到Root访问

Read more

SSD Advisory–D-Link DSL-6850U多个漏洞

Credit to Author: SSD / Maor Schwartz| Date: Sun, 07 Jan 2018 06:28:24 +0000

漏洞概要 以下安全公告描述了在D-Link DSL-6850U BZ_1.00.01 – BZ_1.00.09中的发现的两个漏洞。 D-Link DSL-6850U是一款“以色列Bezeq制造的路由器”,在这款路由器中发现的漏洞是: 默认凭证 远程命令执行 漏洞提交者 一位独立的安全研究人员向 Beyond Security 的 SSD 报告了该漏洞 厂商响应 Bezeq在6月9日被告知了这个漏洞,并且发布了补丁来解决这些漏洞。 漏洞详细信息 该设备定制的固件存在以下问题: 默认启用远程Web管理 不能禁用默认帐户 默认凭证 默认帐户用户名是:support 密码是:support 远程命令执行 shell界面只允许执行一组内置命令,但是你可以通过’&’ ‘||’ 插入命令到shell: [crayon-5a529cda84c8f912287642/] 上述命令执行后返回一个BusyBox shell

Read more

SSD安全公告-vBulletin routestring未经验证的远程代码执行

Credit to Author: SSD / Maor Schwartz| Date: Sun, 31 Dec 2017 06:31:17 +0000

漏洞概要 以下安全公告描述了在vBulletin5中发现的一个未经身份验证的文件包含漏洞,成功利用该漏洞可造成远程代码执行。 vBulletin也称为vB,由vBulletin Solutions公司基于PHP和MySQL开发,广泛用于搭建网络论坛。 vBulletin为许多网络大型的社交网站提供技术支持,数量超过10万,其中包括财富500强和Alexa Top 1M公司的网站和论坛。根据最新的W3Techs1统计,vBulletin 4拥有超过55%的vBulletin市场份额,而vBulletin 3和vBulletin 5则占剩下的45%。 漏洞提交者 一位独立的安全研究人员向 Beyond Security 的 SSD 报告了该漏洞 厂商响应 自2017年11月21日起,我们多次尝试联系vBulletin,但是暂时没有得到回复。目前,漏洞暂时还没有解决方案。 漏洞详细信息 vBulletin存在一个漏洞,导致远程攻击者可以从vBulletin服务器中包含任意文件并执行PHP代码。 未经身份验证的用户可以向/index.php发送GET请求,然后使用参数routestring =触发文件包含漏洞。 该请求允许攻击者向安装在Windows操作系统上的Vbulletin服务器创建精心制作的请求,并在Web服务器上包含任意文件。 /index.php 部分代码: [crayon-5a496258a4faa266544584/] 让我们仔细看看vB5_Frontend_Application :: init — /includes/vb5/frontend/application.php部分代码: [crayon-5a496258a4fb1671370675/] 我们可以看到setRoutes()被调用 /includes/vb5/frontend/routing.php部分代码: [crayon-5a496258a4fb4744772041/] 因此,如果我们的字符串不以’.gif,‘.png’,’.jpg’,’.css’或者‘.js’结尾并且不包含’/’字符,vBulletin会从vB5_Frontend_Controller_Relay中调用legacy() /includes/vb5/frontend/controller/relay.php部分代码: [crayon-5a496258a4fbd144806678/] 如果我们从Api_Interface_Collapsed类中检查relay() /include/api/interface/collapsed.php部分代码: [crayon-5a496258a4fbf779937258/] 正如我们所看到的,攻击者无法在$文件中使用“/”,所以不能在Linux上更改当前目录。但是对于Windows而言,可以使用’’作为路径分隔符,通过PHP包含任意所需的文件(也可以使用’ .. ’技巧)。 如果我们想包含扩展名为’.gif’,’.png’,’.jpg’,’.css’或’.js’这样的文件,需要绕过setRoutes()方法里面的过滤,绕过很容易,可以通过添加点(’.’)或空格(’%20’)到文件名来绕过。 完整的漏洞证明 我们可以通过发送下面的GET请求来检查服务器是否有漏洞: /index.php?routestring=.\ 如果回显是: 那么服务器存在漏洞 如果我们想要在服务器上的任何文件中注入一个php代码,我们可以使用access.log例如: /?LogINJ_START=< ?php phpinfo();?>LogINJ_END … Continue reading SSD安全公告-vBulletin routestring未经验证的远程代码执行

Read more

SSD安全公告-QNAP QTS未经认证的远程代码执行漏洞

Credit to Author: SSD / Maor Schwartz| Date: Mon, 18 Dec 2017 08:04:57 +0000

漏洞概要 以下安全公告描述了QNAP QTS的一个内存损坏漏洞,成功利用该漏洞会造成QNAP QTS 4.3.x和4.2.x版本(包括4.3.3.0299)未经验证的远程代码执行。 威联通科技(QNAP Systems, Inc)专注于为企业,中小型企业,SOHO和家庭用户提供文件共享,虚拟化,存储管理和监控应用的网络解决方案。 QNAP QTS是标准的智能NAS操作系统,支持所有文件共享,存储,备份,虚拟化和多媒体QNAP设备。 漏洞提交者 一位安全研究者TRUEL IT(@truel_it)向 Beyond Security 的 SSD 报告了该漏洞 厂商响应 QNAP已被告知该漏洞,并回复:“我们已经确认这个问题与最近的另一份报告相同,并已经发布了CVE-2017-17033。 尽管这份报告是重复的,但我们仍然会在即将发布的安全公告中对两位报送者表示感谢。 同时,在即将发布的QTS 4.2.6和4.3.3版本中将修复该漏洞。” CVE: CVE-2017-17033 漏洞详细信息 由于缺乏适当的边界检查,可以通过特制的HTTP请求溢出堆栈缓冲区并劫持控制流以实现任意代码执行。 authLogin.cgi负责显示来自Web界面的系统信息,并且包含在用户提供的输入进行无限制的sprintf调用中。 authLogin.cgi二进制文件,位于QTS文件系统的/home/httpd/cgibin/目录中,可通过请求端点/cgi-bin/sysinfoReq.cgi进行访问。 该二进制文件是QTS的一部分,并充当几个功能的包装器。 易受攻击的调用位于handle_qpkg()(0x1C680)函数中,该函数由handle_sysInfoReq()(0x1D398)调用,以显示当前系统信息(型号名称,固件版本,ecc)。 [crayon-5a383ee2c6288334669193/] 通过向sysinfoReq.cgi发送一个HTTP请求,handle_sysInfoReq()(0x1D398)函数被触发,并且根据提供的参数,可以处理不同的进程步骤。 [crayon-5a383ee2c628f233726429/] 如果提供了qpkg HTTP参数,则调用handle_qpkg()(0x1C680)函数。 [crayon-5a383ee2c6292299287155/] handle_qpkg()函数不会验证用户提供的lang HTTP参数值。 正如上面的代码路径所示,未经身份验证的攻击者可以为所述参数提供任意大小的值,然后通过sprintf()函数调用将其连接到静态大小(堆栈)缓冲区上的现有字符串。 漏洞证明 通过发送以下POST请求,我们将使堆栈溢出并用XXXX覆盖qpkg_all_info缓冲区的值,并用YYYY覆盖handle_qpkg()参数返回地址的值,从而造成崩溃。 [crayon-5a383ee2c6295336007302/] 产生以下崩溃: [crayon-5a383ee2c629a114636077/]

Read more

SSD安全公告-Endian防火墙从存储型XSS到远程命令执行

Credit to Author: SSD / Maor Schwartz| Date: Mon, 11 Dec 2017 09:17:06 +0000

漏洞概要 以下安全公告描述了在Endian防火墙5.0.3版本中存在的一个存储型XSS漏洞,成功利用该漏洞可造成远程代码执行。 Endian防火墙是一个“专注Linux安全的发行版本,,它是一个独立的,统一的安全管理操作系统。 Endian防火墙基于强化的Linux操作系统。” 漏洞提交者 一位独立的安全研究者向 Beyond Security 的 SSD 报告了该漏洞 厂商响应 厂商已经发布针对该漏洞的补丁。获取更多信息: https://help.endian.com/hc/en-us/articles/115012996087 漏洞详细信息 Endian防火墙是基于Linux的防火墙/网关。 它使用不同的颜色来标记其trusted,untrusted 和DMZ网络: 绿色 – trusted网络 红色 – untrusted 网络 橙色 – DMZ 蓝色 – WiFi 用户可控的输入没有经过充分过滤,通过从untrusted 网络(红色)发送电子邮件到DMZ上的邮件服务器(橙色),Endian防火墙会把来自untrusted 网络的电子邮件隔离。 当来自trusted网络(绿色)的用户登录到Endian Firewall WebAdmin并检查隔离区中的电子邮件(Services > Mail Quarantine > quarantine)时,会执行存储型XSS脚本。 漏洞证明 配置环境 安装Endian防火墙虚拟机并设置防火墙网络接口为以下IP: 绿色 – 192.168.0.190 红色 – 192.168.0.192 设置以下密码: Web管理员(admin/Password1) SSH管理员(root/Password1) 连接Webadmin接口,添加ORANGE网络并更改GREEN … Continue reading SSD安全公告-Endian防火墙从存储型XSS到远程命令执行

Read more

SSD安全公告-Linux内核XFRM权限提升漏洞

Credit to Author: SSD / Maor Schwartz| Date: Mon, 11 Dec 2017 08:51:42 +0000

漏洞概要 以下安全公告描述了在Linux内核中发现的一个UAF漏洞,成功利用此漏洞的攻击者可以提升权限。漏洞存在于Netlink 套接字子系统 – XFRM. Netlink用于在内核和用户空间进程之间传输信息。 它由用户空间进程的标准基于套接字的接口和内核模块的内部内核API组成。 漏洞提交者 一位独立的安全研究员Mohamed Ghannam向Beyond Security的SSD报告了该漏洞 厂商响应 该漏洞已在补丁1137b5e中被修复(“ipsec:修复中止xfrm策略转储崩溃”) CVE: CVE-2017-16939 [crayon-5a2f0459e8bcf346519844/] 漏洞详细信息 非特权用户可以更改Netlink 套接字子系统 XFRM sk-> sk_rcvbuf的值(sk ==sock结构体对象)。 可以通过setsockopt(SO_RCVBUF)更改sk-> sk_rcvbuf的值为特定的范围。通过recvmsg/recv/read接收数据时,sk_rcvbuf表示接收缓冲区的大小。 sk_rcvbuf值是内核为skb(sk_buff结构体对象)分配的大小。 skb-> trusize是一个变量,它保持对已使用内存的追踪,为了避免内存浪费,方便管理,内核可以在运行时改变skb的大小。 例如,如果我们分配一个大的套接字缓冲区(skb),而我们只接收到1字节大小的数据包,内核将通过调用skb_set_owner_r来调整skb-> trusize的大小。 通过调用skb_set_owner_r修改sk-> sk_rmem_alloc(引用自原子变量sk-> sk_backlog.rmem_alloc)。 当创建XFRM netlink 套接字时,会调用xfrm_dump_policy函数,当我们关闭套接字时,xfrm_dump_policy_done会被调用。 当netlink_sock对象的cb_running值为true时调用xfrm_dump_policy_done。 xfrm_dump_policy_done会尝试清理由netlink_callback对象管理的xfrm walk条目。 当调用netlink_skb_set_owner_r(如skb_set_owner_r)时,它会更新sk_rmem_alloc。 netlink_dump(): 在上面的代码中,我们可以看到当sk-> sk_rcvbuf小于sk_rmem_alloc(注意我们可以通过stockpot控制sk-> sk_rcvbuf)时,netlink_dump()验证失败。 当满足sk-> sk_rcvbuf小于sk_rmem_alloc时,会跳转到函数的结尾,然而cb_running的值还没有被更改为false,netlink_dump()函数就返回了。 此时nlk-> cb_running为true,因此会调用xfrm_dump_policy_done()。 nlk-> cb.done指向xfrm_dump_policy_done,值得注意的是这个函数处理一个双向链表,所以如果利用这个漏洞引用一个可控的缓冲区,我们就可以实现任意内存读写。 漏洞证明 下面的代码在Ubuntu 17.04测试。 [crayon-5a2f0459e8bd9379864677/]

Read more