QNAP NAS在野漏洞攻击事件
<!--kg-card-begin: markdown--><p><em>本文作者：<a href="https://twitter.com/_O_owl">马延龙</a>，<a href="https://twitter.com/zom3y3">叶根深</a>，<a href="https://twitter.com/SethKingHi">金晔</a></em></p>
<h3 id="">背景介绍</h3>
<p>2020年4月21号开始，360Netlab未知威胁检测系统监测到有攻击者使用QNAP NAS设备漏洞，攻击我们的Anglerfish蜜罐节点。我们看到这个漏洞PoC并没有在互联网上公布，攻击者在漏洞利用过程中相对谨慎，互联网上也仍有一些未修复漏洞的QNAP NAS设备。因此，我们需要披露这个漏洞攻击事件，并提醒安全社区和QNAP NAS用户，避免受到此类漏洞攻击。</p>
<h3 id="">漏洞分析</h3>
<p>漏洞类型: 未授权远程命令执行漏洞<br>
漏洞原因: 通过360 FirmwareTotal系统分析，我们发现这个漏洞出现CGI程序<code>/httpd/cgi-bin/authLogout.cgi</code>中。它在处理用户注销登录时，会根据Cookie中字段名称选择相应的注销登录函数。其中<code>QPS_SID</code>，<code>QMS_SID</code>和<code>QMMS_SID</code>注销登录函数未过滤特殊字符即使用<code>snprintf</code>函数拼接<code>curl</code>命令字符串并使用<code>system</code>函数直接执行，所以造成命令注入。</p>
<p>漏洞修复：在2017年7月21号，我们发现QNAP发布固件版本4.3.3修复了这个漏洞。修复后的固件中使用<code>qnap_exec</code>函数替换了原来的<code>system</code>函数。其中<code>qnap_exec</code>函数在<code> /usr/lib/libuLinux_Util.so.0.0</code>中定义，通过调用<code>execv</code>函数执行自定义命令，避免命令注入。<br>
<a href="__GHOST_URL__/content/images/2020/08/bug_fix.png"><img src="__GHOST_URL__/content/images/2020/08/bug_fix.png" class="kg-image"/></a></p>
<h3 id="">攻击者行为分析</h3>
<p>我们共捕获到2个攻击者IP <code>219.85.109.140</code>和 <code>103.209.253.252</code>使用完全一样的Payload，漏洞攻击成功后会通过wget请求<code>http://165.227.39.105:8096/aaa</code>文件。</p>
<p>这个攻击者不像常规的Botnet一样自动化地植入Bot程序，整个攻击过程看起来也不是完全自动化执行的，根据目前的线索，我们还不清楚攻击者的真实目的。</p>
<p>我们在<code>165.227.39.105:8096</code>下载网站上发现其他2个文本文件<code>.sl</code>和<code>rv</code>。其中<code>.sl</code>文件是2行未知的字符串。</p>
<pre><code>IvHVFqkpELqvuN@WK
IvHVFqkpJEqr|DNWLr
</code></pre>
<p><code>rv</code>文件是一个bash反弹shell脚本，控制地址为<code>165.227.39.105</code>,端口为<code>TCP/1234</code>。</p>
<p>此外，我们通过端口探测，发现<code>165.227.39.105</code>运行了SSH，Metasploit，Apache httpd等服务。</p>
<pre><code>Discovered open port 9393/tcp on 165.227.39.105 //SSH
Discovered open port 5678/tcp on 165.227.39.105 //Unknown
Discovered open port 3790/tcp on 165.227.39.105 //Metasploit
Discovered open port 80/tcp on 165.227.39.105   //Apache httpd
</code></pre>
<h3 id="">时间线</h3>
<pre><code>2020年5月13号，我们邮件联系QNAP厂商并报告了漏洞详情以及在野攻击PoC。
2020年8月12号，QNAP PSIRT联络人邮件回复该漏洞已经修复并释出安全性更新，但在网络中此类攻击仍然存在。
</code></pre>
<h3 id="">已知受影响固件列表</h3>
<pre><code>HS-210_20160304-4.2.0
HS-251_20160304-4.2.0
SS-439_20160304-4.2.0
SS-2479U_20160130-4.2.0
TS-119_20160304-4.2.0
TS-210_20160304-4.2.0
TS-219_20160304-4.2.0
TS-221_20160304-4.2.0
TS-239H_20160304-4.2.0
TS-239PROII_20160304-4.2.0
TS-239_20160304-4.2.0
TS-269_20160304-4.2.0
TS-410U_20160304-4.2.0
TS-410_20160304-4.2.0
TS-412U_20160304-4.2.0
TS-419P_20160304-4.2.0
TS-419U_20160304-4.2.0
TS-420U_20160304-4.2.0
TS-421U_20160304-4.2.0
TS-439PROII_20160119-4.2.0
TS-439PROII_20160304-4.2.0
TS-439_20160304-4.2.0
TS-459U_20160119-4.2.0
TS-459U_20160304-4.2.0
TS-459_20160304-4.2.0
TS-469U_20160304-4.2.0
TS-509_20160304-4.2.0
TS-559_20160304-4.2.0
TS-563_20160130-4.2.0
TS-659_20140927-4.1.1
TS-659_20160304-4.2.0
TS-669_20160304-4.2.0
TS-809_20160304-4.2.0
TS-859U_20160304-4.2.0
TS-869_20160304-4.2.0
TS-870U_20160119-4.2.0
TS-870U_20160304-4.2.0
TS-870_20160130-4.2.0
TS-879_20160130-4.2.0
TS-1079_20160119-4.2.0
TS-1269U_20160304-4.2.0
TS-1270U_20160304-4.2.0
TS-1679U_20160304-4.2.0
TS-X51U_20160304-4.2.0
TS-X51_20160304-4.2.0
TS-X53U_20160304-4.2.0
TS-X53U_20161028-4.2.2
TS-X53U_20161102-4.2.2
TS-X53U_20161214-4.2.2
TS-X53U_20170313-4.2.4
TS-X53_20160304-4.2.0
TS-X63U_20161102-4.2.2
TS-X63U_20170313-4.2.4
TS-X80U_20160304-4.2.0
TS-X80_20160130-4.2.0
TS-X80_20160304-4.2.0
TS-X80_20161102-4.2.2
TS-X82_20161208-4.2.2
TS-X82_20170313-4.2.4
TVS-X63_20160130-4.2.0
TVS-X63_20160304-4.2.0
TVS-X63_20160823-4.2.2
TVS-X63_20160901-4.2.2
TVS-X63_20161028-4.2.2
TVS-X63_20161102-4.2.2
TVS-X63_20170121-4.2.3
TVS-X63_20170213-4.2.3
TVS-X63_20170313-4.2.4
TVS-X71U_20161208-4.2.2
TVS-X71_20160130-4.2.0
TVS-X71_20160304-4.2.0
TVS-X71_20161214-4.2.2
TVS-X71_20170313-4.2.4
</code></pre>
<h3 id="">处置建议</h3>
<p>我们建议QNAP NAS用户及时检查并更新固件系统，同时检查是否存在异常进程和网络连接。<br>
我们建议读者对相关IP和URL进行监控和封锁。</p>
<h3 id="">联系我们</h3>
<p>感兴趣的读者，可以在 <a href="https://twitter.com/360Netlab"><strong>twitter</strong></a> 或者通过邮件<strong>netlab[at]360.cn</strong>联系我们。</p>
<h3 id="ioc">IoC</h3>
<p>Scanner IP</p>
<pre><code>219.85.109.140      	Taiwan              	ASN18182            	Sony Network Taiwan Limited
103.209.253.252     	United States        	ASN33438            	Highwinds Network Group, Inc.
</code></pre>
<p>Downloader IP</p>
<pre><code>165.227.39.105      	Canada              	ASN14061            	DigitalOcean, LLC
</code></pre>
<p>URL</p>
<pre><code>http://165.227.39.105:8096/.sl
http://165.227.39.105:8096/rv
http://165.227.39.105:8096/aaa
</code></pre>
<!--kg-card-end: markdown-->
本文作者：马延龙，叶根深，金晔



