欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-05-17 13:57:48
...

0x00 前言

在开始之前我们需要知道的是,
靶机的ip获取方式是dhcp服务器来分配ip的,如果dhcp没有自动分配ip的话,请看我的置顶文章,解决没有ip的问题
而我的VMware就只有NAT模式可以使用dhcp服务器
那么接下来都将是NAT模式
『VulnHub系列』DC-1靶机渗透测试

工具、知识点和漏洞

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

配置环境

kali: 192.168.100.34
靶机DC-1: 192.168.100.136
『VulnHub系列』DC-1靶机渗透测试

0x01 探测目标

探测目标的命令有很多种,arp-scan -lnetdiscovermasscan
但是我一般喜欢linux用arp-scan -l window系统用arp -a
因为我设置的dhcp服务器自动分配的ip是从130开始分配,那么这个192.168.100.136应该就是我们的靶机了
『VulnHub系列』DC-1靶机渗透测试

0x02 枚举和初步搜索信息

一般而言,我们确定一个目标后,就要收集他的端口、目录之类的。
跑一下目录
『VulnHub系列』DC-1靶机渗透测试

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

nmap -sV -p- 192.168.100.136

『VulnHub系列』DC-1靶机渗透测试
从上图可以看到开启了80端口,使用浏览器打开看一下。
『VulnHub系列』DC-1靶机渗透测试
很明显,我们看到网站的cms,所以我们可以直接在网上搜索这个cms的漏洞利用方式
『VulnHub系列』DC-1靶机渗透测试

0x03 漏洞利用

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

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

使用python反弹一个交互式shell

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

『VulnHub系列』DC-1靶机渗透测试
5.因www-data权限很低,我们接下来开始提权。

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

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

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

如果执行失败,可以多试几次
『VulnHub系列』DC-1靶机渗透测试
查看find是否是s权限,答案是的
『VulnHub系列』DC-1靶机渗透测试

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

但是发现新建一个文件是没有权限是新建不了
『VulnHub系列』DC-1靶机渗透测试
那就算了,随便在当前目录找个文件,开始我们真正的命令

提权成功

『VulnHub系列』DC-1靶机渗透测试
6.接下来我们开始寻找flag。
进入/home目录,发现flag4文件。
『VulnHub系列』DC-1靶机渗透测试
我们去翻译翻译这句话啥意思,难道是网站根目录吗『VulnHub系列』DC-1靶机渗透测试
发现还果然是,发现一个flag1.txt
『VulnHub系列』DC-1靶机渗透测试
唉,楼主英语差,还是百度翻译康康吧
『VulnHub系列』DC-1靶机渗透测试

说喊我们找找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

『VulnHub系列』DC-1靶机渗透测试
https://developer.aliyun.com/article/429981?spm=a2c6h.13813017.0.dArticle738638.2d6869a6tlI9Iz
『VulnHub系列』DC-1靶机渗透测试
Drupal的默认配置文件为 /var/www/sites/default/settings.php,
查看发现了flag2和数据库的账号密码,
『VulnHub系列』DC-1靶机渗透测试

我们先进入数据库查看。
『VulnHub系列』DC-1靶机渗透测试
『VulnHub系列』DC-1靶机渗透测试
查找user 表,发现admin用户。
『VulnHub系列』DC-1靶机渗透测试

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

应该是
直接查找默认的Drupal user 表,发现admin用户。
『VulnHub系列』DC-1靶机渗透测试

方法一

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

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

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

1.站点路径下执行

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

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

『VulnHub系列』DC-1靶机渗透测试
将新密码覆盖掉原来的密码
『VulnHub系列』DC-1靶机渗透测试
得到账户密码后,我们去登录之前那个页面试试
『VulnHub系列』DC-1靶机渗透测试
在content模块找到了flag3
『VulnHub系列』DC-1靶机渗透测试
方法二
在exploitdb中有一个针对Drupal 7版本的攻击脚本,可以增加一个admin权限的用户账号,使用此方法简便了**admin的密码,更直接

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

cat /var/www/includes/bootstrap.inc | grep VERSION
『VulnHub系列』DC-1靶机渗透测试
攻击脚本适用于7.31以下,所以适合7.24版本

『VulnHub系列』DC-1靶机渗透测试
利用drupal7.0版本漏洞增加有admin权限的用户:admin1/admin1

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

『VulnHub系列』DC-1靶机渗透测试
查看users表,添加admin1成功
『VulnHub系列』DC-1靶机渗透测试
使用新添加的用户admin1/admin1登录网站,在content模块下,找到flag3
『VulnHub系列』DC-1靶机渗透测试
『VulnHub系列』DC-1靶机渗透测试
去翻译一下,看到shadow,瞬间想到/etc/shadow
『VulnHub系列』DC-1靶机渗透测试
查看/etc/shadow 文件,发现flag4用户,并且flag4用户可以登录并且有密码,所以存在flag4的根目录,我们可以使用 hydra 进行**
『VulnHub系列』DC-1靶机渗透测试
1.-l 指定用户名

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

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

4.**密码为:flag4/orange

『VulnHub系列』DC-1靶机渗透测试
使用flag4用户可以通过ssh登录系统

1.ssh aaa@qq.com

2.密码:orange

『VulnHub系列』DC-1靶机渗透测试
在flag4中提示在root根目录下存在,『VulnHub系列』DC-1靶机渗透测试
进入到root根目录/root下找到thefinalflag.txt文本文件
『VulnHub系列』DC-1靶机渗透测试

自此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

相关标签: vulnhub linux