首页 > 其他分享 >Vulnhub--DriftingBlues-1靶机通关详解

Vulnhub--DriftingBlues-1靶机通关详解

时间:2024-03-26 17:29:07浏览次数:24  
标签:tmp 文件 getroot -- DriftingBlues 192.168 Vulnhub 权限 eric

目标信息

描述:
难度等级:简单
获取标志

get flags

difficulty: easy

about vm: tested and exported from virtualbox. dhcp and nested vtx/amdv enabled. you can contact me by email (it should be on my profile) for troubleshooting or questions.

前期准备:
靶机地址:https://vulnhub.com/entry/driftingblues-1,625/
kali攻击机ip:192.168.56.4
靶机ip:192.168.56.6

1)扫描端口以及ip

首先对当前网段进行一个快速扫描

sudo arp-scan -I eth0 192.168.56.0/24
	mac地址做一个比对
	192.168.56.6

image.png
详细扫描

nmap -A -p- -sC -T4 192.168.56.6 -oN nmap.A

image.png
扫描结果:

  1. 端口信息:
    • 端口22/tcp: 开放,运行SSH服务。
      • 版本:OpenSSH 7.2p2 Ubuntu 4ubuntu2.10
      • SSH主机密钥:RSA、ECDSA、ED25519
    • 端口80/tcp: 开放,运行HTTP服务。
      • 版本:Apache httpd 2.4.18(Ubuntu)
      • HTTP服务器标头:Apache/2.4.18(Ubuntu)
      • HTTP标题:Drifting Blues Tech
  2. 服务信息:
    • 操作系统: Linux
    • CPE(通用平台枚举): cpe:/o:linux:linux_kernel
  3. 服务检测: 扫描包含服务检测,以识别开放端口上运行的服务。
  4. 注意: 输出未显示关闭的TCP端口的结果,但提到有65533个关闭端口,状态为连接拒绝。
网站首页

http://192.168.56.6/
image.png

网站首页一大段英文,仔细一看,有两个邮箱信息
image.png|525

sheryl@driftingblues.box  
eric@driftingblues.box

查看网站源码,发现一个使用base64加密的隐藏数据,解密为/noteforkingfish.txt

<!-- L25vdGVmb3JraW5nZmlzaC50eHQ= -->

image.png
在线base64解密
image.png
访问/noteforkingfish.txt可以看到一个加密的数据,使用Ook!编码。
image.png

解密得到提示:如何使用host文件到达我们的秘密位置,解密网站: splitbrain.org
image.png

my man, i know you are new but you should know how to use host file to reach our secret location. -eric

翻译英语
image.png|500

提示很明显, 本地dns解析
根据提示修改hosts文件,网站里唯一出现的域名添加上去

vim /etc/hosts
192.168.56.6 driftingblues.box

image.png|500
image.png
但是加入后访问和原来的一样,看到提示中有host file,考虑可能需要添加子域名

2)扫描敏感目录

我们这里使用gobuster进行本地域名扫描

gobuster vhost -u driftingblues.box -w /usr/share/dirbuster/wordlists/directory-list-2.3-medium.txt | grep "Status: 200"

image.png
继续添加到hosts中
test.driftingblues.box
image.png|500
访问子域名结果如下
image.png
得到提示,方向是正确的,有没有发现eric一直有在出现,可能为有用信息

这下用dirb对子域名进行一目录扫描

dirb http://test.driftingblues.box

看到了robots.txt文件,对这个文件进行访问
image.png
访问ssh_cred.txt文件
出现一串英文
image.png
翻译查看
image.png
提示信息给出了ssh的密码为1mw4ckyyucky(12位)加上一个数字,我们就可以使用crunch命令生成字典进行爆破

3)漏洞探测

crunch 13 13 -t 1mw4ckyyucky% > password.txt

image.png
上面一直出现eric这个英文,猜测他为用户名

hydra -l eric -P password.txt ssh://192.168.56.6 -V 

image.png
得出密码1mw4ckyyucky6

4)漏洞利用

到了ssh账户密码,接下来进行ssh登录

ssh eric@192.168.56.6
1mw4ckyyucky6

image.png|475

sudo -l 看一下
发现权限很低,不能进行提权
image.png

查看权限和SUID文件:

find / -perm -u=s -type f 2> /dev/null -exec ls -ldb {} \;

image.png|500
suid文件也没发现可以利用的

5)提权

只能在靶机内部尝试找到存在root权限执行的文件或者脚本.

第一个flag
image.png

四处翻找文件,根据提示发现在/var/backups文件夹下有backup.sh文件,该文件在/tmp创建backip.zip备份文件,并且backip.zip文件是root权限的文件
image.png|500
查看这个.sh文件
image.png|500
尝试执行backup.sh失败,权限不够
看了一下tmp目录下的backuip.zip这个压缩包创建时间大胆猜测靶机有计划任务每隔一段时间执行backup.sh文件,且为root用户
image.png|500
可以根据backup.sh文件会执行sudo /tmp/emergency命令,在tmp文件夹下创建一个emergency文件进行提权

