【Vulnhub靶机】DC-1(suid find提权)

DC-1靶机地址下载

DC-1靶机说明

在这里插入图片描述

先把kali和靶机都设置成NAT模式

查看两台MAC地址

设置—网络适配器—高级—MAC地址
在这里插入图片描述

在这里插入图片描述

kali   00:0C:29:E1:A9:D2
dc-1   00:0C:29:C1:D6:77
信息收集

1、找出DC-1 的IP地址

nmap -sP 192.168.80.1/24 -oN   nmap.sP
nmap -sS -O 192.168.80.0/24   #-O是操作系统扫描
arp-scan -l

半开放扫描(TCP SYN):只发送一个SYN报文然后等待回应。相对于TCP Connect扫描更加安全,因为不建立一个完整的TCP连接,目标主机一般不会将此类型行为记入安全日志,但需要root权限。nmap -sS 域名/IP地址 扫描的时间可能比使用-sT的时间长

SYN扫描,使用最频繁,安全,快

在这里插入图片描述

得出 DC-1的IP地址为192.168.80.133

kali 地址 192.168.80.132

2、对DC-1进行信息收集,扫描开放端口和运行的服务

nmap -A 192.168.80.133 -p 1-65535  -oN nmap.A
nmap -A -T4 -p-  192.168.80.133

#nmap -A 域名/IP地址      //强力扫描,耗时长
#nmap -T1~6 域名/IP地址	  //设置扫描速度,一般T4

在这里插入图片描述

80   drupal    CMS
	 三大PHP  CMS之一
	 	drupal
	 	wordpress
	 	joomla

使用http://192.168.80.133/访问靶机的http站点

在这里插入图片描述

漏洞发现

3、使用msfconsole运行MSF工具

在MSF中使用search drupal搜索相关的漏洞利用模块

在这里插入图片描述

找到了与 http 相关的模块,根据 Rank(等级)优先选择带颜色的模块,使用 use 2 装载模块。

使用 show options 查看需要进行的设置,发现只需要设置 RHOSTS(目标)

在这里插入图片描述

所以使用 set RHOSTS 192.168.80.133 进行设置。设置完后如下:

在这里插入图片描述

在这里插入图片描述

使用run或者exploit运行模块

在这里插入图片描述

运行模块后,成功建立会话,使用 shell 即可获得靶机的 WebShell
在这里插入图片描述

Meterpreter是Metasploit框架中的一个扩展模块,作为溢出成功以后的攻击载荷使用,攻击载荷在溢出攻击成功以后给我们返回一个控制通道。使用它作为攻击载荷能够获得目标系统的一个Meterpreter shell的链接。Meterpreter shell作为渗透模块有很多有用的功能,比如添加一个用户、隐藏一些东西、打开shell、得到用户密码、上传下载远程主机的文件、运行cmd.exe、捕捉屏幕、得到远程控制权、捕获按键信息、清除应用程序、显示远程主机的系统信息、显示远程机器的网络接口和IP地址等信息。另外Meterpreter能够躲避入侵检测系统。

漏洞利用

1、使用whoami查看当前用户权限

在这里插入图片描述

2、使用 python脚本实现交互式shell

python -c "import pty;pty.spawn('/bin/bash')"

交互式 Shell:可以执行一些需要上下文的命令,并且会显示操作的结果。

在这里插入图片描述

3、使用ls -la查看当前目录所有文件及权限

在这里插入图片描述

4、查看flag1.txt

在这里插入图片描述

5、百度 drupal站点的默认配置文件,得知为settings.php

6、在网站目录下搜索 settings.php

在这里插入图片描述

在这里插入图片描述

7、查看配置文件

在这里插入图片描述

8、发现第二个flag,,并且还有靶机的数据库账号和密码

9、使用数据库的账户和密码进入数据库

在这里插入图片描述

10、先查看都有哪些数据库 show databases;

在这里插入图片描述

11、根据库名判断,drupaldb是靶机的Drupal站点使用的数据库

12、使用use drupaldb进入drupaldb数据库,查看所有表show tables;

发现一个user表,猜测可能有网站用户相关信息

在这里插入图片描述

13、select * from users\G; 显示user表中的所有数据

找到管理员账号和密码,根据密码形式可以得知密码经过了加密,

密码无法正常MD5解密

在这里插入图片描述

14、先输入quit退出数据库

在这里插入图片描述

15、Drupal 提供了可以直接修改管理员密码的方法。在 /var/www/ 下使用 php scripts/password-hash.sh tkm 即可生成 tkm 这个字符串对应的 hash 值。

在这里插入图片描述

16、再次进入到数据库中,使用 update drupaldb.users set pass="<hash值>" where name='admin' 即可修改 admin 的密码为之前生成 hash 时使用的字符串,此处为 tkm

在这里插入图片描述

17、再次查看users表里的密码值

select * from drupaldb.users\G;,这个时候密码就改成了tkm

在这里插入图片描述

18、尝试用 账户名admin 密码tkm 登录

在这里插入图片描述

成功登录,

19、尝试点击Dashboard,发现flag3.txt,进行查看

在这里插入图片描述

在这里插入图片描述

20、查看后发现文本内容中有两个特别的大写字母 permsfind ,根据此前 flag 的形式,使用 find / -name "flag*" 搜索所有开头为 flag 的文件。

在这里插入图片描述

21、成功找到 flag4.txt ,使用 cat /home/flag4/flag4.txt 进行查看。

在这里插入图片描述

22、根据 flag4.txt 中的内容,推测下一步需要进行提权,从而获得 root 权限,并访问 /root 目录,获得 flag5。

23、根据 flag3 中另外一个大写字母 perms ,猜测可能需要使用 SUID 提权,使用 find / -user root -perm -4000 -print 2>/dev/null 查找所有具有 SUID 权限且属主为 root 的文件。

在这里插入图片描述

SUID 权限:在执行过程中,调用者会暂时获得该文件的所有者权限,且该权限只在程序执行的过程中有效

在这里插入图片描述

24、发现了 find 命令,并且根据 flag3 中提到的 -exec,可以确定需要使用 find 提权。

25、使用 touch tkm 创建提权需要的文件,然后使用 find tkm -exec '/bin/sh' \; 进行提权。

在这里插入图片描述

26、成功获得 root 权限,根据提示使用 cd /root 访问 /root 目录,找到了 thefinalflag.txt ,使用 cat thefinalflag.txt 进行查看。

在这里插入图片描述

总结

    使用 nmap 找寻并扫描靶机。
    使用 MSF 的对应模块,进行漏洞利用。
    利用 Python 实现交互式 Shell。
    在数据库层面,修改 Drupal 站点的用户密码。
    SUID 提权
    find 提权
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

过期的秋刀鱼-

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值