背景介绍


2020年4月21号开始，360Netlab未知威胁检测系统监测到有攻击者使用QNAP NAS设备漏洞，攻击我们的Anglerfish蜜罐节点。我们看到这个漏洞PoC并没有在互联网上公布，攻击者在漏洞利用过程中相对谨慎，互联网上也仍有一些未修复漏洞的QNAP NAS设备。因此，我们需要披露这个漏洞攻击事件，并提醒安全社区和QNAP NAS用户，避免受到此类漏洞攻击。



漏洞分析


漏洞类型: 未授权远程命令执行漏洞

漏洞原因: 通过360 FirmwareTotal系统分析，我们发现这个漏洞出现CGI程序/httpd/cgi-bin/authLogout.cgi中。它在处理用户注销登录时，会根据Cookie中字段名称选择相应的注销登录函数。其中QPS_SID，QMS_SID和QMMS_SID注销登录函数未过滤特殊字符即使用snprintf函数拼接curl命令字符串并使用system函数直接执行，所以造成命令注入。


漏洞修复：在2017年7月21号，我们发现QNAP发布固件版本4.3.3修复了这个漏洞。修复后的固件中使用qnap_exec函数替换了原来的system函数。其中qnap_exec函数在 /usr/lib/libuLinux_Util.so.0.0中定义，通过调用execv函数执行自定义命令，避免命令注入。





