GoGoGO!!!
这篇文章是看着大佬的文章,跟着复现,学习思路。一共5个flag,全部找到。
1、靶机名字:DC-1,很好找,这里不放链接了。 : )
2、靶机下载后,我一开始是用VMware Workstation导入的.ova,然后Kali下想扫出DC-1的IP,扫不出来,看了文章的评论,然后安装VirtualBox,导入.ova(说实话,第一次用VirtualBox)。
3、开启Kali(我的Kali是在VMware Workstation下),扫描出IP:192.168.1.103
4、nmap 开路
5、访问80,查看基本信息,可以使用Firefox插件Wappalyzer,或者扫描网站目录,查看robots.txt等暴露出的信息,可以获取到Drupal的版本
6、在MSF中搜索,drupal
利用2018年的这个漏洞,exploit,取得meterpreter,ls后能看到flag1.txt
7、根据Flag1的提示,我们查找、查看CMS配置文件:
Drupal的配置文件是网站根目录下的/site/defaultx下的setting.php文件。
8、我们进入对应目录,查看settings.php文件,发现flag2,flag2提示不要使用字典暴力破解密码,应该使用其他方法,通过数据库应该是一种方法
使用mysql命令登录,发现mysql命令无效
输入shell,切换外壳,再次登录mysql发现终端不能正常回显信息
再次进入shell,输入python -v,发现系统自带Python 2.7.3,通过pty.spawn()获得交互式shell
mysql>use drupaldb; #使用drupaldb数据库
mysql>show tables; #查看数据库内的表
有一个名字为user的表,查看其中的项
select语句查询,找到可用于登录的用户admin和密码密文
方法一:
在exploitdb中有一个针对Drupal 7版本的攻击脚本,可以增加一个admin权限的用户账号,使用此方法简便了破解admin的密码,更直接。
这个漏洞利用文件就在本机,直接利用即可
在数据库中查看
我们使用admin2/admin2登录,登录成功!
在Content下找到Flag3
方法2:
使用Drupal对数据库的加密方法,加密脚本位置在网站根目录下的scripts下
使用加密脚本加密新密码:2019-123456,生成加密密文
我这个方法,没有成功,执行显示出错,但是这个思路还是要学习的。
如果计算hash成功,在update到对应的表中即可。
好的,接下来,我们看依靠方法一得到的Flag3的线索:
关键词:FIND、PERMS、-exec、shadow
应该要查看shadow文件,并使用find命令提权
使用find命令查找有特殊权限suid的命令
使用find命令提权,root。
查看shadow文件
发现flag4,并且flag4是一个用户,flag4用户密码可以使用ssh登录进行爆破
wget http://www.openwall.com/john/j/john-1.8.0.tar.gz #下载John密码包
tar -xvf john-1.8.0.tar.gz #解压缩
cd john-1.8.0/ src #进入源码目录下
uname -a #查看当前系统版本
make linux-x86-64 #编译并指定当前的Linux系统版本
使用hydra+John密码包对flag4的密码进行爆破,爆破密码为:flag4/orange
hydra -l flag4 -P john-1.8.0/run/password.lst ssh://192.168.1.103 -f -vV -o hydraflag4.ssh
flag4用户使用ssh登录
在flag4用户的家目录中,发现flag4.txt
进去之后,发现是“$”,而不是“#”,用上边同样的方法,find命令提权为root,在root的根目录下发现最终的flag文件!至此5个flag全部找到!
整个过程学到很多东西,其中Linux权限管理部分还需要下去再学一下。
加油!继续。
参考文章:
https://blog.csdn.net/weixin_43583637/article/details/101542749
https://www.anquanke.com/post/id/173111