QNAP NAS在野漏洞攻击事件

本文作者：马延龙，叶根深，金晔



背景介绍


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