环境配置:KALI攻击机(version2020.2)、DC-1靶机
靶机下载:https://www.vulnhub.com/entry/dc-1-1,292
两台虚拟机网络适配器设置如下:
靶机信息收集:
开始,运行arp-scan命令扫描局域网主机得到靶机IP地址
kali:192.168.120.138 DC-1:192.168.120.139
得到靶机IP地址后对目标端口进行扫描,输入命令nmap -A -p- -T4 192.168.120.139
扫描结果显示80、22、111端口是open状态,由易入手在kali攻击机打开web 80看看有什么切入点。
可以看到使用的是Drupal网站。
直接上metasploit搜索Drupal利用模块,输入如下命令:
root@kali-Y:~#msfconsole
msf5>search drupal
use exploit/unix/webapp/drupal_drupalgeddon2
设置目标主机地址set RHOSTS 192.168.120.139,然后执行run或exploit
成功获得会话,输入help看看可以执行哪些命令
执行shell命令获得靶机shell,输入ls列出文件
发现flag1文件,cat打开看看内容,中文意思:"每一个好的的CMS需要一个配置文件,你也这样做."
百度搜索drupal默认配置文件路径,在目录sites下面有一个名为default的子目录里面包含站点的默认配置文件settings.php
可以看到flag2提示暴力破解字典攻击不是有效的方式,唯有获得访问权限的方式……
往下看列出了数据库的用户名和密码,尝试登录数据库查查看有什么线索
现在shell还不能直接进数据库,需要python反弹得到交互shell
查找用户名和密码信息
看到用户是admin,密码是加密了,可以用密码替换法(百度:忘记drupal管理员密码的解决办法)
用更新后的密码123456登录,在页面找到flag3
翻译意思是特殊权限将有助于找到密码,但你需要-exec命令来确定如何获取shadow
提示是跟密码或shadow文件有关,查看/etc/passwd发现有flag4用户,存在用户目录,cd flag4用户目录ls列有flag4.txt.
英文大概意思是用相同方法得到root目录下的flag.
尝试使用hydra破解flag4用户密码,hydra用法具体参数help或man
-l指定用户
-P加载破解密码字典
ssh://ip指定使用协议和被攻击机IP
看绿色那里显示已经破解成功
host:192.168.120.139
login:flag4
password:orange
通过ssh登录192.168.120.139靶机,cd /root提示没权限。
flag4用户目录下有一个flag4.txt文件,我们尝试使用find查看当前权限
find / -type f -perm -u=s 2>/dev/null输入命令后发现root权限的suid命令
可利用find命令提权,在flag3时提示-exec命令,执行如下图命令,看到是root权限,直接提权
find flag4.txt -exec "/bin/sh" ;
这条命令很简单,find找到flag4文件后执行/bin/sh 这样root权限就成功获取了。
进入/root找到最终thefinalflag.txt