『VulnHub系列』DC-1靶机渗透测试

0x00 前言

在开始之前我们需要知道的是,
靶机的ip获取方式是dhcp服务器来分配ip的,如果dhcp没有自动分配ip的话,请看我的置顶文章,解决没有ip的问题
而我的VMware就只有NAT模式可以使用dhcp服务器
那么接下来都将是NAT模式
在这里插入图片描述

工具、知识点和漏洞

nmap
metasploit
mysql
网站配置
hydra
find命令
suid提权

配置环境

kali: 192.168.100.34
靶机DC-1: 192.168.100.136
在这里插入图片描述

0x01 探测目标

探测目标的命令有很多种,arp-scan -lnetdiscovermasscan
但是我一般喜欢linux用arp-scan -l window系统用arp -a
因为我设置的dhcp服务器自动分配的ip是从130开始分配,那么这个192.168.100.136应该就是我们的靶机了
在这里插入图片描述

0x02 枚举和初步搜索信息

一般而言,我们确定一个目标后,就要收集他的端口、目录之类的。
跑一下目录
在这里插入图片描述

我们用nmap跑一下,看他开放了那些端口。
nmap还有很多其他的参数,但是我比较喜欢用这2个
-sV 查看版本详细信息
-p- 扫描所有端口

nmap -sV -p- 192.168.100.136

在这里插入图片描述
从上图可以看到开启了80端口,使用浏览器打开看一下。
在这里插入图片描述
很明显,我们看到网站的cms,所以我们可以直接在网上搜索这个cms的漏洞利用方式
在这里插入图片描述

0x03 漏洞利用

我们使用metasploit对漏洞进行利用

1.启动metasploit,搜索drupal模块。
在这里插入图片描述
搜出来有很多这个cms的利用方法
一一尝试,看那个能用就用那个
2.经测试采用2018的,配置好参数,开始攻击。
yes的地方是必填,然后我们看到第3个箭头是没有指向目标ip的
在这里插入图片描述
设置目标ip
在这里插入图片描述
3.开始攻击,run或者exploit都可以
在meterpreter中能进行的命令比较少,所有我们一般都直接进入系统下的shell
在这里插入图片描述
4.很显然这个shell虽然已经进入,但是这里并不是交互的shell,所以我们要进入交互式的shell

使用python反弹一个交互式shell

python -c 'import pty;pty.spawn("/bin/bash")'

在这里插入图片描述
5.因www-data权限很低,我们接下来开始提权。

使用suid提权
详细可以了解这篇文章
https://blog.csdn.net/qq_36119192/article/details/84872644

找到一个属于root的有s权限的文件

find / -perm -u=s -type f 2>/dev/null

如果执行失败,可以多试几次
在这里插入图片描述
查看find是否是s权限,答案是的
在这里插入图片描述

开始提权,因为我们这里的find命令才有root权限,那么就要用find命令来执行,而find命令又是用来找东西的命令。我们就可以来随便来制造一个文件,然后来使用find命令来找这个文件。后面再跟我们真正用的命令

但是发现新建一个文件是没有权限是新建不了
在这里插入图片描述
那就算了,随便在当前目录找个文件,开始我们真正的命令

提权成功

在这里插入图片描述
6.接下来我们开始寻找flag。
进入/home目录,发现flag4文件。
在这里插入图片描述
我们去翻译翻译这句话啥意思,难道是网站根目录吗在这里插入图片描述
发现还果然是,发现一个flag1.txt
在这里插入图片描述
唉,楼主英语差,还是百度翻译康康吧
在这里插入图片描述

说喊我们找找CMS的配置文件,按照楼主的以往经验

难道是说,去找配置文件,然后得到数据库的账号密码,
然后查看用户表,找到后台管理员的账号密码?
但是这个CMS,楼主也是第一次遇到啊,看看网上是怎么安装这个CMS的

https://blog.csdn.net/yaojuns/article/details/38084627?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.control

在这里插入图片描述
https://developer.aliyun.com/article/429981?spm=a2c6h.13813017.0.dArticle738638.2d6869a6tlI9Iz
在这里插入图片描述
Drupal的默认配置文件为 /var/www/sites/default/settings.php,
查看发现了flag2和数据库的账号密码,
在这里插入图片描述

我们先进入数据库查看。
在这里插入图片描述
在这里插入图片描述
查找user 表,发现admin用户。
在这里插入图片描述

其实楼主的这种查询表的方法还是有点错的

应该是
直接查找默认的Drupal user 表,发现admin用户。
在这里插入图片描述

方法一

使用Drupal对数据库的加密方法,加密脚本位置在网站根目录下的scripts下

使用加密脚本加密新密码123456,生成加密密文

参考链接:http://drupalchina.cn/node/2128

1.站点路径下执行

2.php scripts/password-hash.sh 新密码

3.修改admin用户的密码,更新为新密码:000000

在这里插入图片描述
将新密码覆盖掉原来的密码
在这里插入图片描述
得到账户密码后,我们去登录之前那个页面试试
在这里插入图片描述
在content模块找到了flag3
在这里插入图片描述
方法二
在exploitdb中有一个针对Drupal 7版本的攻击脚本,可以增加一个admin权限的用户账号,使用此方法简便了破解admin的密码,更直接

查看Drupal版本,确定Drupal版本为7.24

cat /var/www/includes/bootstrap.inc | grep VERSION
在这里插入图片描述
攻击脚本适用于7.31以下,所以适合7.24版本

在这里插入图片描述
利用drupal7.0版本漏洞增加有admin权限的用户:admin1/admin1

python /usr/share/exploitdb/exploits/php/webapps/34992.py -t http://192.168.100.136 -u admin1 -p admin1

在这里插入图片描述
查看users表,添加admin1成功
在这里插入图片描述
使用新添加的用户admin1/admin1登录网站,在content模块下,找到flag3
在这里插入图片描述
在这里插入图片描述
去翻译一下,看到shadow,瞬间想到/etc/shadow
在这里插入图片描述
查看/etc/shadow 文件,发现flag4用户,并且flag4用户可以登录并且有密码,所以存在flag4的根目录,我们可以使用 hydra 进行爆破
在这里插入图片描述
1.-l 指定用户名

2.-P 加载密码字典(自定义)

3.ssh://ip 指定使用协议和ip地址

4.爆破密码为:flag4/orange

在这里插入图片描述
使用flag4用户可以通过ssh登录系统

1.ssh flag4@192.168.199.203

2.密码:orange

在这里插入图片描述
在flag4中提示在root根目录下存在,在这里插入图片描述
进入到root根目录/root下找到thefinalflag.txt文本文件
在这里插入图片描述

自此5个flag就找到了,还是来总结一下吧

学习了新的ssh爆破工具hydra
学习了suid方式提权
学习了针对不用CMS的数据库的加密方式的思路
学习了/etc/passwd发现flag4可以登录且有密码,可以用hydra爆破
参考文章
SUID提权
https://blog.csdn.net/qq_36119192/article/details/84872644
靶机参考
https://www.freebuf.com/articles/network/218073.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值