首页 > 其他分享 >vulnhub-DC-1详细笔记

vulnhub-DC-1详细笔记

时间:2024-11-12 17:15:43浏览次数:3  
标签:bin 命令 SUID DC 笔记 提权 vulnhub root find

1.靶机DC-1和kali开启nat模式

2.kali扫描同一子网段的存活主机

3.确定了靶机的ip为192.168.137.130,在来一遍详扫

4.发现web资产

5.使用wapp查看资产

6.查看有没有Drupal 7的漏洞

7.发现有该漏洞,那我们就使用msf利用该漏洞,search drupal 7查询漏洞,然后一个个尝试

编号为0的不可用

那就编号为1的

发现创建了会话

8.执行后渗透攻击

建立shell,查看到有python

所以我们用 python -c 'import pty;pty.spawn("/bin/bash")'生成一个交互式shell

9.寻找一个最高权限的文件,准备提权 find / -perm -u=s

因为这里有一个/usr/bin/find文件,我们尝试一下find提权

find . -exec /bin/sh \; -quit

这里讲一下find提权的原理

SUID 权限:SUID(Set User ID)是 Linux 文件权限中的一个特殊位。如果一个文件具有 SUID 位,并且该文件由 root 拥有,那么当其他用户执行该文件时,他们会临时获得文件拥有者的权限(即 root 权限)。

find 命令的 SUID 位:在一些系统中,如果 find 命令文件本身设置了 SUID 位,且由 root 用户拥有,那么在非特权用户(普通用户)执行带有 -exec 选项的 find 命令时,-exec 所调用的命令将以 root 的身份执行。

提权过程:当执行 find . -exec /bin/sh \; -quit 时,find 命令以 root 权限执行了 /bin/sh,这将启动一个具有 root 权限的 shell,从而实现了提权。

  • find .:在当前目录(.)下执行查找操作,find 命令在查找文件时会遍历指定的目录。
  • -exec /bin/sh \;:对于 find 命令找到的第一个文件,执行指定的操作。在这个例子中,它执行的是 /bin/sh,即启动一个新的 shell 实例。-exec 后的命令必须用分号(\;)结束,以标记 find 命令的结束。
  • -quit:在找到第一个匹配的文件后立即退出。这样可以节省系统资源,防止命令继续递归查找。

这个命令的提权成功与否,取决于 find 命令是否具有 SUID 位。如果 find 没有 SUID 位,那么该命令仅会以普通用户的权限执行,无法实现提权。

10.查找flag

发现第一个flag,查看发现它说每个好的CMS都需要一个配置文件

那因为该靶机的CMS是drupal 7,所以我们上网搜索一下drupal的配置文件

11.所以cat sites/default/settings.php,然后找到了flag2,还买一送一,给了我们一些MySQL的关键信息

12.连接数据库 mysql -u dbuser -p 然后输入密码就行了

查数据库 show databases;

使用drupaldb查表 1.use drupaldb 2.show tables;

找到了用户表

直接查询表中信息,得到两个用户,但是密码加密了

12.我们尝试直接改密码

发现成功了,然后去登录

显示我们密码不正确,我们再查表,发现密码确实改了,但是又被加密了

我们退出去,查找一下password的相关文件,看能不能找到线索

可以看到有一个hash.sh的文件,我们尝试用该脚本加密一下我们的密码

再登入MySQL,然后改密码,这一次可以登入了

13.找到flag3

还给了我们一个线索——需要在passwd寻找,并且要提权,但是我们已经提权成功了,按之前的操作再来一遍就行了,查看/passwd,找到flag4线索,说它在/home/flag4/ 我们切换到这就行了

查看flag4

让我们进入root目录

找到最后一个falg

标签:bin,命令,SUID,DC,笔记,提权,vulnhub,root,find
From: https://blog.csdn.net/small_rookie_0/article/details/143714897