攻击者行为分析


我们共捕获到2个攻击者IP 219.85.109.140和 103.209.253.252使用完全一样的Payload，漏洞攻击成功后会通过wget请求http://165.227.39.105:8096/aaa文件。


这个攻击者不像常规的Botnet一样自动化地植入Bot程序，整个攻击过程看起来也不是完全自动化执行的，根据目前的线索，我们还不清楚攻击者的真实目的。


我们在165.227.39.105:8096下载网站上发现其他2个文本文件.sl和rv。其中.sl文件是2行未知的字符串。


IvHVFqkpELqvuN@WK
IvHVFqkpJEqr|DNWLr



rv文件是一个bash反弹shell脚本，控制地址为165.227.39.105,端口为TCP/1234。


此外，我们通过端口探测，发现165.227.39.105运行了SSH，Metasploit，Apache httpd等服务。


Discovered open port 9393/tcp on 165.227.39.105 //SSH
Discovered open port 5678/tcp on 165.227.39.105 //Unknown
Discovered open port 3790/tcp on 165.227.39.105 //Metasploit
Discovered open port 80/tcp on 165.227.39.105   //Apache httpd




时间线


2020年5月13号，我们邮件联系QNAP厂商并报告了漏洞详情以及在野攻击PoC。
2020年8月12号，QNAP PSIRT联络人邮件回复该漏洞已经修复并释出安全性更新，但在网络中此类攻击仍然存在。




已知受影响固件列表


HS-210_20160304-4.2.0
HS-251_20160304-4.2.0
SS-439_20160304-4.2.0
SS-2479U_20160130-4.2.0
TS-119_20160304-4.2.0
TS-210_20160304-4.2.0
TS-219_20160304-4.2.0
TS-221_20160304-4.2.0
TS-239H_20160304-4.2.0
TS-239PROII_20160304-4.2.0
TS-239_20160304-4.2.0
TS-269_20160304-4.2.0
TS-410U_20160304-4.2.0
TS-410_20160304-4.2.0
TS-412U_20160304-4.2.0
TS-419P_20160304-4.2.0
TS-419U_20160304-4.2.0
TS-420U_20160304-4.2.0
TS-421U_20160304-4.2.0
TS-439PROII_20160119-4.2.0
TS-439PROII_20160304-4.2.0
TS-439_20160304-4.2.0
TS-459U_20160119-4.2.0
TS-459U_20160304-4.2.0
TS-459_20160304-4.2.0
TS-469U_20160304-4.2.0
TS-509_20160304-4.2.0
TS-559_20160304-4.2.0
TS-563_20160130-4.2.0
TS-659_20140927-4.1.1
TS-659_20160304-4.2.0
TS-669_20160304-4.2.0
TS-809_20160304-4.2.0
TS-859U_20160304-4.2.0
TS-869_20160304-4.2.0
TS-870U_20160119-4.2.0
TS-870U_20160304-4.2.0
TS-870_20160130-4.2.0
TS-879_20160130-4.2.0
TS-1079_20160119-4.2.0
TS-1269U_20160304-4.2.0
TS-1270U_20160304-4.2.0
TS-1679U_20160304-4.2.0
TS-X51U_20160304-4.2.0
TS-X51_20160304-4.2.0
TS-X53U_20160304-4.2.0
TS-X53U_20161028-4.2.2
TS-X53U_20161102-4.2.2
TS-X53U_20161214-4.2.2
TS-X53U_20170313-4.2.4
TS-X53_20160304-4.2.0
TS-X63U_20161102-4.2.2
TS-X63U_20170313-4.2.4
TS-X80U_20160304-4.2.0
TS-X80_20160130-4.2.0
TS-X80_20160304-4.2.0
TS-X80_20161102-4.2.2
TS-X82_20161208-4.2.2
TS-X82_20170313-4.2.4
TVS-X63_20160130-4.2.0
TVS-X63_20160304-4.2.0
TVS-X63_20160823-4.2.2
TVS-X63_20160901-4.2.2
TVS-X63_20161028-4.2.2
TVS-X63_20161102-4.2.2
TVS-X63_20170121-4.2.3
TVS-X63_20170213-4.2.3
TVS-X63_20170313-4.2.4
TVS-X71U_20161208-4.2.2
TVS-X71_20160130-4.2.0
TVS-X71_20160304-4.2.0
TVS-X71_20161214-4.2.2
TVS-X71_20170313-4.2.4




