by:travelnight 发现打靶机还是挺能锻炼渗透能力的,这里发的截图都在本机虚拟机环境,仅作为技术交流 由于我是做完了再截图的,可能部分截图时间上不对 一:信息收集 1. 下载到靶机后导入到virtualBox 2.老规矩还是上nmap扫描一下,192.1**.56.101 3.访问了一下
二、渗透阶段 1.这里我走了比较多的弯路,首先想到的是登录框的SQL注入。每个提交数据的地方都试了没有sql注入。 2.尝试过任意密码重置。但是靶机本身是发不出邮件的,所以也就没法搞。百度了一下drupal好像没有密码重置的漏洞。
3.但是这里如果随便输入一个用户会报错。输入**反而不会,那么证明**用户是存在的。
4. **用户弱密码不成功。 5. 那么这里只有可能是cms的漏洞了。看了下提示,直接kaili里面搜 searchspolit 重点看下远程代码执行漏洞
msf search一下 有几个excellent的,这里可以一个一个试,中间不多说了。
6.unix/webapp/drupal_drupalgeddon2 最后用的这个上的meterperter的shell
7. meterperter的shell直接上传冰蝎的shell。
8.冰蝎getshell成功
9.网站根目录就有一个flag1,提示我们找网站的配置文件
10. 那就直接翻文件呗。其实这里去drupal网站看下网站的安装文档,一般都会有指导。 拿到flag2 获取了数据库密码,
11.前面的nmap没有发现3306,那么只有本地登陆mysql进行管理,冰蝎上面有数据库管理功能,直接用冰蝎数据库管理看下。
这里密码都做了hash加密,解密不了,test用户是我之前尝试注册的用户,但是密码是通过用户邮箱发过来的,我们收不到邮件也就没法用。那继续翻其他表,看有没有东西。
这里看到了flag3 uid是1 那么也就是**的账户里面应该有flag3,这里我百度了一下drupal重置管理员密码。发现了这个 http://drupalchina.cn/node/1964
直接进入drupal的安装目录,然后运行命令
php ./scripts/password-hash.sh newpassword
(注意:不要进入scripts目录,会报错)
然后把运行后得到的hash字符串修改到user表的对应用户就可以了 12.那就只有重置掉** 密码的hash值,这个如果是真实环境是比较危险的,因为直接改了**的密码。 冰蝎操作数据库不是很方便,这里回到meterperter的shell,用python搞了一个本地sh python -c 'import pty; pty.spawn("/bin/bash")'
13. 找到脚本,生成一个123456 的哈希
14. sqlmap登录之后直接改掉**的哈希
15.拿到之后直接登陆**,拿到flag3,这里提示passwd,cat/etc/passwd 发现flag4
16.拿到flag4,flag4提示flag5应该在/root 下面了。这里我尝试过脏牛漏洞,提权不成功,这里找了很多资料,都没什么好的方法。最后忍不住看了下提示。结果就是find提权。flag3里面其实已经提示过了。
17. 原理是用find的-exec命令,最后拿到rootshell。获取最终的flag |