相关文章

  • C++笔记---智能指针
    1.什么是智能指针1.1 RALL设计思想RAII(ResourceAcquisitionIsInitialization,资源获取即初始化)是一种资源管理类的设计思想,广泛应用于C++等支持对象导向编程的语言中。它的核心思想是将资源的管理与对象的生命周期紧密绑定,通过在对象的构造函数中获取资源,并在析构函数中......
  • DC-DC总结
    1.DC-DC工作原理DC-DC是一种在直流电路中将一个电压值的电能变为另一个电压值的电能的装置•线性型–从电源向负载连续输送功率–传输能量器件(如晶体管、场效应管)其负责调节从电源至负载的电流流动)工作于线性区•开关电源型–以脉宽方波的形......
  • 《TCP/IP网络编程》学习笔记 | Chapter 11:进程间通信
    《TCP/IP网络编程》学习笔记|Chapter11:进程间通信《TCP/IP网络编程》学习笔记|Chapter11:进程间通信进程间通信的基本概念通过管道实现进程间通信通过管道进行进程间双向通信运用进程间通信习题(1)什么是进程间通信?分别从概念和内存的角度进行说明。(2)进程间通信需要......
  • 组合数学学习笔记
    更好的阅读体验update2024-11-1211:25修改了一些格式错误且增加了二项式反演的例题2024-11-1214:33改进了二项式反演的证明基础知识一、加法原理完成某个工作有\(n\)类办法,第\(i\)类办法有\(a_i\)种,则完成此工作的方案数有\(\sum\limits_{i=1}^na_i\)种。二......
  • 【C++学习笔记一】变量与运算符
    目录一、C++输出数据1.1数据的分类1.2输出数据二、注释2.1 单行注释2.2 多行注释2.3VS中的快捷键三、变量3.1声明变量3.2变量的赋值3.3示例四、常量4.1宏常量4.2const修饰的变量4.3示例五、标识符的命名5.1C++命名规则5.2C++关键字六、数据输......
  • Spring学习笔记_33——事务隔离级别和事务传播
    事务隔离级别和事务传播机制事务隔离级别事务隔离级别是数据库管理系统在处理多个事务时,用来隔离并发事务以防止数据不一致性的机制。不同的隔离级别提供了不同的保护级别,以防止脏读、不可重复读和幻读等并发问题。以下是SQL标准中定义的四种隔离级别,以及一个额外的ISOLAT......
  • 【VMware by Broadcom】新闻:VMware Workstation 和 Fusion 产品商业使用免费。
    VMwareWorkstationPro和VMwareFusionPro是VMwareDesktopHypervisor产品,允许用户在Windows、Linux或Mac计算机上运行虚拟机、容器和Kubernetes集群。我相信绝大部分人使用VMware的产品都是从这里开始的,我也不例外。前段时间,VMware宣布将这两款产品永久免费提供......
  • 做题笔记(三)
    CF280D-k-MaximumSubsequenceSum\(\text{diff:}2800\)经典问题:求解区间\(k\)个不交子段的和的最大值。对于没有修改的版本,我们采用P6821[PA2012]Tanielinie的做法,首先将原序列连续的正(负)数缩成一个数,然后用加入正数,不断减少连续段(加入负数和删除正数),用堆维护即可......
  • 做题笔记(四)
    CF1773H-HotandCold\(\text{diff:}2600\)询问\((x,y)\)和\((x+1,y)\)和\((x+1,y+1)\)即可将\(x,y\)坐标的范围减半,然后可以在\(3\log_210^6=60\)次询问左右解决这个问题。CF725F-FamilyPhotos\(\text{diff:}2900\)发现有些东西\(A,B\)都不......
  • Mit6.S081笔记Lab7: Multithreading 多线程
    课程地址:https://pdos.csail.mit.edu/6.S081/2020/schedule.htmlLab地址:https://pdos.csail.mit.edu/6.S081/2020/labs/thread.html我的代码地址:https://github.com/Amroning/MIT6.S081/tree/threadxv6手册:https://pdos.csail.mit.edu/6.S081/2020/xv6/book-riscv-rev1.pdf相......