处置建议


我们建议QNAP NAS用户及时检查并更新固件系统，同时检查是否存在异常进程和网络连接。

我们建议读者对相关IP和URL进行监控和封锁。



联系我们


感兴趣的读者，可以在 twitter 或者通过邮件netlab[at]360.cn联系我们。



IoC


Scanner IP


219.85.109.140      	Taiwan              	ASN18182            	Sony Network Taiwan Limited
103.209.253.252     	United States        	ASN33438            	Highwinds Network Group, Inc.



Downloader IP


165.227.39.105      	Canada              	ASN14061            	DigitalOcean, LLC



URL


http://165.227.39.105:8096/.sl
http://165.227.39.105:8096/rv
http://165.227.39.105:8096/aaa


{"version":"0.3.1","atoms":[],"cards":[["markdown",{"markdown":"*本文作者：[马延龙](https://twitter.com/_O_owl)，[叶根深](https://twitter.com/zom3y3)，[金晔](https://twitter.com/SethKingHi)*\n### 背景介绍\n2020年4月21号开始，360Netlab未知威胁检测系统监测到有攻击者使用QNAP NAS设备漏洞，攻击我们的Anglerfish蜜罐节点。我们看到这个漏洞PoC并没有在互联网上公布，攻击者在漏洞利用过程中相对谨慎，互联网上也仍有一些未修复漏洞的QNAP NAS设备。因此，我们需要披露这个漏洞攻击事件，并提醒安全社区和QNAP NAS用户，避免受到此类漏洞攻击。\n\n### 漏洞分析\n漏洞类型: 未授权远程命令执行漏洞\n漏洞原因: 通过360 FirmwareTotal系统分析，我们发现这个漏洞出现CGI程序`/httpd/cgi-bin/authLogout.cgi`中。它在处理用户注销登录时，会根据Cookie中字段名称选择相应的注销登录函数。其中`QPS_SID`，`QMS_SID`和`QMMS_SID`注销登录函数未过滤特殊字符即使用`snprintf`函数拼接`curl`命令字符串并使用`system`函数直接执行，所以造成命令注入。\n\n漏洞修复：在2017年7月21号，我们发现QNAP发布固件版本4.3.3修复了这个漏洞。修复后的固件中使用`qnap_exec`函数替换了原来的`system`函数。其中`qnap_exec`函数在` /usr/lib/libuLinux_Util.so.0.0`中定义，通过调用`execv`函数执行自定义命令，避免命令注入。\n<a href=\"__GHOST_URL__/content/images/2020/08/bug_fix.png\"><img src=\"__GHOST_URL__/content/images/2020/08/bug_fix.png\" class=\"kg-image\"/></a>\n\n### 攻击者行为分析\n我们共捕获到2个攻击者IP `219.85.109.140`和 `103.209.253.252`使用完全一样的Payload，漏洞攻击成功后会通过wget请求`http://165.227.39.105:8096/aaa`文件。\n\n这个攻击者不像常规的Botnet一样自动化地植入Bot程序，整个攻击过程看起来也不是完全自动化执行的，根据目前的线索，我们还不清楚攻击者的真实目的。\n\n我们在`165.227.39.105:8096`下载网站上发现其他2个文本文件`.sl`和`rv`。其中`.sl`文件是2行未知的字符串。\n```\nIvHVFqkpELqvuN@WK\nIvHVFqkpJEqr|DNWLr\n```\n`rv`文件是一个bash反弹shell脚本，控制地址为`165.227.39.105`,端口为`TCP/1234`。\n\n此外，我们通过端口探测，发现`165.227.39.105`运行了SSH，Metasploit，Apache httpd等服务。\n```\nDiscovered open port 9393/tcp on 165.227.39.105 //SSH\nDiscovered open port 5678/tcp on 165.227.39.105 //Unknown\nDiscovered open port 3790/tcp on 165.227.39.105 //Metasploit\nDiscovered open port 80/tcp on 165.227.39.105   //Apache httpd\n```\n\n\n### 时间线\n```\n2020年5月13号，我们邮件联系QNAP厂商并报告了漏洞详情以及在野攻击PoC。\n2020年8月12号，QNAP PSIRT联络人邮件回复该漏洞已经修复并释出安全性更新，但在网络中此类攻击仍然存在。\n```\n\n### 已知受影响固件列表\n```\nHS-210_20160304-4.2.0\nHS-251_20160304-4.2.0\nSS-439_20160304-4.2.0\nSS-2479U_20160130-4.2.0\nTS-119_20160304-4.2.0\nTS-210_20160304-4.2.0\nTS-219_20160304-4.2.0\nTS-221_20160304-4.2.0\nTS-239H_20160304-4.2.0\nTS-239PROII_20160304-4.2.0\nTS-239_20160304-4.2.0\nTS-269_20160304-4.2.0\nTS-410U_20160304-4.2.0\nTS-410_20160304-4.2.0\nTS-412U_20160304-4.2.0\nTS-419P_20160304-4.2.0\nTS-419U_20160304-4.2.0\nTS-420U_20160304-4.2.0\nTS-421U_20160304-4.2.0\nTS-439PROII_20160119-4.2.0\nTS-439PROII_20160304-4.2.0\nTS-439_20160304-4.2.0\nTS-459U_20160119-4.2.0\nTS-459U_20160304-4.2.0\nTS-459_20160304-4.2.0\nTS-469U_20160304-4.2.0\nTS-509_20160304-4.2.0\nTS-559_20160304-4.2.0\nTS-563_20160130-4.2.0\nTS-659_20140927-4.1.1\nTS-659_20160304-4.2.0\nTS-669_20160304-4.2.0\nTS-809_20160304-4.2.0\nTS-859U_20160304-4.2.0\nTS-869_20160304-4.2.0\nTS-870U_20160119-4.2.0\nTS-870U_20160304-4.2.0\nTS-870_20160130-4.2.0\nTS-879_20160130-4.2.0\nTS-1079_20160119-4.2.0\nTS-1269U_20160304-4.2.0\nTS-1270U_20160304-4.2.0\nTS-1679U_20160304-4.2.0\nTS-X51U_20160304-4.2.0\nTS-X51_20160304-4.2.0\nTS-X53U_20160304-4.2.0\nTS-X53U_20161028-4.2.2\nTS-X53U_20161102-4.2.2\nTS-X53U_20161214-4.2.2\nTS-X53U_20170313-4.2.4\nTS-X53_20160304-4.2.0\nTS-X63U_20161102-4.2.2\nTS-X63U_20170313-4.2.4\nTS-X80U_20160304-4.2.0\nTS-X80_20160130-4.2.0\nTS-X80_20160304-4.2.0\nTS-X80_20161102-4.2.2\nTS-X82_20161208-4.2.2\nTS-X82_20170313-4.2.4\nTVS-X63_20160130-4.2.0\nTVS-X63_20160304-4.2.0\nTVS-X63_20160823-4.2.2\nTVS-X63_20160901-4.2.2\nTVS-X63_20161028-4.2.2\nTVS-X63_20161102-4.2.2\nTVS-X63_20170121-4.2.3\nTVS-X63_20170213-4.2.3\nTVS-X63_20170313-4.2.4\nTVS-X71U_20161208-4.2.2\nTVS-X71_20160130-4.2.0\nTVS-X71_20160304-4.2.0\nTVS-X71_20161214-4.2.2\nTVS-X71_20170313-4.2.4\n```\n\n### 处置建议\n我们建议QNAP NAS用户及时检查并更新固件系统，同时检查是否存在异常进程和网络连接。\n我们建议读者对相关IP和URL进行监控和封锁。\n\n### 联系我们\n感兴趣的读者，可以在 [**twitter**](https://twitter.com/360Netlab) 或者通过邮件**netlab[at]360.cn**联系我们。\n\n\n### IoC\nScanner IP\n```\n219.85.109.140      \tTaiwan              \tASN18182            \tSony Network Taiwan Limited\n103.209.253.252     \tUnited States        \tASN33438            \tHighwinds Network Group, Inc.\n```\nDownloader IP\n```\n165.227.39.105      \tCanada              \tASN14061            \tDigitalOcean, LLC\n```\n\nURL\n```\nhttp://165.227.39.105:8096/.sl\nhttp://165.227.39.105:8096/rv\nhttp://165.227.39.105:8096/aaa\n```\n\n\n"}]],"markups":[],"sections":[[10,0],[1,"p",[]]],"ghostVersion":"3.0"}