VulnHub渗透之DC-1

0×00 说明

kali与目标处于同一网段下
攻击机:Kali(VMware ) IP:192.168.1.31

特别说明:每个靶机作者都对靶机做了详细的描述以及攻击目标,比如DC1就需要找到5个flag,最终目标是在root的主目录中找到并读取该标志!

通过每个flag所获得知识点

1、msf的熟练使用以及搜索可利用漏洞(Drupal);

2、留意目标网站的配置文件(慢慢查看别错过重要信息);

3、数据库管理员提权(更新管理员密码或者添加一个新用户);

4、suid提权的命令(nmap、vim、find、bash、more、less、nano、cp)。

0×01 信息收集

探测目标IP

namp -sP 192.168.1.0/24
arp-scan -l //扫描当前网段下的IP
Cadmus Computer Systems 表示Virtualbox虚拟机
分析得出目标IP为192.168.1.30

靶机:DC-1(Virtualbox) IP:192.168.1.30

扫描端口

nmap -sV -p- 192.168.1.30 //扫描全端口
-sV 用来扫描目标主机和端口上运行的软件的版本
-p- 扫描0-65535全部端口

80端口开放,访问一下

Wappalyzer进行网站指纹识别,查看到是Drupal 7

查看一下robots.txt文件已经目录扫描(省略)。。发现没有可利用的地方

0×02metasploit

直接上metasploit

root@sf:~# msfconsole
msf > search Drupal

选择4,drupalgeddon2的exp,设置下rhost,直接exploit,成功

接下来使用msf自带的shell

发现flag1

查看当前路径下的文件,发现flag1.txt文件,查看一下,发现提示CMS配置文件有猫腻

发现flag2

网上搜索得知,Drupal 7的默认配置文件为sites/default/settings.php,查看发现flag2,还有数据库连接信息

0×003 弯路

尝试连接数据库,结果连接失败,应该是权限不足

爆破flag4用户密码

于是去查看/etc/passwd文件,发现flag4用户

使用hydra尝试爆破flag4用户的密码,hydra -l flag4 -P /usr/share/john/password.lst ssh://192.168.1.30

成功爆破flag4的密码,为 orange ,接下来ssh登录flag4用户,查看当前路径下有flag4.txt,得到新的提示——root目录里有个flag

0×04 连接数据库

然后我们连接数据库,这次成功

顺藤摸瓜,仔细查找数据库

查看user表,发现admin用户

查看role表

查看role_permission表

查看node表

发现flag3

发现flag3,得知uid为1的用户是不受Drupal权限管制的,具有最高权限,uid 1用户也就是admin,

0×05 两个思路

一、重置管理员密码

使用Drupal对数据库的加密方法,加密脚本位置在网站根目录下的script下(msf shell),使用脚本生成加密密文,然后登陆数据库修改admin的密码

修改密码为123456

成功登陆

二、添加一个管理员权限的用户

先查看一下靶机的版本,7.24

msf搜索Druapl 7.24对应可利用的脚本,发现一个符合

运行脚本,进行利用

增加了一个用户user,密码为123456,尝试登陆网站,发现登陆成功

发现flag3

从网站上找到了flag3的界面,得到提示Special PERMS will help FIND the passwd - but you'll need to -exec that command to work out how to get what's in the shadow.,重点在(FIND the passwd、need to -exec that command、in the shadow)

根据线索,我们又找到了flag4以及它的目录,再根据flag4的提示,(用相同的方法在root目录下)找到最终flag

0×06 提权

于是,想到suid提权,查询具有root权限的命令,以下均可查询:

  • find / -user root -perm -4000 -print 2>/dev/null
  • find / -perm -u=s -type f 2>/dev/null
  • find / -user root -perm -4000 -exec ls -ldb { }
    注: -type f即文件,-perm -u=s 即user权限位为suid

发现find命令本身就是root权限

于是就用find提权,find ./ aaa -exec '/bin/sh' \\; ,或者新建一个文件,验证一下,已经是root了

最终flag

接着找到根目录下的root目录,里面就是最终的flag

0×07 总结

DC-1找到最终的flag并不难,难在找齐五个flag,第一次实验,很生疏,存在很多问题:

  • metasploit 熟练度不足,且exploit模块成功后的shell不是交互性,DC-1安装了python环境,可以通过pty.spawn()获得交互性shell

  • exploitdb熟练度也不足

  • Linux熟练度不足,find命令,有待学习

  • suid提权的命令(nmap、vim、find、bash、more、less、nano、cp),有待学习

posted @ 2021-08-15 19:42  AtSunset  阅读(141)  评论(0)    收藏  举报