echo 'cp /bin/bash /tmp/getroot; chmod +s /tmp/getroot' > /tmp/emergency
chmod +x emergency
  1. cp /bin/bash /tmp/getroot: 复制系统中的 Bash 可执行文件到 /tmp 目录,并将其命名为 getroot
  2. chmod +s /tmp/getroot: 对 /tmp/getroot 文件设置 SetUID 位,允许以该文件所有者的权限执行,即拥有 root 权限的用户运行 /tmp/getroot 将拥有 root 权限。
  3. 使用 chmod +x 命令将 /tmp/emergency 文件设置为可执行。
    image.png|500
./getroot -p

使用 sudo ./getroot -p 命令以超级用户权限运行 /tmp/getroot 文件,并传递 -p 参数
此时已经是root权限了
拿到第二个flag
image.png|500

也可以将eric用户加入sudo组,然后sudo提权

echo " echo 'eric ALL=(ALL:ALL) ALL' >> /etc/sudoers" > /tmp/emergency

image.png

靶机渗透总结:

1.自动任务提权的思路
2.gobuster工具爆破子域名
3.crunch 生成密码列表的命令行工具的使用

标签:tmp,文件,getroot,--,DriftingBlues,192.168,Vulnhub,权限,eric
From: https://blog.csdn.net/m0_72634167/article/details/136911908

相关文章

  • java----------------------按位运算
    在日常开发中位运算不会很常用到,如果能够巧妙的使用位运算可以大量减少运行开销,优化算法。在java中一共有七种位运算符1.&:按位与两个操作数对应位同为1时,结果为1,其余全为0。(或者是只要有一个操作数为0,结果就为0)。将2个操作数和结果都转换为二进制进行比较:5转换为二进制:00000......
  • NVIDIA 创始人黄仁勋谈创建公司的最初6个月 —— 不要去写商业计划书
    地址:https://www.youtube.com/watch?v=yU3GUHDf0mk......
  • 聊聊多模态大模型处理的思考
    转载请注明出处:https://www.cnblogs.com/zhiyong-ITNote多模态:文本、音频、视频、图像等多形态的展现形式。目前部门内业务要求领域大模型需要是多模态——支持音频/文本。从个人思考的角度来审视下,审视下多模态大模型的实现方式。首先就要区分输入与输出,即输入的模态与输出......
  • Go使用rocketmq实现分布式事务-demo
    本示例只是demo,没有接入mysqlrocketmq自行安装severpackagemainimport( "context" "fmt" "github.com/apache/rocketmq-client-go/v2" "github.com/apache/rocketmq-client-go/v2/primitive" "github.com/apache/rocketmq-clien......
  • 【一】了解计算机的原理以及Python
    【一】编程和编程语言是什么【1】什么是编程编程其实就是将人类的语言转换为计算机能识别的语言【2】什么是编程语言人和人之间都会进行交流人和人之间交流的媒介就是语言编程语言就是人与计算机之间进行交流的语言【3】为什么要出现编程语言最根本的原因就是计算机......
  • 项目-Air780阿里云报警板测试说明
     程序下载1,打开这节的程序 2,在阿里云物联网平台上注册产品和添加设备,点击查看设备   2,根据查看的信息修改程序  3,打开Luatools 4,打开Luatools 5,创建一个项目,名随意  6,选择底层core  7,选择程序   8,下载程序(第一次......
  • 交换原理
    交换原理数据在计算机网络中从源到目的地,中间要经过链路以及交换节点交换节点有链路层交换机(Switch)以及路由器(Router)数据具体是如何进行交换的?计算机和因特网开端可以追溯到电话网,一种采用电路交换的通信网络,然后由于计算机和因特网的发展,其用户产生的流量具有突发性,即活动的......
  • 子网划分
    1、子网划分的原因满足不同网络对IP地址的需求;实现网络的层次性;节省IP地址。IP地址分为:有类地址;无类地址2、子网划分VLSM:允许把子网继续划分为更小的子网掩码对应的子网数:1)先根据IP地址的有类类型来判断n的值(A类为掩码-8,B类为掩码-16,C类为掩码-24)        ......
  • 探寻UUID的起源与奥秘:从时间戳到唯一标识
    1.UUID起源与原理UUID(UniversallyUniqueIdentifier)是一种唯一标识符,最初由Apollo计算机公司的软件工程师RoedyGreen在1987年提出。其原理是基于时间戳、节点标识、时钟序列和随机数生成唯一标识。UUID/GUID生成器|一个覆盖广泛主题工具的高效在线平台(amd794.com)htt......
  • Linux V4l2简单使用
    V4L2:VideoforLinuxtwo,缩写Video4Linux2,是Linux内核中的一个框架,提供了一套用于视频设备驱动程序开发的API。它是一个开放的、通用的、模块化的视频设备驱动程序框架,允许Linux操作系统和应用程序与各种视频设备(如摄像头、视频采集卡等)进行交互。V4L2提供了通用的API,使......