微慑信息网

rtorrent 的 XML-RPC 存在可利用漏洞

国外网站 arstechnica 发表了一篇文章,称有黑客利用 rtorrent 的漏洞,在受害者服务器上安装挖矿工具,赚了3900美元。

这个漏洞和最近 uTorrent、Transmission 爆出的漏洞类似。rtorrent 使用了 XML-RPC 这个软件来实现 web-ui 服务,而使用 TCP sockets 方式配置的 RPC,不需要任何验证就可以执行 shell 命令。

这个漏洞比 uTorrent 和 Transmission 的更严重,因为不用像 uTorrent 那样必须和用户产生交互。


XML-RPC 的配置有两种常见的方法: TCP sockets 和 UNIX sockets

1.

  • TCP sockets:
    1
    2
    httpd.conf: SCGIMount /RPC2 127.0.0.1:5000
    rtorrent.rc: scgi_port = localhost:5000
  • TCP sockets 方式在 Nginx 的配置:
    1
    2
    3
    4
    5
    location /RPC2 {
    scgi_pass 127.0.0.1:5000;
    include scgi_vars;
    scgi_var SCRIPT_NAME /RPC2;
    }

2.

  • UNIX sockets:
    1
    scgi_local = /tmp/rpc.socket
  • UNIX sockets 方式在 Nginx 的配置:
    1
    2
    3
    4
    location /RPC2 {
    include scgi_params;
    scgi_pass unix:///tmp/rpc.socket;
    }

其实在很早以前 rtorrent 官网的配置说明中就不推荐使用 TCP sockets 的方法,在 rtorrent 的 wiki 和 archlinux 的 wiki 也都注明了漏洞的相关警告。

但是目前网上还有很多教程在配置 Nginx 时使用的是 TCP sockets。如果你是按照网络教程安装的 rtorrent ,可检查 Nginx 或其他web服务程序的配置文件,以及观察服务器 CPU 使用率是否异常。

如果你需要把 Nginx 的 RPC 配置改成 UNIX sockets 方式,可以参考这篇文章:rTorrent + ruTorrent 安装和配置

还有一部分人可能用的是 github 上面的一键脚本 arakasi72/rtinst,这个脚本默认使用 rutorrent 的 RPC Plugin 来和 rtorrent 通信,并且启用了 Nginx 的登录验证,目前不会受到此漏洞影响。


参考资料:

赞(0) 打赏
转载请附本站链接,未经允许不得转载,,谢谢:微慑信息网-VulSee.com » rtorrent 的 XML-RPC 存在可利用漏洞

评论 抢沙发

微慑信息网 专注工匠精神

微慑信息网-VulSee.com-关注前沿安全态势,聚合网络安全漏洞信息,分享安全文档案例

访问我们联系我们

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续提供更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫打赏

微信扫一扫打赏

登录

找回密码

注册